Data, database, data fetching, data requests, data retrieving, data receiving... all modern web apps — fully or progressively decoupled front-end applications — have an insatiable “appetite” for data. And satisfying this particular “hunger”, with no compromise on performance, is the “mission” that GraphQL on Drupal 8 — the module — has been invested with.
Retrieving the requested data with as little time and resources used on round trips to the server as possible. With no under- or over-fetching, with no need for versioning.
In short: the module “exploits” all the limitations that the Restful approach started to show in addressing well-known data issues; it came out as a result of Dries Buytaert's advice and forecast on advancing Drupal's web services.
But let's not beat around the bush anymore and dive right in:
GraphQL This... GraphQL That... But What Is GraphQL After All?
It's Facebook's patented technology created in 2015.
And app layer query language designed to revolutionize the way data gets retrieved, interpreted and formatted: all these processes take place based on a GraphQL schema!
Approaching the data in terms of graphs and exposing those graphs in a schema guarantees that the caller's data request is identically structured as the delivered answer.
Not to mention that the same caller gets to formulate his data requests more explicitly and specifically thanks to GraphQL.
No wonder that front-end Drupal developers have started to perceive it as a powerful rival to REST! To the standard REST approach to retrieving data in apps built with headless Drupal 8.
In this respect, let's briefly recap just some of its “luring” features:
it perfectly matches the data request's structure with that of the delivered response
it queries the requested data based on s self-documented, automatically generated data exposure schema
GraphQL & Drupal: A Duo Powering The Future of Decoupled Drupal
Take GraphQL as the intermediary used in decoupled Drupal projects between the JavaScript front-end and the Drupal back-end. The one invested with the role of smoothing and streamlining the interaction of the decoupled front-end with the Drupal data source.
A role that used to be played, in all Drupal decoupled apps, exclusively by the RESTful web services, remarkably well developed in Drupal 8. Till the traditionally used REST architecture started to prove its failure in addressing data access issues.
And GraphQL on Drupal 8, the dedicated GraphQL module, started being built.
The improved overall performance, that this new approach to retrieving data promises, derives from:
GraphQL's way of retrieving data based on a schema
its entire system of types and fields
… which guarantees predictable responses only (the client-side apps are enabled to request for specific data) and, implicitly: no round trips and no extraneous data.
A responsible use of server resources.
Moreover, in case of complex, hierarchical data, not only that the caller gets to shape a “straight to the point” request, but it gets to ask for all the needed data on the same query!
An efficient use of server power especially when your decoupled Drupal app's front-end requests loads of data in a context of slow mobile internet connection.
GraphQL on Drupal 8: Your Data Graph Conveniently Exposed in a GraphQL Schema
And then... the GraphQL module was born!
Not yet part of the Drupal core, but powerful enough to allow front-end Drupal developers to use it to its full potential in their decoupled Drupal projects.
The main “mission” that its maintainer, Sebastian Siemssen, invested it with was: to turn Drupal into a GraphQL-powered data hub for decoupled front-end apps, by implementing a schema. A GraphQL schema exposing the available field types and entity.
Practically via TypedData API your Drupal 8 site's data graph becomes more “readable” for the GraphQL library.
This way, the client-side app gets to request for more than specific data/field values and to receive precisely the required info. And this streamlined data fetching process with GraphQL on Drupal 8 can only lead to zero bloated responses.
There's more!
We can't be talking about “a” module, but a whole ecosystem of submodules that you can read more about on Drupal GraphQL Github:
GraphQL Content
Entity Reference
Breadcrumbs
Boolean
Content Mutation
Link
Image
Menu
File
Block
Views
Have you already harnessed the full potential of GraphQL on Drupal 8 to fuel your web apps with? If not, why hesitate?
Why do you still think it might not be a robust enough alternative to the traditional REST approach to data fetching?
Adrian Ababei / Nov 17'2017
Be there or... be left behind! This is how your invitation to the AI Expo North America should sound like.
It's the world's largest exhibition of next generation AI technologies and conference on artificial intelligence strategies to implement at an enterprise level.
With 4 major AI conferences, sessions covering topics that range from:
enterprise AI apps
to big data
to analytics
to virtual assistants
to AI development
And speakers from companies such as Google, Paypal, Uber, LinkedInb, AirBnB, Kia Motors... the AI-dedicated event in Santa Clara turns into disruptive technologies enthusiasts' and forward-thinking entrepreneurs' global gathering.
AI Expo Santa Clara: Why Attend? What to Expect?
To answer your first legitimate question:
“Because all the market leaders and forward-thinking brands will be there to reveal to you, in case study-based sessions, how to (and which) implement AI techniques across your organization; how to use AI to market more intelligently and to fuel brand loyalty."
Now to give you a more convincing numbers-heavy type of answer: for its 4 AI conference tracks, its 30+ industry-leading speakers and its no less than 300+ exhibitors.
And you should definitely attend it for all the mind-blowing exhibitions of the newest AI technologies that will be showcased at the Santa Clara Convention Center. Look out for:
the Iot Tech Expo
the Blockchain Expo
What to expect, you say?
Expect debates sparking around the advancements in the artificial intelligence sector and their impacts on the enterprise & and consumer sectors.
Expect a global gathering of AI evangelists, start-ups and leaders from key industries ready to share with you their AI-centered success stories and, implicitly, some of their revolutionary AI-focused strategies.
AI Expo North America: AI in the Enterprise & AI for Developers (Nov. 29)
On the first day of the AI Conference in Santa Clara you'll be given priceless advice on how to harness artificial intelligence's full potential across your organization. Along with information on the impact that AI will have on your workforce.
And we're talking here about:
the applicability of AI strategies from an entrepreneur's, a business executive's perspective (the AI in the Enterprise conference tracks)
implementing AI technologies from a developer's standpoint (the AI for Developers conference tracks)
Now if we made a must-attend sessions list, it would have to include the following talks:
AI-Powered Business intelligence: where you'll be learning how to build an AI-first strategy, discovering how capitalizing AI grants you new business value and why you should support your decision-making process on business intelligence analysis
Big Data: Creating Intelligent Data Models, with prominent speakers from PayPal, Tractica, Ancestry, LinkedIn and Airbnb
The Application of Deep Learning Within an Enterprise: discover how some of the world's most valuable brands are capitalizing machine learning within their companies
Connecting Deep Learning With the Internet of Things and Blockchain: learn all about AI technologies' impact on the financial sector and the overall tech system itself; find out why you should and when it's the perfect time to make the move from predictive analytics to deep learning (a session presented by the Vice President of product and strategy, machine learning and AI at BNY Mellon)
…. and our selection of must-see sessions at the AI Expo North America could go on with those covering topics such as next-generation cybersecurity and legal advice for avoiding big data discrimination.
AI Expo North America: AI in Consumer & Digital Transformation (Nov. 30)
“Customer”, “AI-powered customer experience”, “hyper-personalization”, “predictive customer intelligence” will be the words on all speakers' lips on day 2. A day broken down into 2 major conference tracks:
AI in Consumer and Digital Transformation
Bot and Virtual Assistant Development
And we've striven to pick (not an easy task!) the sessions we would add to our own event schedule as a web development team from Toronto attending it:
the Geeta Wilson's (Humana) keynote on leveraging AI in digital transformation
the panel on chatbots, presented by speakers from TGI Friday's, AIMA, MoneyGram and Foursquare
the talk about the role of AI/ML in e-commerce, held by Wayfair’s Associate Director of Data Science
the panel on taking customer experience to a whole new level through the use of the latest AI tools
Bottom Line
Expect a two-day marathon of:
attending inspiring case study-based sessions
one where you'll strive to take a close look at all the exhibits
struggle to assimilate as much insightful content as you can
...and to just... be there, joining the AI revolution, right from the center (at least for 2 days) of the world of artificial intelligence
No chance to get bored at the AI conference in Santa Clara, nor chance to leave “empty handed”!
Adrian Ababei / Nov 16'2017
Create content for your customer FAQs... content for your website... next for your website's blog, as well... produce user-engaging content to upload on all social media channels... then go ahead and produce sopy for your flyers... A bit overwhelmed? Well, it's just getting started! Now you have to make sure your content gets delivered across “101” types of devices, as well. So, how about trying to create intelligent content instead?
How about... stepping into the future of content?
A future where technology (e.g. AR) compliments and boosts human efforts of coping with the ever-growing content demands that an organization must meet:
create and then deploy custom content across a plethora of channels (voice assistants, chatbots and other newly emerged technologies here included)
deliver it (at the perfect time) across a myriad of devices (tablets, smartphones, smartwatches, desktop computers...)
… to multiple audiences
But let us delve into details about:
what intelligent content is
what type of content “qualifies” for being made more... intelligent
whether intelligent content marketing is suitable for your organization's specific content demands
why you should bother at all, what are the clear benefits you should expect to reap
where to start; what steps to take for setting up your own intelligent content strategy?
1. Intelligent Content: What Is It? Just Another Fancy Marketing Catchword?
Or better said: what makes it “intelligent”?
Let us give you some “clues”:
it results from an efficient use of the latest “wonders” of technology, human capabilities and content handling processes
it's ideally structured to enable retrieval and re-usage
it's content viewed as a business asset and managed as such
it's a modular approach to content: multiple fragments that you get to put together, adapting the result to any targeted device/channel's format (and specific audience) constraints
it's content customized at multiple levels: the user's, the channel's, the device's level
A term coined by Ann Rockley, intelligence content is basically a scientific-like approach to content creation, management and delivery:
“Intelligent content combines the wonders of technology with human capability in a way that powerfully supports an organization’s goals.“ (What Is Intelligent Content)
And it's a two-way approach to content:
creating the design-agnostic content itself and breaking it into component parts, that you then structure by adding metadata tags; tags which will enable you to put them (the content fragments) together in an assembly-line style depending on the channels that you'll deploy them on and on the audiences (and devices) who'll be “consuming” your content
adopting a whole new mindset where you approach content as “genetically” structural; as soon as you start to “view” it as being modular, mixing and matching its components to suit a specific audience, a specific channel or device will come naturally to you...
In short: content with device & design-agnostic structure turns into an ideally versatile type of content in today's multi-channel, multi-device digital marketing landscape. Adopting this approach to the content that you produce will only grant you content that's:
neatly structured (via semantic tags) and consistently organized
reusable
highly adaptable and customizable
easily reconfigurable
semantically structured and, therefore, “semantically aware” (easily “identifiable”, where modern technologies, including AR and machine learning, can easily “identify” what the content is about)
free from constant “touch-ups” at every instance of use
delivered via a far more streamlined publishing process (since it's no longer formats-constrained)
2. What Type of Content “Qualifies” for Being Turned into Intelligent Content?
Any type of content, any content contexts or scenarios!
From costumer-support content to marketing content, to technical documentation, to content delivered across multiple devices and multiple audiences, to content specific to different products etc. It can all be turned into intelligent content!
Both producing it, delivering it and monitoring its performance the “standard way” (how many hours does your team spend, each week, tracking down data in Google Analytics?) is time and budget-consuming.
Now imagine a world where all these content processes, ranging from scheduling the monthly blog post topics, to scheduling social shares, to setting up your content strategy and so on would be handled automatically? By a machine? Then, from (just) an overly complex content strategy it will turn into an efficient, intelligent content strategy.
Moreover, you'd be actually future-proofing your content, too! Structuring it as a series of component parts will make it easier to be deployed even across channels that haven't yet emerged into the digital marketing world.
3. Does It Suit Your Company's Specific Content Creation & Delivery Needs?
It depends greatly on your load of content.
If it's a 40-pages Drupal site that we're talking about, carrying highly crafted content only, that doesn't require frequent updating, then the investment isn't worth it.
In other words: if your content demands within your organization are more than “reasonable”, we consider that structuring your content beyond its basic HTML structure isn't justified.
But if we're talking about:
a content-packed website
content that needs to be constantly updated
content that needs to be translated into multiple languages, sent to multiple audiences, adapted to each product line (along with the challenge of multiple audiences per product line)
… then you should definitely jump on the intelligent content “trend” and streamline your entire content workflow
4. Top Benefits of Moving to Intelligent Content
Although we've already outlined a couple of the high impact advantages of moving to a more intelligent content marketing strategy, allow us to enlist them all:
it cuts down costs (content production, reviewing, monitoring costs, even translation costs)
it improves and guarantees quality and consistency across the website and across your whole ecosystem of channels to be deployed on
it adapts to any channel's particularities and constrains and it can be customized to those channel-specific audiences with minimal tweaking or close to zero intervention of your marketing team
it helps you deliver the right piece of content, to its target audience, in precisely the right format across that particular channel, on that specific device and at the right time of their customer journeys
Cutting down costs + providing the best user experience + future-proofing your content! Thes are the 3 key benefits that should weigh heavily in your decision-making process: to move or not to move to intelligent content?
5. Where Do You Start Developing Your Intelligent Content Strategy?
OK, so you've decided to make content on your website “more intelligent” and, therefore, to adopt an intelligent content marketing strategy. What now?
Here are the steps you could take for a great start:
adopt a new mindset: start viewing intelligent content as part of your whole content marketing strategy
run a small-scale test (targeting just the upper levels in your organization's hierarchy for a start)
identify your organization's “sore points” and business requirements
focus on a small project for now and create a content model
put all the needed tools and technologies in place (authoring tools, XML, content management systems etc.)
consider going for headless Drupal or a single CMS
Once all the preparations are made, switch to more in-depth steps in defining and implementing your new content strategy :
get your content broken into multiple component parts, the very first “transformation” phase required for it to be turned into intelligent content
remove all content formatting and add metadata tagging; this way, you'll make it discoverable, reusable, adaptable and keep adding on all the other features ending in “-able”) that set the difference between (just) content and intelligent content
move one step at a time; implementing an intelligent content strategy can be an overkill for your website if you're getting impatient and “greedy” and rush things
make changes at the content processes and the organization's level (for instance appointing a team to have a look at each piece of content before it goes live)
Note: producing intelligent content means so much more than just appropriately structuring it and making it “semantically aware”. It also means anticipating and understanding the final form it will take. Once you visualize this, you'll know which component parts to select and to mix and match assembling them in the desired final form (while using the same source content, of course).
The END! Your immersion into the future of content (soon to become “present”) ends here! What do you think: does intelligent content stand any chance to become the new standard for delivering content in a multi-channel, multi-device digital marketing landscape or not?
Adrian Ababei / Nov 14'2017
Your current scenario, as we see it:
You're facing an app building type of situation! An app that should streamline workflow within your company or that would help your team deliver an unparalleled customer experience. Backlogs are out of the picture and dependency on “power builders” as well. Should you go for a low code development platform or for a no code one?
Decisions, decisions...
How do you pick when they seem so very much alike? They both spoil you with most tempting conveniences such as:
minimal coding effort
minimal (to none) technical expertise
app building efficiency (you get to assemble your app in no time and benefit from faster time-to-value)
out-of-the-box UI components for you, the app builder, to mix and match and put together into an app
automated horizontal scalability
Now let us come to your aid with a “list” of criteria to help you differentiate these two seemingly identical app development platforms. A more like a list of questions meant to help you:
“draw” your own profile as an app builder/app building company
better define your own needs and goals
draw an “identikit” of your future business app
… and, most importantly, (help you) decide whether a low code development platform or a no-code app building experience best suits your project's needs!
A Low Code Development Platform: What Is It & Why Go for It?
What sprang up as auto-code generation tools has gradually grown into enterprise-level platforms for building large-scale apps.
Low code development platforms made their entrance a while ago (dominating the web in 2016 ) and seem to be here to stay since more and more companies are jumping on the “quick and easy” app building bandwagon.
By providing you, the app builder, with multiple low-code stages, these modern platforms speed up your whole app development and app delivery cycle.
But let's point out precisely those key aspects of an app delivery cycle that this type of platforms impacts dramatically:
all services (SOAP, CRM, databases, security, REST APIs etc.) benefit from the visual development approach; they get incorporated via conveniently intuitive visual interfaces
the time-consuming coding “ordeal” is replaced with a visual app building approach: your development team can now create the whole user experience right from the start by simply mixing and matching the UI components that a low code development platform puts at their disposal
app deployment and continuous integration get streamlined via one-click deployments
human error, risking to impact the coding process, is taken out of the equation: standardized best practices ensure that all tasks related to front-end, back-end, executable, configuration etc. get “error-proofed”
the needs for future scalability (as well as for continous maintenance) are anticipated: low code apps are highly scalable due to their easy to use, lightweight containers that development teams just need to “fill in”
A No Code Development Platform: How Is It Different from a Low Code One?
No code app development platforms are nothing more than low code platforms adapted to specific app building scenarios. And, therefore, equipped so they can serve specific development needs.
And these “special” scenarios are all those requiring a higher level of customization. Let's say that you need to leverage your company/industry-specific template design for one of your app's pages, for instance.
This is where no code platforms excel at! They “spoil” you with more templates and more pre-built industry-specific or company-standardized components, that you can just drag and drop and use for assembling your app.
But let's talk... examples! Here are 3 of the most common scenarios where a low code development platform delivers you a no coding experience:
when it offers you, right out-of-the-box, industry-specific components to just assemble; then, your industry-specific app's building cycle calls for almost no coding at all
when drag-and-drop UI components get built, “in-house”, by your own technical team, following your company's specific standards and then “passed on” to your business-pass team; for the latter it will certainly feel like they're putting together apps with zero coding: they'll just need to drag and drop the already built-in components
when standardized styling is used (fonts, colors etc.) and “template UI design” gets incorporated into the platform; design templates meant to match those of the third party software used within your enterprise; with all these pre-created components at hand, low coding seamlessly turns into a no coding app building experience
What Is Your Skill Set as an App Builder?
For it makes a whole lot of difference whether you have back-end scripting skills (you “swim through” JavaScript, Node.js, Ruby or VBScript code like a fish in the sea) or you're a line-of-business professional with a great idea of an app and Microsoft Excel expertise (only).
Here's why:
no-code app building platforms empower business professional to step into the shoes of “business app builders”; to have their desired apps up and running in no time, with no dependency on a team of IT professionals
delivering drag and drop pre-built UI components and point and click tools no code platforms give the whole app development process a dramatic boost (so, no need for coding expertise for getting apps built at high speed)
low code app building platforms provide you with highly intuitive, visual modeling tools for trimming down code, even if it's an architecturally complex app that you want to build way faster than via a traditional app development approach
and as a general rule of thumb a low code development platform addresses “power builders” with an advanced processing modeling, back-end scripting and business analytics skill set; such “audience” is able to fully leverage this modern platform's capabilities, those that set it apart from a standard app building process
An On-Premise or a Cloud-Based Hosting Solution?
Here's a key question to be asking yourself when you're still investigating each one of the 2 app development platforms' pros and cons: Where will it be hosted? And also: by whom?
You should know that:
low-code platforms are web-based and on-premises hosting solutions
no-code platforms are cloud-based
And the benefits that you'll reap from using a cloud-based web hosting solution are more than obvious:
you'll place the burden of monitoring the whole infrastructure's overall health and level of security onto your service provider's shoulders
starting small and integrating new features/functionalities later on gets so much more streamlined than with an on-premise platform
you save valuable time that you could then invest in... creating brand new challenges-solving and daily workflow-optimizing apps
What Type of App Are You Building? Who'll Be Using It?
Sketching your business app's identikit is crucial before/in order to choose the right app development platform for your project.
So, what kind of app are you planning to build?
Is it an app integrating well-defined processes and running on a complex infrastructure? One aimed at keeping a close track of core business processes?
Or is it an app that could run either as a standalone one or as one incorporated into your business system? An app with a lifespan ranging from a few months to... several years?
But let's make your decision-making challenge easier to respond to! Let us list both the low code and the no code apps' specific “profiles”:
Typical Low Code Apps:
large scale apps, dependent on high stability
CORE transaction processing & business management apps
long-term apps (with a 5+ years lifecycle)
architecturally complex apps (dependent on frequent updating)
apps having well-defined processes
In short: low code apps make a crucial component of your whole core business system and they result from taking the conventional app building approach and... streamlining it.
Typical No Code Apps:
apps which may or may not be invested with a mission of critical importance for your core business process
apps with a shorter estimated lifecycle
apps integrating innovative (or company/industry specific) business processes
apps that you build either to integrate into your business system or to run as standalone business apps
apps used for business process tracking, reporting, processing etc.
In other words: no code apps allow you to come up with quick-to-implement app solutions to specific business challenges and all this irrespective of your level of technical expertise
In Conclusion
If you want it built fast, a no code app development platform might suit your project best.
If you want:
it to feature custom UI elements and styling aspects following your company's predefined standards
to “grow independent” of a team of “professional coders”
… go with a no code platform
But if you:
don't want to trade freedom of decision-making for more convenience, for more pre-built components to just drag and drop
want to be in charge (or to invest your development team with such power/responsibility) with your future app's deployment and integration processes
want to speed up the traditional app building process by using visual development tools and less coding
… then a low code development platform might suit you and your app project best.
So, which one will it be?
Adrian Ababei / Nov 11'2017
We are a web development team of our word. And since we promised we would come back with some more best practices for a sustainable web development process... here we are!
In this post, as already revealed to you in “Part 1”, we will be highlighting:
all the “tweaking” you can do at a server level so that it should use less unnecessary energy (and reduce its overall CO2 output)
how to approach content on your site with sustainability in mind
Here we go:
Tips on Improving Your Server Performance: Consider Switching to a Green Host
If you're confident enough (or your team is) to get your hands dirty in server configuration and maintenance there are plenty of high-impact measures you could apply:
1. Use the BigPipe Module for Drupal 8
BigPipe has been and still is one of Drupal 8's biggest “innovations”.
It's nothing new, Facebook's been using this technique for a long time for improving page load times. Yet, now you have it in the form of a stand-alone module that you can leverage right on your Drupal 8 site!
And it would be a pity not to!
Just think about it: the BigPipe module practically segments each one of your web pages into multiple pagelets and streamlines the content loading process. It sends the cachable content segments first and the non-cachable, dynamic content last.
2. Make a Habit of Optimizing Your Database
Drupal “saves the day” (and the planet, too, when used properly) once again! It gives you the DB Maintenance module to enable, to leverage and to integrate with your sustainable web development workflow.
And this will prove to be a powerful tool to support your database optimizing endeavors: it runs MySQL's OPTIMIZE TABLE regularly using cron.
3. Get the Most of All The Caching Improvements in Drupal 8
If in Drupal 7 you still need to enable caching yourself (configuring your site's performance on the Admin page), in Drupal 8 page caching happens... naturally, by default (as well as assets aggregation).
And there's more! The caching enhancements made to Drupal 8 impact even pages “carrying” dynamic content.
And this is a big step forward towards top site performance and using energy responsibly if it's an interactive (and therefore with dynamically generated content) Drupal site that you own.
4. Move to HTTP/2
… and expect your web pages to load X times faster!
Be (still) one of the early adopters of HTTP/2! Why should you wait till it turns into a major trend? What you know for sure now is more than enough if you're truly determined to go further with your sustainable web development initiative:
the vast majority of modern browsers do offer great support for HTTP/2
it's proven that the HTTP/2 server push method makes a great “latency killer” by sending the requested data to the web browser BEFORE the later even “has the chance” to request it!
5. Move to a Green(er) Host
A website about to turn green calls for a... green hosting company, don't you agree?
So, it's time you get picky when it comes to choosing your host and to put the company you're already collaborating with to the... green test:
which is its policy towards sustainability and its contribution to creating a more sustainable web?
how committed is it to using energy responsibly?
If it does not live up to your standards of sustainability... consider migrating to a more “welcoming”, greener host!
6. Compress Your Cached Pages
And here you can choose the Drupal way or the Apache way of compressing your Drupal cached pages.
Also, you could even step up when it comes to your commitment to a sustainable web development workflow. Supercharge your server by installing Varnish and enabling Drupal's own Varnish module, as well.
This way, your server will be ideally equipped for caching, not to mention that Varnish is conveniently easy to configure!
7. Switch from a Data Center to a CDN Network
… and reduce, significantly, the energy used during content delivery to your users' devices.
Practically a CDN will locate the server (since we're talking about an entire network of servers put at your disposal) that's geographically closest to a given visitor on your website. Next, it will serve the requested content from THERE, much faster and using less energy.
In short:
better content delivery times for your users
a reduced energy consumption for moving data/content from your server to their devices.
Sustainable Web Development at a Content Level: Keep It Light, Make It “Findable”
Once you've made your commitment to sustainable web development, optimizing your content:
for SEO
for a lighter on-page load
for an improved user experience
... is a must.
And here are the 3 “fronts” you should be concentrating your efforts on:
1. Keep It Light, Keep It Short
We've already tackled the “irresponsibly heavy images'” issue. So we're not going to point out, once again, the tools and the techniques at your disposal for reducing your visual content's size.
What we do want to outline now is that you should keep your user interface efficiently simple!
Don't make your visitors get tangled up in visuals, don't turn your UI into a maze for your visitors to solve. Keep it lean and shamelessly intuitive!
2. “Find-able” Should Be the Keyword to Describe Your Content
The less time a visitor invests in tracking down the information he is looking for, the smaller his/her web use carbon footprint will be!
And how do you make your content easy to find? There are a few simple tricks:
a well-thought-out navigation; apply all the best UX practices for a great search experience
get the most of Drupal's core search
enable the Apache Solr module (especially if it's a high trafficked site that you own) and integrate your green Drupal site with the popular search platform
3. Time to Archive Your “Last Season” Content
All those out-of-date images, unused files, “dusty” written content that no one reads anymore still lingering on your website, all those videos dating centuries ago should... go. Should get archived!
Not only will you lighten the load your site needs to carry (and reduce energy waste) and take a burden off your server's shoulders, but this decluttering session will benefit your users too. Pages will load significantly fast! And overall maintenance costs will get lower.
Not to mention that pages will load fresh, quality content ONLY for search engines to index and your users to enjoy.
The END! This is our list of tips and tricks on how to implement the sustainable web development principles into your own website.
As you can see, you're not being nickel and dimed in options when it comes to making your Drupal site (more) Earth-friendly! And they do range from basic, handy solutions that require no out-of-the-ordinary technical expertise, to a bit more complex ones.
So you have no excuses for not contributing, at a basic level at least, to building a more sustainable web!
Adrian Ababei / Nov 08'2017
Have you turned on the green light on your Drupal site? Have you moved to a sustainable web development workflow? A “movement” (rather than just a trend) that will benefit both:
You, the website owner: since optimized page load times and “find-able”, easy to “digest” content translate into happy visitors coming back to your site
The planet: since a lighter load of content, along with users that can access it much quicker, translate into “no need” for an additional infrastructure and into fewer carbon emissions (users consume less energy searching for their target content, while your data's “journey” from your server to their devices gets shortened).
See? Everybody wins: you, your visitors... the planet itself.
And where do you add that these sustainable web development best practices range from common sense, easy to implement measures (for the non-tech-savvy ones), to more in-depth practices if you want to go further with your “greening” initiative.
In this respect, Drupal (and especially Drupal 8) is ideally equipped for helping you achieve high performance on your website. You just need to press the right “buttons” for harnessing all that locked-in power!
Here is the list of best practices for a greener, responsible Drupal site, sorted into 3 main categories:
Drupal specific, ready to use tools for optimizing your website with
Tips and tricks for fine tuning your server for high speed
Best practices to keep your content light (images), to make it conveniently snappy (written content) and easy to find
Drupal Specific Tools and Techniques For a Sustainable Web Development Process
With a whole plethora of tools that Drupal “shovels” into your toolbox, tools aimed at reducing on-page overload and boosting your site's performance, all you need to do is: use them!
Now allow us to list just a few of the handiest ones with a high impact on your site's carbon output:
1. Disable and Remove Unused/Outdated Modules
Confess it: do you have the Devel module still lingering on your production site? How about the Views UI module which you only use now and then for editing one of your Views?
And how about all those modules that you just took for a spin, “seduced” by their much-appraised functionality and cool features, and that you've never actually used (or stopped using shortly after you've enabled them)? Modules which are now claiming their own share of resources on your website since with every page view some of their code, too, gets loaded.
Time to declutter your “modules closet"! Wiping the dust off this load will actually speed up your site and... contribute to a healthier planet. A win-win!
2. Leverage the Lazy Loader Module's Power
Another sustainable web development technique specific to Drupal, "too" handy not to make use of, is enabling the Image Lazyloader module.
It will load the images on your website only when/if the user scrolls down to them. A resources “saver” and page load speed booster valuable especially if it's an image-packed Drupal site that you own.
3. Jump on The “Design First” Trend
“Mobile first” is so much more than just a fancy expression associated with Drupal 8 or a passing trend.
It's an entire philosophy shaping the sustainable web: use your own site's resources responsibly!
Since you're constrained to design for mobile devices first, you're constrained to achieve more with less. You just can't afford “stuffing” your site with heavy, optimized images or with bulky JavaScript libraries. Your web pages would then take ages to load on smartphones or tablets.
This way, you're “forced” to start small and keep it simple, efficiently simple! And you'll end up restraining yourself from getting “greedy on energy” later on, in the context of adapting your site for larger screens and when you're “spoiled” with higher bandwidth.
4. Aggregate Your JSS and CSS Files
You can lay back and get “responsibly lazy” letting the Advanced CSS/JS Aggregation Module do the assets aggregation job for you!
A much more convenient, sustainable web development solution for compressing your JavaScript load than the standard one where you would enable the aggregation code in Drupal Core (Administer > Configuration > Performance).
And where do you add that this life and energy-saving module use Google's CDN to load jQuery! Has one of the requested JavaScript or CSS files on your site been loaded already by a browser? Then just a cached version of that file will get loaded instead of downloading it fresh.
Also, consider moving your JavaScript and CSS in the footer (a performance enhancement that happens by default in Drupal 8) for gaining a boost in page load speed!
5. Keep Your Images Small
Stuffing your site with large and larger images, with heavy visual content aimed to wow your visitors is nothing but sabotaging your site and disregard the planet.
And you should at least strive not to “steal” your site's chances to win over more users!
Keeping your images irresponsibly oversized will only prolong your users' waiting for them to load and, implicitly, increase their CO2 emissions.
Drupal comes to your “rescue” once again providing you with the ImageCache module. Use it to minimize overall page weight.
Then, go even further by teaming it up with handy tools such as TinyPNG or Compress PNG/JPG which will help you reduce your images' sizes even before you get them uploaded on your site.
6. Switch from PNGs and GIFs to SVG
Wherever possible, of course.
SVG (Scalar Vector Graphics) files come with the convenience of being:
much smaller
easy to scale, without having to trade clarity for that
enabling inline writing for CSS & HMTL 5 files
3 strong reasons which turn the use of SVG files into a sustainable web development method.
7. Take Your Visitors Straight-Up to The Content They're Looking For
The longer you leave your site visitors disoriented, scanning through in search of the information they're truly interested in, the more energy they'll consume.
And the more frustrated and unlikely to come back they'll grow, obviously!
This is why a Drupal module like SEO Checklist comes in handy!
It provides you with a highly intuitive UI where you can simply “check” all those SEO steps to take for optimizing your content. This way you'll be enabling search engines to direct users precisely to those pages on your website that they're interested in.
And we shall stop here with our tips and tricks on how you can embrace sustainable web development practices and turn the green light on your Drupal site, too. More website “greening” advice (at a server-level & content-level this time) in “Part 2” of our post. Stay tuned!
Adrian Ababei / Nov 08'2017
Just a glimpse at the list of speakers who'll be holding the stage at Web Summit 2017 and we get even more pumped up for it: OPTASY will be there, too! Practically all the titans of the web and... us, a Drupal and web development from Canada, will be at the MEO Arena in Lisbon, Portugal, from the 6th to the 9th of November.
As you can guess, we're already counting the days, literally overwhelmed with excitement!
For it's not "just" leaders in the tech industry who'll gather in sunny Lisbon (Fortune 500 companies and wildly successful start-ups), but "the world's most disruptive technology companies". Leading “minds” and global tech innovators!
And innovation is our own driving force as a company!
It's what helped us grow from a pure web development company into a full-service software provider.
It's our very own “guilty weakness” for emerging technologies the real “culprit” for OPTASY's transformation, over these years (since 2005), from a Drupal solutions provider into a company specialized in full-cycle projects.
We now handle all the phases of complex web projects, ranging from:
site/app structure planning
to custom modules development
to creating new functionalities from scratch
to theming
and post-launch maintenance & support
All the talent and energy that we've gathered in our team, over these years, all the creative minds that came on board, speak best of OPTASY's efforts to create a culture of innovation in-house.
And from all the innovation “addicts” (each one in its own field) in our team, it's Serge Karpiuk, our Head of Sales, Business Developer and Drupal Consultant, who'll be packing his bags for Lisbon (lucky guy!)! We, the rest of the “mortals” at OPTASY can't but secretly “envy” him and... relax. For we're 101% that:
he'll be “absorbing” and mentally storing EVERYTHING; no groundbreaking news or announcement, no powerful tips or high-impact information shared during the talks will “escape” him (and don't worry, we're not selfish: we'll be sharing all the highlights with you right here, on our blog)
he's the perfect embodiment of OPTASY; in order words: in case you'll be attending the Web Summit 2017, too, you'll instantly get a clue of how we are as a company: open to change, open to ongoing learning, open to people (and he definitely is, so don't be shy to come out to him), highly passionate about what we do.
Adrian Ababei / Nov 06'2017
“Hasty climbers have sudden falls...”
So you're ready to take off. To release into the wild that shiny and new Drupal site of yours, carrying hundreds of hours of work. It's got the looks and it sure has the power, but is that all it takes to ensure it a successful launch? How about SEO? Here's the essential Drupal SEO checklist to go through for boosting its search engine ranking and for ensuring it a significantly high traffic wave right from its early days.
1. On Top of Your Drupal SEO Checklist: Is The Redirect Module On?
Take it as a more than handy solution for getting your users on the right track. The track to your Drupal site!
Practically here's how this module works:
whenever a potential site visitor clicks a broken URL to your website
whenever a user enters a typo while trying to access your site
… Redirect... redirects (obviously!) those users from their way to “no man's land”, where those broken links (and typos) would have taken them, to your welcoming front page.
Moreover, the module helps you keep track of how many times your site visitors land on your website via redirects!
2. Have You Been Using The Pathauto Module to Create MEANINGFUL URLs?
In other words: have you actually built your Drupal site for the users? And implicitly for search engines, too?
For, if not, neither of them will “digest” those “node/123” type of path aliases that Drupal automatically created for you.
This is where the Pathauto module comes in handy: it will set up specific patterns and rules to be followed when putting together new URLs, making site navigation a breeze for your visitors and search engines' bots crawling in.
In short: it creates “meaningful” links, replacing the “node-like”, totally user-unfriendly URLs on your Drupal site. How could we have possibly not included this point in your Drupal SEO checklist, right?
3. Does Every URL On Your Site Include a Target Keyword?
We're well aware of it. This sort of “mapping” all the targeted keywords on your website and all the associated page URLs is probably one of the most tedious of all the steps included in your Drupal SEO checklist!
Yet, it's worth it! And it's crucial that you carry it out now, before launch day:
double check whether all those keywords included in your “target keywords list” (that you will have set up after a throughout keyword research process) are there, on your Drupal site
next, that every web page has a target keyword assigned to
Where there's a gap, a “missing” keyword or a URL with no focus keyword, make sure you fill it in!
4. Have You Enabled the Site Verification Module?
No? Then hurry up and get it enabled and properly configured.
The insignificant time you'll spend and the little effort you'll invest in carrying out this quick step is minimal compared to the benefits you'll reap:
the Site Verification module will indicate to you all the boxes to check for “reassuring” search engines that you actually own this site
which will grant you access to more in-depth, private Google search data
… and help win web crawlers' “trust”; they will then crawl your website more “confidently” and this cannot but translate into high ranking for your new Drupal site.
5. Is The Global Redirect Module Enabled? And Properly Configured, too?
Is it a Drupal 8 site that you're about to launch? Then just skip this step from your Drupal SEO Checklist: in Drupal 8 the functionality we're about to point out to you has been “injected” into the Redirect module!
If not, we strongly recommend you to “team up” your Redirect module with Global Redirect.
And here are the arguments:
it monitors and runs tests on all your URL, the ones without a trailing slash here included
it makes sure that all your site's links are case-insensitive
it redirects those “unlucky” users that run into broken links from a far less welcoming “404 page” to your site's front page instead
In short: as you leverage these 2 modules' powers you're basically welcoming in all potential visitors; both those trying to access your website and those who are already surfing it, trying to get to specific pages on your site, and all this even if they use broken access links.
6. How About the Search 404 Drupal Module?
And speaking about properly handling All user requests, even to temporarily inaccessible sections of your Drupal site, the Search 404 module makes your best ally!
It does precisely what its names says: it helps you greet those “unfortunate” visitors with a “404” page instead of a discouraging “Error: Page not Found” one.
Moreover, it “rescues” them from that “dead-end” type of page by recommending them an alternative URL on your site.
A true “bounce rate” killer!
7. Are Both The Google News Sitemap and The XML Sitemap Properly Configured?
And what handier way to make sure that they are than by simply installing and correctly configuring the XML Sitemap module?
It will automatically set up that bot-friendly map of your Drupal site that search engines can use to crawl in and easily index your website.
So, once you've enabled your module, make sure you go for the right configuration options at admin/config/search/XML sitemap and that you properly set up your XML Sitemap.
Note: no need to put together your site's XML sitemap if it contains AMPs!
Now that you've reached that point of your Drupal SEO checklist where you're addressing issues that might make your website inaccessible (or simply “unattractive”) to search engines, here are just a few more aspects to check:
that you've left no duplicate content lingering on your website
that there are no broken URLs
that web crawls can easily... crawl any page on your website
that there are no pages lacking any sort of content or having too little of it
8. Have You Used Proper OG Tags? A Key Box to Check on Your Drupal SEO Checklist!
Why should you rely on... chance while striving to make your shiny and new Drupal site ideally social when you can actually control its appearance on social media.
And OG (Open Graph) tags make a great example of how you get empowered to define, yourself, how your site will look on Facebook, which taglines to be used, which images etc.
Just double check that you've implemented the most suitable, properly descriptive ones before you... press that launch button!
9. Does Every Page on Your Drupal Site Have A Unique Title?
“A unique and meaningful title” we should add.
Do not underestimate the power of an attractive, SEO-friendly title! And if you want to make sure that all the pages on your brand new website have titles that:
stand out in search engines
stir attention
match the user's search terms
… just lay back and let the Drupal Page Title module do all the hard work for you.
10. Are Your Meta Tags Attractively and Relevantly Descriptive?
They should be, so mind you don't neglect them before you let your site... take off! Since meta tags still enjoy a “VIP status” among on-page ranking factors.
And for streamlining the whole meta tags SEO-optimizing process just harness the Metatag module's power!
It will:
provide you with a user-friendly UI for managing your meta data
enable you to easily fill in your metadata fields with relevant keywords, with a user-friendly, SEO-optimized page description and so on
grant you additional control over your Drupal site's looks when shared on social media
End of the list! The essential Drupal SEO checklist for you to go through if you want to jump-start your SEO before launch day!
Adrian Ababei / Nov 02'2017
Imagine your Drupal site as a... patient who has received the wrong diet (or who simply hasn't been told that he should stick to a special diet in the first place) and all the wrong medication, as well. A silly metaphor for the most common Drupal mistakes that you might have been making on your website.
... and whom (your website “patient”) you're now striving to train for the Olympics, meaning to boost its overall performance.
It's not going to work unless you “detect” those common issues deriving from improperly handling your site and from deviating from Drupal's best practices. And not before you get them fixed, obviously.
And how can you know for sure whether you are making these “popular” mistakes on your Drupal website?
Easy! You just give an honest answer to each one of the 7 questions from our little “investigation” here below.
Ready?
1. Have You Been Ignoring the Drupal Updates?
Just admit it!
And then try counting how many times you placed the Drupal Core and Contrib Drupal Security Advisory at the very end of your priority list. Or just how many times you ran the suggested upgrades selectively?
The more time has passed since you stuck to this “bad habit”, the more vulnerable your Drupal site's become.
This is, undoubtedly, one of the common Drupal mistakes and the “ultimate” source of the most security threats.
Note: For instance, if it's an unacceptably long period of time that we're talking about since you stopped maintaining your website properly (if it runs on a version older than Drupal Core 7.32), then it stands all the chances to have turned into an easy target for Drupageddon attacks.
2. Are There Any Unused Modules Left to Linger On Your Drupal Site?
bogged down site performance (with your way too large database as a “culprit”)
high impact security issues
unnecessary overhead
This is precisely what you get when you're being negligent in managing your unused modules (or themes).
Those modules that maybe you just installed and took out for a quick spin, fascinated with their much-talked-about functionality, and that you no longer use. Yet you just leave them... be. And weight down your database with an unnecessary load of source code.
Some of them might be lingering there since... your site's early days. Think of all the developer and administration modules (e.g. Devel or View UI) which shouldn't be overburdening the production version of your website.
Yet, they still do!
They're just being tolerated and gradually turning themselves into some major security issues if no one in your team deals with Security Advisories regularly.
The solution to this issue, that can easily make it to top 3 most common Drupal mistakes, is as clear as daylight: uninstall all the modules and themes that you're no longer using! Don't just bundle up unnecessary overhead.
And while the solution is ridiculously handy, the benefits are definitely worth the time and “effort”:
improved file system
instantly boosted site performance
3. Is The PHP Filter Module Enabled? One of the Most Common Drupal Mistakes
Just skip this question if it's a Drupal 8 website that you own. For this specific module has been (thank God!) removed from Drupal 8 core.
Now, getting back to the PHP Filter module, which many site owners decide to enable (like you, probably), here's why you should rush to... uninstall it:
practically it's an invitation for all ill-intended users to easily run PHP code right there, on your website
once enabled, it's quite a challenge to.. disable it before you've reviewed your site's content thoroughly
and if you skip this step (the close reviewing of your site content), you risk displaying PHP code in plain text on your website (which could turn into a true security “crate” if not detected before you disable the module)
4. Are You 100% Sure the JS/CSS Aggregation Settings Have Been Correctly Configured?
If so, then the JavaScript and CSS files that Drupal renders in HTML can be easily bundled up and compressed.
But if not properly configured, your users' browsers will be forced to process far more requests in order to render your web pages' content. Which will inevitably impact your site's page load times.
5. Have You Managed to Avoid the Common “Overusing Roles” Pitfall?
Or not? Don't be too harsh on yourself if you have, indeed, “overused” the user roles system. It's, undoubtedly, one of the most common Drupal mistakes website owners make after all.
And what else could you have done when the default user roles that Drupal provided you with just didn't fit the specific permission levels you had in mind for your users, right?
You went ahead and created your own roles...
Unfortunately, these newly custom-made roles can easily:
lead to Drupal admins being forced to edit each and every user role separately whenever he/she has to update the permissions
cause “security craters” when not properly configured
(overusing roles, along with their “collections” of permissions, can) impact your site's overall performance (particularly when you're striving to manage each and very set of permissions in their associated user roles)
6. Have You Configured The Full HTML Input Format for Your Most Trusted Users ONLY?
Or have you simply overlooked it entirely? Have you just disabled HTML filtering from the HTML Input Filter completely?
By configuring the Full Input Format for ALL your users, you're basically granting everyone permission to post HTML on your website. This way, you're just opening a gateway for any user to embed malicious code on your Drupal site.
Even a banal little thing such as an image tag can easily turn into an "injectable solution", a dangerous one, in the hands of an ill-intended user who can post HTML on your website just like that.
Now here's what you should do to avoid this scenario:
make sure that your filter is configured for some users ONLY and, even then, that you set only the specific set of tags they'll need to use
make sure your default and custom Input Filters are correctly configured so that they pose no security risks
scan your database through and through identifying any possible suspicious code that might have been injected already
7. Are You Weighting Down Your Database With Too Many (Unused) Content Types?
Do you need ALL the content types currently overcharging your database (considering the fact that three database tables get added to your database with every new content type that you bring on)? Are you actually using them all?
For, it not:
your database is unnecessarily overburdened
your content editors' workflow is unnecessarily complex due to the whole network of confusing content types that they need to tangle themselves up in
And now the solution to this issue, for certain one of the top most common Drupal mistakes:
Just run an inventory of all your content types, sort them into used and no longer used ones and... just "trim the fat"! Get rid of those that are just filling in space in your database!
This is our top 7 mistakes that you, too, are probably making on your Drupal site (even if not all of them).
Now that we've exposed them to you we can't but end our post with a conclusion/piece of advice:
The handiest way to optimize your website's performance is by preventing performance issues to occur, in the first place. Now that you have them “brought to light” it should be easier, with a little bit of effort, to avoid them, shouldn't it?
Adrian Ababei / Oct 30'2017