Every week or so we’re treated to yet another headline of a critical vulnerability that has an corresponding exploit in Flash or Java. That’s a bit like finding out the USPS mail carrier for my neighborhood has been charged, tried, and convicted for stealing mail but he’s still carrying and supposedly delivering the mail.
What’s wrong with that picture? What’s wrong with Flash and Java that every week or so there’s another exploit, and shortly thereafter another update.
Flash for Mac and PCs has been around for a few decades as a jack-of-all-trades platform that could run applications pretty much anywhere.
Adobe Flash (formerly called Macromedia Flash and Shockwave Flash) is a multimedia and software platform used for creating vector graphics, animation, browser games, rich Internet applications, desktop applications, mobile applications and mobile games. Flash displays text, vector and raster graphics to provide animations, video games and applications. It allows streaming of audio and video, and can capture mouse, keyboard, microphone and camera input.
In other words, Flash was designed to do pretty much anything and pretty much anywhere, and that’s how it was for many years. Unfortunately, as a do anything platform Flash was burdened with feature bloat through the years and became a big drain on PC and Mac resources. Flash never made a full showing on mobile devices, thanks in part to the inherent problems of the Flash architecture, smartphone battery life, and the emerging HTML5 standards.
Steve Jobs has been given credit for killing Flash on mobile devices with his famous Thoughts on Flash missive from years ago.
Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.
The avalanche of media outlets offering their content for Apple’s mobile devices demonstrates that Flash is no longer necessary to watch video or consume any kind of web content. And the 250,000 apps on Apple’s App Store proves that Flash isn’t necessary for tens of thousands of developers to create graphically rich applications, including games.
New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.
Clearly, Flash is a dying platform, and the brand has a stain, thanks to the security and stability issues seemingly inherent in the platform. Is it any wonder that Adobe changed the name Flash to Animate?
Likewise, Java has a stain for similar reasons. Security. The idea behind the Java programming language was similar to that of Flash, but for different reasons. Java was intended to be ‘write once, run anywhere’ language so applications could be written one time, then run on Macs, Windows or wherever Java lived at the time.
Instead, Java became mostly a ‘write once, debug everywhere’ process and now resides more on backend services than on desktop or notebook user applications.
Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers “write once, run anywhere”, meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture. As of 2016, Java is one of the most popular programming languages in use, particularly for client-server web applications, with a reported 9 million developers.
Sounds impressive, right? But it’s likely your Mac does not run anything with Java, and may never run anything with Java. There’s that security stain again. Java, like Flash, is decades old, pushed in the early years by Sun Microsystems, which was purchased by Oracle, where it resides today. Google has used chunks of Java inside the Android software development kit and there’s an ongoing lawsuit from Oracle to force the search engine giant to pay up for using Java without authorization.
Regardless, both Flash and Java have a stain of sorts and have fallen out of favor with the great masses of Mac and Windows PC users, and seems relegated to server applications. Even Google is trying to cleanse Java from its mobile device platform.
I say it’s time to bury both. The public no longer cares and developers are moving elsewhere.