Demo about mixing HTML5, CSS3, WebGL
youtube.com
youtube.com
"The code of my demos will be released. Soon, but not right now."
I started working on something today that finally DOES NOT have to support IE6...
(It goes without saying that Flash and Java aren't allowed answers to that question.)
It's getting there. Audio latency is something that Flash and Java haven't really resolved at all, and I suspect that future spec for HTML audio will have to address that at some point.
have you seen http://audiotool.com/
I really love developing web apps and will be looking forward to seeing and learning those new techniques in the future of web apps
Great presentation as well as the demo! Thanks
The success of the web browser as an app platform has little to do with HTML and Javascript as languages (though they have been a decent base to build on). The web has been successful because of the browser's sandbox and HTTP's mostly stateless and cacheable distribution model, which are incredibly valuable app deployment tools that traditional OSes simply don't have.
Of course not. They are terrible languages! They do, however, manage to get the job done. Coupled with the browsers sandboxing, standardised communications mechanisms and programming practices - and of course the all important easy distribution of web apps, since everybody already has a browser - and you have a good, solid and convenient application distribution (and execution) platform. Sadly, until I can choose what language I want to do my client-side work in (since Javascript is a clunky hack of a lnaguage and other languages are more appropriate for some kinds of work), I will not like client-side web programming. Perhaps native client will save me there. Hopefully.
* Don't have to download or install anything - something that is evidently hard for a large amount of people
* Old versions aren't as much of a problem; updates can be just a refresh away
* A browser is a consistent/familiar interface - people generally know how to interact with them
* Runs on your iPhone, Android, PC, Wii, PS3...
There's many, many advantages and disadvantages - use your imagination!
Sure you have to download stuff - its just done in the background for you. Install? Thats a silly legacy concept anyway. Browsers DO sandbox code though, which is a good thing, but an OS could do that to "native" apps too.
Old versions aren't as much of a problem; updates can be just a refresh away
Desktop apps could be developed in ways that solves this too. Though the browsers "refresh" button is certianly a lot more convenient than anything we ever see used on desktop apps.
A browser is a consistent/familiar interface - people generally know how to interact with them
Hah, hardly. The browser, sure - but honestly, how much of the web really uses the browser interface? We have some basic navigation (switching apps, essentially - the address bar, bookmarks, back, forward) and a selection of currently executing apps (tabs, windows). The rest is done inside the browser as HTML - and this is HIGHLY inconsistent between websites/webapps. There is absolutely nothing consistent or familiar about them.
Runs on your iPhone, Android, PC, Wii, PS3...
Maybe one day the "standards wars" will settle and this will be completely true. Regardless, you could, conceptually, do this with traditional apps too. It would be a lot more dificult though - browser definitely shines here.
surely HTML5 is not even close to delivering application like experiences that match the desktop.
On the other hand, desktop apps haven't moved anywhere the last 20 years or so.
Seems like a classical Innovators Dilemma
> Old versions aren't as much of a problem; updates can be just a refresh away.
We are pushing the distribution problem one layer down, We still need to deal with 10 years old browsers.
The list goes on. Eventually, I do actually believe we'll essentially use our computers as browsers with immense caches - that's basically all they are now (we download applications from the web & install them, we get updates through the internet, and we play games online with other people. What's the difference, sans installer?), it'll just become more definitive.
The walls in place have been low bandwidth and massively slower performance. Both are being torn down at a frighteningly fast pace, or sidestepped entirely (NaCl). Without those, there is precisely zero advantage to making "desktop" software, and a fair number of disadvantages.
it's on the web, they can collect (and sell) statistics much more easily
Nothing is stopping you from connecting your desktop software back to a central server in order to store statistics.
And stream ads.
I can stream adds too - I open a socket to my add streaming server and it sends me the next one. Or whatever. Nothing novel about the web here.
And perform proprietary operations without exposing their algorithm.
Again, I can do this too by following a browser/server model - I simply connect to my server and do it there. Desktop apps can use the internet too, you know.
There's no way to make a "no-cd" crack for web-based software; there's no instruction you can short-cut to get the premium version for free.
Once again, this is in no way specific to the web.
The advantage that web apps have is that everybody already has browsers installed and these browsers already contain a lot of what applications need: a way to display an interface, a means of scripting client-side in order to perform local tasks without having to cross the network and a standardised communications protocol. On the server side, there are a set of frameworks to make use of this. You could do this with other apps too, if you really wanted. The only thing web apps have over other kinds of apps is ease of distribution - because everyone already has web browsers.
On the flipside, desktop apps have advantages too. Maily performance and fine grained control over the computer and interface. In theory all of this will become available in browsers eventually, but honestly, as long as javascript is the only reasonable choice i have for client-side programming, I'm not going to be much of a fan (though NativeClient could fix this!).
If everything is moving to the browser, why are we still using fancy operating systems? Really, all we need is some local storage (for caching things, mainly), some ethernet and wifi drivers, usb drivers (for reading external drives, cameras etc), memory card reader drivers, some kind of video driver and.. well, a browser. No need for fancy GUI systems (outside of the browser), no need for other apps. No need for media players (outside of the browser) and so on. I suppose things are slowly moving this direction. Unless native client or something similar takes off, though, I'm not terribly interested - Javascript is a terrible hack of a language.
Ignoring whatever the servers will run on, of course.
Though how is not having a crack not unique to the web? And before you say you can send different versions of the application, remember there is copy/paste. The millions (billions?) of premium-version pirated copies of applications floating around suggest otherwise. But when was the last time you saw additional Google storage on a torrent network?
And no, currently, browsers aren't up to the task of replacing desktop apps. Nowhere near. NaCl provides a rather large open door for the possibility, though, and you can bet other browsers will follow suit; it's a killer feature.
Its not unique to the web. It has little to do with the web and more to do with a thin-client client-server model. Take, for example, MMORPG's - these are typically dificult or impossible to crack (sure, some have replacement servers, but they're rarely as good as the original and you can do the same for SaaS web apps too, if you really wanted to). I'm mainly arguing against the idea that the webs positive features are unique to the web - they're not, they come from the webs underlying technologies (client-server, thin-client..) and these could be implemented by desktop apps, if one really wanted to. The one place where the web wins hands down is user acceptance. Everybody has a browser and nobody minds the browser phoning home, as you said, yet they are paranoid about desktop apps doing so. This is where the browser wins - the rest can be done elsewhere too.
NaCl may change everyting, though, when it catches on. That will be certainly interesting to see and, while I dislike web apps right now, NaCl has a good chance of changing my mind. I'm certianly not against the things you mentioned - they ARE desireable traits, after all.
I'm really really glad that HTML5 and CSS3 (inkl. svg) is on their way out of the development status and is becoming popular. This will change everything on web.