The Evergreen Web
The web has changed and the traditional model of having a company like Enlighten create a website and only refresh it every few years has started to crumble. Many web browsers now update themselves, bring new features to users automatically and remove old and insecure features at the same time. Features that brought interactivity in previous years such as Java applets and now Silverlight widgets have either been removed or are slated to be removed soon from many browsers.
This change requires a new approach to managing a web application with your preferred digital services partner. Features that your web application relies on for interactivity could be gone in a year and users might be begging you to implement new features that have only appeared on the market in the last few months.
This change in the market ends up giving you the opportunity to give users a better experience and newer features in your web application. It also means we can spend more time on these features that provide value to your users rather than spending extra time ensuring compatibility with older software.
The piece of software at the centre of this change is the web browser. A browser takes the information from a web server and interprets it so that it can display a web page for you, they are pieces of software that need updating if a new type of interaction is implemented. A web browser provides features to a user on how to interact with websites and they provide features that web developers can use to make websites more compelling or interactive or easier to develop.
To look at why web browser manufacturers, Microsoft, Mozilla and Google believe this new approach is for the best, we need to take a trip down memory lane.
History of the web browser
Traditionally, it could be years between updates to your favourite piece of software. When an update was available, you often had to seek it out and install it. Potentially, the update might require you to have a whole new operating system for your computer. In the past if you wanted a new version of Microsoft Office you needed to go to the store and buy the new disk with the update on it.
The result of this is that user’s had versions of software that ranged widely in age. This meant that developers have spent countless extra hours while building websites, making any functionality work correctly not just once, but across a whole array of old versions of each web browser.
At the turn of the century, Microsoft’s Internet Explorer was the most common browser used with no serious competition in the market.
With no competition, there was very little incentive to innovate, make their browser faster or fix bugs that made internal parts of their web browser not work as expected. This pushed the cost of building workarounds for these annoyances on to companies, resulting in time and money that could have been better spent elsewhere.
Figure 1: It took many years for new versions of Internet Explorer to overtake the previous version between the years of 2005 and 2010. Approximate numbers from http://www.quirksmode.org/presentations/msdevdays/msdevdays.pdf
Back to Evergreen
In the last five years a number of other web browsers have been created and become popular. Today, on desktops and laptops, the three most common web browsers are Microsoft Internet Explorer, Mozilla Firefox and Google Chrome.
The battle to have the best product on the market began. The increased competition drove ever increasing rates of innovation on the internet. The trick was in how quickly each company could get these new features to the market, these three web browsers switched things up by changing the way their software was distributed.
Rather than rely on users to update their software and interrupt their workflow, Google, Mozilla and IE turned their software “evergreen”. In Nature, evergreen refers to a plant being perennial or more simply, always green. When applied to software, it describes software that keeps itself up to date, often without the need to interrupt the user to do so.
Being evergreen means that browsers roll out new features on rapid release cycles often without interrupting the user, as well as keep their users safe and secure by patching security holes in a very short time span. In terms of innovation on the web, this allows web developers like us to roll out smoother and better performing websites for our customers and have assurance that our customer’s users who are using one of the evergreen browsers have the latest version with all the latest set of bugs fixed and features implemented.
Figure 2: Describing the difference in the speed of versions being released, this chart shows the usage per version per month. Compare this to Figure 1 which is by year. This should highlight the chaos this change creates in the face of old assumptions.
Chrome is an example of a browser that has switched to the Evergreen model and in Figure 2 you can see a number of coloured lines. Each of those lines is a new version of Chrome and they normally release a new version every six weeks. The chart shows usage out on the internet and you can quickly see that new version become dominant very quickly and the older versions die away just as quickly along with the bugs and old features they used to support.
How does this affect me?
Traditionally, when you engaged a web development company to create a web application for you, the project model meant it was built and tested against a particular set of browsers on the market at a particular time. The assumption was that the application would perform the same for the next few years or at least the next twelve months before needing any changes. As you can see from the second chart, that model was valid five years ago but this new model will bring a number of changes that are both positive and negative.
On the negative side, if a piece of your system was written with a technology such as Silverlight which Chrome removed support for last year, any of those Silverlight features would stop working for all Chrome users within a month of when Chrome sent their update out. This would frustrate your customers and they may turn away from your website without doing business with you.
Flipping that around and looking at the positive side, our developers can now very safely not test with older versions of Evergreen browsers when creating a site. Whichever version we have is the same as what every one of your user’s has. This saves time and allows us to spend more time on features of value to our customers instead.
How we fix this
As I’ve shown, treating a web application like a one-off project isn’t going to produce a great outcome for you or anyone who uses your application in the future. At Enlighten, we addressed this by spending more effort on a better ongoing relationship with our customers and treating web applications we create as an ongoing system that is kept alive over time.
In practise this means that when you receive a proposal, you will most likely see a maintenance agreement that allows you to leverage our digital services team more readily. They are able to implement new features you need and keep your application updated by having dedicated time to fix up any problems that come up as soon as they arise.
You aren’t obligated to take this approach by any means but this now represents our recommended approach for any new web application we create to make sure you and your users get the most value out of the time and money you spend.
References:
- http://www.quirksmode.org/presentations/msdevdays/msdevdays.pdf
- https://en.wikipedia.org/wiki/Internet_Explorer_6
- http://gs.statcounter.com/
- http://blog.chromium.org/2010/07/release-early-release-often.html
- https://en.wikipedia.org/wiki/Browser_wars
- http://www.howtogeek.com/179213/why-browser-plug-ins-are-going-away-and-whats-replacing-them/
- http://www.howtogeek.com/221720/how-to-use-java-silverlight-and-other-browser-plug-ins-on-windows-10/
- http://venturebeat.com/2015/10/08/mozilla-firefox-will-drop-support-for-npapi-plugins-by-the-end-of-2016-but-will-keep-flash-around/
Very well described Alex. In this Evergreen world I see absolute value in the maintenance agreement model.
I love that the likes of my parents(not at all technical) could follow and learn from this, but at the same time your explanation is comprehensive and not at all condescending