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

Just days before the official Adobe CS5 launch, with the now widely reported iPhone packager feature, Apple comes out with a new clause in their iPhone Developer Program License Agreement (see above).

This effectively means that any apps with code not originally written in any of the Apple approved programming languages and are translated, cross-compiled would not be allowed for distribution in the iTunes app store. Obviously this not only affects Adobe but other tools out there such as Unity, OpenPlug ELIPS, MonoTouch, XMLVM etc. and potentially even puts into question the use of any form of code generation or WYSIWYG tools.

There are currently hundreds of applications using third party technologies in the iTunes app store and the question is what will happen with these after this new license agreement comes into affect.

In my view this is clearly a malicious move by Apple to wait until mere days before the CS5 launch to make this announcement and illustrates how communication between Apple and Adobe is sadly at an all time low.

I expect Adobe to come out with a strong statement about its position and a plan of action and hope developers across the board send a clear message to Apple that they are crossing a line here. This goes beyond any form of quality control but dictates how you are allowed to write the code for the application you are submitting to them. The level of control Apple wants to have over their application ecosystem is unprecedented and unreasonable by any measure.

To quote Joa Ebert on Twitter: "Apple forcing people to develop in Objective-C is as if Microsoft would tell you to use MS Paint for your design work".
[update] A first official statement by Adobe: "We are aware of the new SDK language and are looking into it. CS5 will still launch on April 12th."

CategoriesApple, Rants
37 CommentsPost a comment

Exciting times if you're working with Flash Platform technologies, the idea of deploying the same codebase to multiple screens is really taking shape and I for one couldn't be happier. AIR already allowed us to go cross platform with desktop apps (Windows, Mac and Linux), obviously the Flash Player allows the same across browsers and now with devices you can run your code on Palm webOS, Android devices and even package as apps for iPhone and the new iPad.

Christian Cantrell of the AIR team did an excellent demo on creating an application that automatically lays itself out based on the available screen real estate.

I'm pleasantly surprised about performance they've been able to achieve, that is one area I honestly had my doubts about but they seem to have pulled it off with flying colors (a testament to Flash Player 10.1 mobile optimization).

While we can argue all day long about Apple's decision not to have Flash Player support in their iPhone OS browser or how HTML5 is increasingly becoming an alternative to Flash -- this to me emphasizes the power of the Flash Platform tools and why it has a bright future ahead.

Thank you Adobe engineers for being lazy! ;)


Yesterday evening was the launch event of the ColdFusion User Group Belgium, a community initiative led by Steven Peeters and Cyril Hanquez, at the Adobe offices in Brussels. I did not know what to expect since ColdFusion users in Belgium were never very outspoken about their favorite technology and it almost seemed like interest was dying out. Nonetheless there was a really good turnout and lots of ideas shared for topics to cover in upcoming meetings.

There were interesting presentations by Marta Gal about "XML import/export with ColdFusion" and Claude Englebert on ColdFusion Builder followed by Q&A and some networking between the attendees.

The next meeting is scheduled for May 26th (right after Scotch on the Rocks) with speakers including Ben Nadel and Ray Camden as well as several members of the ColdFusion team. Not to be missed!


Yesterday, myself and two colleagues from Project Cocoon made it out to Chennai for Flex@Beach. I did not really know what to expect from the event but was happily surprised about the turnout and excitement around Flex and Flash Platform technology in general. There was a lot of focus on frameworks and architecture as well as some technology demo's and a bit of talk on methodologies. I think you couldn't do a much better session lineup than this for a developer crowd.

Parsley Introduction - Chandra Deepan Mate Introduction - Devaraj AS3Signals - Peter Elst FLAR demo application - Senthil Kumar AIR 2.0 Features and Demo - Ganesh Gandhi Flex 4 Spark Framework - Alaguvel Flash Catalyst Workflow - Michaël Chaize Scrum Agile Methodology - Sakthivel Robotlegs Introduction - Devaraj WebORB .NET & Flex Integration Away3D Introduction - Iyswarya

