Apr 192010

Don't listen to the snake, it's a trap!Discussions about Mac vs. PC, or HTML5 vs. Flash, might be getting old, but Apple are currently shaping the future of the IT-world and that is becoming more than an issue about personal taste and choices.
My view is that Apple’s products as well as the technologies they license should be avoided by anyone remotely concerned with issues like net neutrality, open standards and freedom of information. In this article I will try to explain why I think that is the case.

There is no company that is as dedicated as Apple when it comes to DRM, patent abuse, and hardware lock-in. But at the same time both OSX and iPhone OS, as well as Safari, are based on open source technology. And they are very much involved in WHATWG, defining the HTML5 standard.

Is Jobs a schizophrenic, or is there a way working with open source and open standards that could serve to make the web more proprietary and do away with net neutrality?

I will try to explain how I think those conflicting sides of Apple actually makes sense, but first a little bit about my relation to Apple trough the years to try to give a bit of context:

Me and Apple

I have been doing music production since the 80′s, and mainly used C-Lab Notator on Atari. In the early 90′s C-Lab became EMagic. They rewrote Notator, called it Logic, and made Mac as well as Windows versions. ProTools was released around the same time, which meant the mass-introduction of computers in pro studios, and ProTools was Mac only.
When the first native DAW applications started to appear, Apple was clearly superior to Windows. Both Logic and Cubase where very unstable in Windows and the timing was awful. So for a few years I used Macs and worked for some time with a gear shop in London with configuring them for studios. Many little things did annoy me about the OS. Windows and TOS sure had their flaws, but even if some of them were very severe they were not annoying me as much.  For example the fact that windows had severe timing issues was obviously a really big issue, but it didn’t make me annoyed and instead I felt disappointed that they could not get it together. If someone behaves in a way which inconveniences me because they are disabled or sick I will not get annoyed with them, but if someone does it just from a bad attitude and lack of respect I do get annoyed. Apple would give you the feeling that you are expected to be dumb and/or clumsy enough not to be able to handle two mouse buttons or do things which makes no sense, like dragging a mounted unit to trash to eject it.

In the end of the 90′s Windows systems became a lot better at handing audio, and decent audio interfaces and DSP platforms started coming with Windows drivers. And the selection of audio apps and plugins was growing larger than for Macs. Basically, when it comes to an OS to run a DAW on, within a short period of time Windows went from almost unusable to superior.  I was using a Windows machine at home and a Mac in a studio, and I was really surprised when I noticed the performance differences beteen Mac and PC.  Despite the fact that Apple marketed their machines as being almost criminally fast supercomputers, a machine costing many times more than a decent PC would only handle a fraction of the plugins.

I figured Macs were severly overpriced and underperforming, and I completely abandoned Apple used Logic for Windows. Also my hardware of choice, Scope, primarily targeted the Windows market. By now I started developing a bit scepticism towards Mac zealots who constantly kept justifying the cost of a Mac with the supposedly superior performance, since it was pretty obvious that that was a myth.

2002 Apple decided to buy Emagic (developers of Logic) and in the press release they announced the discontinuation of the Windows version. Emagic had just been working hard on ensuring that they where able to deliver Mac and Windows versions at the same time with the same features, so they had excellent cross-platform support. But Apple did not care about the increasing number of Logic users on Windows (around 35% at the time), and instantly scrapped the work Emagic put in to ensuring that their excellent software was available on the platforms that was profitable to develop for. It was clearly not a move that was meant to take over a great software venture and try to monetize as much as possible from it. It was obvious that the idea was to try to force producers into buying their hardware. It was a move that was good for Apple Inc, but bad for producers.

I’m not that fond of being blackmailed and really felt I had to vote with my wallet and avoid Apple products from then on. Some people figured they did not like to loose the time and money invested into Logic and bought Macs, but I decided not to make the switch and discovered Ableton instead.

It was that behaviour from Apple that made it very clear to me that they had very little regard for users and view them simply as pawns in their struggle to gain market share. And it made it clear what a bad idea it is for consumers with a platform where you tie the software to the hardware.

Return of Jobs

