Ask YC: Why doesn't Google use better technology to build its services (e.g., Flash)?

10 points by amichail ↗ HN
Almost everyone has Flash installed after all.

I wouldn't be surprised if Google is working on its own competitor to Flash/Silverlight.

49 comments

[ 3.2 ms ] story [ 72.2 ms ] thread
because flash sucks?
Could you elaborate?

Maybe it's not convenient for developers, but the result is better for users than an ad hoc mix of old web technologies that is seriously lacking in features and plagued with compatibility problems.

It appears that AJAX cross-browser compatibility problems can be solved using infinite money.

Besides video, what compelling Flash features aren't available in JS+HTML?

Which would be better for building a word processor or illustrator service?

And even if it is not necessary (e.g., for an email service), users still like to use a more professional looking site.

Even if we take your first question as true (and that is highly doubtful) it is far from clear that users prefer sites which "look more professional", cf: plentyoffish.com

It's also far from obvious that an all-flash site looks more professional than a flash-free one: if you want to make a site look tacky, just throw in some gratuitous flash or animated gifs and you're away.

Flash is useful for single player, little games, that you can play in the browser without installation.
In other words, flash is an awkward adaptor (plugin) to support a form of media (fully interactive games) on a platform (web browser) that was never really intended to support it.
Like Tetris?

http://halogen.note.amherst.edu/~jdtang/tetris/

FWIW, I'm using mixed Flash & JavaScript for my startup (Flash for embedding, JavaScript for the site itself). I've got Asteroids, Pong, and Brickbats all working in pure JavaScript. And I'm just hooking up code right now that lets you edit the games in real-time, no need to reload anything. That ranges from very-difficult to impossible with Flash.

From the Google Webmaster Central Blog: "Try to use Flash only where it is needed... this makes you[r] site accessible to a larger audience, including, for example, blind people using screen readers, users of old or non-standard browsers, and those on limited low-bandwidth connections such as on a cell phone or PDA."

http://googlewebmastercentral.blogspot.com/2007/07/best-uses...

I can think of a few good examples of web sites which use Flash effectively, e.g. the BBC 'Get Cooking' site:

http://www.bbc.co.uk/food/get_cooking/

However, Flash normally seems to be used for displaying pointless, obnoxious splash screens which add no value for the user.

> I can think of a few good examples of web sites which use Flash effectively

Youtube!

But why not use Flash for the entire site rather than just the video player?
because flash isn't always cross platform. those of us on linux had to wait 2 or more years (I really don't recall) for adobe to roll out a flash 9 from flash 7 for linux. It took another year after that to get it stable.

Also if you are blind how do you view flash websites? it has serious problems with usability for those who are disabled.

it also has usability problems for those who aren't disabled. I don't like flash websites because I can never find my way around. I can't run them through translator's either (an artist I like, who's native language is spanish, website is in flash, I can't read or translate the spanish because of that, and the english version has been coming soon for 2 or more years).

Because when you display all that extra site stuff with flash you take away tons of simple but important functionality.

     copy/paste

     save as...

     view image

     copy image location

     Bookmark this

     Open in new tab
etc. you get the idea.
1) Copy-past works just fine, at least with flex 3 text or textarea controls 2) Saving the swf is easy, and you can view it any time 3) Images are usually embedded, and you can get them with a resource viewer 4) Copy image location - this is not necessary, as images are usually embedded 5) flash supports url fragments for navigate (path after #), so as long as the flash site uses fragments, it is bookmarkable 6) open in new tab works

I'm curious where you got this misinformation, anyway.

Open in new tab only works to open the flash page in a new tab, subsequent browsing within the flash page does not allow one to open in a new tab.
The difference is that for flash websites, the developer has to actively be 'nice' to allow these things (default=not accessible), whereas with html+css+javascript, the developer has to actively be obnoxious to NOT allow these things (default=accessible).
A basic understanding of flash, computers, combined with browsing the web and making observations and deductions.

    1) With HTML you don't have to use textarea controls.

    2) Saving an SWF is not trivial.

    3) How much of your target audience really bothers to find a resource viewer?

    4) It's necessary because your users don't have a resource viewer.

    5) So the flash developer has to know what 'url fragments' are in order to make portions of the app bookmarkable.

    6) I can't think of a flash app where open in new tab works.  Obviously it is not trivial to implement
