developing a pretty and powerful front end using Flash / AS3 would seem to be inherently easier than doing it as an AJAX web app. Just the ability to avoid dealing with web design issues thanks to absolute positioning sounds like a great benefit.
So why haven’t startup companies historically tried to start out with cheaper flash based web apps and only switch to html/javascript based ones as a way to expand marketshare by a few extra percent of people who don’t have flash running later on?
Is there a fundamental reason why this wouldn’t work, or is it the case of the ignorant belief on the part of the management that “flash equals dumb animations that everybody hates” and “good for games only”?
I have no idea what you mean by ‘“worse is better” and time to market is key,’ but I hate flash. I have a flashblocker installed, as do most people I know, and only view flash if I actually want to, which is rare. If I want to view a website I want information, not ‘tada! Watch this video for ten seconds then we’ll deign to sell you stuff!’
It’s also an accessibiility issue: screen-readers, magnifiers, text-to-speech programmes and so on don’t usually work with flash. Government websites usually don’t use flash and it’s partly for this reason.
Oh, and although many mobile phones now support flash, it usually takes longer to load.
For complex apps, porting from Flash to AJAX/Javascript would be difficult, and possibly not much faster/easier than just starting with Javascript. The development environments and methodologies are significantly different. You could design a Flash app in a way to minimize porting later, but the more you do that, the less benefit you get from avoiding Javascript in the first place.
If the end-result is going to be in Javascript, you don’t want to include features that are doable in Flash, but prohibitively difficult in Javascript. Sometimes you find those out along the way, and it’s better to discover (and avoid) those sooner, instead of including them in Flash, then realizing later you can’t reproduce something in Javascript.
Frameworks like Sencha, and debuggers like Firebug and Chrome’s built-in debugger make it much less tedious than before to create Javascript apps that run in most browsers.
Once you had something released in Flash, it would likely be better (more profitable) to spend time adding features, or working on something new instead of rewriting it in Javascript. Thus, it likely wouldn’t happen at all, so if that’s a design goal, it makes more sense to start with Javascript. This is really a restatement of #1 I suppose.
Arjuna34, I did not ask “why don’t they prototype in flash and then translate into ajax”. I asked “why don’t they just build it in flash and leave ajax for the time when they get first $100K in sales and $1M in venture capital”.
After all, they don’t usually start out building themselves a miniature version of google campus even if they hope to eventually work in a similar situation. For starters working in a small office is fine because “worse is better” and why waste money on functionality that is not needed.
to avoid thread derail and getting Colibri on my case again, let’s just quietly wait for input from other people whose argument is not focused on the complexity of porting flash to javascript in the unlikely event that such porting will become needed in the first place. Or, maybe from people who will explain why such porting is so important, as per Arjuna34’s apparent argument.
This was your question:
“So why haven’t startup companies historically tried to start out with cheaper flash based web apps and only switch to html/javascript based ones as a way to expand marketshare”
and that post was the answer.
Question: you do know what your OP says, right? I mean you did write it, correct? Maybe you cut and pasted it from somewhere and you didn’t read it, that could explain the confusion, I’m not sure.
the only legit point in your post, IMHO, is that many people have flash blockers. To which it could be answered that
many people don’t, e.g. myself
we can have a pretty html front page that politely asks people to turn off the blocker and come into the gingerbread house. This will not work for everybody, but we have nothing to lose either.
The rest is irrelevant given the “time to market” principle I have mentioned in the OP title. If a company gets to market faster and cheaper by ignoring the mobile phones and the blind with screen readers, then it will find plenty of customers with normal vision and desktop/laptop computers. Or so I would argue - I welcome counter arguments that would specifically address this claim.
so in your professional opinion developing a pretty web app frontend in flash is not let’s say 30% cheaper than developing the equivalent in html? Or would you argue that the main costs are in developing the backend, and so savings on the frontend make no difference?
I refuse to visit or use sites that are all flash unless I absolutely must - I suspect there are many people like me who think it’s not a user experinece I’m willing to put up with.
I’ll give you an example - restraunt websites that I can’t copy the address from to put into mapquest because it’s in flash. Sorry, you just lost a customer.
I wasn’t talking about internally prototyping in Flash, then porting to Javascript for the first release. I was giving reasons why a company wouldn’t release Flash-based app first, then later create a Javascript version after the initial success, if their long-range goal all along was to end up using Javascript for maximum market share.
You seem to be suggesting that it’s cheaper and faster to make a Flash app first, and then only if it’s successful, go to the expense of rewriting (i.e. porting) it to Javascript to get even more market share. For the reasons stated in my first post, I don’t think this is a good strategy.
I do not dispute the fact that a lot of flash web apps out there are designed by dumb people and totally suck. But who is stopping us from making nice, usable AS3 app without pictures and animations e.g. sort of like Gmail user interface?
I agree that absence of urls is inconvenient. Perhaps that means that the type of flash apps that I am proposing ought to have a “built-in url” whereas the Apache server should do url translation. So you input url “www.flashstartup.com?p=flashForever” and the server loads you the flash app with “flashForever” argument so that that would become the first page displayed. Further, this flash app can have a mock url address bar at the top displaying urls in the server-recognized format so that you can always grab the url of the current page for your notes.
Of course, this will not natively work with bookmarks and so on (until a relevant browser plugin is made in response to the hypothetical rising popularity of such flash apps) but then not all (perhaps not even majority) of people use bookmarks. And, “worse is better”. Functionality for time and money trade-off.
Notice that we still end up having our url recorded in browser history at least once - the time when we navigate to the website for the first time.
No. My point is that startups live and die by their business models and luck. Unless their product is the website, it’s just not going to make that much difference to their success.
I know my peer group is probably different to average, but my peer group is also the type to spend more money on the internet, and it’s really rare among my friends to have flash turned on automatically. Having a front page at all would make pretty much everyone I know click away. We don’t want a front page - we want to get to the stuff we’re actually looking for.
Mobile phone customers are a big market, and one that’s growing rather than shrinking - not one you want to ignore.
What do you mean by the ‘time to market’ principle? That it’s quicker to set up a flash website than a non-flash one? It would also be quicker to set up a generic page on a host like geocities, but you’re not going to do that, are you?
Ok, so maybe I am wrong on my flashblocker assumptions. Can anybody adduce some stats about how many people have flash disabled? My googling is not turning up anything.
For many websites the customers will either be mostly desktop or mostly mobile. Presumably the websites I am talking about here are more likely to be browsed on normal screen.
First to market means get basic functionality running on minimal budget, get sales, get cash flow. Don’t sit there forever web designing and adjusting your pages for blind people’s screen readers.
Even if you assume a 30% faster or cheaper development for the front-end, ultrafilter is right that it just doesn’t matter that much. If your end-goal is a Flash app, do it that way. If it’s not, don’t write it in Flash first - the success or fail of the idea, like ultrafilter said, will not typically hinge on how cheap the front-end GUI development was, or that it was slightly faster.
In addition, Flash offers much less advantage than it used to, for reasons I’ve given before.
I generally hate Flash-heavy websites, but Flash apps that are really meant to work like desktop apps aren’t always that bad.