Let’s wind back to 97, when Jobs returns to save Apple. Jobs brought the foundation to OSX over from Next, and it appears somewhat odd that Apple choose to base OSX on open source code. After all Apple was going to lock the OS down to their hardware using DRM. The most obvious reason for using open source, despite Apple being about as closed as possible as a company, would be saving costs. Give a little bit back of the work you put in, but be able to get a lot of great code for free.

Another factor in choosing open source is that even if you do not contribute much and mostly take, a lot of people will view your software as the more morally correct software to use. But the fact That Apple is using open source does not make them into valuable contributors. If OSX actually was open source I would give points to Apple for openness, but it’s not. I cannot see how taking an open source product and making it into a DRM-protected proprietary product, for which the main purpose is to lock people into proprietary hardware, would be morally better than making a proprietary product to start with.

Apple was not doing well at the time for a number of reasons, and especially one reason was extra troubling. The platform depended on applications to survive, but with a small market share it was hard to get developers. And the ones developing for the platform usually developed Windows versions as well, meaning very little incentive for people to pay the extra for a Mac. Also Apple preferred to keep any upcoming changes to the OS secret for as long as possible, which made it hard for 3rd party software developers to keep up with the many frequent and major changes.
So Apple started to acquire software like Shake and Logic to discontinue the Windows versions as well as launching their own applications. It’s the one part of their ecosystem they cannot control, so the idea is to bring as much as possible in-house.

Already when Jobs came back to Apple in 1997, the focus was on the Internet and the browser was considered very important to have control over. MS went trough great effort to push IE because the web would become the new platform that could make the OS irrelevant.

Trying to get a large enough market share with a browser to have any control over the web would be very difficult, But developing an open source rending engine had a much better chance of having a significant market share and one could still maintain a decent level of control over the technology. And you can exercise control over a work group setting standards, at least if you can keep the number of participants down and have one of your employees as an editor. You make people belive that you care about open software and standards, but only use open source when you can profit from it, and work with standards only to be able to ensure that you have control over the technology. And then you make customers belive that any measures you take to ensure your control is made for their own benefit. Lie to them about software that could limit your control over “your” platform, and tell them it’s of substandard quality. Make them believe that not giving them the option is good for them, since they are incapable of making the choice themselves.

Apple and the future of the web

Since W3C is so large and moved too slow, WHATWG was born 2004, founded by Apple, Mozilla and Opera, with Dave Hyatt from Apple as an editor. The canvas makes it’s way into the HTML5 standard, despite the fact that it’s Apples proprietary technology. And when it comes to video Apple are pushing for h.264, being one of the licensors of the technology. Safari does not support open codecs like Ogg Theora, and by not allowing access to the API for hardware accelleration they can ensure that anyone trying to use competing technologies will suffer from poor performance.
They try to use the popularity of the iPhone/iPad as well as having disinformation meetings with publishers to force websites, developers and users to adopt HTML5.

The all-seeing AppleImagine for a second that MS would have been the one starting WHATWG with Mozilla and Opera, as well as being the one licensing the <canvas> and the codec most commonly used to display <video>. And to ensure that their proprietary codec becomes widespread they would use the market share of IE as leverage by not supporting alternative open codecs. I think that would generate a lot more than a couple of blog posts on the matter. But Apple is doing it right now with HTML5 and h.264, and still it seems like a majority is cheering them on telling themself Apple is doing it to promote open standards.

People are in arms about “net neutrality” if an ISP wants to control their network in any way, but Apple gets away with controlling what programs people can use, what languages they can develop in, what parts of the human body one can view, what gestures you can implement, that you don’t ridicule public persons, that you don’t compete with their own applications and that you don’t use a frame around pictures with a ratio that any companies might object to. As they express it in their legal terms, anything that “in Apple’s reasonable judgement may be found objectionable”.

Apple is clearly trying to take as much control over the Internet as possible, and with the iPhone actually to a certain extant replacing the internet with their own tightly controlled store. They don’t work with standards and open source to cooperate with competitors and make hardware and software interoperable.

