This is a very important moment in the history of the mobile internet. Since 1997, Flash Player has been an important part of the web. From flash games, to streaming video, to sound, and sockets, many of the most important and central components of the online web experience have leveraged Flash-Player technology.
However, Flash-Player has failed to make the transition to the mobile web.
How could this have happened? How is it that a company with the resources of Adobe could possibly fail to overcome this hurdle? The transition from the PC to the mobile web is arguably one of the most important inflection points in the history of the internet, and the value to Adobe is very obvious. The answer lies in the history of Flash-Player itself.
As Steve Jobs put it: “Flash was designed for PCs using mice”—which is true. When Flash was created back in the 90’s, the target platform that it was designed for, was the PC. Flash was designed for desktop computers, computers with a fast CPU and a power-cable. This is the root cause of all the hardships Adobe has had with mobile.
Mobile devices are not always plugged in. They have to rely on small batteries, which need to last for days at a time. For this reason, mobile phones have slower, less power-hungry CPUs. The original iPhone had a 412 MHz CPU. That’s about how fast desktop CPUs were back in 1998. That was basically a 9 year setback in CPU speeds, which was more than Adobe’s Flash Player could handle.
You see, in Flash Player, everything is done in the CPU, including the graphics. That means that if you slow down the CPU, you slow down the graphics performance.
Back in 1997 when the Flash Player engine was created, the CPU was all that was available. It wasn’t until 2000 that normal PC computers started to get GPUs with hardware-accelerated transform and lighting.
The advent of the GPU changed everything. It’s several orders of magnitude faster to do graphics calculations in hardware over software. In addition to that, GPUs are able to perform multiple calculations in parallel. The original iPhone could do up to 16 simultaneous calculations, and the new A5 chip (iPad2 and iPhone 4S) can do up to 128. Most importantly, GPUs use less power to do the same number of calculations.
Over the last 10 years, AAA Console game developers have worked closely with companies like Nvidia to optimize the performance of video game graphics. Together, they have created standards like OpenGL for interacting with the GPU, and maximizing the graphical rendering capabilities of a system. It is because of this innovation that iPhones can run beautiful 3D games like “Infinity Blade”, and run them fast. The GPU in modern mobile devices is really powerful if you can just tap into it.
So why has Adobe failed to take advantage of the power of the modern GPU? The answer is backwards computability. Adobe is burdened down by history. There are millions of SWF files all over the web from all versions of Flash Players’ history. To play all of these, Flash Player needs to be capable of playing SWF files back all the way to version 1 (we are currently at version 11). It’s the same issue that plagues Windows. The only way to avoid the issue of backwards compatibility is to make a break with the past, stop supporting old versions, and go forward with a new format.
Adobe has added new APIs that can leverage the GPU (like stage 3D), but in order to ensure backwards compatibility for old code, their entire pre-existing API does not leverage the GPU. That means that Flash developers still need to re-write their existing games in order to get hardware accelerated graphics.
Now startups are thriving by solving the problems that Adobe could not. Solutions like a rendering engine designed for the mobile web that does take advantage of the power of the GPU, for high performance, hardware accelerated graphics. There is an opportunity for startups to come in and provide the same API as Adobe’s ActionScript 3 libraries, so Flash developers left out in the cold by Adobe now have a place to call home. Developers can bring their knowledge and skills with Flash to mobile by partnering with these new crop of companies.
Where Adobe can still succeed
Adobe may have failed with the Flash Player Plugin, but their art-creation tools are still the best in the industry. Photoshop, Illustrator, and Flash Professional are the hands-down best options for creating 2D artwork (both vector and raster) and animation. The millions of artists and designers around the world who have learned the skills to use these tools need not learn any new tools to create content for the mobile web. Startups will fill the gaps left by Adobe and allow developers the ability to use these tools to create the user-interfaces, characters, animations, and other assets.
The end of the Flash-Player plugin is an inevitable consequence of history. Flash’s CPU-based architecture was on a head-on collision course with mobile devices. Now that Adobe has exited stage left, let’s see who swoops in.
Photo credit: Flickr/Adam Tuttle,