The video recording of my talk at Adobe PGDay EU 2017 is online! :D Thanks to the PhoneGap team for making this available! Make sure to also check out all the other videos from the conference in the playlist below:
I am sure, you’ve all heard about Apple’s recent release of the new Macbook AIR which comes without Flash preinstalled as well as their claims of longer battery lifetime without Adobe’s RIA platform. The computer manufacturer even announced a maximum of 5-7 hours runtime based on some new series of tests they made by browsing the web without the Flash plugin installed.
In fact though, these tests are not objective. Without Flash, no animated ads are being displayed while you surf the web which probably cause most CPU load (besides video playback).
I actually agree with Adobe’s CTO Kevin Lynch who said in an interview (see below) that replacing all Flash-ads with HTML5 canvas content would not increase battery life.
Animation => CPU-load
It’s in the nature of animations to cause higher CPU-load than static content, no matter if it is being provided by Flash or HTML5 canvas.
Actually, HTML5 canvas animations require more CPU power than Flash animations do, no matter on which browser (even on fast Webkit-based ones).
If you don’t believe, I recommend to read my recent thesis about RIA performance analysis.
Section 22.214.171.124 proofs that HTML5 canvas animation is currently inferior to Flash-based animation performance which implies that more CPU power is required to reach an equal fps rate which again leads to higher energy drain.
Apple’s smart. Really smart.
If people would only take off their Apple-glasses they would realize that the daily experience with Flash-based animations (which often tend to cause high CPU load) probably influences their attitude towards Flash.
Whenever we see Flash-based content like ads or video, our computer’s CPU requires more energy. That shortens battery lifetime, often forces the fan to run faster. This experience makes us think: Flash=bad, but it isn’t. It’s not McDonald’s fault that people are getting fatter and fatter. Burgers and fries simply are fat but people still want them.
Apple’s trick to run their battery-test without Flash returns false results. It’s no wonder that battery lifetime goes up without Flash since animations usually cause most CPU load while surfing the web (besides video playback).
If they’d done the test correctly, they should’ve converted all Flash-content to HTML5 and then re-run the test.
I am not an Adobe/Flash fanboy.
I own and love many Apple products.
Actually, this blog entry was written on a Macbook Pro and I’d probably never trade it for a Windows- or Linux-based notebook. I even recommend Macs whenever I can to friends but as much as I like Apple’s products in general, I really dislike their recent behavior towards Flash.
In a nutshell
- Animations (like Flash-ads) can cause a lot of CPU load while surfing the web. It’s in the nature of animations to do so. Replacing those ads with HTML5 canvas animations would make things only worse.
- HTML5-based video playback seems to require much less CPU power than Flash-video. Since most ads rely on animations rather than video playback, this argument does not really apply.
- Apple’s accusation of Flash being a battery-drainer is wrong. Animations drain power, not Flash. Thus, their test-series of battery lifetime on the new Macbook AIR is not objective.
Before I bought it, I checked on some infos you might want to know. For example, I was curious if I was allowed to keep the suite even if I am not a student any more and if I may use it for commercial purposes. The following list should give you the answers you need:
- The EDU versions are a lot cheaper. My Master Collection for example cost only € 662,-, while the non-EDU version costs € 3688,-.
- You must be a student or teacher in order to be able to purchase an EDU version of the Creative Suite. A verification document (with picture of you on it) is required.
- You’re allowed to use the EDU version for commercial purposes.
- When you’re not a teacher/student anymore, you won’t have to delete the software or purchase an upgrade. You may just keep using your EDU-version.
- You can upgrade your EDU package to a “normal”, higher non-EDU version later for the standard price. That means, an upgrade from CS5 EDU to CS6 non-EDU for the “normal” price is possible even if you’re not a student or teacher anymore.
These informations can be verified on Adobe’s Education Portal website together with some more additional infos.
This only applies for the Creative Suite purchased in Germany. For other countries, go to Adobe’s educational website and check for yourself.
Here we have an interesting Flash2HTML5 converter which seems to work up to (parts of) Flash8. Check out smokescreen.us for demos and more info (Thanks to Antonio for the link).
Seems like it works pretty decently regarding movies and animations but I wonder if “real” applications would work with it, like for example such which were built using the Flex framework.
Around two years ago, I wrote a little article about OpenLaszlo, a promising RIA framework, for richability.com in which I compared it to Adobe’s Flex platform.
Since a lot of time has passed and many things changed since then, I think it’s time for an updated sight on this technology.
Back in the days when I wrote that article, my main arguments were (summarized):
- Flex can only target the Flash Player while Laszlo offers both, a Flash compiler as well as a DHTML version.
- Flex is much more popular than OL (OpenLaszlo).
- Costs for OL development are lower since Adobe’s Flash Builder (formerly known as “Flex Builder”) is quite expensive while OL does not require a dedicated IDE.
While arguments 1 and 2 still apply, I need to correct my statements about #3:
Now, regarding argument #3 from above, it must be said that actually no money is required in order to develop Flex or OpenLaszlo applications, since both compilers can be invoked from command-line, similar to the “javac” command in Java. In order to create the source code, a random editor of choice can be used. In my arcticle on richability.com, I must admit that it looked like if OpenLaszlo development was completely free of charge while Flex always requires money. This was not correct. It is possible to create both, Flex and Laszlo applications, without paying a single cent.
Now, regarding coding comfort, it must be said that a special IDE for Flex/OL development would be nice. This is actually where things change: While Adobe offers the so called “Flash Builder”, a pretty expensive (but in the same time awesome) Eclipse-based tool for creating Flex applications (which is also available as a plugin-version), the OpenLaszlo founders do not offer a comparable IDE. There is a free 3rd-party alternative available though called IDE4Laszlo.
To sum it up: Flex development does not have to be more expensive than Laszlo, but it probably will be since serious application developed cannot be done without a good IDE these days.
- Static type-safety
I really wished, OpenLaszlo would support a better programming language, like for example Java or C#.
Update: Thanks to P T Withington for the note below:
Some days ago, a guy called Femery Arnaud from France sent me an email asking why the Flash-compiled versions of Flex are so much bigger than the ones from OpenLaszlo. According to a test made by him, a sample project consisting of a DataGrid, a tree component and an image required 2.5MB on Flex and only 250KB in OL.
To be honest, I didn’t really have a quick and smart answer since I never had a closer look into file-size related issues between both technologies. My guess was that this has something to do with the efficiency of the framework-compilers as well as the complexity and size of the UI component libraries but I couldn’t say for sure.
However, it seems like OpenLaszlo applications require much less space then their Flex-pendants if they are compiled into Flash. This fact should not be disregarded since there are still many users out there with small bandwidth internet connections.
The rise of the underdog
To be honest, I have similar thoughts going around my head and I don’t have a real answer to this, but there are some facts which we are already aware of today:
- HTML5 definitely has the capability to be a replacement for many use-cases which made Flash required on the web.
- HTML5 is still in its baby-shoes. Neither is its specification finished, nor are the implementations in today’s browsers perfect.
- There are still some users out there surfing the web with HTML5-incompatible browsers.
- Flash requires a plugin which implies the fact that some users, who do not have it installed, are being prevented to access Flash content.
- Many people do not like Flash due to instability reasons. I know, this is not a hard fact, but I hear this complaint pretty often.
- HTML5 has no support for binary sockets and web-cams.
Keeping these informations in mind, I wouldn’t say that Flash gets completely “killed” by HTML5 but I think it’s reasonable to say that it will probably reduce the demand of Flash (and their developers) in the future. It is just a matter of time.
Now, here comes the bridge to OpenLaszlo since its one huge advantage compared to Flex is its compiler feature of giving the developer the opportunity to choose between Flash and DHTML output. According to rumors, even Silverlight and SVG output is being planned.
So, what does this mean to the developers? – Actually quite simple. Learning OpenLaszlo gives one the ability to target different platforms with one code base. Your customer does not want Flash? Flip the DHTML switch and you’re done. This feature makes the requirement of learning multiple additional technologies like GWT or Silverlight redundant and could give Laszlo a big boost regarding popularity among RIA developers.