YOW! 2011: Allen Wirfs-Brock and Rob Manson - Ambient Computing, Augmented Reality, and JavaScript

Play YOW! 2011: Allen Wirfs-Brock and Rob Manson - Ambient Computing, Augmented Reality, and JavaScript

The Discussion

  • User profile image

    What's going to be interesting is just how well the html+js stack will do once it has any kind of competition on equal terms as a programming model, as will be the case in windows 8

    Personally i dont think native(or formfactor/platform specific i should say) apps are going away anytime soon. HOWEVER i do think that those apps could very well be written in html+js. but they will be platform specific, again as is the case in windows 8, still requring developers to develop for each platform.

    Standards bodies are just to darn slow, and they always will be because of the simple fact that they are comprised of humans trying to reach an agreement.

    Even if they where fast enough, browser vendors are to slow to implement the standards.. even css3/html4  is not entirly consistent, even between ff and chrome, not to mention mobile.. (input fields anyone?)

  • User profile image
    Lars Kemmann

    @aL_: I was thinking about this "too slow" progress of standards bodies today, actually from the point of view of gaming (something I hadn't seriously looked at in a while).  Sparked by this article about a presentation by Forrester CEO George Colony on the end of the web, I was thinking about the question of whether HTML5+ and technologies like WebGL can keep pace with consumer (or business) demand, or whether native apps really are the future (as they were the past).

    While there are some fundamental limitations to the web architecture that mean you'll always have some more freedoms locally (case in point: Javascript), I think the standards have been growing just about as fast as real consumer demand.  Note that for "us" (developers), things like 3D and asynchrony (think WPF/Silverlight, web sockets) are things we wanted yesterday.  On the other hand, the average user - whether consumer or enterprise - has always lagged behind in actual adoption.  I think the "general user adoption lag" and "standardization lag" are actually - fortunately for the web, and unfortunately for Mr. Colony - about the same in most cases.  So we'll continue to see a thriving web that meets real needs, as long as we maintain our commitment to the standards.

    Standards are almost as fundamental as analytical models and the laws of physics for most engineering disciplines.  My respect for standards has grown significantly over the last few years as I've learned more about them, and I shudder to think what a future forever dominated by fragmented native "apps" will look like.  I hope Microsoft and others will be agile enough in their business models to embrace standards (and I don't mean the embrace-extend-extinguish kind!).

    What worries me now is that Google/Chrome is starting to neglect the standards, and so is Microsoft/IE10.  Lock-in and fragmentation of the market with native "extensions" (specifically apart from any goal of standardizing them, e.g. IE10's WRT API has no standards ambitions) is certainly one business strategy, and it has short-term benefits for the companies that employ it.  I would love to see Microsoft, Google, Apple, and others fully embrace a standards-driven Internet and allow open competition on a level playing field (and adjust their business models accordingly), but I'm just being idealistic when I hope for that.

    Follow the money.

    Bottom line: technology isn't going to be the death of the web, corporate strategy is.  The standard web just doesn't yield sufficient profit margins for Microsoft, Apple, or even Google.  (The standard web used to be a goldmine for Google when it was the best offering on every browser, but ironically Google is probably pursuing custom extensions today primarily as a result of competition from Bing/Yahoo.)

    You could easily prove me wrong - if you could find a way for one of those three companies to grow its shareholder value without resorting to custom extensions to help them win the battle.  Good luck. Smiley

  • User profile image

    Windows 8 is all about COM Interop ...... xD

  • User profile image

    @Lars Kemmann:

    But adoption is slow because the finalization of the standard itself if slow. No significant webside can afford to only support one or two of the major browsers. 

    I dont have anything against standards, i love 'em. Its the quibbling of the standards bodies that's the problem.clearly if browser vendors resort to custom extensions, the standards arent evolving fast enough.

    i agree that we should follow the money, but i dont think microsoft google or apple are the ones controlling this as much as it is the millions of app/site developers out there. users dont care about any of this technical stuff, they dont care about standards, or what browser they use, they dont care if all the web is one native app or their os is just one big browser, they only care about their personal user experience on the device they happen to use.

    Allthough it might be alot of trouble for developers to develop highly optimized native apps for all the diffrent platforms, it will only be "uneconomical" if they dont provide a better user experience by doign this than using some other method.

    it will be interesting if the webstack will ever be able to provide such a method Smiley i dont think it is now though, and i think its going to take a while if it ever happens. Right now html+js has a huge competetive edge on web (its the only option actually) but once apps start breaking out of the browser this will no longer be the case. interesting times i say Smiley

  • User profile image
    Lars Kemmann


    It's about COM interop, true (MS definitely did that well), but it's also about pushing a proprietary API with a proprietary app store that generates a vendor lock-in for Microsoft.  It's the Win32 API war all over again.


    I agree, users don't know the difference between a proprietary Internet (e.g., the route that is being taken by Apple iDevices, Google Chromebooks, Microsoft IE10) and an open Internet.  Don't you think it's our responsibility as engineering professionals to make the decisions for them?

    The web stack is able to do incredible things - think Google Wave, Google Docs, or Prezi.

    Interesting times indeed. Smiley

  • User profile image

    Al and Lars,

    We (the people in the video) only very briefly mentioned Windows 8 in the context of being able to build Windows 8 apps using HTML5.... Let's please not have a Metro conversation here. OK?
    Stick to HTML5, the future of the web, JavaScript, ambient computing, augmented reality. That should give you plenty to discuss.



  • User profile image
    Lars Kemmann

    Right, sorry Charles.  Rob Manson's comment in the video about how native apps cause fragmentation was what triggered some of my comments, but it was definitely just a side remark of his. Smiley  Allow me to try again, if that's okay.

    The big question underlying the video is just how to address - and prevent - that very fragmentation of native/platform-specific apps.  In other words, in the world of ambient computing - where a proliferation of devices with ever-changing form factors and ever-increasing interconnectivity is the norm - how do you really manage to "write once, run anywhere"?

    In that respect, Java was the champion in the late 90s but failed to deliver (for whatever reason, I blame UI mostly but I'm not familiar enough with the history of Java).  .NET came along as Microsoft's take on portability (MSIL), and the idea of WPF/E had us all cheering for a long time.  But because Silverlight/XAML stayed a (mostly) closed platform, it was never really adopted universally on the Web, so now HTML5 is the dominant option for a "write once, run anywhere" de facto standard.  And it will stay that way.

    Hence my worries when the Web becomes fragmented with vendor-specific extensions that have no plans for standardization (whether Metro, Chrome, or anything else).  I love taking advantage of close operating system integration, don't get me wrong, but the only way to make that profitable in the long term (in the absence of an OS monopoly) is to keep pushing cross-OS (e.g., Web) standards.

    A classic example of this is GDI vs. HTML5 Canvas.  Both (more or less) neatly express the need to draw free-form graphics across myriad devices - in ever-changing form factors - in a portable way.  When Windows was universal, GDI was the de facto answer for doing graphics.  But with the arrival of more devices that didn't run Windows, another approach was needed and evolved from Apple's custom Canvas tag into an HTML5 standard.  As browser implementations then "caught up" with the standard (in other words, as Canvas became a standard way to do free-form graphics), we developers were suddenly able to use hardware-accelerated rendering - across any device that implemented the Canvas tag!  Canvas thus subsumed GDI in a more portable way because the market reality changed.

    Sure, taking advantage of the latest and greatest (whether hardware-accelerated rendering in the 2000s or touch in the 2010s) will always require non-standard extensions (or even platforms) for early adopters, and there's a great first-mover advantage to doing so (that's why, for example, I keep specializing in Windows rather than trying to learn all the intricacies of Linux, Mac OS X/iOS, or Android - when I need close OS integration I can only afford to do it with one OS).  But in the long term, for those technologies to become commodities, we need a standardized way to use them.

    So the more I think about it, maybe IE10 isn't so bad after all. Smiley  To reword what I said to aL_, as an engineering professional I should respect standards unless there is a compelling reason to go vendor-specific, and even then I need to keep pushing for the standards to catch up.

    So - where is the standard multi-touch/gesture API for Javascript?  And where is the one that supports three-dimensional interactions with ambient cameras like Kinect? Smiley

Add Your 2 Cents