LWN.net Logo

What's the point?

What's the point?

Posted Mar 1, 2012 5:50 UTC (Thu) by khim (subscriber, #9252)
In reply to: What's the point? by cmorgan
Parent article: Mozilla announces HTML5-based phone

As a recent (for the past 8 months or so) entrant into development for the web I can say that it has been pretty productive for me.

I think you missed my point completely… Sigh…

I'll try again.

I'm not talking about the cases where you are forced to use web technologies: it's quite possible to do and if you have no choice (for example if you want to create cross-platform application usable in browser), then it's quite doable.

But if you platform only provides web platform and nothing else then that's liability: it's harder to develop (debugging tools are much less mature, UI creation is convoluted because it was not initially designed with webapps in mind, you can not use threads easily, etc).

I abandoned an earlier attempt with GWT because the ui designer for eclipse kept crashing or not rendering things the way I had expected it to, it wasn't worth the hassle of trying to figure it out.

And this is classic example: where more usable platforms give you a lot of usable choices web platform actually forced you to do everything in HTML/CSS/JavaScript at some point.

Why would anyone choose more limited platform if it s/he can choose richer one?

It's the exact same mistake Sun did (and eventually died because of it): if you offer a platform which makes it possible to write cross-platform applications then said platform may be used by some people (people write lot's of things in Java, right?), but why would anyone use something which only runs such application and nothing else (things like JavaStation)? One may use Windows or Mac, get access to all these applications and to native applications, too.


(Log in to post comments)

What's the point?

Posted Mar 1, 2012 17:14 UTC (Thu) by cmorgan (guest, #71980) [Link]

The alternative being to provide another platform with some kind of native support in addition to web technologies? Should it be android, qt, winforms etc? I'm not sure this buys you anything in even the short term of the next few years.

Web technologies are moving fast. It is a compelling argument to develop a web only application to gain cross platform support. The feature sets of web technologies is converging on what is possible with native applications and aiming at where things will be in the next few years seems a better use of effort than providing some other mixed development environment. Nevermind that any apps developed for this platform will work with likely minor changes on all of the other platforms.

Directly towards your point, I'm aware of several companies that are rewriting their native applications for iPhone etc to use web technologies, explicitly because they don't want to deal with multiple platforms. It may reduce the feature set is some cases but it seems pretty clear that the web api is getting closer to native apis all of the time.

What's the point?

Posted Mar 1, 2012 19:23 UTC (Thu) by khim (subscriber, #9252) [Link]

The alternative being to provide another platform with some kind of native support in addition to web technologies?

Before we can discuss path we need to know the destination. What's the goal of the whole excercise?

I'm not sure this buys you anything in even the short term of the next few years.

Long term we are all dead. Battle for the mobile happens here and now. It'll be decided in a next 2-3 years and finished in 5. That's why Microsoft is so desperate: it knows it needs to win in the next few years or else it's toast. Mozilla acts like it has all the time in the world.

Web technologies are moving fast.

Hard to agree here. It took about ten years to finally get 3D (arrived on desktop in 1996, on web in 2007). It still does not support threading (in the era of multicore CPUs!) - and it's not clear if it'll ever will. It's support for legacy libraries is pitiful (yes, you can use emscripten or something similar, but speed, and, more importantly, power consumption will be awful). And so on. It looks like web technologies are moving insanely fast, but that's just because they stagnated for years and now are playing catch up. They are still years behind native.

It is a compelling argument to develop a web only application to gain cross platform support.

Sure. That's because we have no clear winner on mobile: Apple refuses to be it (the old "integrated hardware and software" gambit which failed few times already) and Android have not yet reached critical mass (that's why Microsoft still have a chance).

In times like this "cross-platform solutions" sound good. It was a compelling argument 20 years ago, too. Remember UCSD p-System? Excel used p-code to support both Windows and Mac. In about the same time Windows NT (with support for IA-32, MIPS R3000/R4000, Alpha, PowerPC, Itanium, AMD64 and ARM) was created. Once clear winner formed all these clumsy cross-platform solutions were thrown right out.

Nevermind that any apps developed for this platform will work with likely minor changes on all of the other platforms.

This is key point. Even if some developers will actually switch to web technologies not all of them will do! Thus any platform which supports only cross-platform technologies is at disadvantage by default. If it wants to win it needs something else. It needs it badly! What is it?

Directly towards your point, I'm aware of several companies that are rewriting their native applications for iPhone etc to use web technologies, explicitly because they don't want to deal with multiple platforms.

Sure. It's one way of doing cross-platform development. There are others, as I've pointed out: Qt, SDL, etc. B2G does not support them.

It may reduce the feature set is some cases but it seems pretty clear that the web api is getting closer to native apis all of the time.

Not really. Native is always at least one step (usually two) ahead. Especially when you'll include things like power consumption in the equation (and on mobile you can't ignore it, it's not a desktop and not even a laptop).

Sure, if your application is tied to some other service and noone else can use it (things like Google Maps or some specialized app like bank-client) then you can use web technologies to save the costs. But if it's just an app vs webapp then webapp loses 99% of time (it wins when creator of native app is truly incompetent and just does not know how to write good app).

Android's already won. It's just not apparent yet.

Posted Mar 1, 2012 21:00 UTC (Thu) by rahvin (subscriber, #16953) [Link]

Sure. That's because we have no clear winner on mobile: Apple refuses to be it (the old "integrated hardware and software" gambit which failed few times already) and Android have not yet reached critical mass (that's why Microsoft still have a chance).
I do not agree. Android has clearly won the battle but with Apple providing a boutique offering. My evidence? Android has already moved into sub $100 phones. There are several android handsets in this range, the most interesting to me is the one with the e-paper screen that has like a week of battery life and is selling like hotcakes in the third world. I fully expect that by the end of next year Android will be in the $20 prepaid dumb phones as well as all the way up to the top end.

You simply can't beat the support for ARM that Linux has and Android benefits from as it's allowing the manufactures to grab source balls and compile a working android install within days of hardware prototyping. There's little reason for them to then build and deploy an alternative OS such as MS or Symbian when almost all the prototyping is being done on Android. The market numbers might not reflect it yet, but Android's clearly won the Mobile OS wars.

Android's already won. It's just not apparent yet.

Posted Mar 8, 2012 12:31 UTC (Thu) by nye (guest, #51576) [Link]

>There are several android handsets in this range, the most interesting to me is the one with the e-paper screen that has like a week of battery life and is selling like hotcakes in the third world

Link? That sounds amazing if you can buy it in the UK.

What's the point?

Posted Mar 6, 2012 22:06 UTC (Tue) by roc (subscriber, #30627) [Link]

> It still does not support threading (in the era of multicore CPUs!)

Apart from the internal multithreading of Web browser implementations, there's also Web Workers.

What's the point?

Posted Mar 7, 2012 9:00 UTC (Wed) by khim (subscriber, #9252) [Link]

Yes, internal multithreading of Web browser implementations and Web Workers finally added to the web functionality most other environments offered 15-20 years ago: the ability to run multiple programs truly in parallel. Yahoo! Huge achievement (even if years too late).

This is not comparable to threads, though: you can not process the same piece of data using 4-8 workers (which makes sense if you are working with a single resource-hungry program).

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds