TheTin’s Dave responds to Apple’s Steve…

April 30th, 2010

Yesterday Steve Jobs released publicly his thoughts on Flash. Whilst an interesting read, it had some rather blatant flaws. In one continuous piece he came up with reasons/excuses why Flash was not on the iPhone and iPad. Of course the current, very public, dispute between Apple and Adobe, really isn’t about the Flash plug-in for browsers, but the ability to use Flash as a development environment for Apple packaged apps.

His first point is about open standards. Whilst Adobe do indeed create the player, and the base functionality, they give away free tools for development (the Flex SDK) on many platforms. They have opened up the SWF format, which is now open source allowing for great extensibility. There’s a shed load of open source APIs developed for Flash from connecting to practically any other open API, to full 3D and physics engines.

Obviously he doesn’t mention the Open Screen Project, which has every major phone manufacturer (bar Apple) on board, all working together to define standards for mobile development. Flash player 10.1 and Air 2 could easily become the de facto standard for smart app development. As a developer its surely a more promising proposition to develop for every mobile device, and desktops at the same time, with one code base. Worth pointing out that AIR apps don’t have to be built in Flash, and can be built using JavaScript.

I find it quite odd for Apple to bang on about open standards though when Apple are pushing for a future where rich interactive content is served on its iDevices through the form of custom apps. Custom apps built by developers who focus on iDevice development, and hence not other competing devices, as the code is native to Apple. Developers who have to code using the tools and hardware Apple dictate.

He then moves on to the “full web”. He tries to make out that Adobes biggest point is the use of Flash for video playback. Whilst its true this is a big point Adobe makes, it’s certainly not the only. There is a vast amount of interactive content that has no video at all, from games to betting applications through communication tools and desktop apps. He also tries to suggest Flash uses “old” video, by referring to a more “modern” format, H.264. The fact the Flash has been able to play H.264 for over 2 years seems to have escaped him here.

He seems to suggest it doesn’t matter they don’t have the full web because .. “There are more games and entertainment titles available for iPhone, iPod and iPad than for any other platform in the world”. Well that’s simply just not true. There are more games and entertainment websites that run on PCs/Macs, and many of these are due to Flash.

With regards to security, it’s a bit of a vague area. It’s very hard to make sense of all the data, as the player is so widely used. Flash is on practically every internet connected desktop in the world. Different groups will read what they will into figures, some not taking into account its distribution as a weighting factor. There’s no doubt there has been security issues in the past with the Flash player, but these have generally been dealt with rapidly. Let’s not forget browsers themselves are a security risk and are frequently updated to plug holes.

When it comes to causing crashes on Macs, part of the problem lies with Apple, and they way Safari integrates 3rd party plugins. Apple control that space, for example Quicktime is the only video player that is allowed to use hardware acceleration when embedded in the browser. His statements about the capabilities of Flash on mobile devices is simply wrong. Player 10.1 has been built with mobile in mind. It’s been shown running on many mobile devices perfectly well.

Battery life (here he does acknowledge Flash has “recently” added H.264 support, when it is in fact a couple of years). He mentions the hardware decoding, Player 10.1 does this, and would on Macs, but doesn’t as Apple don’t allow it.

He may be worried that badly coded Flash could drain a battery unnecessarily, and this is a legitimate concern. I would never try and deny there isn’t badly produced Flash content out there, that uses more resource than it should, but that’s the same for any platform or environment, and is the developers fault, not the platforms. I have seen plenty of iPhone apps passed which are both terribly buggy, and also cane the battery. Of course there’s also over 100 apps that Apple have passed, that have been built using pre-release versions of Flash CS5.

Fifth, Touch, love this one. Some Flash sites (certainly not all) may rely on rollover for menu expansion, but then so do many HTML ones, via JavaScript. It really isn’t difficult if required to go back to a project, and modify the code to work on both touch devices as well as mouse driven ones. Most sensible designers today would make a site work in both ways anyway. Rollover a menu to have it expand, click on it to have it expand, it’s an extra line of code ensuring it works in both ways, without affecting the other. Well before Apple released the first iPhone, people have been using Flash to create touch screen driven content.

“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.” That’s simply not true, and if it were, it would also be true for HTML sites.

Now his final point is where I actually agree with some of what he says. Of course if I was to develop an app in Flash and publish it for iPhone/iPad as well as Android and other devices then I would have to develop for the common feature set that they all support. That means the finished product may not be as good functionally as had it been developed solely for that platform. Also by not writing native code, optimised for that device, the application may not run as well as it could if coded with the target platforms strengths in mind.

However, as nearly all these devices have the same features (camera, GPS, tilt sensors and accelerometers) I fail to see functionally what the Apple device could do that most others couldn’t, and hence why the Apple customer would be getting apps with restricted features. And that’s to assume that all these apps require the use of all these features, and power. My most regularly used apps on my iPhone don’t use any advanced features. Spotify and the National Rail app could easily be built in Flash, after all they are simple API driven interfaces for data. Most games use simple touch to replace buttons, or a drag motion that is replacing a mouse, all be it sometimes in a more natural way. All completely possible from within Flash.