Why did Apple not donate the canvas technology instead of licensing it?
Why are they trying to strongarm people to desert Flash if it’s about openness? Is the vision of a web without proprietary technology (which Flash isn’t) really about enforcing a single standard with no competition allowed?
And are we really sure already that open standards are the best way to drive web technology forward and ensure that it serves humanity as best it can? Looking at W3C I’m not so sure about that. Both considering the extremly slow progress and the failure to ensure that the standards are enforced. Regardless, the alternatives should be explored as well.

I think looking at WHATWG and HTML5 as saviours of the open web is missing an important part of the picture. Just because a standard is defined by a work group does not mean it’s not steered by interests of domination, control and profit. And just because a markup is an open standard doesn’t mean that the technology used to render the content is.
And while I think open source and open standards results in great progress in some areas, to completely rid the web of any technology that is not open source or developed by a committee is a bad idea. Not only should there be some competing technologies, but also competing business models and ways to organize development. The vision of one standard to rule the web is in my eyes not very appealing, and what might appear as calls for freedom can sometimes turn out to be calls for tyranny.

Apple is evil

Steve calls Googles “don’t be evil” mantra bullshit and claims that Adobe is lazy.

Dr Jobs working on his next keynoteI’m sure most evil people would agree with that “don’t be evil” is a “bullshit” mantra. Not being evil would include openness, cooperation and respecting your customers, clearly not the kind of paths Steve would like to follow.

And Adobe are making a lot of effort cooperating with a lot of different hardware and software manufacturers and ensuring backwards compatibility for the Flash Player. Java and Silverlight also runs slower on the Mac, and I guess that according to Apple it is because Sun and MS are lazy as well?

Steve always wants to have the cake and eat it. He wants 3rd party developers with successful products to flock to his platform. And they should be loyal and swiftly comply with the many changes they make to the OS without regard for backwards compatibility, while he works on replacing their products with his own software.

Cooperating with competitors is a very common practice today, and has been so for quite some time. The IT industry requires some interoperability and standards and that you license technology rather than holding on to it to try to gain market share. Otherwise it hinders development and makes the technology difficult and expensive for the customers. So while you might increase market share, you’ll end up with a smaller market. MS understood this, and it’s a big reason for their success. They have been supporting Apple several times, not only by providing software but also by supporting Apple financially when Jobs returned in 97.
In the announcement at MacWorld Boston (worth watching if you have’t seen it), Jobs seems like he at least is trying to understand the principle of cooperating with competitors, but has a hard time trying to sell the idea to the crowd.
But now when Apple are the ones with the financial resources and some areas with large market share, it seems like cooperation is a thing of the past. To avoid that they are looking to control the complete chain, from actually manufacturing chips, to manufacturing the hardware, OS and software. And they have their own hardware and software stores. All we need now is Apple as an ISP where they decide if it’s your interests to access for example adobe.com or google.com.

You have to either be a mindless Jobs drone or completely incapable of using a device to think that it’s to your benefit when Steve is limiting what you can use your device for. For example he says about Java: “Java’s not worth building in. Nobody uses Java anymore. It’s this big heavyweight ball and chain.” I agree that Java is a stagnated technology which today has very few areas where it’s still a good choice, and usually I cringe a bit when I encounter a Java application. But would I rather have a device where I can install and run Java applications or one where I’m prohibited to do that?

There are a couple of Java apps that I think are the best at what they do, despite being buggy and having bad UI’s. For example I use RapidEvolution for analysing key and BPM of music because I find it to be the best software for the task. If I really want to run that app on my iPad, I will not be able to, because Steve thinks it’s not worth building in Java? Obviously I think what matters on my machine is if I think it’s worth running the program, not what Steve thinks is worth developing in right now.

So why is what Apple is doing morally objective, or evil?
If you for example are in the business of delivering a means to access information and media, that is what you are expected to do. If you start selecting or slanting information due to hidden agendas, then that is evil. A newspaper should try to be objective and an ISP should give you access to the full Internet. A paper that writes propaganda or advertisement disguised as factual articles is evil, just as an ISP that regulates access or speed to certain websites to increase their profit or hinder competitors.

You can have a successful business while respecting your customers needs and interests, and if you instead device plans for how to dupe and force customers into loyalty you are evil.
If you care about an open and free Internet, you should stand against Apple and HTML5 with the canvas and h.264.

What to do?

