The aim of a software developer is to produce working code which is as efficient as possible, which fulfils all of the end users’ (and client’s) requirements, in as short a time frame as possible. That’s always been the remit, even if budgets, overheads and other such marketing talk pushes costs high enough for the development to be worthwhile on a commercial basis. Developers and their managers have to earn their salaries, and creating as much sellable work as possible in as short a time as possible has always been the goal from our point of view.
Adobe (and previously Macromedia), who developed the browser plugin Flash, have done an admirable job over the past fourteen years or so to create software for a rich and useful multimedia environment, without which cross-browser and ubiquitous solutions for playing video and games wouldn’t’ve been so easily possible.
Microsoft followed suit with a fairly huge delay and launched Silverlight as the latest in their lengthy list of proprietary pieces of software. I have far less experience of Silverlight and as a primarily website- and web-app-based developer, I have had next to no need to delve into the complex code required to create solutions with either Silverlight or Flash. I have brushed up on enough ActionScript to understand Flash basics, for the rare instances when I’ve needed to update legacy tools for existing clients, but that’s about it.
Flash has been pre-installed on modern computers for some years now, but this bit of “plugin” software has always had its problems; not just with an endless number of release versions, as bugs and problems have been fixed, but also patchy in its level of cross-platform support and optimal use of desktop PC memory. (I know this well, as a long-term Mac user.) Silverlight has had similar problems and I’ve given up installing it on my computers, as the hassle of the software outweighs any benefit I might gain from the experience.
Adobe have today announced their decision to drop their plans for a version of Flash which will run on mobile devices, and Microsoft are also reputed to be planning the phasing-out of Silverlight after the next version. This comes after a long period of wrangling and mud-slinging, in particular around the lack of acceptance of Flash by Apple for its mobile devices. The basis of the decision was concisely summarized in an article posted to the Apple website in 2010. Steve Jobs wrote masterfully about how Apple saw the future of mobile web development without proprietary plugins. He explained, long before any other major players did, why the standard of HTML5 (as defined by those who have developed the ultimate front-end core scripting language of the web) is the way forward.
After more than fifteen years, the king geeks are finally listening to the guys who wrote the rule book. Whilst Flash in combination with AIR continues to be a viable solution for enclosed, device-specific apps, the future of web development is standards-based. Statistics from 2010 show that there are already more mobile internet browsing devices being sold than non-mobile versions. This means that the touchscreen as a means of website interaction together with optimized versions of websites for small screens and low bandwidth requirements are already key goals. That’s why I and the team I work with primarily implement a Mobile First, cross-browser, cross-platform and almost exclusively plugin-free concept for every project at the concept phase.
Adherance to a set of guidelines which are there to make sure that everyone’s life is improved makes things easier: from a user’s point of view because bugs and incompatibilities are reduced. From a developer’s point of view, the requirement to jump through hoops and create multiple versions of online solutions to suit manufacturer-specific specialities or workarounds will be a thing of the past.
If you’re a web developer, checking that you use the standards of the web and valid code will make your life infinitely easier. By planning now for a standards-based future and focusing on HTML5 and its associated technologies, you’ll be building for the future: not just saving yourself time, but also making sure that the work you do can be completed efficiently and with less fuss. As any developer knows, this is the most valuable aspect of any plan for the future in their eyes.