Since when is it acceptable that user interfaces of enterprise applications are not pixel-perfect when displayed at runtime? This is a non-facetious question that has a matter-of-fact answer. We can pinpoint the exact year that it became generally acceptable for user interfaces not to be perfect due to the growth in the number of platforms on which they were expected to run. That year was 2012.
Developers with character-based UI experience, who are making the step to more modern development tools will find the events in 2012 and April 2012 in particular to be the most revealing for the UI culture of today. This post-April 2012 UI culture is one in which imperfection is not just tolerated, but embraced in the design process.
In this culture we learn to build interfaces that can run on the largest number of devices with the least amount of runtime framework support. In doing so, we also accept that an application we've developed won't necessarily display and function exactly the same way to all users, but true enough to be accepted by them.
What happened in 2012 to mark this cultural shift? It's not so much one thing, as a combination of many things. Here's four of the important ones:
BYOD (Bring Your Own Device) did not start in 2012, but in 2012 the phenomenon entered popular awareness. Gartner, McKinsey, and other analysts began taking the "emergent" trend of employees bringing their own devices to work seriously. Many of the first research notes and best practices were circulated between March and June of 2012 and the discussion on how this could be managed for the benefit of companies began in earnest.
Driving the trend was mainly business user requirements to integrate non-desktop devices with the workplace environment. This happened despite the experience of enterprise web applications being different on these devices when compared to desktop versions.
How is this significant? March 18 2012 was a Sunday. May 5 and 6, 2012 were a Saturday and a Sunday. The mixed browser landscape we have today was pushed not by business but by consumers at home. Following this tipping point, business adopted an increasingly mixed browser set on a mixed set of devices.
By most measures the most popular RIA framework to exist is Adobe's Flash. One of the key benefits of RIA frameworks like Flash is their ability to ensure consistent or identical rendering of applications across different browsers and platforms.
Flash appeared dented in November 2011 when Adobe announced it would discontinue development of its Flash plugin for mobile browsers. The decline of its usage to today's lows would begin almost immediately afterwards in 2012. According to statistics from httparchive.org, 45% of websites used Flash on April 1st 2012 and only 40% one month later.
Another popular RIA platform is Microsoft Silverlight. The last version of this platform to be released was version 5.1 on May 2012. A third framework from Oracle called JavaFX had its last release as an independently bundled product in August of 2012.
In step with the decline in RIA was the abrupt discontinuation of developer tools and languages for these platforms. In April of 2012, Adobe announced the termination of its Flash Catalyst product. Immediately afterwards, in May of 2012 it released Adobe Muse for browsers, which achieves a similar goal as Catalyst, namely user interface design without requiring coding skills. The Catalyst product is for applications based on Flash, the Muse product for non-RIA browser deployments.
Microsoft also discontinued the commercialization of Expression Blend as a separate product in 2012, while incorporating many of the advanced GUI development features from this product into the visual editor of Visual Studio 2012. Currently Microsoft Blend has a specific utility in Windows 8 and Windows Store app development.
2012 and specifically the month of April 2012 bind several events together that helped shape current attitudes to enterprise UI development. The shift in products and attitudes is significant.
If you are a legacy developer getting up to speed with modern UI, the word to the wise is to pay close attention to the date your tool was released. If it was released in 2012 or before, be sure to ask as many questions as you need to ensure this technology will still be relevant by the time your project is finished.