I particularly liked the short Away3D session by Iyswarya that closed the day and hope she can do a more in depth one next time. Since doing the Away3D workshop in Frankfurt last year I've been very interested in using it more for production work and think I will pick it up again very soon.

Compared to the other talks my AS3Signals session was quite lightweight but it seemed to be well received and its nice to see lots of people excited about the idea of using it in their projects.

As promised here are my slides for the presentation:

The closing remarks by Philippe Moreau from Adam's Studio India were also representative of a lot of the things I heard from people there. The interest in Flex and Flash Platform technology is picking up at a fast pace in Chennai and they would really like to see more involvement from Adobe in the area.

Ideas such as having an authorized training center and virtual teams for collaborating on projects got brought up and really resonated with people. I think we're seeing the beginnings of a grass roots movement here, the mood was almost revolutionary. In the coming weeks we at Project Cocoon will also evaluate and see how we can help out to make the ecosystem grow.

6 CommentsPost a comment

Recently James Ward, Technical Evangelist at Adobe, did a video showing performance of Flex running on the Google Nexus One in Flash Player 10.1.

Consider that myth about Flash Player performance not being up to scratch for use on a certain mobile device well and truly busted!

CategoriesFlash, Video

Earlier today we went to sign the agreement and left a deposit on the new Project Cocoon Multimedia apartments/office space in Colas Nagar, Pondicherry. We've now got ourselves a nice three story building that gives us enough space to have client meetings, organize training events and even have freelance developers over to work on projects as needed.

We'll be moving in next month but we're already open for business! If you have any projects going, we've got in house expertise for Flash Platform development (ActionScript, Flash, Flex, AIR), mobile application development for iPhone and other platforms as well as graphic and print design.

Additionally, starting from June we will start to provide offshore development services and can be your central point of contact for quality assurance on off site teams.
Feel free to get in touch!

4 CommentsPost a comment

In case you missed it -- AIR 2 beta 2 is now available on labs.adobe.com and among a bunch of other things there are now some really cool additional printing features that give you a lot more control than what we used to have. Be sure to check out the video interview Ryan Stewart did with Rick Rocheleau, one of the engineers on the core technologies group who made this possible.


CategoriesAIR, Video
2 CommentsPost a comment

I did a little experiment this morning, disabling plug-ins in my browser aka "the iPad experience". See where things start to break down? The Apple iPad web browsing experience, not quite what you expect. Yes, there are native apps for a number of these sites (social gaming on Facebook anyone?) I'm specifically talking about the web browsing which Steve yesterday called "the best web experience you’ve ever had".

The message here seems to be, if you have an interesting site that we don't support create an app for it.

31 CommentsPost a comment

Just hours after the product got announced, a lot has already been said and written about the Apple iPad and I don't particularly feel I have a lot to add except for that "one more thing". I've been working almost exclusively on Mac for about five years now and its a decision I've never regretted. One thing I've always admired is how polished the user experience is and the attention for details makes Apple products a real joy to work with.

Today, Steve Jobs proudly proclaimed "It's the best web experience you've ever had." -- while I would love to believe him on that, this is what we saw.

iPad - no Flash Player support

No Flash Player support. Surprising? Not really. Disappointing? Yes.

Think of Flash what you will, thats a different discussion, and I've shared my views in an earlier post. Flash content is an integral and important part of the web experience, there's a full decade of SWF material out on the Internet that is essentially out of bounds for your users.

On a mobile device with limited specs we could see some reasoning behind it, although just about every other mobile manufacturer didn't find it a problem to partner in the Open Screen Project and roll out Flash Player 10.1 support on their devices.

With the iPad we're talking about a different device, a processor that clearly is capable of high performance rendering and a user base with different expectations when they sit down in their sofa to browse the web, play games, watch video and cartoons,...

This is your chance to really go for the best web browsing experience possible. With an iPad specific SDK reportedly coming out, work with Adobe and allow them to roll out a Flash Player for your new device. It will allow your users to opt-in to what a lot of us believe is a better experience on this ground breaking device.

