Hoping for a Web App Future

If I think back to 2006/2007 I was very happy with how things were shaking out. The web was on the upswing and we were moving away from native applications. All of the great things about the web–its ubiquity, its freedom, its openness–were being harnessed to create native-like experiences that, I hoped at the time, would see us all do away with native apps. At the time, there wasn’t much (I thought) that web apps couldn’t do that we needed native apps for. How wrong I was. With the introduction of the iPhone, and subsequent smartphone releases, we’ve seen a huge shift back to native applications. Part of that is performance, right now native apps just feel better than mobile web apps, but it also came about because of just how many things native mobile apps could do. Geolocation, accelerometers, contact info–the smartphone showed how many things “apps” needed access to and for the most part those features have been exclusive to native applications. So just as the web was starting to really take off, we’ve slid back into native application territory.

It bummed me out, and still does. I thought AIR was an okay solution to the problem, but by the time AIR came around it was pretty clear that “the web” had come to mean HTML/JS, and I’m fine with that. So as PhoneGap started getting traction, and then Adobe took a major interest in the project, I was excited about the prospect of working on it as an Adobe evangelist, and more importantly, working with the teams behind it to see what else they had up their sleeves as the web moves forward.

But another side benefit is that it’s put me on what I’d consider the “right” side of the web argument. Two things got me thinking more about this. One was a very good post by a VC named Mark Suster, who while not telling his companies to focus exclusively on the web, has told them to make it a big part of what they do. So many startups nowadays are thinking completely mobile-first while ignoring the web, I’d say at their peril. When I think of my own usage, I’m still using a lot of native apps (for reasons I can’t quite figure out) but the ones I enjoy most have a web component that is well done and part of the overall experience. Yelp comes to mind. Another is Untappd. I can do almost anything I need to on the website version of Untappd so it’s not as though I’m getting a watered down experience. It more easily lets me move between contexts and devices while still using the service. I contrast that to something like Foursquare or Path. Both are mobile-centric, and with Foursquare I can’t check in because it wants to be sure that I am where I say I am (using GPS) but it still makes the web side of it less useful for me. Path is unusable when you’re not on a mobile device as far as I can tell. When I log in all I get is “download the app”. Which I hate. Mobile is clearly important but the web can’t be ignored.

Path Login

If this is what I see when I log into your site, you're too mobile-first.