I have up until recently been pro HTML5. It’s about time HTML is equipped with a video tag and a drawing API, and I don’t see that as a threat to me as a flash developer at all.  I don’t code the kind of basic video players that can be achieved with HTML5 since there are already thousands of them available. I don’t make banners and basic animations.
Last couple of years I have mostly been working with audio apps, and I doubt that we’ll see sound synthesis and processing in HTML6, and it’s certainly not going to happen with HTML5.
I think it could be nice if Flash did not have to serve all the advertisement animations, which unfairly gives Flash as a technology a bad rep. I also think that it gives flash developers more credibility if HTML5 takes over more basic tasks. And even if HTML would become more capable than Flash, it’s no big deal to go from AS to JS, and any decent flash developer will already have a pretty decent knowledge about HTML and JS.

But in the light of Apples involvement with HTML5 I think it should not become a standard in it’s current form. WHATWG and W3C should pressure Apple to donate the canvas technology, and ensure that Safari for both OSX and iPhone supports open codecs like Ogg Theora.
Apple has to show that they are interested at all in both being open and supporting standards if they should play an important part in developing “open standards”.
If they don’t, WHATWG should be disbanded or reformed, and canvas should be removed from the HTML5 specification.

Voting with your wallet might not be enough. The majority does not understand what Apple are about and what kind of changes to information technology their practices can mean. If you understand and care you have to let them know.
A tactic that has worked for Apple is to have so called “evange-lists” where fanboys get sent links to discussions where they should try to drown any criticism of Apple. That certainly worked quite well for them and while it sometimes can seem like it’s impossible to keep up with the Cupertino spam bots, but people has to be made aware of the situation, otherwise they will just buy their spam.

Join the I’m with Adobe facebook group, and try to correct the misinformation that is being spread when the topic is brought up.

Do you want standards, interoperability and low prices?
Or do you want high prices with hardware and software that is proprietary and uses DRM to control what you can install or view?

Apr 122010

Reading discussions about the whole iPhone 4.0 SDK license and reading countless discussions on HTML5/Silverlight/AJAX/DHTML vs. Flash, it’s very common to find people wishing the death of Flash. And this is something that seems to be a pattern with all technology. For example all the talk about iPhone killers and now iPad killers. It puzzles me a bit why so many people seem to assume that technology is inherently like some kind of Hitler or cancer, seeking to devour all competition until there is nothing left to devour.

Evidently that is not the case. We are constantly getting more and more platforms, languages, frameworks and development tools. Sometimes a technology dies, but big prominent technologies tends to stay on.
The demise of Flash has been announced constantly for over a decade now. First it was DHTML, then SVG, then AJAX, then Silverlight and now HTML5.
But today Flash powers the vast majority of all multimedia and animation on the web and is also one of the most popular platforms for RIA development. It’s far from dead and when Jobs compares it to the floppy drive he is obviously delusional.

The future is diversity and I’m pretty sure we will have Flash, HTML5 and maybe even Silverlight in widespread use for many years to come as well as more specialized technologies like Unity3D. It’s all technologies with their own merits, and none of them needs to die. The market for technology that can deliver interactive multimedia is big enough for more than one player. Most people do agree that a little competition is a good thing, but why would they then want HTML5 to become the only way to deliver interactive multimedia?

I think it’s quite telling that very rarely you hear people in the Flash community wishing that HTML5 has no place on the web the same way you constantly hear people calling for the death of Flash.
I guess the reason for that is that we do not really fear the competition. I’m very happy with the Flash platform and think that it has a very bright future. If I’m wrong I don’t mind at all to learn new technologies, and as a Flash developer I already need to know JS and HTML anyway, so if it turns out to be more suitable for some projects I’ll be happy to use HTML5 instead.

Many developers working with JS and HTML defend their position that Flash must die with the fact that it’s a proprietary technology, and hence it has no place on the web. While I can understand that as a rationalization for wishing the death of a technology, it’s simply not true.
The SDK, compiler, Flex framework as well as the AVM is open source, and the swf and RTMP formats are open so you can write your own Flash Player or media server.
The fact that the Flash Player as distributed by Adobe isn’t open source is understandable since it uses proprietary technology for different codecs, which Adobe does not own. Hence it’s not their technology to open. Moving the proprietary code into the browser, for example to support h.264 video, does not make the web less proprietary.