Of course if they allowed Flash apps to be published for iDevices, then developers could choose and use the appropriate tool for the job. They could use Flash for a cross platform delivery, but Xcode for something truly native and optimized for the iPhone/iPad. Remember this all blew up, not because they don’t have the Flash player on the iPhone/iPad integrated into Safari, but because they have essentially blocked Flash (along with any other 3rd party development environment) being used to create Apple apps.

“Conclusions.

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.”

Flash doesn’t fall short. It has been shown running on low power devices, and soon will be on everything from mobile phones, to your Sky box (along with nearly every home computer in the world as well). There are more Flash websites than there are iPhone apps. There are more content providers delivering rich media through Flash than iPhone apps. The latest version of Flash has native support for multi-touch gesture based interfaces (and through open source projects has done for some time). It may have come from the PC era, but it is always evolving, with new features and delivery methods.

As the Open Screen Project shows, they have tailored the latest player around the needs of the device manufacturers that the player will run on. Both in terms of functionality, and performance.

Worth noting (in case you hadn’t noticed) I am a Flash developer. But I also own an iPhone, and do any development outside of work on a MacBook Pro. I love both devices. The hardware is solid, reliable, and a pleasure to use. Had Apple not made the decision to stop Flash being used as a development environment on the iPhone/iPad I would have been developing apps for the iPhone now with the release of CS5. As it is I still will, but they will simply have to be classed as prototypes, waiting until I get an Android phone to release them on.

FITC Part the Second

March 16th, 2010

Jet lag. Who thought that would be a good idea? I’m pretty sure it wasn’t me, but apparently I must suffer nonetheless. You see, shortly after my trip to Amsterdam I was lucky enough to continue my cloud-hopping and jet over to Vermont, US of A to strap my feet to a plank and point myself roughly down the nearest black run. This is my overtly roundabout way of explaining the radio silence surrounding the second half of my trip to Amsterdam for those not sure where I’m going with this. For those interested in my holiday- it was awesome.

Excuses aside, lets take a mental trip back to the rainy city of Amsterdam (The BBC informs me that at the time of writing, the weather in Amsterdam is in fact Sunny, but this is a trip back in time, yeah- I can do that) for the Flash In The Can conference. For those in need of a clear picture of our destination check out this video recently posted by the folk at FITC.

The amount of programming talent on display at FITC, left me feeling somewhat overwhelmed if I am honest. There were incredibly talented people pulled in from all over the world to blow our little minds, and Joa Ebert took great pleasure in doing so. One of the things I was most disappointed by at FITC was the lack of source code that was shown in the lectures. There were exceptions obviously, most notable being Shane McCartney, Mike Chambers, and Jared Tarbell who all posted their source code online after their talks. In a way I can see why, if you’ve worked hard on something you don’t necessarily want to show people exactly how you did it. Joa, however was quite confident in showing off a lot of his source code. I’m pretty sure this was because he knew that no one knew what the hell he was showing anyway. The man has written his own programming language in Scala. He has tailored it specifically to the way he thinks, and doesn’t mind that it would make it very hard for anyone else to understand, a fact he freely admitted when asked by a member of the audience. Still, you have to hand it to him, the guy knows what he is talking about and has been responsible for fixing a number of bugs in the Flash Player, not that Adobe have taken them on board.

The Hogwarts of Flash

The Hogwarts of Flash

We were also treated to the technical prowess of Japanese ‘Creators’ (The term used in Japan for anyone who does either design, development or both) Keiichi Yoshikawa and Masakazu Ohtsuka, the latter being the man responsible for Wonderfl, the online Flash builder. Despite their obvious technical prowess however, the presentation itself was a bit of a disaster. An excerpt from my notes reads:

“Poor guys - first project takes ages to load then crashes”

followed by:

“…then the web-cam didn’t load”

Technical difficulties aside, it was clear that they were incredible programmers. It just goes to show that the demons of presentations can screw anyone over.

A particular highlight for me was the talk by Jared Tarbell, which is funny as it wasn’t particularly related to Flash. It was more about the strange things that occur all around us in the natural world and the man-made, and how the two interlink. It also looked at how maths dictates a lot of what happens and how it can lead to some fantastic infinite patterns. One thing in particular stood out in my mind at the end of the presentation, as I’m sure it did for may others, and that was the shortcut circle. It’s basically a circle of LEDs that once lit, toggle the state of the next ones in the sequence. This leads to the lit LED appearing to move around the circle. However, if you put a shortcut in the circle a surprising pattern emerges. Click the image below to give it a try for yourself - once the flash has loaded click on one of the LEDs to begin the sequence and then just watch.

Click to view the flash version

Click to view the flash version

