July 12, 2010
Steve Jobs on Flash - what is he missing?
The open letter Steve Jobs posted on the Apple website is the most controversial statement I have ever read.
I don't know what issues Adobe and Apple currently have, but Jobs' statements have no basis, and I think he has at best been mislead.
Below I am going to state Jobs' words and give a detailed answer of what he misses.
1.
Steve Jobs:
Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc.
While Adobe’s Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system.
My answer:
What is Flash? And what is Visual Studio?
This is a software design and development environment which allows a software engineer to visually design GUI (graphic user interface) and incorporate functionality to the GUI later.
What does Visual Studio do is to generate the code for the Engineer, who would otherwise have to write that himself/herself?
Visual Studio is a proprietary property of Microsoft. One has to have a license to use it, and produce his/her own programs. So the consumer of Visual Studio is the Software Engineer. The result of the software engineer's work would be an executable project which can be distributed to the final consumers. WHO WILL NOT NEED VISUAL STUDIO?
This is the same as Adobe Flash. Flash is the richest GUI engineering tool to date, which allows to build all sorts of crazy designs someone can come up with. People are often in a confusion that Flash is an animation tool. While one can create cartoons in Flash, that would be the 5% of the entire capability Flash is able to deliver.
What a designer or a developer does in the authoring tool is actually converted to ActionScript code. So the language behind Flash is the fully object oriented programming language ActionScript.
Now with his statement Steve Jobs is blaming Adobe that Adobe is the only party who is allowed to develop the ActionScript language itself.
ActionScript is not an open tool, neither was it supposed to be. However, the solutions based upon ActionScript are open and available to the general software engineers.
So 1 point to Flash, 0 to Apple for stating misleading information.
2.
Steve Jobs:
Apple has many proprietary products too. Though the operating system for the iPhone, iPod and iPad is proprietary, we strongly believe that all standards pertaining to the web should be open. Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript – all open standards.
Apple’s mobile devices all ship with high performance, low power implementations of these open standards. HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash).
My answer:
The last time I tested HTML 5 performance (which was 1 month ago) was this: An animation of a cube (12 straight lines in a nutshell). Processor level 100% (2.0GHz intel core 2 duo), supported only on FF3.5 and up (and Safary which is only usable on MACs, so I don't generally mention it), consumed memory: 70MB (way too much).
I think before putting HTML 5 on the table, Steve Jobs has to make sure it is practically usable. The fastest mobile devices I have seen so far are equipped with 1GHz processors. If a laptop struggles with HTML 5 animation, the mobile devices will simply hault.
Jobs indirectly refers to thin client users who don't have or don't want to install third party plugins onto their systems, thus having only HTML available on the browser to view sites. So let me just remind what a thin client user is. That is a user who is limited in both hardware or software capabilities (NOT just software).
HTML 5 may theoretically have a lot of advantageous features, but right at the moment, HTML 5 is not a tool I will be keen on using to deliver software to my clients. Plus, Flash natively supports 3D animations now, how about that?
HTML 5 is another 5 years away from becoming a practical development tool.
So 1 point to Flash and 0 to Apple for discrediting Flash while not offering a ready substitute.
3.
Steve Jobs:
Apple even creates open standards for the web. For example, Apple began with a small open source project and created WebKit, a complete open-source HTML5 rendering engine that is the heart of the Safari web browser used in all our products. WebKit has been widely adopted.
Google uses it for Android’s browser, Palm uses it, Nokia uses it, and RIM (Blackberry) has announced they will use it too. Almost every smartphone web browser other than Microsoft’s uses WebKit. By making its WebKit technology open, Apple has set the standard for mobile web browsers.
My answer:
The standard should be IT wide not just Apple-wide. Jobs quite carefully uses the word "almost" - almost every smartphone - which is correct. Well Standards assume complete coverage as opposed to almost.
I think it is quite a bit early to say HTML 5 is a standard. The vast majority of web users have Microsoft's systems. Unless Jobs squeezes Microsoft out of the market, I don't see how it would be possible to set a standard leaving Microsoft out of it.
So 1 point to Flash and 0 to Apple for claiming something they don't yet have.
4.
Steve Jobs:
Adobe has repeatedly said that Apple mobile devices cannot access “the full web” because 75% of video on the web is in Flash. What they don’t say is that almost all this video is also available in a more modern format, H.264, and viewable on iPhones, iPods and iPads.
YouTube, with an estimated 40% of the web’s video, shines in an app bundled on all Apple mobile devices, with the iPad offering perhaps the best YouTube discovery and viewing experience ever.
Add to this video from Vimeo, Netflix, Facebook, ABC, CBS, CNN, MSNBC, Fox News, ESPN, NPR, Time, The New York Times, The Wall Street Journal, Sports Illustrated, People, National Geographic, and many, many others. iPhone, iPod and iPad users aren’t missing much video.
My answer:
H.264 is a broader understanding than just a single video format. While mp4 video extension is commonly appled to H.264 format, it can also be of other formats that comply with H.264 standard - DivX for example.
The last time I tested Apple's handheld devices for video formats was about 6 weeks ago. iPod family supports only Lo Complexity SD H.264 format, which is perhaps 20% of what an H.264 stream can contain. I think it is a bit early for Apple to claim their support of H.264 media.
Flash however has the library to FULLY SUPPORT H.264, and a lot more formats, which can be found in Flash Video Encoder's list.
Video is now treading over the HD era. How about supporting HD on Apple's handheld devices? Samsung was the pioneer of 720p full H.264 video support. If Apple wants to have a nice media support ask Samsung.
Again 1 point to Flash and 0 to Apple for assigning themselves qualities which they don't yet have.
5.
Steve Jobs:
Another Adobe claim is that Apple devices cannot play Flash games. This is true.
My answers:
1 point to Apple for being honest here.
6.
Steve Jobs:
Fortunately, there are over 50,000 games and entertainment titles on the App Store, and many of them are free. There are more games and entertainment titles available for iPhone, iPod and iPad than for any other platform in the world.
My answer:
Let's not forget that to build an iPhone app, one has to have Object C programming language insight, which I would say is not one of the easiest programming languages to learn.
Flash on the other hand has a great GUI integration so even a designer who does not have a programming experience can pull toghether a useful piece of software.
About the iPhone apps being vastly free - not in the ITunes store it isn't.
So 1 point to Flash for being a creator-friendly and creativity-boosting environment and 0 to Apple.
7.
Steve Jobs:
Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash. We have been working with Adobe to fix these problems, but they have persisted for several years now. We don’t want to reduce the reliability and security of our iPhones, iPods and iPads by adding Flash.
My answer:
Before I read this I didn't know Macs can crash. What's true that's true. Apple does have a good piece of equipment. So Macs crash while PCs don't? Perhaps Apple should look inside the house to see what the problem is. At least provide full support before blaming Flash for crashing Macs.
As with other programming languages it is true that ActionScript is a programming language. It is not the fault of the programming language that security holes exist, rather it is the level of the programmers' competency. Think of a hammer. One can gently build a statue or can wreck it with a hard hit. Will you blame the hammer for this?
True that different programming languages have different approaches to the security issues, but they deal with it appropriately.
So 1 point to Flash and 0 to Apple, for making false accusations.
8.
Steve Jobs:
In addition, Flash has not performed well on mobile devices. We have routinely asked Adobe to show us Flash performing well on a mobile device, any mobile device, for a few years now. We have never seen it.
Adobe publicly said that Flash would ship on a smartphone in early 2009, then the second half of 2009, then the first half of 2010, and now they say the second half of 2010. We think it will eventually ship, but we’re glad we didn’t hold our breath.
My answer:
Flash is performing quite well on Samsung Jet phones - year 2009. Mobile devices are genuinely slow, so don't expect them to run as dedicated servers.
Having a third party software running nicely on your moblie device as a producer is your responsibility NOT the other way around. Flash gives an executable environment, if one wants to integrate it into a moblie device he/she has to comply with Flash's requirements.
1 point to Adobe and 0 to Apple, for not knowing what they want.
9.
Steve Jobs:
To achieve long battery life when playing video, mobile devices must decode the video in hardware; decoding it in software uses too much power. Many of the chips used in modern mobile devices contain a decoder called H.264 – an industry standard that is used in every Blu-ray DVD player and has been adopted by Apple, Google (YouTube), Vimeo, Netflix and many other companies.
My answer:
IT industry upgrades at a fast pace. If H.264 upgrades, the owner will have to get another device. That's a pretty expensive change compared to simple software upgrade over the internet. While fast performance for video decoding is nice to have it is not a mandatory requirement. Again I have to bring Samsung's example. The Samsung phones can play HD content for 5 hours straight. Isn't that enough time to waste focusing on to just a tiny screen?
10.
Steve Jobs:
When websites re-encode their videos using H.264, they can offer them without using Flash at all. They play perfectly in browsers like Apple’s Safari and Google’s Chrome without any plugins whatsoever, and look great on iPhones, iPods and iPads.
My answer:
A video cannot play without a decoder be it software or hardware. Browsers Jobs is refering to use Quick Time to play videos. Quick Time is a software - a codec. Neither Safari nor Chrome can play H.264 without it. Moreover on PCs any browser can play H.264 if they have Quick Time or DivX codecs.
-1 point to Apple for false statements.
11.
Steve Jobs:
Flash was designed for PCs using mice, not for touch screens using fingers.
Answer to this:
Flash is not designed for specific systems. As long as the operating system supports it Flash will run regardless of the underlying hardware.
-1 pont to Apple for not knowing the topic they tread into.
12.
Steve Jobs:
Many Flash websites rely on “rollovers”, which pop up menus or other elements when the mouse arrow hovers over a specific spot. Apple’s revolutionary multi-touch interface doesn’t use a mouse, and there is no concept of a rollover. Most Flash websites will need to be rewritten to support touch-based devices. If developers need to rewrite their Flash websites, why not use modern technologies like HTML5, CSS and JavaScript?
My answer:
I don't see how HTML5 is going to solve the rollover issue on touch devices (not just multitouch). Touch technology lacks the rollover capability wich is very useful for example for tooltips. Jobs is effectively saying that it is Flash's fault that the rollover functionality isn't in the touch technology.
Please kindly provide an alternative to the mouse over event and all the web content will run as before. Again before a reasonable software engineer will use HTML5, they should be sure that HTML5 complies with the usability, performance, scalability, and portability requirements.
1 point to Flash to comply with all the software engineering requirements and 0 to Apple.
13.
Steve Jobs:
Even if iPhones, iPods and iPads ran Flash, it would not solve the problem that most Flash websites need to be rewritten to support touch-based devices.
My answer:
Flash websites do not need to be rewritten. It's not their responsibility to provide rollover substitute for touch devices. The rest of the human interaction interface is already there.
-1 Point to Steve jobs for putting their responsibility on others.
14.
Steve Jobs:
We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.
My answer:
While a third layer is capable of putting constraints over the underlying system, it is not a major problem if Adobe and Apple cooperated and combined all the best features that both have. I think cooperation would be of mutual benefit for both sides. So instead of guarding themselves against the ways Adobe can restrict them, Apple could think of supprting Adobe. Both are powerful and quality software and hardware companies. Imagine the user experience from their cooperation.
-1 point to Jobs for being so shortsighted.
15.
Steve Jobs:
This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.
My answer:
Cross platform support. This can be achieved by having libraries like every other programming language - Java, C#, ....
While the core of a platform can run on all devices, the libraries are not supposed to run everywhere, because not all devices can handle the commands that a library may make. Java has three platforms - for mobiles (J2ME), the standard (J2SE), and the enterprise (for servers) (J2EE) editions.
A developer is educated enough to target a device before choosing the edition. The same is true for Flash.
If Jobs wants to apply the same HTML5 for all sorts of devices, than he has a very narrow perspective of what software engineering is and what are its challenges.
I would give another penalty point to Jobs but he is way below 0 now.
16.
Steve Jobs:
Flash is a cross platform development tool. It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps.
My answer:
It has never been anyone's (including Adobe's and Apple's) goal to provide a platform for best applications. What is a best application by definition by the way? There exists a platform, which in case of Flash is quite superb, and the responsibility of building a quality product, or even the best product, is the responsibility and the competence of the software engineer.
The target customers will decide if that's the best application. I agree that Flash has had the goal of cross platform support as is Java, AND HTML5.
-1 point to Steve Jobs for saying how nice is HTML5 to be a cross platform tool, then blaming Flash for being a cross-platfrom tool, in other words - for contradicting himself.
17.
Steve Jobs:
Our motivation is simple – we want to provide the most advanced and innovative platform to our developers, and we want them to stand directly on the shoulders of this platform and create the best apps the world has ever seen. We want to continually enhance the platform so developers can create even more amazing, powerful, fun and useful applications. Everyone wins – we sell more devices because we have the best apps, developers reach a wider and wider audience and customer base, and users are continually delighted by the best and broadest selection of apps on any platform.
My answer:
I very much hope so, and expect so. While doing that please also solve the problem with TimeCapsule not connecting nicely with PCs and if possible make its lifespan a bit longer than 18 months.
18.
Steve Jobs:
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.
Answer to this:
Whatever you do, make sure not to throw mud on each other in vain. We love both Apple and Adobe. Don't make us choose among you.
July 7, 2010
More web design trends for 2010
In my past blog predicting web design trends for 2010 I covered the strong influence of print design techniques, keypress navigation, horizontal layouts, rich typography and aesthetically pleasing designs.
Web design today is developing rapidly, breaking the limits of conventional approaches and exploring the possibilites of upcoming technologies. Website designers are not only experimenting with new techniques and design approaches, but we are improving the quality of our designs in both technical and conceptual aspects.
Modern websites have flexibility, cross-browser compatibility and personalisation, but they are also becoming increasingly simple and intuitive. This is being done through the application of subtle usability enhancements, drawn either from the web itself or from offline interactive systems.
May 25, 2010
KAYWEB Waiting for World Cup kick-off Tip #4: Fark
So I am the fourth cab off the rank from the KAYWEB programming team - or Geek Brigade - providing those who need to be entertained while waiting for their next World Cup match to kick off with online options.
So far, Ian has recommended StumbleUpon, Ponso recommended some Games and Shows, while Rowell is a freak for World of Warcraft.
My recommendation is most similar to Ian's - the website I recommend you surf next month is Fark.com.
Fark.com is community website that hosts daily categorised news articles and other various materials, including videos and music.
Readers can submit links to interesting information and also comment on other submitted articles and information.
Fark.com has some of the strangest current sports stories, political happenings and things from the world of business.
Fark.com is the place to be if you want to find out what’s really happening in the world today and I reckon it will keep you awake between matches this World Cup.