I think the real issue is many times is not actually their concern with proprietary technology, but that Flash feels closed to them. Embedding an swf is like opening a hole to a different universe, and that is scary.
And while you don’t have to use Flash Professional and/or Flash Builder to generate your swf, that is what most people will do. While both IMO are fantastic products they are bulky, slow, costly and proprietary and I can understand if someone used to working with HTML and JS can feel a bit uncomfortable with using them.

And it can often be like a different universe developing for Flash. While the technologies involved overlap, someone good at developing websites is not necessarily good at developing advanced applications and games. So not only is the swf and the having to learn an extra development environment scary, but for many developers it’s a relief not having to deal with programming applications that for example involve physics, DSP, image processing or working with binary formats.

I can understand that  Flash does not appeal to everyone, and it would be a shame if developers who feel that way would have no alternative, But they have alternatives, and to me it seems a bit childish to when they wish the death of a technology, especially when trying to justify it with some bogus claims about it being proprietary or resulting in bad performance compared to competing solutions.

May 142008

Recently we have seen a lot of progress with the capabilities of Javascript to leverage the capabilities of HTML to do things that was previously only possible using Flash.
Thanks to for example mootools and jQuery you can now create sites that looks like they are made with Flash with nice tweening animations, and of course AJAX have already for a few years been an option to update the content without reloading the page.
Does this mean that the future of Flash looks bleak?
Somerandomdude seems to think so, and points to some of examples if the impeding demise of Flash. John Resig’s Processing.js and experiments with HTML 5’s video element.


First of all, does any of these developments offer improvements over what Flash have been capable of for years?
Maybe if a site that is heavy on information but you might want to jazz it up a bit with some nice transitions.
When it comes to presenting text HTML has some advantages, mainly due to the browser integration.
Using the browsers built in search or select and right click to google a phrase for example.
Usually those advantages are greater than the possibility to embed font outlines with Flash.
But most implementations I have seen of for example slideshows and menus does not offer any advantages what I can see. Implementing them in Javascript still performs worse, gives you less possibilities and makes it less accessible.


When it comes to video on the surface I cannot see any reason why a video playback native to the browser would be preferable.
Of course one could argue that since you have a limited choice of compression formats with Flash it would open up to more options there. But to deploy content you will still have to make sure you use a codec that is included with a majority of browsers. It remains to be seen if it will mean much of an improvement in practice, and personally I do think that h264 is quite satisfactory.
All the above is true for the HTML5 audio element as well.


Of course the technical merits is only a part of the parameters that decide the acceptance of a technology. There are a lot of developers that really dislike Flash for various reasons and they are just really happy that they now can do the same things as has been possible for a long time with Flash.
The fact that it can be more tedious to implement and performs worse is not as important as various factors like avoiding proprietary formats or using a environment they are already accustomed to.


But even if Flash is not necessary to do a lot of things that previously was it’s exclusive domain to me it seems like it’s constantly gaining acceptance with developers.
Flash is still quite far ahead of the capabilities of DHTML/AJAX and how long will it take before HTML5 is widespread enough to make it a viable option?
Flash is still developing rapidly and the new versions of the plug-in is spreading extremely fast, so by the time HTML5 capable browsers is widespread enough probably 95% will have the Flash 15 plug-in installed.


I think the main issue here is the different ways in which Flash and HTML is being developed.
A lot of the hate against Flash is based on the fact that swf is a proprietary format, and even if that is not entirely true any more it’s certainly not based on an open standard.
And that what makes it possible for it to stay on the cutting edge, and that’s why the capabilities of DHTML, XHTML, Javascript, SVG etc. always is one step behind.
Even if I prefer open standards in theory it just doesn’t seem to work as well in practice.
Rather than being impressed how HTML and Javascript is catching up with the capabilities of Flash I’m continuously surprised at how slowly it’s happening.