> However, Flash normally seems to be used for displaying pointless, obnoxious splash screens which add no value for the user.

How is that relevant to this discussion?

It's a verbose way of saying 'Flash sucks'.
To some extent, you can ameliorate these concerns, but using Flash for a website generally leads to usability issues.

Here's an article from me explaining why, if you're interested.

http://informationrain.com/2007/07/25/why-i-dont-make-flash-...

In my opinion, flash should mainly be used for what it's great at....making games, some types of interactive tools, and a decent quality cross-platform video solution.

Actually it's not always better for users. There are usually tradeoffs when choosing technologies and this is no exception. There are two (maybe three) fundamental issues with Flash.

The vast majority of internet content is conveyed with text, links, and images. Even a with a site like YouTube, there's a host of information related to each video that is best conveyed using text, links, and images. And apart from the rendering part images are essentially just links. Flash has a whole lot of overhead and does not perform basic text and linking tasks very well.

The second is that it has limited access to the underlying operating system.

The third is that it's a proprietary environment controlled by Adobe.

actually flash may "suck", but the flex (and air) sdk is not half bad... even I could learn it in about half a day and managed to put together some pretty sophisticated tools at work (game development stuff)..

the real reason i would say google would not want to use flash is due to its not-so-openness and thereby prepping itself for more uncertainity in the future.

>I wouldn't be surprised if Google is working on its own competitor to Flash/Silverlight.

http://gears.google.com/

That's not a competitor to Flash/Silverlight.
It's the only thing they have in the online/offline integration space. If not a direct competitor, it still has relevance. Google doesn't use Flex or Silverlight because they can reproduce complex interfaces in just javascript and it's usable offline with Google Gears.

If Google wanted to compete with Flex/Silverlight, they could release a GUI widget toolkit for javascript and combined with Google Gears they would have a contender.

Google uses Flash for their charts in analytics and finance.
Google revolves around information accessibility, using Flash for anything besides the presentation of graphics is a big step back in that area.

Youtube may make good use of Flash, but even they limit it to areas of absolute necessity.

Why can't Flash be improved to make information accessible?
".... Why can't Flash be improved to make information accessible? ..."

Probably for the same reason the tech that google does use can. Openness.

> I wouldn't be surprised if Google is working on its own competitor to Flash/Silverlight.

Microsoft has big problems getting Silverlight off the ground, although it is imo technically superior to Flash. I don't think it would be easier for Google to launch a competing platform. I personally think that they will bet on HTML5 through their partnership with Mozilla.

Why doesn't Google use better technology to build its services (e.g., Flash)?

What better technology? Guess who popularized AJAX?

Flash sucks. There's no real support for linux from adobe, it makes the browser heavier, it's a closed proprietary technology and it's awful for things that are not animation related.

Actually Flash is open source now. You can even make your own player: http://www.adobe.com/openscreenproject/
But making your own player doesn't give you any say over the future of Flash, so if you do that you're getting on a treadmill controlled by Adobe.
For my own selfish reasons, I'm pleased that Google doesn't use Flash for applications. Using XHTML/CSS/JS/etc. is great because other developers can inspect it, understand it, and go from there.

For practical purposes, I suspect Flash may be a pain in the ass to use on their scale. Debug, version control, localization, analytics, and more probably wouldn't play well with the rest of their platform and processes.

Also, Flash isn't supported on many wireless devices including the high-profile iPhone.

Future releases of HTML and JavsScript will handle some of what Flash does today. Perhaps it's just not necessary.

I'm surprised nobody here has mentioned what I would expect would be one of the biggest reasons: bandwidth. Considering the number of people hitting the various Google services at any given moment, adding Flash, and/or pretty images or extra CSS or fancy-pants JavaScript could induce a pretty big additional cost, and for no justifiable reason.
Why would compressed bytecode (Flash) be larger than source code (JavaScript)? AMF is also generally smaller than JSON or XML.
| Why would compressed bytecode (Flash) be larger than source code (JavaScript)?

