Category Archives: Rants

Et tu, Adobe? Flash Player homicide

I’m disgusted at Adobe today.

It has now well and truly become tradition to have the post-MAX November layoffs. This year reportedly 750 employees got dismissed across North America and Europe (worse than the previous record after MAX Milan 2008). I wish them all the very best.

If you start to see a recurring theme like that, anyone would realize something is going terribly terribly wrong. The hard economic reality hits all of us you say? Adobe backs it up by a press release stating “We expect to report record revenue within the fourth quarter […]”, eliminating hundreds of full-time jobs gets classified under the thinly veiled euphemism of “restructuring”.

By now Adobe has reorganized their internal house keeping so many times, Martha Stewart should come take master classes.

Things get worse. News starts to trickle out about Adobe abandoning Flash Player on mobile. Not an unusual rumor to see pop up in your twitter stream if you’ve been around our community for the last year or two. This time it was different and slowly – judging by the roles of people who got dismissed and reading between the lines – it became apparent there was more to the story.

Just 18 months ago at Google I/O 2010, Vic Gundotra bailed out Adobe and the idea of having Flash Player on mobile with the words “It turns out on the internet, people use Flash” and announced Flash Player support on Android. This after Steve Jobs gave it a near fatal blow with his infamous “Thoughts on Flash” letter.

We’re refocusing on developing applications through AIR across mobile devices while continuing to innovate on the web. From Flash Player 11 onwards we will not be getting updates on mobile devices apart from bug fixes and security updates.

This whole move seems to me like cutting off the leg of a perfectly healthy patient to save money on shoes, only to realize you have to buy them in pairs. The web doesn’t stop where mobile begins.

Supporting a runtime across a wide range of devices is difficult and expensive – if it wasn’t Flash would not nearly have been so successful. Arguably we came closer to this as a reality than ever before.

What bothers me most is the utter disregard Adobe has for its developer community in the way this is communicated. This is not the company I’ve grown to know and love, this is not how you treat your most loyal customers and passionate evangelists.

Just weeks ago thousands of people came to the annual MAX conference in Los Angeles to hear about Adobe’s plans and roadmap. Not a word was mentioned about abandoning development on Flash Player for mobile, is this how confident Adobe is about its decisions it can’t defend them in front of their user base?

I’m part of the community programs since the Macromedia days, certified instructor, author, participated in countless prerelease programs – can barely keep track of how many NDAs I’ve signed with Adobe over the years. I’ve promoted the technology through good and bad times and this is how they chose to break the news.

Bad communication doesn’t just piss off your developers – it cuts budgets, causes projects, jobs and livelihoods to be lost. And boy, has there been some bad communication. I’ve lost all confidence in Adobe as a company through the recklessness they’ve demonstrated in the last two days.


[note] views expressed are mine alone and may not reflect those of my employer.


Apple versus developers – this time it's personal

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


The black box that is the Flash Player

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.


India's new visa policy of terror

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

When Tech Journalism goes bad

“Is QuickTime X The Missing Link For Flash On The iPhone?”

The author suggests that QuickTime X supporting FLV playback is somehow an indication that the Flash Player will come to the iPhone. While I’m sure that is what many of us would like to see happen it is one of the most ridiculous statements I’ve heard in a long time. This is not unlike saying that because your home entertainment system supports JPEG images it’ll soon run Photoshop (or because its a technology blog its authors will research what they publish for that matter).

Flash Video (FLV) is an open container format that can contain other codecs, such as H.264 and AAC for example. Since QuickTime supports playing back H.264 video, it is already able to play back FLV encoded with that particular codec.

What I find most disturbing is that the original article gets edited multiple times without a clear indication of exactly what the author has changed.

Jonathan Harris at Flash on the Beach

I’ve been doubting whether or not I should blog about this, seeing controversy seemed to me what he was after, and this post would only be adding to that.

Jonathan Harris’ session at Flash on the Beach blew me away with some of the most inspirational art projects I’ve seen to date, I was genuinely moved by the work he presented. At the same time this talk left me incredibly frustrated after hearing his perception of the Flash community and a message that seemed devoid of any sense of reality.

He started off by saying he was going to present a different session than was previously announced and he had “something important he wanted to say to the Flash community for a long time now…”. That line came back at regular intervals during his talk, seemingly building up to his big message. It almost felt to me as if he was after a “Michael Moore addressing the Republican National Convention” moment.

Photo taken by schobiwan
Continue reading

Saving Twitter in Three Easy Steps

I don’t think I’m alone in seeing Twitter‘s service deteriorate to the point where euthanasia seems like the only humane option.

Without any obvious intimate knowledge of how the service is architected, these are my three easy steps to hunt and kill the fail whale.
Continue reading