Archives / 2010
Apple are b@st&#ds and Adobe are $k€w%d
The iPhone and iPad were criticized for not allowing you to show Flash content. Adobe hit back by developing an export to iPhone feature that promised to turn Flash apps into iPhone apps. This was due to be released soon in Flash Creative Suite 5. I was really looking forward to it. As a developer I’ve found the learning curve for iPhone development very steep; the provided tools are lacking and not as good as many other development tools. Programming for the iPhone feels a bit like stepping back ten years in time. It's a much more pleasant experience using Microsoft's developer tools. I don't understand how Apple can be so good at user experience and at the same time so bad at creating a good experience for developers.
Apple released the beta of the new software development kit for iPhone OS4. With it came a new developer agreement. This is still under NDA, but John Gruber leaked details in this blog post.
The developer agreement contains a new clause and you must agree to this if you wish to get your app in the app store:
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
This effectively bans the use of any tools other than Apple’s own to create iPhone apps. This was the flag ship feature of Flash CS5 and without it there’s nothing in that I know of that makes it worth upgrading to. It will hit Adobe sales massively, not to mention the wasted man hours that have gone into building this feature.
I’m angry about this, but I’m more angry about how this will affect MonoTouch. MonoTouch is a fantastic product that takes the Microsoft .NET platform and c# (my language of choice) and ports it to the iPhone. You can develop iPhone apps using c# and share core bits of code with any other windows development you’re doing. I find c# much easier than Apple’s objective c and you can use some of Microsoft's development tools, which are much nicer.
Miguel de Icaza, a leading developer behind MonoTouch had this to say on Twitter:
Not a particularly revealing quote, which is one of the problems with NDAs. He’s put loads of work into making something fantastic for developers. It’s better than what apple have produced, and they have decided to squash his product and many others. As a developer I am furious with Apple for treating us this way.
This tweet from secretGeek sums up my feelings:
Steve Jobs: "apple does not negotiate with terrorists or developers"
As this is currently under NDA I’ve not read the original iPhone OS4 developer agreement, so this is just a rumour at this stage. I wish it wasn’t true, but I think we’ll find that it is. Many developers have already created apps using MonoTouch that are already in the app store. They’ll find they won’t be able to update them under the new terms and I dread to think how many man hours of development time have been wasted. Adobe have also worked very hard to make an exciting new tool that will make iPhone development easier. Rather than crush other development tools I wish Apple would just improve their own.
Update: Looks like it's official. Here is a response by an Adobe Employee on the Flash Blog.
Lots of little Facebooks

The web is a world of unlimited choice and unlimited possibilities. So why does everyone choose to use Facebook? Why is the web dominated by a few big companies?
I watched the first part of the BBC documentary The Virtual Revolution yesterday on iPlayer. They made the point that:
When there are no rules, there is nothing to stop those with huge resources dominating everyone else.
Google is obviously the biggest at this point in time, but Facebook is also massive. I don’t really mind Google. They’re big because they’re good and more importantly if I want to use another search engine I can do so very easily.
I feel locked into using Facebook and if I want to use something else I need to persuade all my friends to join me. For example I use Flickr to share my photos, but the majority of my friends don’t want to join Flickr and so they can’t see any of my non public photos.
At one point I had delusional ideas of making the next Facebook. In fact, I was hoping to make the next MySpace, but Facebook beat me to it. That was the capitalist me thinking, but as an individual I don’t really want another social super site that everyone I know uses. I want to publish whatever I want, wherever I want and I want it all to be linked together; perhaps with something clever, like hyper links. I also want a social element and I want privacy. I’d like my friends to be able to view my site and see content that other people can’t such as my personal phone number and photos of our last get together.
Facebook gives us this to some extent, but why does everyone need to be on Facebook. Why can’t we all be on our social network of choice or on our own personal site? Why can’t we do this and still keep up to date with what our friends are doing on their social site of choice?
The web was successful partly because it made a set of tools freely available that anyone could use. Anyone could make a webpage and publish whatever they want. Facebook has added a social layer, but has taken away the choice. If we want to get that choice back we have to build up free and open social tools and take the ones that already exist and make them easier to use.
These tools are already starting to appear such as OpenID and Open Social, but these sorts of tools need to become better and they need to become ubiquitous. We the geeks need to start making sure we use them and improve them. When we build a site with social elements we need to use make them open and think about integrating them with other sites of the user’s choice.
By putting choice back in the hands of the user perhaps the Internet will become a better place full of opportunities for all of us. It won’t matter that the big companies have more resources because collectively we have more.
Motion tracking with Flash and ActionScript 3
I'm working on a Jam Jar Collective project at the moment that involves projection and motion tracking. This is a little tester app that hooks up to your webcam and follows any movement it sees. Press 'Start webcam' to have a go. You need to have a webcam and your computer will ask your permission to use it.
This motion tracking app was made using Flash CS4 and ActionScript 3. You can download the source code if you fancy tinkering with it.
Snowbots
The great thaw is upon us now and these snowbots are no more. I've loved the snow, in particular, making stuff out of it. The snowbots are one of my favourite creations. There were a collaboration with the very fine snow artist Squirrel. He created the one on the left, but is also responsible for the eyebrows on mine. We made them while at January's Open Coffee and it was brilliant fun.
You can see more snowbot photos on Flickr.