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.

Happy New Year from Tinnovation!

January 18th, 2010

We kicked off last week with a mash-up of AR, Mobile apps & 3D mapping. A number of issues were encountered including multiple end platforms, moving targets, signal strength but we are certainly off and running again!

Good bit of research to do over the next fortnight but will be having another full session on February 4th. Watch this space for more details coming soon.

This week at Tinnovation we are going to be having a look at Kodu.

We are gong to start by having a go at building a level each in 2 hours! Full results to be uploaded next week…

IPhone-App-In-A-Night Tinnovation Session

July 2nd, 2009

Big thanks to everyone who came – hopefully everyone got something out of it and most importantly we hit our goal – well sort of… more on that in a bit anyway.

For those of you who didn’t make it, the lack of female presence may have pushed the session down a bit of a boys toys route but we will try and redress the balance next time.

I thought I would write up the output from the session just so everyone gets the overview.

Ok, so we started with everyone’s favourite app and what the pros and cons of them were… in no particular order:

Pros:
Being impressive to others
Occupying time on journeys
Getting location based information immediately (meeting friends, arranging taxis etc.)
Getting real-time information (travel, news, sports etc.)
Listening to any music, anywhere (radio or friends iTunes)
Viewing visual based content (slick interfaces etc.)
Saving time
Having friend influenced information
Being able to know what a music track is instantly (Shazam)
Make you laugh for 30 seconds
Embedding additional content into things (QR, AR codes etc.)

Cons:
Some of the usability and design is poor
Having to use a low quality camera
No video
Location or internet based services don’t work underground (or without signal)
Battery life
No Flash

We then kicked on with our fifty ideas brainstorm which was reduced down to a short list based on levels of difficulty, removing any we thought didn’t make the grade (such as countdown clock, bankers v politicians, happy scale, voodoo doll, blood loss! and of course ‘good places to take a leak when you’re caught short’ )

Level 1: The basic ideas
Top Trumps (cheers paul)
Snap
Spin the bottle - swine flu detector
Old Phone Dial (Bakelite)
Beat the breathalyser (walk the line test)

Level 2: The slightly less basic ideas
Snake charmer game
Outfit picker (shake it in the morning and it gives you an outfit to wear from your wardrobe)
Keepy-upy game (bat and ball on a string)
Love Child (take a picture of you and your mate and see what your offspring would look like)
Pushy game (Curling, Sjoelen, Shove ha’penny etc.)

Level 3: The slightly more complex ideas
IT (tag, lurgy etc.)
Holiday exchange rate checker with friend locator - how hot (temperature!) are your mates.
TomCat (Geo-tagging areas, iGraffiti etc.)
Home James (a one button get me home service)

Level 4: The complex ideas
Find your drinking partner/mates at festivals etc.
League builder (for amateur sports)
London Walks (or any kind of walk that you can down load with points of interest)
Panini Stickers (collecting a series of items of something)

The complex ideas were temporarily discounted for the purpose of this exercise.

We then whittled down the remainder to the 4 finalists on which everyone had to vote in order…
and the results were in reverse order…

4th Place: Home James
3rd Place: Love Child
2nd Place: TomCat
1st Place: Pushing Game (Curling, Sjoelen, Shove ha’penny etc.)

So Pushing Game was the winner – however one last sting in the tail is that the games (in some versions) do appear to have already been built!

We need to do something new, dynamic and challenging, so a quick re-group of the team over here has decided that we are going for the next on the list TomCat.

The plan is to regroup next Thursday and re-address exactly what Codename: TomCat is and does… Look forward to seeing you then…