I have been fanatic about Flash since I first discovered it in 1999, and I really have trouble being completely neutral even I try. But IMO Flash is not going anywhere. With AS3, AVM2 and FLEX a lot of new possibilities has opened up that DHTML will not be capable of any time soon, like for example decent 3d engines, socket connections and sound synthesis.
Overall I do see a trend though that the web is getting less and less fixated with certain technologies.
On the server side we have seen Python and Ruby gaining acceptance. MS will be trying with Silverlight to present an alternative to Flash and HTML will be able to compete as well.
But it’s not a war where anyone has to die…there is certainly room for more than either ASP, perl or PHP on the server and HTML, Shockwave or Flash on the client, which pretty much used to be the case.

Dec 192006

Well, the word in itself maybe not, I just made that up myself.
But as you probably guess I’m talking about using Flash and AJAX together.

After my last post that also involved Flash and AJAX, “Right tool for the job…or right job for the tool?”, I came across the following blog entry: Ajax and Flash Together
Some good examples of AJAX and Flash integration and I couldn’t help to ask myself a couple of questions.

In what way does it affect me as a user if the buttons controlling flash is in the HTML page or part of the swf?

Looking at Yahoo finance and Google finance I really have difficult to see that the user would have advantages or disadvantages from an AJAX mix compared to only Flash.
The only case would be if there is browser incompatibilities with JS or that they lack the flash plug-in.
Obviously buttons is no good without graph and vice versa, so not having to rely on two separate technologies being available as expected is better. But to me it could just as well be one big swf…I would not notice any difference apart from when I right click.

On the google page I can agree that it’s neat how it highlights the headlines to the left when you click the corresponding box in the graph. Using HTML for those headlines makes it possible to completely retain their visual identity, even if the result in Flash could be made very similar looking.

In what way would it affect me as a developer having to implement one over the other solution?

I cannot see that it would have any advantages when developing to move buttons to control the graph outside of the swf.
Anyone who can make the graphing app can in no time add the buttons instead of making a handler to respond to JS calls from the HTML buttons.

What have I missed?
In what way does combining Flash and AJAX help the user in those examples?
In what way does it help developers?

Dec 192006

Usually when people discuss Flash, AJAX and HTML there will be a lot of people saying “just use the right tools for the job, both have their strengths.”
Seems obvious enough and makes sense.
But do we really have to learn to use all tools, and could one not turn it around to say that we should find jobs that fit our tools?

I many times been thinking I should have a look at AJAX because I might get a project where it would be a good solution.
The main reason I haven’t bothered is that I have problem finding uses for it where Flash is in any way inferior. The only reason to go with AJAX that I can see is if you have a HTML page where AJAX could feel more visually integrated, but on technical merits alone I find it hard to see where AJAX would be a better tool.

The point I’m trying to make is not about if Flash is better than AJAX.
Regardless of the merits of using AJAX vs. Flash I really dislike having to deal with browser issues and a far from ideal development environment

Sure, if there was no demand for Flash and I had to make sure to put food on the table, then an AJAX job might seem tempting.
But as we all know Flash is higher in demand than ever, so why would I start using a technology that I don’t enjoy working with that basically fills only fills some of functions as the one I already master?
To make sure that I can give the best solution to a customer who have a project that is one of the few where I think AJAX would be a better choice?
No thanks, if that situation would arise I’ll be happy to send them on to someone who likes to deal with browser incompatibilities.

As long as I have the possibility I rather choose jobs where my skills is the right solution. Sure I like to keep up with new technologies, but only as long as they seem nice to work with and they bring new advantages. But to choose what tools to use according to the jobs on offer doesn’t appeal to me.

So, what’s your approach, choosing the skills that you find nice and useful to find matching jobs or adapting your skill set to the jobs on offer?

Oct 142005

Here we go again.
What is the future dominant platform of RIA development?
The latest discussion that triggered me to reflect on the issue again is over at ajaxinfo.com

Actually I find discussions like this quite interesting and don’t mind dissecting the pros and cons. I guess I just like a good argument :)
But I’m also aware of that it is impossible to judge what is the most suitable technology to use without knowing what the goals of the project is, and most of all, who’s going to develop it.