The second thing that got me thinking more about this was something Brian Leroux pointed to on the Cordova mailing list, a post by Tim Berners-Lee about Installable Web Apps. This is a model I would love to see take hold. As Tim notes, there are a few things that users need to have when they’re installing web apps, and some trust/permissions issues that need to be figured out. Right now, I think PhoneGap is closest to this model, but a huge, huge, part of me wishes PhoneGap didn’t need to exist. If we could somehow skip the native shim and just take for granted that every platform supported, and at its core used, installable web apps. Maybe something like the WebOS model. But we’re not there yet. So for now, I’m glad I get to work with PhoneGap and build apps with web technologies. Eventually though I think PhoneGap can be used as inspiration for installable web apps. This is kind of how the standards world moves, as more and more people adopt something, people find ways to bring that something back into the standards. I think some of PhoneGap’s APIs and methodologies would make a great start at the idea of installable web apps. And I think the guys behind PhoneGap will be at the forefront of making those things happen, which means Adobe is going to be a really cool place to be over the next few years. It feels like there is a lot of potential to change the world and while I miss spending time with Flash, I feel like the HTML/JS/CSS work I’ve been doing and that Adobe is investing in, will make a similar impact on the web down the road.

  • Julian Lawton

    To me the important part of the web is HTTP + data. Most ‘native’ mobile apps rely on the standardisation of data access / client-server that the web’s enabled. I’m less enamoured of Javascript as a programming language and HTML/CSS as the one true presentation layer, because I’m not wholly convinced that a single standard/technology can cover both documents and applications.

    There’s a lot we’d lose by pushing JavaScript as the one true language – ditto Java, ObjC, etc. The advantage of native being ability to use your language of choice.
    It also feels right now like we’re hacking a document technology for applications vs the MXML/XAML/XUL/NIB file approach of an XML mark-up designer for application interfaces.(Maybe there’s a model in how Cocoa uses nearly DisplayPDF as the actual presentation layer, but has a higher level of abstraction for application layout??)The other thing I’m dubious about is the return to ‘the application as island’ – i.e. back in the 80s applications were often ‘designed’ without any reference to how other applications or the platform work. Web apps have yet to ‘platformise’ in that sense. We’re still at the stage of MFC vs Delphi vs MacOS Carbon vs wxWidgets vs Qt – too many application frameworks.(This criticism applies both to web apps and mobile native. We’d just about licked the problem on the desktop, but developers always feel hemmed in by external standards).
    But . . . all the vendors should do more work in supporting installable web apps. (w/out Flash or Java it’s the only x-platform option for most small shops, and wrapping webkit views in native wrappers as pretend apps is surely pointless to everyone?).

    The hard part, I guess, is privacy/security management – either it becomes onerous (Vista) – with every app popping up requests – or you go down the restrictive App Store process of installable apps getting third party review. (I think the solution there involves certificates and chains of authority / circle of trust. We don’t need a single authority, but we DO need some kind of certification).

  • Julian Lawton

    To me the important part of the web is HTTP + data. Most ‘native’ mobile apps rely on the standardisation of data access / client-server that the web’s enabled. I’m less enamoured of Javascript as a programming language and HTML/CSS as the one true presentation layer, because I’m not wholly convinced that a single standard/technology can cover both documents and applications.

    There’s a lot we’d lose by pushing JavaScript as the one true language – ditto Java, ObjC, etc. The advantage of native being ability to use your language of choice.
    It also feels right now like we’re hacking a document technology for applications vs the MXML/XAML/XUL/NIB file approach of an XML mark-up designer for application interfaces.(Maybe there’s a model in how Cocoa uses nearly DisplayPDF as the actual presentation layer, but has a higher level of abstraction for application layout??)The other thing I’m dubious about is the return to ‘the application as island’ – i.e. back in the 80s applications were often ‘designed’ without any reference to how other applications or the platform work. Web apps have yet to ‘platformise’ in that sense. We’re still at the stage of MFC vs Delphi vs MacOS Carbon vs wxWidgets vs Qt – too many application frameworks.(This criticism applies both to web apps and mobile native. We’d just about licked the problem on the desktop, but developers always feel hemmed in by external standards).
    But . . . all the vendors should do more work in supporting installable web apps. (w/out Flash or Java it’s the only x-platform option for most small shops, and wrapping webkit views in native wrappers as pretend apps is surely pointless to everyone?).

    The hard part, I guess, is privacy/security management – either it becomes onerous (Vista) – with every app popping up requests – or you go down the restrictive App Store process of installable apps getting third party review. (I think the solution there involves certificates and chains of authority / circle of trust. We don’t need a single authority, but we DO need some kind of certification).

  • guest

    Apple says apps are good… so doesn’t that mean that we have to do that? After all whatever Apple says goes, right?

    In all seriousness, Javascript + HTML + CSS is a terrible framework for software engineering. Sure its fine for “web applications” but lets face it, any real application will be twice as difficult to build in HTML/JS than it would be in Silverlight or Flex. Those two were perfectly positioned such that they allowed the richness of native applications with the ease of development of web applications. Without that kind of in-between technology, the options are either creating something really rich using native languages (with great cost) or create something with HTML/JS that will be a lower quality experience (also with great cost). Now… before all the HTML/JS people start let me just say that I have had the pleasure of building many enterprise Flex applications as well as the displeasure of building many enterprise HTML/AJAX (Dojo, JQuery) applications, not to mention several Java Swing applications. So, I am not one of those people (of which there are many) that wants to use Flex just because it is the only language I know. It really does (did) allow really great experiences to be build with the the least amount of effort. It is a real shame to hear the Adobe evangelists jumping ship so easily. All that promotion of AIR sounds like BS in hindsight.

  • guest

    Apple says apps are good… so doesn’t that mean that we have to do that? After all whatever Apple says goes, right?

    In all seriousness, Javascript + HTML + CSS is a terrible framework for software engineering. Sure its fine for “web applications” but lets face it, any real application will be twice as difficult to build in HTML/JS than it would be in Silverlight or Flex. Those two were perfectly positioned such that they allowed the richness of native applications with the ease of development of web applications. Without that kind of in-between technology, the options are either creating something really rich using native languages (with great cost) or create something with HTML/JS that will be a lower quality experience (also with great cost). Now… before all the HTML/JS people start let me just say that I have had the pleasure of building many enterprise Flex applications as well as the displeasure of building many enterprise HTML/AJAX (Dojo, JQuery) applications, not to mention several Java Swing applications. So, I am not one of those people (of which there are many) that wants to use Flex just because it is the only language I know. It really does (did) allow really great experiences to be build with the the least amount of effort. It is a real shame to hear the Adobe evangelists jumping ship so easily. All that promotion of AIR sounds like BS in hindsight.

  • guest

    Apple says apps are good… so doesn’t that mean that we have to do that? After all whatever Apple says goes, right?

    In all seriousness, Javascript + HTML + CSS is a terrible framework for software engineering. Sure its fine for “web applications” but lets face it, any real application will be twice as difficult to build in HTML/JS than it would be in Silverlight or Flex. Those two were perfectly positioned such that they allowed the richness of native applications with the ease of development of web applications. Without that kind of in-between technology, the options are either creating something really rich using native languages (with great cost) or create something with HTML/JS that will be a lower quality experience (also with great cost). Now… before all the HTML/JS people start let me just say that I have had the pleasure of building many enterprise Flex applications as well as the displeasure of building many enterprise HTML/AJAX (Dojo, JQuery) applications, not to mention several Java Swing applications. So, I am not one of those people (of which there are many) that wants to use Flex just because it is the only language I know. It really does (did) allow really great experiences to be build with the the least amount of effort. It is a real shame to hear the Adobe evangelists jumping ship so easily. All that promotion of AIR sounds like BS in hindsight.

  • http://blog.digitalbackcountry.com Ryan Stewart

    I think that’s a completely fair point and I think you’re right that HTTP + data is one of the most important parts. But I also think things like links are critically important and I’d even go so far as to say that graceful degredation is one of the things that makes the web “work” because it puts the look and feel in the user’s control. That was an area I always felt guilty with Flash, we didn’t have a way for users to “turn off” the Flashy side of things. I also realize that a lot of the more intense JS sites have gotten away from that so it’s not just Flash or native apps that have the problem.

    And I’ll kind of cop out and leave the language argument for a different time. I think it’s a valuable discussion but not one with a clear answer. Right now JS/HTML/CSS seem to be doing a lot and I’ve been happy with the speed of innovation, especially with CSS. I think the model itself is kind of kludgy, but people have started to work around it and do amazing things.

    But as you said, the hard part is privacy and security. Especially with sensor access but even more importantly for device content access (like contact list, phone calls, etc). Solving that will be a tough problem, but I hope that everyone works together to do it.

  • http://blog.digitalbackcountry.com Ryan Stewart

    I think that’s a completely fair point and I think you’re right that HTTP + data is one of the most important parts. But I also think things like links are critically important and I’d even go so far as to say that graceful degredation is one of the things that makes the web “work” because it puts the look and feel in the user’s control. That was an area I always felt guilty with Flash, we didn’t have a way for users to “turn off” the Flashy side of things. I also realize that a lot of the more intense JS sites have gotten away from that so it’s not just Flash or native apps that have the problem.

    And I’ll kind of cop out and leave the language argument for a different time. I think it’s a valuable discussion but not one with a clear answer. Right now JS/HTML/CSS seem to be doing a lot and I’ve been happy with the speed of innovation, especially with CSS. I think the model itself is kind of kludgy, but people have started to work around it and do amazing things.

    But as you said, the hard part is privacy and security. Especially with sensor access but even more importantly for device content access (like contact list, phone calls, etc). Solving that will be a tough problem, but I hope that everyone works together to do it.

  • http://blog.digitalbackcountry.com Ryan Stewart

    I was sad that we pulled out of Flex just as it was starting to really get working on mobile devices. But I think the writing is on the wall and that HTML/JS/CSS will get there. Are they ready yet? No way. And this is something I don’t know that Adobe did a great job of clarifying. The way I saw it, it was less that Adobe thought HTML/JS/CSS were the answer for complex applications right now, and more that as a company, those kinds of applications just weren’t where we felt we had a lot of strength in the market. We didn’t feel like we were succeeding in the “enterprise” market and instead wanted to refocus on broader web applications. 

    For me personally, when it came to Flex/AIR, I just wasn’t that enthusiastic about building the kinds of apps that Flex/AIR were a good fit for, enterprise-type apps and games. Flex could be used for a lot more than that, but increasingly, HTML/JS/CSS were doing just as good a job at those kinds of apps and it’s an area I’m excited to be learning more about.

  • Anonymous

    I have been expecting Flash problems would be addressed with the introduction of HTML 5. 

  • Anonymous

    I have been expecting Flash problems would be addressed with the introduction of HTML 5. 

  • http://www.limoboston.net/ Limo Boston

    Web is already in our live totally and wholly. Of course web apps should be important and major part of it. I cannot imagine today anybody that doesn’t use web apps.

  • http://www.limoboston.net/ Limo Boston

    Web is already in our live totally and wholly. Of course web apps should be important and major part of it. I cannot imagine today anybody that doesn’t use web apps.

  • http://www.voxominous.com/ Voxominous

    This article left me scratching my head. As a provider of audio and voice for web and mobile applications I am starting to see why some of the mobile app developers I work with are having some limitations in features and functionality. Are these developers really that restricted by the frameworks they use? If so, is there a work around or a better framework to develop mobile apps on? Thanks for posting. I will follow any replies or comments.

  • http://www.voxominous.com/ Voxominous

    This article left me scratching my head. As a provider of audio and voice for web and mobile applications I am starting to see why some of the mobile app developers I work with are having some limitations in features and functionality. Are these developers really that restricted by the frameworks they use? If so, is there a work around or a better framework to develop mobile apps on? Thanks for posting. I will follow any replies or comments.

  • http://pulse.yahoo.com/_YFXRLJO52BHEGKAWJXE7EN6QG4 iluvuillkillu

    Adobe Evangelists!! I have lost hope in you guys. You guys jump ship very easily. What happened to all the FLASH ROCKS and AIR ROCKS? Now you are moving towards HTML and JS, really? Honestly do you think it is a great framework? Just because you cant defend your own product why are you putting developers life in stake? Adobe’s CEO is a coward!

  • http://pulse.yahoo.com/_YFXRLJO52BHEGKAWJXE7EN6QG4 iluvuillkillu

    Adobe Evangelists!! I have lost hope in you guys. You guys jump ship very easily. What happened to all the FLASH ROCKS and AIR ROCKS? Now you are moving towards HTML and JS, really? Honestly do you think it is a great framework? Just because you cant defend your own product why are you putting developers life in stake? Adobe’s CEO is a coward!

  • http://4web.com.au/ 4web

    I too agree that now the technology is raising the bars higher and higher but still somewhere privacy and security is the hard part of it… And according to its the most important issue 4web ..

  • http://4web.com.au/ 4web

    I too agree that now the technology is raising the bars higher and higher but still somewhere privacy and security is the hard part of it… And according to its the most important issue 4web ..