To those of you that agree that Flash support is essential for a device like the iPad, I urge you to speak up as many have already done.

46 CommentsPost a comment

When Internationalized Domain Names became available last year, I jumped on the bandwagon and registered a couple. One of these is שָׁלוֹם.com (Shalom as written in Hebrew). I've not done anything with it since and thought it would be a good way to raise money for Haiti disaster relief. I'm holding a blind auction, if you are interested in acquiring the domain name please drop me an email with your bid and contact details.

The auction closes on Thursday, January 28th at 8pm CET. I will contact the highest bidder and transfer the domain name ownership on receipt of payment.

Feel free to spread the word!


There's another new conference coming this year and thats always exciting, but Flash and the City promises to be different. Not only is this the first major Flash conference in NYC in quite a while, its going to be an amazing opportunity to network and meet interesting people. Why so? Well rather than just sit inside and geek out listening to the various sessions, there's something called the "City track" that gets you exploring the "Big Apple" with speakers and fellow attendees. I think this concept could be a real winner, some of the activities you can join in with are:

Even if you don't want to miss any of the speakers and stay in to see all the sessions, there's a 3 hour cruise complete with dinner (and open bar) on Saturday evening included in your ticket.

There's also the Statue of Liberty awards on Sunday evening with a number of categories including "Most significant Open Source Project of the year", "Most influential Flash person of the year" etc. Make sure you get your nominations in before March 31st.

May 13th, the day before the conference there are four different workshops you can attend -- Mobile and Devices, Beginning ActionScript, Flex 4 and AIR 2.0. That last one is definitely one you'll want to attend, AIR 2.0 is some truly mind-blowing technology and you'll learn all about it and get some hands on experience.

I'm excited to be taking the lead for that AIR 2.0 workshop and getting some fantastic speakers on board to help cover all the new features. Don't worry if you're new to Adobe AIR, we'll start out with a basic introduction first and get you going.

So what are you waiting for? Get your tickets now! The way this conference is shaping up, Flash and the City is going to be an iconic event.

CategoriesAIR, Events

If you haven't heard about Robert Penner's AS3 Signals yet, you're missing out. Until yesterday I had only briefly looked at the project but after John Lindquist's video tutorial I'm completely sold on the idea and look forward to using it in my projects. So what is AS3 Signals suppose to do for you?

Well for one it uses composition rather than inheritance so you don't need to have your class extend flash.events.EventDispatcher. You can dispatch a "signal" and pass any number of arguments with it, no more endless subclassing of flash.events.Event for creating your custom events.

There's also some nice features that you don't get with the traditional event handling in ActionScript 3.0, things like addOnce which makes sure a listener only gets triggered the first time, removeAll which removes all listeners on a Signal and numListeners that returns the number of listeners on a Signal instance.

Apart from the generic Signal class, you also have DeluxeSignal which allows you to define the target (it also has some experimental bubbling support using .parent) and the NativeSignal which lets you map native events like MouseEvent.CLICK to a Signal.

This AS3 Signals project makes for an incredibly easy way of working with events inside of ActionScript. Give it a try and let me know what you think!
Watch the video tutorial

8 CommentsPost a comment

This morning I read an interesting blog post by John Dowdell highlighting some things that bothered me in the last week or so (and talked about on twitter). We've been seeing some sensationalist headlines on tech blogs like "Open Source JavaScript to Replace Flash?" without seemingly any understanding of the (all be it incredibly cool) project in question.

Gordon is Javascript code that parses SWF files, loops through the frames and outputs SVG that can be played back in modern browsers without the need for the Flash Player plugin -- that means it works on browsers like the one on the iPhone. A fantastic proof of concept and it works really well considering the amount of heavy lifting it needs to do.

The problem here is, this is not a Javascript based Flash runtime as it gets advertised. Its parsing an SWF file and outputting SVG graphics. If you look at the list of supported SWF tags you'll notice these are all SWF version 1 and 2 -- meaning very basic functionality. Search for some tutorials on Flash 1 or 2 if you can still find them and see what that limits you to.

