How to Choose the Best Tool for Developing Your App
It's a mixture of technical requirements and politics! What clients ask for...
In deciding the technology to use for a given application you often have to listen to what the client asks for. Clients are often swayed by what they have read in the news or what they hear within the industry hype. These days they may have the impression that HTML5 is the answer to everything, and will ask for a site to be created using that. FROM recently created a unique application for the ANNIE the Musical - Education initiative, which is a clear example of HTML5 being used in a great way.
Often though HTML5 is fundamentally limited, and can't possibly do what is being asked. As an example, suppose you want to make a video mashup tool, that would require playing multiple video and audio streams, and even Flash files, at the same time. Right now you are limited to playing one audio file at a time on iPad, so HTML5 can't solve the problem.
When Saint Steve wrote his criticism of Flash (see here: http://www.apple.com/hotnews/thoughts-on-flash/), he was talking about the use of Flash in a mobile browser. There wasn't anything wrong in what he said, and even Adobe have agreed, and have dropped support for Flash Player in Android browsers. But, not all mobile experiences have to be in the browser, you have the option of making an 'app' version of the experience. What Steve wrote at the time didn't just rule out Flash for making mobile apps, it ruled out other valid technologies as well. Fortunately that all changed with a new post from Apple, on September 9th, 2010: http://www.apple.com/pr/library/2010/09/09Statement-by-Apple-on-App-Store-Review-Guidelines.html
It essentially comes down to either reducing the features of the experience to something that HTML5 can manage, or, use a plugin (Flash, Shockwave, Unity, etc.) version for desktop machines, and a standalone app version for mobile devices.
What to really use?
Client influence aside, when it comes to deciding how to develop an application, the choice about what tool to use to create the application is more complicated than you might think. In an ideal world you would use the tool that was best suited to the features of the application, but in reality, there are a lot of other considerations.
Some tools are already known for being an obvious choice. For example, Adobe Flash is routinely used for delivering video and interactive applications for the web. Adobe Director has been by far the most popular tool to use for museum kiosk work, and for CD-ROMs.
Just taking those two as examples, why is Flash often used for web work, and why Director for kiosk and CD-ROM work? Let’s start with Flash…
Old School
If you go back a few years you will remember that we all had 28k modems, and only the elite had 56k or ISDN. It’s worth explaining what those numbers mean: 28k is 28 kilobits per second. When you transmit data there are 8 bits for each byte, but with some overhead of parity bits and the like. For the sake of argument you could estimate that there are about 10 bits needed for each byte that is sent. So, 28,000 bits per second is roughly 2,800 characters worth of information. If you were to make a tiny game in Flash, say 56,000 bytes-worth, that would be 20 seconds of download time on a 28k modem. It’s hard to believe that we used to worry about these sorts of things!
With the graphics in Flash being mainly vector graphics, just made up from numbers, you could achieve a decent enough game that would not take the user too long to download. With this advantage, Flash quickly became popular as a web delivery platform. It did later gain the ability to play proprietary video files, and being already installed on a lot of machines it become the standard for things like YouTube video. But, you may remember that saying “YouTube-like video” wasn’t really a compliment!
Later still, Flash added the ability to play what is called “H.264” video. This is a different way of compressing video that gives you better quality for a given file size. Vimeo pioneered the use of this, but by now YouTube is standardized on H.264 too. A side benefit of H.264 is that it can be used by either Flash or by HTML5. But I digress...
Adobe Director was the leader in terms of web usage for the first few years of interact online media. As a matter of fact, we developed one of the launch titles for “shockwave.com”. We made a game called “South Park MechaSmash, based on one of the South Park episodes (where a mechanical Barbra Streisand battles other fantasy characters). This was so long ago that we don’t even have it in our Portfolio section. I think it was 91 years ago (that’s Internet years).
After Flash started taking some of the jobs that would have been done in Director, Director became better known for museum kiosk and CD-ROM work. We did a lot of that. CD-ROM wise, we created the I.D. Magazine interactive Media Awards CD-ROM for the years 1997, 1998, and 1999. From 2000 onwards they switched to showing the winners on a web site. We also made CD-ROMs and DVD-ROMs for the Art Director’s Guild around that time.
Director was popular for this kind of work for two main reasons: It’s incredibly fast at showing bitmap graphics (it could also show Flash files as vector graphics, but for museum and CD-ROM work you would often need to cater to slower machines). It can also take add-ons that enable it to work with external hardware. Very often in museum work you need to be able to read a barcode or credit card scanner, or control a laserdisc player. Director is still the best multimedia powerhouse.