Cathode Tan - Games, Media and Geek Stuff
logo design by man bytes blog

Friday, August 18, 2006

Opera DS and Plugins

They acknowledged that the concept of touch screen-based Web browsing is sound, and that navigation within the browser proper is actually quite good, but, for some reason, actually connecting to a Web site is a slow (like, trying-to-download-porn-on-a-14.4K-modem slow), nigh-painful process. The lack of support for common Web standards, like Flash and Java, is also a curiosity.
-- IGN Calls DS Opera Web Browser 'Unusable' - Gizmodo

If Opera DS is slow and clunky - that will very much suck. But as someone with a decade or so of experience with web development ... lemme explain something:

Flash and Java aren't technically web standards. They are more akin to PDF - they're a completely seperate application from standard web apps that only work in browsers because they support plugins. These days it's fairly common to support Flash and Java - but that's just because the plugins have become regularly available on both Windows, Macintosh and Linux. If you aren't on those platforms (or even, in the case of Linux or Windows ... the same platforms but wildly different hardware) ... it gets dicey.

A web standard would be supported (in theory) by every web browser. A plugin is only supported by browsers which have access to native applications to handle the different code. So expecting Opera to write either a Java or Flash plugin isn't just unreasonable ... it's actually impossible. Only Sun and Macromedia, respectively, can write the code to make those plugins work on whatever the DS considers an operating system. There's nothing Opera could have done in this situation.

Another way to explain it - let's say the PS3 browser supports Flash (I'm not sure, but I've heard such rumors). That doesn't mean that Sony has the code laying around to shove it into the PSP. It would be up to Macromedia (or AdobeMedia or whatever they're called these days) to help get that port in.

When you can't run Flash - which site do you head to ... Macromedia or Microsoft or Netscape or what? Always Macromedia. Why? Because it's their code.

Perhaps if those plugins existed ... and Opera didn't support plugins ... we could put the blame on Opera. That's not the case here. The fact is ... nobody should be expecting these plugins in completely nascent browser markets. There's completely no incentive to create them.

So, to be accurate, it's not curiosity. It's actually precisely what should be expected from such a browser. If you want to see these plugins - buy the browser. Only market share will put the lean on the right people.

I can see where the confusion could arise - but Flash and Java support is likely not in Opera's control. Just a bit of info ... from me to you.

(For the record: I've been doing web development for about a decade or so. When I first started getting serious with it, Netscape not only didn't support Flash ... there was no such thing as Flash and Netscape didn't go by any kind of like "version" or anything)

tagged: ,


jvm said...

To nitpick even further:

- By "Linux" you really mean "Linux on x86" and some of us would be even more specific and say "GNU/Linux on x86".

- I thought that Blackdown offered a JVM with at least some functionality that might make some Java applications work, and did so in an open (i.e. with source code) manner.

- Moreover, at least some parts of Java are being opened up, with source. (At least that's what the headlines said...I didn't have time to read the stories...sorry.)

- Finally, as I recall there are alternatives to the proprietary Flash plugins, but I don't know how robust they are.

Sure, the Free (as in GNU) alternatives are almost never as good as the proprietary options. But they are precisely the kind of projects that a commercial company could improve tremendously if they put some of their money and coders into it.

Josh said...

Well, to counter-nitpick I did specidy OS by hardware.

I've used Blackdown and it does actually work pretty well. But you can only have an open source plugin for open sourced code (or theoretically very well reverse engineered code). Or without some coordination with the owner of the code (which IIRC is the case with Blackdown). IOW, Blackdown did Sun's work because Sun didn't want to bother. None of this being the ownus of Netscape or Microsoft, mind you.

There are no alternatives to the Flash plugin (afaik), only a few slim alternatives to the Flash studio in it's entirety.

If there are any alternatives to the Flash plugin itself, I would highly not recommend it - because even the Macromedia stuff has issues.

And that's because Flash isn't a standard. It's Macromedia's domain. It's how they make money. It's not in their interest to have any joe (IE Opera) make a plugin for it.

Basically, it breaks down like this: a web browser should understand web standards. If it's not in it's standard, it can optionally try and hand off an asset to a third party or plugin. How or whether that plugin works completely depends on the codebase from some third party.

Another example: when a Flash object is running in your browser, it's actually a completely seperate instance. There's only interaction via very established bridges and quite often the Flash overrides anything else - because the browser isn't even in control. In fact, if you don't use the right parameters - you can't even render anything on top of said Flash object (or to put is simply: you can't without Flash's permission).

Trust me - I just spent a week or so refining JavaScript to generate the correct kind of Flash object to work correctly in various situations. If it was a "web standard" - that would not be needed.

So blaming Opera for not following a 'standard' like Flash is actually a complete contradiction in terms.

jvm said...

Sorry, I wasn't really picking at your main point: Java and Flash aren't open web standards. On this, we agree.

As for a Free (as in GNU) Flash plugin, there is Gnash. Haven't had a chance to try it yet, but there it is.

Josh said...

From the GameSWF site (which Gnash is based I guess):

"It's pretty hard to define exactly what is supported and what isn't, because there is no definitive reference (that I know of) to the features of ActionScript. Alexi's SWF Reference is the best reference for the workings of the VM opcodes, but it does not attempt to describe all the library API's."

And therein lies the problem. It's like WINE - it might be possible to try and reverse engineer something ... and with enough resources you might be able to produce something useful.

But it's total blackbox development.

And on a side point - just not really a big deal. Probably 99% of web content out there isn't rich media. Flash anims are very resolution dependant anyway - so I wouldn't see many of them working well on non-PC sized screens.

Safari lets you block all plugins and I turn that on at work to speed up browsing. The amount of actually compelling content out there in Flash is very limited ... and basically is things like newgrounds or YouTube (both of which would probably not render correctly below 640x480)