A simple and well styled PPO implementation. Based on my Medium series: https://medium.com/@eyyu/coding-ppo-from-scratch-with-pytorch-part-1-4-613d…
Python 6 Updated Dec 29
Donata Stroink-Skillrud, president of Termageddon LLC, licensed attorney, certified information privacy professional, and vice-chair of the American Bar Association ePrivacy Committee joins Mike Anello to talk about privacy (and other web site) policies (it's much more interesting than you think!) and why it is so important for modern web sites to have one.URLs mentioned
- Termageddon LLC
- Are you an agency? Join Termageddon's Partner Program and receive a two free accounts - one for you and one for a client!
- International Association of Privacy Professionals
- American Bar Association
- Drupal Career Online - next semester begins March 1. Free information webinars on January 13, February 10, and February 24.
- Professional local development with DDEV - 2-hour, hands-on, online workshop held monthly (Tuesday, January 12).
- Local Web Development with DDEV Explained.
We're using the machine-driven Amazon Transcribe service to provide an audio transcript of this episode.Subscribe
If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.
Note: the Termageddon links above are affiliate referral links.
Wouldn’t you say that websites are meant for everyone. If a children’s clothing site is not able to serve the needs of all the parents that fall in its target audience, what would be the point then, right?
We know every person is different, from the way they see things to the way they analyse them. Our differences do not make us less than the next person; web accessibility has ensured that, at least in the web domain. There are people who have certain physical conditions that limit some of their abilities, they are simply differently-abled from the rest of us.
- Colour blindness can affect the visual perception of a website.
- Wheelchair user-concerns can affect mobility.
- Hearing problems can affect the auditory elements.
- Photosensitive epilepsy can induce seizures in a person through certain elements on the web.
- Dyslexia can affect the cognitive awareness of a user.
- Sleep deprivation, an incidental issue, can affect your accessibility as well.
All of these and more can impair the user experience for people who are suffering from them. That is where web accessibility comes into the equation. This blog will talk about the ABCs of implementing the best practices when designing for web accessibility.What is Web Accessibility?
Where websites are concerned accessibility becomes an important consideration that can actually become their breaking point, if not done the right. Before I start on the long tirade on how to make the web accessible, it is equally important to understand what it actually is.
Web Accessibility can plainly be understood by its purpose, which is to make websites and their numerous tools and technologies in such a way that people with disabilities can easily use them. It is actually as simple as that; building websites that cater to the differently abled people.
A more thorough definition would point towards making websites that;
- Can be perceived by people with disabilities;
- Can be understood by them;
- Can be easily navigated by them;
- Can be interacted with;
- And they can also contribute to the web through them.
This concept or more like a principle takes into account all the disabilities that have an affect on the web user experience, be it auditory, cognitive, visual, speech, neurological or physical.
You might be thinking that that is all web accessibility is responsible for, to make the web more accessible for people with disabilities, but there is more.
- From different input modes to bright sunlight affecting the UX;
- From transient disabilities like fractured hand to ageing hampering your abilities;
- From a slow internet connection to an expensive one;
- From people in rural areas to the people in developing and under-developed nations;
Web accessibility is meant for all, it takes into account every aspect that can impede on a person’s web experience, eliminate them and make the web a place that is all-inclusive to the core.
It is a concept that is meant to highlight the web accessibility, that is a given because of its name, at the same time, it is also a concept that works towards usability and inclusion. All three are pretty closely related, perhaps that is why they are considered to be the fundamentals of web accessibility. You know what that means by now, however, with usability, the purpose is to build designs that can be used by everyone, while inclusion focuses on diversity, aiming for the participation of everyone in the experiences the web can offer.
Do you not think that web accessibility is crucial in the way we design our websites? I am certain you do.What is the standard for Web Accessibility?
In 2008, the new web accessibility guidelines were implemented and even in 2020, they are still prevalent. These guidelines have set the standards for accessibility that all web experience provides must adhere to. These are the WCAG 2.0 guidelines and they can be summed up in four principles.Make websites perceivable
It is after perception that you actually start becoming involved in something. That is why the first principle of the WCAG 2.0 guidelines is making sites perceivable. How do you perceive something? Using your senses, right? Sight, sound and touch being the players here. So, the elements on your site need to be focused on these senses to be truly accessible. To exemplify, it would help a blind person to hear the description of a video to perceive what is going on in it.Make websites operable
Making a site operable means ensuring that all users can use it with ease, by all, you know I mean including people with disabilities. Operating a website has to do with its navigation and interacting with various components. As per this principle, your site should be equipped to operate well in a keyboard-only navigation without any time constraints along with helping the user out, if he were to make some errors.Make websites understandable
Next is the understanding of a website, your users should not have to spend a lot of time to understand some simple instructions. Therefore, the third principle focuses on using clear terms that make even the complex of issues easy to understand.Make websites robust
This last principle is a bit on the technical site. Using a clean code for HTML and CSS that meets the overall standards would make it very easy for other technology, third-party included, to depend on your site. It would make your site more robust and thus, easy to process.How to design for web accessibility?
Now comes the important part, knowing the semantics of wens accessibility won’t do you any good, if you do not know how to implement them in web designing. It is not going to be a drastic change in the design palette of your existing website, rather some minor, yet thoughtful, changes can go a long way in achieving the accessibility standards. So here they are.Aptness in contrast
I’m going to start with contrast because I feel that contrast is one of the major problems seen in accessibility, despite it being a basic one. The text and the background needs to be in contrast to make the text pop. It could be in images, buttons or plain CTAs. For this reason, WCAG has set certain parameters for contrast ratios that need to be followed to achieve the basic requirements of accessibility. There are three types of text generally seen on websites, and all three need to maintain a separate ratio.
For body text, the ratio is 4.5:1;
For large text, it needs to be 3:1;
And for black and white text, the ratio is to be set at 21:1.
You may have noticed that the larger text had a smaller contract ratio, the reason is simple, larger text is easy to recognise. A size of 24 pixels or a 19 pixel bold would really be hard to miss.
Aptness in colour
Did you know that one in every twelve men is colour blind? It may seem like a lot, but that is true. The inclusion of people suffering from colour blindness, low vision or total blindness, thus becomes very important, because they account to a massive proportion of web users.
So, just using colour to highlight a component is a colossal mistake in terms of accessibility. You have to use other ways of highlighting the same component.
While the first image is a perfect example of what not to do, the second one can be considered as an epitome in using colour and keeping accessibility in the picture.Aptness in forms
Today, you would hardly find a website that would not accompany a form to fill, after all that is their way of connecting with the audience. So, making the forms accessible to all audiences is key. And sufficient labelling is the way to do it.
Every field that you have in the form needs to have a corresponding label that isn’t too far away from it. Adjacent labels are much better than the ones inside it that disappear after the field has been filled with content.
You may know that oftentimes a form is filled the wrong way, so letting the user he has made an error is also crucial. This needs to be done using colours and an instruction or some sort of a sign because someone with colour blindness might not be able to see the red that is being highlighted in an erroneous field.
Aptness in focus elements
There are certain elements in a web design that require more focus than others, these are essentially the interactive elements of a site, such as the BUY NOW button. You would have read these two words before even reading the sentence because they are in capitals, meaning they are focused.
The same ideology has to be followed by you in web designing. You should have a different highlight for when a button is hovered over, when it is reached by the keyboard and when it is touch or click ready.
Aptness in media
If your focus elements are not highlighted properly, by say a keyboard, can it be possible for the keyboard user to actually get the full experience of your site, I think not.
Media is another integral part of your website, some might even say it gives life to an otherwise dull webpage and they are not entirely wrong. To keep the liveliness alive, you have to make the media truly accessible.
Starting with images, it is extremely imperative that you provide alternative text to the same. Adding a caption and description is equality pivotal for audiences using a screen reader. Almost all the CMSs have a pretty prominent alt text option while you upload an image, ensure that you use it.An example taken from one of our blogs.
What alt text is for images, transcripts are for the audio elements of a website. For the users with auditory difficulties, transcripts that are the sole medium of inclusion. With videos, it becomes necessary to include an audio version of what is happening in them. Considering explaining complicated graphs and tables is another step closer towards accessibility.
Lastly, I want to mention autoplaying audios and videos. Nobody wants to listen or see them and they only make the user rush to find the button to stop them. So, as a general rule of them, add audios and videos in such a way that the user willingly plays them.Aptness in navigation
A user won’t just access a single page on your site, if he does that, then you won’t ever achieve your targets. To go through all of the pages and potential of a website, a user would need to navigate through it and you have to provide an obvious way to do that. You can do that by multiple ways with the provision of orientation cues, a site map is one of the most common ways.
All of this depends on the layout and the structure of your website, so ensuring that it is meaningful and logical would go a long way in achieving accessibility. A well structured layout should have a couple of things in order;
- It should be flexible and resizable;
- It should have a minimum of 320 pixels;
- And it should be able to zoom upto 400% and in close proximity.
All three help people with disabilities navigate easily. Imagine you are using a magnifying glass to read through all the content and options on a website, would you not prefer that the things you are looking at are close to each other? You don’t have to tell me, I already know your answer.
Then come the keyboard users, you have to be mindful of them as well. Without getting into the reason for people using a keyword instead of a mouse, I would tell you that for these people the tab key is the most crucial. You have to keep in mind when creating the order of your design, since you do not want your user to get lost while navigating.Aptness in content
The content on your website is its heart and soul; it is what lets the user know of your intentions and your work. Therefore, being extra diligent with the content and its placement is prudent to avoid clutter.
Let's start with readability, you cannot write your content like it is Da Vinci Code, yes, some people might still understand it, but that is not the aim right. Use simple language with short sentences, short paragraphs and common vocabulary because if the audience is not understanding it, well then, it’s a moot point.
Then there is the spacing issue, you need to adequate spacing between paragraphs, lines and individual letters as well.
It is recommended that the paragraph spacing should be twice the font size;
the line height should be 1.5 times the font size;
And the letter and word spacing should be 0,12 and 0.16 times the font size.
After doing so much, also try using a font that is easy to read on multiple devices, Arial and Sans Serif are a couple that are just that.Aptness in controls
Then comes the bit about controls, and what are we controlling? That would be ‘the interactive elements.’ Every website has them, be they in the form of buttons or links, they are going to be there. Accessibility would be achieved when these controls are designed so that every person, despite their disability can use them.
For instance, a person suffering from tremors might not be able to interact with a really small icon. He would find it very difficult to select or unselect a checkbox, the same is also true for the elderly, who suffer from a reduced dexterity due to age.
Therefore, the size of a control needs to be 44 by 44 pixels, as per the recommendation of WCAG. However, even the size of 34 by 34 pixels could be deemed acceptable, anything below it would be prejudicial.Aptness in feedback
As a last point, I want to mention your part in the user engagement process. When a user does something, whether it is right or wrong, your website should give him an indication of the same.
For instance, he has filled a form, then there has to be a confirmation message or if there has been a modification in the page he was using, there has to be a notification to alert him of the same. This is called your feedback to the user and it has to be prominently displayed for the user to really get it.Aptness in effects
Photosensitivity is a disorder that can cause headaches, nausea and make the sufferer dizzy. Photosensitive epilepsy is a disorder that can induce seizures in the patient from just fast flashing lights. Since many websites use effects and hyperlinks that blink rapidly, these people would suffer a great deal if they go on and use the said sites.
Therefore, accessibility guidelines mandate that you use animations and effects that do not make people suffering from epilepsy and photosensitivity suffer more. This could be achieved by trying to use;
- Animations that are small in size in comparison with the screen;
- Animations that go in the direction of the scroll and follow its speed;
- And animations that are not constantly moving or blinking.
To be on the safer side, try to provide an option to pause or hide them, if the user wants to. Some sites even give the option of slowing them down, now that is a thought.
I want to conclude by saying that designing for web accessibility may mandate that you follow a certain set of principles, but that does not mean that it is inhibiting your innovative streak. Think of it as a chance to transcend your abilities and make your web experiences all the more valuable.
For that to happen, you would have to constantly evaluate your site, especially in the design and development phase. An accessibility audit would help a great deal in that. It would help you in knowing the areas that need improvement and guide you through the accessibility transformation.blog banner blog image Web Accessibility Web Design Inclusive Web Design Blog Type Articles Is it a good read ? On
E-commerce is booming, and Drupal helps it flourish. Thanks to the features and benefits of Drupal Commerce for online Drupal 8 or 9 stores, more e-commerce businesses can get a cool website. By doing so, they should catch the wave of success — by 2025, the e-commerce market volume is expected to reach US$3,453,334m.
Oftentimes it may happen that you have a Github account where you upload all your code for practice sessions or learning purposes. You have another Github account pertaining to your company profile. When you push your changes, be it to your own Github account or a project-specific, how do you make sure that the respective account is always used? Well, I am here to help!souvik Wed, 12/30/2020 - 23:35 Drupal Planet Git Github website development services
With teams growing in size, it’s more important than ever to define a paradigm of deploying code to achieve a synonymous rule about the code and to keep contributors on the same page. This can be achieved with “Git Hooks”.
Git hooks are scripts which trigger specific automated actions based on an event performed in a git repository. The git hook name usually indicates the hook’s trigger (e.g. a pre-commit, a post-commit, etc). These hooks can be useful in automating tasks on your git workflow. For instance, based on defined rules, it can help us validate the code or run a specific set of tests before a code is committed.souvik Wed, 12/30/2020 - 23:22 Drupal Planet Git Github website development services
As I sit down to write this piece, I can only think of Coco Chanel’s quote, which will give you a gist of this article. “The best things in life are free. The second best things are very, very expensive”. In this article, we are going to compare Drupal - the powerful free and open-source content management framework, with other proprietary CMSs like AEM, Oracle WebCenter, and SiteCore.
The choice between a proprietary CMS and an open-source CMS usually depends on the organization's requirements for features, budget for technology spend, traffic, and support expectations. While there are tons of advantages and disadvantages of each of these CMSs, take a look at the below table for a few of their features.
Open-source CMS Built and maintained by a single company Developed and maintained by a community Source code is private Publicly available source code Acquired by paying a license fee. Pay per customization and additional users Zero license fee. Pay per resource/agency for customizations. Slower support and new updates Fast and easy support and frequently updated releases because of the large community. Closed development and lack of clarity on the code Transparency in terms of code quality and bug fixes
Ease of use and customization
If you have been assigned the arduous task of choosing a good CMS that can meet all your business needs, it might be hard to convince into a free, open-source CMS like Drupal. Mid to enterprise-level organizations normally believe that quality comes with a huge price tag. But that is not always true and absolutely invalid with a CMS like Drupal.
Choosing a CMS just because it is popular isn’t a great idea. You will need to find a CMS platform that is able to conform to your business model and grow with it. It should be tailored to support the business needs of your organization and also easy to use. One of the most important reasons for going with a CMS is to ensure easy updating of content.
AEM – Is a Web Content Management System that lets you build and manage multiple websites with ease. For content authors and web administrators, it is very helpful as the interface is similar to MS Word. It has some cool drag-and-drop features that make it easy to use even for a non-technical person. The authoring experience is very intuitive and slick. Installation and setup tend to get a bit tedious and finding a developer to help you out with it is comparatively difficult and expensive. AEM is based on Java and hence any customizations will need highly experienced developers.
Oracle WebCenter Sites – Lets you easily create and manage targeted and interactive online experiences while optimizing customer engagement. Content editors have the capabilities of previewing the content without leaving the platform. With very limited drag-and-drop capabilities, the admin user interface does not provide many options for configurations and seems very outdated. Customization possibilities are immense if you have skilled engineers with substantial experience in application server, ADF, and of course Java and the web. Managing the code in the JSP files can seem to get a bit difficult as the tags and scriptlets are blended together.
SiteCore – Is a .NET based Web Content Management System with which you can store, manage, analyze, and update your website content in a single platform. Comes loaded with tons of features for organizations looking for personalization, analytics, A/B testing, marketing webforms and more. It allows multiple content authors to edit and authorize content at the same time. The user interface for content authors and admins is very user-friendly and lets you drag and drop various reusable elements onto a page including JS widgets, images, text, and videos. It is very customizable too which is great for businesses with unique requirements. However, finding a certified Sitecore developer is not an easy task and also very expensive.
Drupal – Drupal is an open-source content management framework that lets you create and manage powerful websites. It has great features to use out-of-the-box itself or can be easily customized with thousands of freely available modules to suit every business requirement. There's tons of room for scaling and customizing a Drupal website. The learning curve is a bit steep and finding Drupal talent was not very easy. However, this has changed since Drupal 8 and its adoption of continuous innovation and modern frameworks like Symfony and object-oriented programming structure. Drupal 8 also provides a very clean and user-friendly content authoring experience with its WYSIWYG and drag-and-drop interfaces. There are a plethora of free themes to choose from that are easily customizable.Features and Integrations
Your ideal CMS should provide you with everything your business needs out-of-the-box but that’s wishing for a little too much. Look for a CMS that can provide you with maximum features where you don’t need much third party integrations to do your job. Or a CMS that can easily integrate with external modules and integrations needed for your business.
AEM – AEM has some exciting features like a drag-and-drop UI for content authoring, a well arranged visual site-map, layout manager, calendar views for projects and tasks, re-usable content via Experience fragments, Touch UI, template editor, publication management, activity map integration, side-by-side page preview, assets search functionality, exclusive check-in check-out, user-profile integration, online revision clean-up, Mobile content services, etc. For extensive customizations, AEM allows for easy integrations with Adobe Marketing Cloud’s components like Adobe Analytics, Adobe Target (continuous assessment of content to be more relevant for more conversions), Adobe Scene7 (media management, web publishing, and enhanced web experiences made easy), Adobe Dynamic Tag Management (an intuitive tool for marketers), Adobe Search & Promote (to control and optimize search results) and Adobe Campaign (easily manage email delivery content). In addition to this you can also integrate AEM with third-parties like Amazon web services, Salesforce, Silverpop engage, Youtube, Facebook, ExactTarget, etc. However, AEM is not as tightly integrated with other third-party modules as it is with Adobe products.
Oracle WebCenter Sites – With features like Document management (Document preview, version control, image editing, watermarking, video editing, document collaboration, etc.), records management, file sharing, searching abilities (by metadata and keyword), workflow management, create-customize-extract forms, advanced security features (audit trails, role-based access, 259- bit encryptions, etc.) Oracle WebCenter Sites also allows for integrations with Wordpress, Outlook, Sharepoint, MS Office, CRM, ERP, Social media, Calendar Apps, etc. However, integration with other components is not very simple and needs skilled developers for the same.
SiteCore – Some of SiteCore’s features are made for sales and marketing executives, like Advanced editorial experiences, multilingual websites, personalization, AB testing, highly configurable security features, search engine optimization, analytics, print experience manager, web forms for marketers, marketing automation, social media marketing tools, etc. Sitecore’s Connectors ensure that your website integrates with third-party solutions easily and fast. Like SiteCore commerce connect, SalesForce, MS Dynamics 365, MS Dynamics CRM, Adobe In- Design, Google +, Visual Studio, FaceBook, Twitter, Brightcove and many more. All in all, SiteCore is a great tool when businesses need tons of integrations.
Drupal – A powerful set of out-of-the-box features and access to countless freely available add-on modules, makes Drupal the most preferred CMS. It comes with out of-the-box features like intuitive content authoring, rich text editor, easy approval routing process, storage and management of assets, search functionality, granular security features, thousands of templates to choose from, mobile-first approach, search engine optimization functionality, flexible taxonomies, multilingual, user role management, dashboards & reports, API integrations and much more. Some add-on modules that are almost absolutely necessary for most Drupal websites are CTools (set of APIs that assist other modules), Views (organizes Drupal content), Token (creates re-usable patters across your website), PathAuto (helps generate SEO keyword rich URLs), Webform (used for accepting any kind of forms), CKEditor (provides a WYSIWYG editor), etc.
Drupal also seamlessly integrates with almost any third-party solution available like CivicCRM, Salesforce, Marketo, Sharepoint, Alfresco, Magento, Ubercart, Payment gateways, Disqus, Wepay, HER/EMR systems, Google analytics and apps, LDAP, Opigno, Mailchimp, Wordpress, Joomla, Surveymonkey and the list can just go on. Being an open-source content management framework having over a lakh of active contributors, there really isn’t a feature or integration that Drupal does not already have. For extremely unique and specific business functionalities, of course, you can easily hire a Drupal developer.Pricing and Support
Robert Genn, a renowned Canadian artist once quoted "A high price may be part of the mystique in selling difficult art". You should be able to get true value for the price you pay for a CMS. Being expensive doesn't make it fit for "enterprises".
AEM – According to Gartner Inc., AEM is one of the more expensive CMSs in the market, almost twice the price of its closest competitor. The total implementation cost comes close to $2m including licensing. There is a lack of experts who can implement and support AEM for your website while the Adobe support team pushes you into buying more service contracts or products to be able to help you further.
Oracle WebCenter Sites – The power and flexibility of Oracle WebCenter Sites does not come cheap. According to Oracle, the licensing costs is currently $100,000 per processor. Additionally, the first year of Oracle support is about $20,000. Having an excellent support with experienced staff and 24/7 support is great but covers only the core product. Any customizations or extensions will not be covered by support and you will need to hire not-so-easily-available developers.
SiteCore – SiteCore’s licensing fees starts at $40,000 with $8000 fee for every additional year. Implementing costs starts at $65,000 while support and other fees cost about $10,000 per year. SiteCore users have had issues with technical support for the CMS lately.
Drupal – The best and the most notable feature of Drupal is that it is Free! There are absolutely no setup costs or licensing fees and is free to download and use. Being an open- source content management system, you have full access to documentation and support forums that is provided by a community of volunteers. Most of the contributed modules are free too! Of course there are development costs if you need customizations for your business requirements and hosting charges. Drupal’s network of dedicated and helpful contributors are continuously working on issues and improvements that can help users immensely. Drupal developers are not difficult to find and hire either if you need customized support capabilitiesPopularity with customers
Yes, popularity does not always guarantee quality but it is enough proof that there is a heavy demand for the product and it is selling very well. The below figures are based on a latest report by BuiltWith as of December 2017.
AEM – AEM has powered over 6,397 websites.
Oracle WebCenter Sites – About 1,030 websites currently use Oracle WebCenter Sites.
SiteCore – 11,719 websites are powered by SiteCore CMS.
Drupal – Drupal hands down wins in the popularity category by powering 647,479 websites till date.
Every CMS comes with its share of pros and cons and choosing a CMS that suits individual business requirements is the wisest. You might think that comparing Drupal, a free open-source content management system, to large scale web CMSs like AEM, SiteCore or Oracle WebCenter is like comparing apples to oranges. For a long time, open source content management systems were excluded from the list of CMSs for mid to large “enterprises” as it was misunderstood as being incapable of supporting enterprises and large amounts of content. Truth is, open source CMSs like Drupal solutions, are now the most popular and sought after CMSs today (even by the biggies) because it is a more robust, flexible, scalable, secure and most supported content management system having the largest community of developers to tackle an issue at the drop of a hat. Indeed, the big guns like AEM, Oracle WebCenter, SiteCore, etc. are great solutions but Drupal can do everything the big guns claim to do and do it even better. And for FREE!Drupal Drupal Development Drupal Planet Drupal Tutorial Shefali ShettyApr 05, 2017 Subscribe For Our Newsletter And Stay Updated Subscribe
Leave us a CommentShefali ShettyApr 05, 2017 Recent Posts Image Drupal VS Proprietary CMS - A Detailed Comparison Image How these Drupal 8 (and 9) SEO Modules can boost your Website Ranking Image A/B Testing your Drupal Website – Top Drupal 8 (and 9) Modules You can Implement Now Want to extract the maximum out of Drupal? TALK TO US Featured Success Stories
Know more about our technology driven approach to recreate the content management workflow for 7.ailink
Find out how we transformed the digital image of world’s largest healthcare provider, an attribute that defined their global presence in the medical world.link
Discover how a Drupal powered internal portal encouraged the sellers at Flipkart to obtain the latest insights with respect to a particular domain.link
In this article, we go through 5 digital experience trends for 2021 that we expect to act as the basis for the “new normal”.READ MORE
If you are deciding between a standard Drupal architecture vs. a decoupled one with a GatsbyJS front end (which I’ll call “Gatsby” from here on out), certainly the latter approach offers some compelling advantages. Decoupling Drupal may be easier than you think. A Gatsby front end offers a more flexible and compelling user experience across multiple channels, as well as excellent performance, security, and scalability.
However, in developing an independent front end and back end, one must factor in the additional costs and financial benefits of doing so vs a traditional standalone approach. As described in our introductory blog post, Building a Business Case, a business case exercise can clarify costs and benefits, both in terms of initial cost, ongoing costs, and revenues of each.
In this blog post we’ll perform this exercise for standalone vs. decoupled Drupal with Gatsby, performing the following steps:
- Determine the costs of each option
- Determine the benefits for each option
- Recommend an option based on cost and benefits
Two different types of costs need to be considered when evaluating options, the cost of the initial implementation, and the ongoing and operating costs once the implementation is complete. The following two tables approximate these costs. Note: these costs are highly theoretical approximations, only to be used as an illustration. Actual costs can only be calculated once detailed requirements are considered.Implementation Costs
The following table summarizes theoretical implementation costs for each of the two options. These entail the licensing and build estimates for each option. This illustration (again, theoretical numbers) assumes a simple implementation with little to no customization.
Decoupled Drupal with Gatsby
A few things stand out in this comparison:
- Freedom from Licensing Fees: Of course, Drupal has no licensing fee, but if you use an open source front end technology like Gatsby, the licensing fee will be free for that as well.
- Time and Effort Up Front: The initial effort for the decoupled build is greater than that for the standalone Drupal build. This is because front end technologies like Gatsby are newer, and in our experience, there are bumps in the road when working with them in an initial build.
- The Stability of Drupal 8 and Drupal 9: Drupal 8 is stable and mature, having been release level since 2016, and Drupal 9 is architecturally similar. With a standalone solution, there are fewer bumps in the road.
- Hosting: Hosting costs are greater with a decoupled solution as well. The cost of hosting services vary greatly and the figures we’re stating here are an illustration. Your actual hosting costs will certainly differ. That said, you will be paying for two hosting services with a decoupled solution, one to host the back end and another to host the front end, whereas a standalone solution requires just one.
After implementation, each option incurs recurring costs. This is a critical consideration in evaluating options that often gets overlooked, and we recommend you always factor in these costs in your decision. For our example, the following table summarizes those costs (again, they are theoretical):
Decoupled Drupal with Gatsby
Maintenance and Support
As with the initial cost, the ongoing costs of the decoupled option are higher, albeit by less. In our example, they’re almost equal. While hosting costs are again higher for the decoupled option, maintenance and support costs are less. Although there are initial bumps in the road for a decoupled solution, our experience has also taught us that once those obstacles are overcome, it is a lower effort to maintain the solution because Gatsby, and the React framework it’s built upon, are simpler than that of Drupal’s front end engine. It is easier to learn, and developers skilled in it are easier to find.Determine the Benefits of Each Option
For investment in any of these options, a benefit is expected, particularly in expenses saved or new revenue earned. Focusing on annual revenue, the following table summarizes the theoretical benefits of each option based on an assumption that the standalone Drupal solution would generate $1000 a day in revenue, or $365K per year:
Decoupled Drupal With Gatsby
In this example, and in many real-world circumstances, a decoupled option slightly improves a site’s revenue, all other things being equal. This is because, in addition to having a more powerful and flexible user interface, a decoupled solution is more performant for the end-user. Further, a Gatsby front end typically runs as a static site on a CDN, with little to no database fetching occurring during a page load. According to sources like DomainRacer and MachMetrics, companies like Myntra, Amazon, Yahoo, Flipkart, and Mozilla experienced a boost in business by increasing the page load speed of the website with less than 2 seconds. Estimated revenue decreases conversions by 7% with a one-second delay, and a whopping 17% with a five-second delay. Further, page load time affects SEO rankings in Google, and slower websites have higher bounce rates. All of this impacts an organization’s reputation and customer loyalty.Recommend an Option
When we combine costs with benefits as described above, we are left with the following comparison:
A scenario for Standalone Drupal vs. Decoupled Drupal With Gatsby
In year 1, for example, the net amount earned by the standalone option is $365K - $130K, or $235K. In year 2, the cost is reduced to $70K, bringing the net amount to $295K. The above graph plots net revenue for the standalone option, in blue, and the decoupled with Gatsby option, in tan, over five years.
So, in this example scenario, we can draw the following conclusions:
- If your organization is prioritizing short term results, the standalone option is more attractive due to the stability and maturity of the Drupal platform. There are fewer early bumps in the road.
- If your organization is willing to make a greater up-front investment for greater long-term benefit, consider the decoupled option with Gatsby by virtue of its low long-term maintenance costs and revenue-boosting performance improvements.
As in our previous blog post on building your CMS business case, our example scenario is overly simplistic. In reality, detailed requirements can radically alter both the costs and benefits of any option one considers. We at Mediacurrent have performed this type of analysis for some of our clients to help them with their technology investment decisions and can do the same for you. Please contact us to learn more!
What better time for a browser support survey than the turn of the year!
I thought that certainly in 2021 we would not have to support Internet Explorer anymore. I was proven wrong by our clients. We have clients in some of the most profitable verticals who indicated to us that they had a significant group of users who were still dependent on Internet Explorer. This may be a small group but if this group happens to make up one of the most profitable verticals in our target audience we cannot ignore them.Ask the Drupal community
If other members of the Drupal community share with us what frontend environments they will support in 2021, based on our collective knowledge we can all make better informed decisions next year. Please take 5 minutes to fill out this short Google Form and we will publish the results of our survey in a free report:
Take the Drupal Community 2021 Browser Support Survey
We expect to publish the results in the second week of 2021. Keep an eye on our Blog or subscribe to our newsleter to get notified!
Do you want to achieve multi site architecture for your Drupal 8 websites? Here is a simple, step-by-step guide to achieve multi site architecture using Drupal 8 in a few minutes.