Not to diminish this great project, at this time its practically only useful for very simple banners or animations without any sound or user interaction. It is also - understandably so - heavy on the CPU. Now you get the kicker with uninformed comments like this:

"While the open source Gordon is available to all, it still doesn't solve one of Flash's biggest problems. These SWF files still hog the CPU. One demo, a simple vector graphic of a tiger, throws my desktop browser up to around 100% CPU usage"

To be very clear: it is *not* running the SWF file -- its parsing it, converting it using Javascript and outputting SVG. Running that same SWF file on a native Flash Player, even on a smartphone would be a fraction of that in terms of CPU usage.

Then you get people saying projects like this highlight how the Flash Player has become obsolete and its proprietary format is harming the "open web". Somebody hasn't been paying attention since 1998. The SWF format is open and freely available (as are many other formats and protocols used in the Flash Player), that is in fact what makes projects like Gordon possible without resorting to reverse engineering.

There is literally nothing stopping anyone from developing an open source Flash Player, Adobe's implementation isn't fully open source mostly due to some technologies it licenses and can't release (video codecs and text rendering). Saying the Flash Player is a black box or its future is in jeopardy because of its proprietary format is just factually wrong.

I do hope to see more people take up the challenge and start developing code that plays back SWF content, we can only benefit from that.

7 CommentsPost a comment

Getting StartED with CSS A few months ago I had the pleasure to get involved tech reviewing a book by David Powers on CSS -- one of the technologies I used to work with on a daily basis before switching almost exclusively to Flash Platform development. I have to honestly say this is most probably the best book I've ever read on CSS, it covers just about the entire spectrum of possible topics and focuses on pragmatic solutions to common problems. David is a very skilled author and uses clear examples to guide you through the process of building out a page and solves issues that come up as you go along.

Definitely recommend buying this book to anyone wanting to start out with CSS!

CategoriesCSS, Reviews

Today one of Adobe's community programs previously known as "Adobe Community Experts" got rebranded to "Adobe Community Professionals". This was long needed to avoid naming conflicts with other people using the ACE acronym such as the "Adobe Certified Experts". I'm also glad to report I've been renewed for another term in this program. If you count the years at Macromedia this is now my 8th term, first as a Team Macromedia volunteer, then Adobe Community Expert and now Adobe Community Professional.

Still every year its an anxious wait to see if you've made the cut -- thanks to Adobe and the community team in particular for their vote of confidence!


5 CommentsPost a comment

I think many will agree that 2010 is going to be the year of mobile and devices. With Android becoming a serious contender and Apple reportedly coming out with some innovative new hardware its no surprise to me that there's a lot of buzz around the Flash Player and whether or not Adobe will be able to deliver a good experience on mobile platforms. Enter Flash Player 10.1 - a few years in the making, the engineers are specifically targeting this release for mobile consumption and added critical features like hardware video decoding, GPU graphic acceleration and serious CPU and memory optimizations.

Its fundamentally flawed to compare this Flash Player release with previous versions which were primarily built for use on personal computers with very different constraints in terms of CPU and memory usage. We're finally seeing the first results of the Open Screen Project -- call it a marketing effort if you must -- but partners like Google, HTC, Intel, Nokia, Palm, Sony Ericsson and many others have no incentive to support and invest in a sub par technology.

Will it be perfect? Probably not, but we're getting a hell of a lot closer to a full web experience on the majority of mobile devices.

Enter Flash CS5 - with Apple not playing nice with supporting a Flash Player initiative (or any other plugins for that matter) on the iPhone browser, we'll now get the next best thing. Exporting native applications from Flash CS5 is going to be an easy way to port Flash content (including accelerometer, geolocation and other new APIs introduced for mobile) to iPhone ARM binaries for distribution on the iTunes store.

My prediction is this will be good as a way to port typical Flash content to the iPhone, not necessarily an IDE you would want to use for developing iPhone application where you need fine grained access to the underlying code. Objective-C will still be a good choice for your iPhone development, though Flash CS5 will now open up a very approachable development environment for the iPhone to Windows users.