I read the original question as asking why Google didn't add Flash onto its interface. I suppose it might be possible to replace their current JavaScript functions with Flash bytecode, but given the lengths they go to already to compress their JavaScript, I'd be surprised if the benefits there would be worth the trouble, not to mention any possible costs they might end up with due to migrating to Flash. (Browser support, version changes...?)

| AMF is also generally smaller than JSON or XML.

I kinda recalled Gmail (for instance) not using XML, but I dumped a session through Firebug to make sure. They're using their own (very simple) data format, and I doubt that AMF, or SOAP, or anything else could beat it, short of using actual data compression on both server and client side (and, again, probably not worth it).

Crawling through the Gmail code and data only reinforces my guess that their services are designed with low bandwidth usage among their top priorities.

Class libraries. Usually, to do anything impressive with Flash either requires lots of multimedia assets or lots of class libraries. JavaScript has the ability to piggyback off the browser's HTML/CSS rendering engines.

A lot also has to do with their respective cultures - as a JavaScript dev, you learn to do more with less because doing more with more is so exquisitely painful. That's why Flash UIs are often visually more attractive - it's easier for them to be visually attractive.

And JavaScript compresses really well - it's not unusual for GZipped + minified JavaScript to be less than 20% the size of the uncompressed source code.

flash is shit. next?
* It's slow * It's proprietory * It's not supported on several platforms (iPhone, wii, etc etc)

Javascript works just fine thanks. With HTML5 and the video capabilities flash/silverlight will become even less relevant IMHO

Why would an indexing company promote non indexable content?
That's a big part of the answer. Flash is not indexable, and is one of the biggest problems that Flash has.

Flash has its uses, and Google does use Flash where it makes sense, e.g. the charts on Google Analytics.

Iam not a flash fan. But off late it has amazed me with the functionality and features that can built so fast. If u have flash IDE, man building web sites are lot faster and easier. Iam sure it has is own drawbacks. I don’t agree with folks that say flash is not available in all browsers. Flash penetration is around 80-90 % of global market. Wake up guys.

Cheers, omfut

links, screen readers, mobile, and sometimes see gap between flash 7 and 9 on linux not the current version.
Doesn't anyone remember, back in the day, when HTML was "just fine" and javascript was 'clunky', 'unusable', and had a multitude of accessability issues. Cross-browser javascript problems, anyone? Now, of course flash also has its issues, but believe it or not, they are, much, much fewer and smaller than javascript/ajax had when it first started out, and even, dare i say, now.

The accessability issues, associated with flash are usually (as always) because the developer didn't know how to fix them, or didn't care to. There simply hasn't been a "killer app" like gmail, to show all the world that it could do thing much better than is generally asumed.

For example did you know that you can make a flash site change it's url as you navigate through it, enabling you to link/bookmark a specific section or a page of it (also allowing you yo use back/forward buttons)? The accessability issues have also long been solved, giving 'no-flash' users a striped down, yet fully functional/accesible site (as is the idea of javascript behaviours, if I recall correctly). (Take a look at this site http://www.rizn.bg for example of the two above - I know it's not english but the important thing is the concept)

And flash in itself has much more potential than javascript/ajax. 3D animations, build-in optimised compression algorithms, easier server integration, video/audio streaming, webcamera support, better file upload, etc, and it's all build in, on a single platform, with a quite nice and consistent api on top of it. Actionscript (the flash language) is a quite nice blend of java and javascript, minus the java bloat, complete with classes, inheritence, true C-like data types (insane performance), clusures. And it's all a lot more cross-browser friendly, than any other competing tehnology.

Now, i'm not suggesting we all jump in, because it does have issues still (font rendering, os integration and of caurse performance, to name a few) but there are quite a few places where it is a very good alternative. Just because most of the flash we come in contact with are useless splash screens and tacky animations, it doesn't mean that it can't do better. It's a hugely undervalued platform in my opinion, and we kinda have to 'wake up' and talk about its benefits instead of "it'll never work, its better to stick to what you know".

As for the original question - maybe because when it started out, flalsh was not good enough (pre flash 9 time), and by now they already have an infrastructure in place. Maybe if they create something radically new, they'll try to adopt flash, otherwise they'll stick with what works for them now.