As is the case with most of these things (including holidays to Vermont) they are over before you know it. Indeed, before I knew it I was at the FITC after party downing vast quantities of free booze and having my ankles inspected by a woman dressed as a latex Red-Riding Hood. I really wish I hadn’t worn my thick, thermal socks but dammit it was cold.

Blue, blue, electric blue, is the colour of my room...

Blue, blue, electric blue, is the colour of my room...

The evening ended in the… well, morning with me trekking from central Amsterdam back to roughly where I thought my hotel was. Taking blurry pictures as I went, I was very aware of the taxi that I had book to whisk me to the airport in the next few few hours, but I had more pressing issues at hand. Like all these canals and bridges look the same. They had seemed like such convinient navigation aids on the way over, and now they had turned on me.

My last photo of Amsterdam, location unknown.

My last photo of Amsterdam, location unknown.

Suddenly there was a hotel porter in my room, shouting. Apparently he was trying to inform me that my taxi had been waiting for fifteen minutes. Some hasty dressing and a bit more shouting later and I was in the taxi and off on my journey back to London and a full day of work. The Dutch have an expression you know - Wie boter op zijn hoofd heeft, moet uit de zon blijven, or “He who has butter on his head, should stay out of the sun” - think about it.

FITC Amsterdam

February 26th, 2010

The baby’s wail reached a crescendo as I tried for the fourteenth time to unlock my jammed bag. My jammed bag containing my passport, all my money, phone, everything. The woman in the queue behind me utters that most terrifying of womanly sounds, she tuts. I start to wonder the likelihood of Gatwick’s security section having a bolt-cutter on hand, or maybe if there is somewhere I can get one in duty-free?

My incredible dinner

My incredible dinner

A few short hours later and I was standing in the dark and the drizzle outside my hotel in the center of Amsterdam. I felt good, despite the moral berating the taxi driver had given me, convince as he was that I had only come to this part of the world to drink heavily, smoke a kilo fat joints and catch some venereal diseases from window dwelling ladies of ill-repute. Explaining to him that I was simply here for a Flash conference didn’t seem to alleviate the situation, he probably just added voyeur to my list of potential crimes.

The taxi drivers suspicions aside, I was in fact here for the Flash In The Can conference, which kicked off with an obligatory keynote from the ‘Platinum Sponsor’ Adobe. The hour was mostly spent promoting  Flash Player 10.1 and AIR 2.0, specifically their compatibility with a multitude of mobile devices. It was around this time that they showed a slide of all the companies that Adobe had been working with to pull this off, and there was a distinct Apple shaped hole in the list. There was a heavier note to the silence in the room as everyone was clearly thinking about this absence. In fact, the iPhone packager that has been added in Flash CS5 wasn’t even mentioned…

FITC was also the home of interpretive dance

The FITC was also the home of interpretive dance

What was mentioned, however was the improved text editing features that have been added. Something that has been long overdue in my book. Still, it looked incredibly useful as the functionality has pretty much been lifted straight out of inDesign. They also demonstrated the new code snippets feature, that allows users to just drop functionality (such as controlling movement with the keyboard keys) straight onto an object on the Flash stage. There was also a brief demonstration of the new-found links between Flash Professional and the newly named Flash (previously Flex) Builder. Something that, if done well, could cause a lot of problems for third party flash development tools such as FDT.

Despite the lack of Apple in the keynote (made all the more obvious buy the fact  that everyone at the conference had iPhones, everyone) there were a couple of talks building apps for the iPhone specifically. Even an incredibly useful one (if with a hint of bitterness) on optimization by Adobe Flash guru Mike Chambers.

A big surprise was, even though FITC is primarily a Flash conference, the amount of love thrown Unity’s way. For those that don’t know, Unity is a 3D game development tool that can run highly detailed 3D content directly in an Internet browser. Whoever I talked to, nobody had a bad word to say about it. Even Flash genius and founder of Papervision3D, Carlos Ulloa has abandoned his baby in favour of the complex models and smooth running of the Unity plugin. This may have something to do with Adobe embracing Away3D as their 3D engine of choice, but I think it’s more likely that Carlos just realised that Unity was more suited to what he wanted to do. To see what he has been up to check out his project HelloRacer.

Hello moto.

Hello moto.

Of particular interest to me was the talk by Ozzy Flash guy, Shane McCartney on Character Animation for Games. Topics covered were dynamic blending between timeline animations, and Artificial Intelligence for simple game character. One of Shane’s projects YooBot is an excellent example of the dynamic blending effects he was talking about, and below is one of my favourite examples that he showed of simple AI in a game. The white arrow is seeking the smaller, coloured arrows and they in turn find an obstacle and try and hide from the hunter.

Here I come, ready or not

Here I come, ready or not

Check back in a little while to hear the rest of my adventures in Amsterdam, and see some of the amazing examples of Digital prowess I saw at FITC including some awe-inspiring stuff from Jared Tarbell.