The article by Alexei White on ajaxinfo does seem to reach a similar conclusion in a way. The major drawback with Flash according to the author is that it’s hard to find developers skilled with the technology.
I do find the evaluation questionable though.
Sure there is more developers specializing in HTML and JS than ones specializing in actionscript.
But that doesn’t mean that the HTML/JS developers usually can put together a complex RIA using their existing knowledge. To get it all to work together in a way that give reliable results seems to be a skill in it’s own right.
That the developers have the “basic skill set necessary for interacting with components” for working with AJAX is not of much value if they don’t have the full skill set needed to get the job done.
They could hopefully acquire it, but they could also learn a new language.
I would not think it’s actually hard for someone already skilled in JS, Java and PHP to learn actionscript, and for sure Flex or Laszlo with their XML based markup can be worth the effort to learn if you want to be working with RIA development.

Sure finding a technology that matches the skill set available is beneficial, but I would say that there has to be a balance.
So you also have to consider finding developers that is capable of handling the technologies best suited for realising the goals.
What is the most efficient balance has to be carefully evaluated.
With large companies you of course have an inertia due to having invested in certain technologies and they can’t sack their whole IT team every time a new and better technology come along, so hence there will be a large dose of conservatism involved.
And that’s I think a big reason why AJAX is getting all the hype it has at the moment. To me it does seem like an attempt to squeeze the last drops out of a heavily invested skill set, financially by companies and intellectually by developers.

There is often much talk about all the variables one have to consider in the choice of technology. And sure many of them can be valid in very specific circumstances, but usually there is few variables that really matters and would outweigh any other benefits or disadvantages. And evaluating them properly can be hard enough without adding more to the equation.