Moving beyond just mobile phones, the Flash Platform is reaching out and the Flash Player is being used on set top boxes, digital television, on board computers on cars and boats, even user interfaces for refrigerators and microwaves.

What bothers me is how all sense of pragmatism seems to be lost on some bloggers. Wanting the Flash Player to die because of the unfounded believe that its not supportive of an "open web", not SEO friendly or claiming that its been made obsolete by HTML5 (which will incidently take at least half a decade to come even close to being supported on the percentage of web users that the Flash Player can target now). A full decade of Flash content out on the web and 90% of video is not going to go away.

I am not an Adobe employee (though I am involved in their community programs), call me biased but I'm incredibly excited about what is in store for Flash support on mobile and what it promises for user experience. But more importantly I'm not ready to dismiss new technology before getting a chance to play around with it, a view I wish more people would share.

14 CommentsPost a comment

Coders at Work I've been reading "Coders at Work" by Peter Seibel over the holidays and wanted to share my review. The book is basically a series of in-depth interviews with 15 interesting programmers including people like Brendan Eich (inventor of JavaScript), Ken Thompson (inventor of UNIX), Peter Norvig (Director of Research at Google).

Other programmers interviewed are: Frances Allen, Joe Armstrong, Joshua Bloch, Bernie Cosell, Douglas Crockford, L. Peter Deutsch, Brad Fitzpatrick, Dan Ingalls, Simon Peyton Jones, Donald Knuth, Guy Steele and Jamie Zawinski.
I first got interested in in this book after reading an interesting tweet from Ralph Hauwert quoting Joe Armstrong in the book:

“The problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.” — Joe Armstrong

Its really invaluable to get the perspective of this wide range of experienced developers and get an insight in the way they work, what inspires them to code and how they see the future of programming languages.

Definitely recommended reading and a good source of inspiration to any developer!

2 CommentsPost a comment

As many of you will know by now -- I have been in the process of setting up a business in India with colleagues for the last few months and am now back in Belgium for the holidays. While in Pondicherry in December there were rumors of a drastic change in Indian visa regulations and we went to the immigration office to find out about this. We returned with some peace of mind after speaking with the immigration officer that things weren't quite as bad as they were made out to be. Now preparing for my return to India it turns out the situation is much, much worse and is effectively crippling our ability to run our business in India.

Where I was originally going to apply for a 1 year business visa, I was advised to apply for 6 months and will now be (hopefully) issued with a 3 month visa. To say the new visa guidelines are unclear and inconsistent is an understatement. My French colleagues have a condition on their business visa that requires them to leave the country every 30 days which doesn't seem to be the case in Belgium, or at least is not published as one of the business visa conditions.

On leaving India your passport is stamped and you are not allowed to re-enter the country before two months without special approval from the Indian embassy in your home country. To get this special approval you will need to demonstrate that you left India for an emergency (e.g. death of a family member). There are several reports of people getting stopped on immigration for wanting to re-enter before two months of leaving the country while others have gone through without problem.

Calling the visa office helpdesk even they are unsure if this applies only when on the same multiple-entry visa, when on a new tourist visa or regardless even when you have a new different type of visa.

This is where the core of the problem lies -- as a tourist or business person you pay to apply for a particular visa (non-refundable of course) and have no idea whatsoever what you will get back or what the conditions of your visa will be.

All this is being done reportedly to help against terrorism in response to the case of David Headley in particular and his involvement in the Mumbai attacks.

Nobody will argue against strict measures on who you allow into the country and by all means screen people before issuing them a visa, ask more supporting documentation to be submitted on applying for a visa or require them to register on arrival at an immigration office. Simply giving out shorter term visas with additional conditions but little to no background check is not a solution to this problem.

I seriously doubt this new visa policy will have a deterring effect to terrorist activity and hope it will be reviewed very soon. At the very least my advice would be for the government to release an official statement on the exact new guidelines and make sure they are enforced the same everywhere.
Speak up against the new India visa policy