
The desktop is obviously dead as a development platform. For a developer to admit that he's developing WinForms applications today is roughly equivalent to committing social suicide at the same level as pooping his own leg at a Trade Show. And as when all big markets implodes, the potential successors are like vultures at the Butcher's Shop, hoping to get their piece of the pie, and doing everything imaginable to increase their chances of a leg or two.
Some of the current contestants are;
- Silverlight
- Adobe Flex
- JavaFX
- Objective C
- ...and the list is probably way longer...
However as many people have started to notice [little bit late maybe, but hey, everyone's welcome here ;)] - is that even the previous untouched and virgin fruits have now turned into rotten cadavers.
About two years ago I wrote a blog about my seven reasons why Adobe Flex was bad, and where I recommended my readers to rather use PowerPoint for their RIA needs. Obviously this was meant to be irony, or more accurately in fact; sarcasm, and my intentions was more to slap "RIA developers" in their face to wake them up, than it was a serious attempt at trying to get people to use PowerPoint for their RIA applications. The original blog entry is now removed by my previous startup company's current owners, as are all my blogs there, but for those wanting to recap parts of the debate there's still some leftover of the war over at Ajaxian.com. I had more then 100 comments on that blog, and probably between 50 and 100 links into it, most trying to attack my point of view and defending their use of Adobe Flex for their RIA needs. I even had comments by several Adobe Flex Evangelizers at my blog. The remnants can still be found at WebArchive if you wish to recap the whole thing.
I think that if I was to write this blog again today, then probably way less people would have tried to defend Flex, or as I have consistently named both Flex and Silverlight now for more than 3 years now; ActiveX 2.0. The reason is beginning to become pretty obvious, also for most of the "RIA evangelizers" out there. ActiveX2.0 just basically sucks...!
Not only is ActiveX2.0 technologies blatantly evil, but they're also far inferior!
I think Joe Hewitt puts the "evil" arguments perfectly together in his blog about the Man in the Middle.
Though today I want to focus on the technology arguments, and not the evil arguments.
ActiveX 2.0
ActiveX 2.0 basically is Silverlight, Adobe Flex, JavaFX and all those "BLOB 'web 2.0' application platforms" which vendor's apparently feels so badly that the web needs an "upgrade" that they're willing to give on "for free" as long as you tie into their proprietary platform for all your application needs. Arguments suspiciously similar to the same arguments that created some of the richest men on the planet about 30-40 years ago, and basically made our entire industry struggle with proprietary code, lock-ins and ZERO use of standards - which again results in expensive licensing schemes and about as much interoperability and freedom of choice as there is air on the moon...
But what's *TECHNICALLY* wong with these platforms you may ask?
For one, none of them have any sorts of interoperability towards anything that their vendor doesn't explicitly choose to give it! This basically means NO Search Engine Visibility. It means no possibility to parse their contents intelligently like for instance Micro Formats and such. No way to learn by other's mistakes by clicking View Source, etc, etc, etc...
The arguments a couple of years ago used to be that "Google will start indexing .SWF files soon", well...? When is it going to happen? In my life time...?
I am virtually 100% certain about that Google will *NEVER* start "indexing .SWF files". If not for anything else than that Google are smart enough to see .SWF as dangerous themselves...
Another argument is that because of that they're propritary you'll always "miss one feature". If you "miss one feature" in Open Web technology then you can always implement it yourself! Everything on the W3C Platform - or the Open Web - is mostly Open Source, and guaranteed using Open Standards. In fact a lot of things are even built using Request For Comments, which means you can even contribute to make sure it gets your desired feature in the future as part of its standard...!
When Silverlight 1.0 came out, you couldn't have more than one Calendar in the same application visible at the same time, the Silverlight engine couldn't handle it ... !! :|
If anyone of the "1.2 gazillion" Ajax Libraries out there have bugs like that, then you can fix them yourself! You don't have to wait 9 months for "Some Huge Inc." corporation to get their buts moving. They're all mostly Open Source, and you can fiddle with them yourself if you have a crucial bug you must have fixed!
Open Web runs on your brother's toaster!
This is the definitely most important arguments, and this is only possible because of using Open Standards...!
As of today there is only one application platform which makes it possible to run the same applications on an Android, iPhone, Nokia, Windows machine, Linux machine, Mac OS X machine, etc, etc, etc...
...and that is Open Web or the W3C platform!
And if you get in trouble with the App Store application process, guess what, then you're stupid for trusting Apple! Apple has any right to deny any application or any developer to submit his applications through their App Store, and they will continue to excercise that right as long as Apple is around! But guess what, there are several alternatives to the App Store for being able to create apps that will run on the iPhone...!
The vendors of these other "platforms" will always claim otherwise, like for instance Adobe claims that Flash [and hence Flex] "runs on 98% of the web". Well, I've got three different machines less than 10 inches from my hands which it doesn't run on. A Linux Desktop, an Android Phone and an iPhone...! How's that for "98%" Adobe...?
Of course Silverlight is even more pathetic, though it too claims to "run on more than 90% of the web". Though of course none of my machines...
...today I even saw a comment at a forum where one user couldn't even run the latest Maps from Microsoft on *** IE8 ***...! Microsoft cannot even get their own stinky platform to run on their on browser...! Amazing when you think about it in fact ... !! :)
...notice though that just like brain cancer is worse than toe cancer, doesn't make toe cancer any more "acceptable" - just the same way that just because of that Adobe Flex is "better" than Silverlight, doesn't make Adobe Flex "good", it only makes them less sucky...
If I could choose I'd neither have Finger Cancer nor Adobe Flex...!
Of course there's virtually millions of other arguments too, but I think these are some of the more important ones. But the most important thing to remember is that there is an underlaying lesson to be learned here, just like Joe Hewitt learned his. And this lesson is that when you can choose between Open vs Closed, Honesty vs Marketing Bullshit, Free vs Proprietary, Standards vs de-commoditization of standards...
...you hopefully now know what to choose. It's not like as if it's fucking rocket science punk...!
Edit:
Apparently Joe Hewitt didn't learn his lesson after all, a couple of days after I wrote this he started embracing Apple again and though they were the "best thing ever" out there ...
.t