From the perspective of the customer it’s mainly two variables:

  • How much will it cost to develop?
  • How successful will it be at achieving it’s goals?
  • From the developers perspective it’s more of a conflict:

  • How efficient are the technologies compared to each other in achieving the objectives of the project?
  • How comfortable do i feel using one technology over the other?
  • How long can I go on what I feel comfortable with and still stay in business?
  • The user should of course not have to reflect on the technology and one has to presume all that matters is the result they are presented with and that they can get to it.

    The arguments often brought in to the discussion about Flash and FLEX being proprietary tends to be very superficial to me.
    Especially considering that the swf format is open.
    Alexei White mentions in his summary that Flash “suffer from the Vendor lock-in problem“.
    I actually have problems understanding in what way it might been a problem for any project. Sure i prefer to support an open standard and open-source software based on my sentiments.
    But if we look at the standards based formats like HTML, CSS and SVG there is a lot of real problems that will have very immediate effects on any project involving such technologies.
    The “vendor lock-in problem” certainly pales in comparison to the problem of getting web standards to be standardised.

    Aug 222005

    I love debating Flash and got a bit inspired to make some comments after reading the recent post at Just Another Rant and discussion at slashdot about the merits of Flash vs. AJAX.

    It always seems to me that there is a lot of emotion involved whenever this subject comes up, and very little rationale.
    There is for sure a very strong resistance towards Flash among developers in general, but what are the basis for their resent, or as they many times label it them self, hate?

    Most of the top arguments is purely based on presumption, or is in fact criticism of the way people use Flash rather than issues with the technology itself.
    Of course that’s quite inappropriate when discussing the merits of a technology. You don’t see people blaming HTML for the massive amounts of appalling HTML pages out there, so why should Flash be blamed for bad use of the technology?

    Skimming through the comments in the discussion on slashdot here is some issues that was brought up:

    AJAX doesn’t require the user to download a plug-in as long as they are using a modern browser.
    That is of course true. But it does require javascript to be enabled, and from the statistics I been seing the amount of people with javascript disabled is probably higher than the amount of users without Flash installed.
    For the user I doubt it matters much what reason there is that they cannot access your site.
    If they really eager to enter the site and will forgive that it’s not instantly accessible it’s a matter of how easily they can get their browser set up to be able to enter.
    The Flash player installation seems to me a lot more straightforward for the average user compared to having to follow instructions on how to enable javascript on you browser.

    AJAX is not beholden to a single company who doesn’t release their player in an open source format.
    Again this is true, but a bit pointless argument.
    The swf file format is open source. It’s possible to develop swf files using only open source software, and isn’t that what really matters?
    To have a plethora of players from different developers to choose from would not be good thing from what I can see.
    That’s the beauty of Flash really, that because there is only one player it will be consistent, no matter what OS or browser people use.
    So IMO it’s the best of both worlds…OS tools for development but only one and therefore consistent way to present the result with.

    Flash movies must always run at a fixed size. The fluid nature of HTML is a huge bonus when it comes to creating RIAs–something that takes a long time to compensate for when developing Flash RIAs.
    I find it very easy to create liquid layouts in Flash and you have a level of control you cannot get with HTML/CSS, so I would say the opposite but I guess it depends on what tools you are more used to.
    And you don’t have to deal with browser inconsistencies which speed up development.

    If a page is made entirely in flash then a search engine can’t glean text from it when it comes to crawl it if all your content is compiled into a swf.
    Here of course we are talking about a real issue with flash.
    Or IMO rather an issue with the search engines, because I would think it’s their job to make sure that they can search the web, not the websites responsibility to make sure it constrains itself to the current limitations of search engines.
    I understand though that it’s technically challenging, and that several search engines is working on capability to index swf’s.
    But it’s really not that hard to make contents accessible to search engines, since most serious flash sites uses XML or databases for their content.
    A simple text version will do to give both search engines and for example people with screen readers access to the content.
    And solutions like ripple makes it even less effort.

    Text is unselectable (unless it has been set to ‘dynamic’ which it rarely is) so if people want to copy and paste something from your site then tough luck to them.
    This argument comes up quite often.
    On both static and dynamic text you can decide if you want text to be selectable or not. It’s up to the developer, but I must say that it maybe should default to selectable since there seems to be a lot of lazy or inconsiderate flash developers out there.

    Bookmarking, deep linking and back/forward buttons do not work.
    It can take a bit of effort to implement, and as a matter of fact I could not find any ready-made system that could handle full state management when making this site, and it did take me uite while to make a system that worked ok.
    And there is still work to do since it will not work on all browsers. At least IE and Firefox on windows I managed to get to work, which covers the large majority of users.
    I will put up the system here for download to help fellow Flash developers to solve this issue.
    So it’s is possible to do, but yes, it’s not immediate or obvious to implement, so I have to admit that it can be a problem.

    Ok…I won’t go on with more of the points that I feel need debunking now, because the list is too long.
    I will admit though to what I see as actual issues that cannot be resolved at this time

    Flash will not integrate with extra browser functions, like mouse gestures and dictionary or web search plugins for Firefox.
    There is really no solutions, since it doesn’t make sense to implement them in Flash when you don’t know what plugins the user has and how they are configured.
    And I don’t see those issues to be resolved in the forseeable future.
    I consider it a small price to pay though for the flexibility and consistency that Flash offers.

    Of course nothing is perfect.
    But Flash is as close to perfect as you can expect to come IMO :)

    It might not be appropiate to use in all instances, but it really comes down to three main factors:

  • If the technology have a feature set that is of advantage to the project.
  • The time and cost involved in development.
  • How accessible the end result will be.
  • Of the available technologies i think there is very little doubt that Flash is the most generous when it comes to features on offer.
    Probably that’s one of the main reasons why it’s so disliked by many as well. I sure also hate when some loud music starts up when I open a page, or some massive animations I have no interest in watching have to load before I can access a page.
    With the power comes responsibility…and unfortunately there is a lot of irresponsible developers, and not to forget, clients that want to abuse the technology.

    For a simple text page flash is time consuming and costly to use, that is certainly true.
    But as soon as more advanced interactivity is required it sure seems to me like AJAX is a lot more time consuming to reach a result that preforms as consistently as Flash across browsers.

    Like mentioned before Flash player penetration figures should be in a similar league as javascript enabled browsers.
    But with it’s consistent performance across different browsers I would say Flash is more accessible than an AJAX solution.
    If anyone have figures contradicting that I would only be happy to hear about them.

    Like I said it should be rationale that is the basis for what technology is considered most suitable for a project, not emotion.
    I love to hear rational arguments against the use of Flash. It encourages developers and Macromedia to resolve the issues.
    I might even turn into an AJAX developer one day….but somehow I just don’t see that coming.
    The more I look at the facts the more obvious it is that the future belongs to Flash.

    Switch to our mobile site