Flash started as a simple piece of animation software back at the start of the dial-up internet era, but in the years that followed, it has helped shaped the Web as we know it today. Once upon a time, online advertising relied on Flash. Flash was used to make games and indeed entire Websites. Now, there’s a transition to HTML5 going on. Today, Flash may not be quite dead, but it’s time is almost up. And when it does eventually go, those businesses that have failed to evolve beyond the use of Flash will pay the price.
When the iPhone launched in 2007, there was a huge backlash in the tech press relating to its inability to display websites that use Adobe’s Flash platform. The negative coverage reached such a fever pitch that, in 2010, Steve Jobs resorted to publishing a lengthy open letter detailing his company’s reasoning for distancing itself from Adobe’s web technology.
Jobs cited Flash as being a technology that was once relevant on desktop PCs but which, in the mobile era, was simply out of touch due to its thirst for resources, drain on battery life and incompatibility with touch-based interfaces.
Flash still exists today and there are a number of high profile websites that continue to rely on Adobe’s proprietary web technology. Unfortunately, this means that we all occasionally receive update reminders that require us to download large installation files, quit our browser sessions and install the latest version.
However, Flash’s place on the web is becoming more questionable, despite reports that it is dying an all-too-slow and painful death. Most importantly, modern developers despise it and, like Jobs, would rather see it consigned to the history books for good.
Here’s why web application developers prefer not to use Flash anymore:
1. There are brilliant alternatives
Canvas is a technology that can draw 2D graphics on the fly by using JavaScript. Similarly, the XML-based SVG (Scalable Vector Graphics) enables the construction of complex user interface elements that scale automatically to high resolution screens like those found on smartphones and tablets.
The choice of Canvas or SVGs is largely down to web application developer’s preference, but both technologies can do pretty much everything Flash can with a far smaller footprint and with absolutely no detriment to performance or requirement for a time-sapping installation on behalf of the user.
2. Flash isn’t supported on key platforms
As noted at the start of this post, Apple’s iOS platform doesn’t support Flash. Think about the many millions of iPhone and iPads in use; if you create a web app in Flash, you’re cutting yourself off from a huge section of the market.
Similarly, Flash isn’t supported on Android, adding yet millions more to the number of users who will be unable to access your hard work.
3. Search engines don’t like it either
Search engines such as Google may be able to index the text from Flash files, but they’re not particularly keen on doing so. This is largely due to the fact that they’re far more concerned about a website’s ability to be displayed correctly on as many devices as possible.
Google has even taken it upon themselves to warn its users if websites listed within search results are unlikely to work on their device. Would you want your website or web app to have that label applied to it?
4. There are security concerns
Flash has a rather unenviable history of bugs, malware and security flaws that have made it a target for nefarious developers and hackers.
Nasty code can be relatively easily injected into Flash applications in order to spread viruses that conduct attacks such as denial-of-service and cross-site scripting.
5. Requires a separate Flash player
That rather irritating update reminder and installation routine Flash users have to go through is due to Adobe’s platform requiring its own ‘player’. That means each web browser you use needs to have a Flash plugin configured and turned on, thus slowing its performance and opening up those aforementioned security holes.
6. It’s hugely inefficient
HTML5 code runs natively within web browsers and is designed to be light on its feet and super-fast. By comparison, Flash is cumbersome, consumes a huge amount of system resources and has a very real impact on mobile device battery life.
Mobile is fast becoming the computing platform of choice and that means software efficiency has never been more important. Flash is an old technology that simply struggles to make the most of new hardware and coding practices.
Summary
Flash isn’t quite dead, but its days are surely numbered. The future of the web is lean HTML code that is open, efficient and a joy to develop with.
At Blueberry, we use a wide range of technologies for Web application development these days, depending on the requirements of the particular application. Some of these are Client Side Scripting technologies (such as HTML5, CSS, JavaScript, Ajax), others are Server Side Scripting technologies (such as ASP, ASP.NET, Python etc.).
In general, HTML, CSS, JavaScript and AJAX are used for the user-interface; HTML5 for an enhanced user experience; a Web-programming language such as ASP.NET or PHP to deliver bespoke functionality; and a database to store information.