Oct 19

Open Web Apps: The Vapour infrastucture becoming real

Mozila, Open Source, Tech, Web Browsing with tags: , No Comments »

I mentioned Vapour, the Mozilla Open Web App Store. I didn’t know that it wasn’t released yet (even though the code was out there).

Well, now it has been released with the post on an Open Web App Ecosystem that has a prototype and technical documentation with it.

This is a huge deal, and I am jazzed that Mozilla is getting into the game here. The Web needs to give developers as many opportunities to monetize as possible, and needs to help consumers find the best possible content.

First we have the philosophy on what an Open Web App even is:

  • Are built using HTML, CSS and JavaScript.
  • Can be “installed” to a dashboard within your mobile or desktop Web browser, or to your native OS desktop or mobile home screen.
  • Work in all modern Web browsers, while enabling each browser to compete on app presentation, organization and management user interfaces.
  • Support paid apps by means of an authorization model that uses existing identity systems like OpenID.
  • Support portable purchases: An app purchased for one browser works in other browsers, and across multiple desktop and mobile platforms without repurchase.
  • Can request access to one or more advanced and/or privacy-sensitive capabilities that they would like access to (like geolocation) which the system will mediate, giving the user the ability to opt-in to them if desired.
  • Can be distributed by developers directly to users without any gatekeeper, and distributed through multiple stores, allowing stores to compete on customer service, price, policies, app discoverability, ratings, reviews and other attributes.
  • Can receive notifications from the cloud.
  • Support deep search across apps: Apps can implement an interface that enables the app container (generally the Web browser) to provide the user with a cross-app search experience that links deeply into any app that can satisfy the search.

There are some interesting elements in there, such as calling out notification support as a first class required feature.

Then we get to the brass tacks. The tech behind this. I quickly peaked at the manifest and was happy to see that it looks very similar to Chrome (and the webOS appinfo.json). I would love to see us all get in a room and try to come up with some subset of JSON that we can agree on.

I also enjoyed seeing:

  • Permissions: The thought around permissions and what it means to be an app.
  • Verification: How do we actually make things like “buy on Chrome, use on Firefox” working? How do we allow distributed systems for payment and all of the services that tend to be silo’d right no?
  • Cross app integration: The Web is great at mashups, and we should lose that in apps

Great to see the word now fully out, and now we have the concept we can join Mozilla in helping to define how this all works, and how it can be useful. It is so very hard to compete with a unified system, and to make it happen takes real work and collaboration. What do you think?

Oct 09

HTML5 is a jewel that we need to cut into a weapon

Tech with tags: , , 3 Comments »

the web and the app economies colliding

I just wrote about the “don’t deploy HTML5″ comment that sparked a lot of conversation around HTML5 and its readiness (again).

I wasn’t sure if Philippe’s words were taken out of context from the reporter. There are some valid points that can be made around the comment, and thus I was curious to see if Philippe would take the opportunity to put his thoughts into his own words, and he has done in his post on HTML5: The jewel in the Open Web Platform.

It felt like a bit of a bizarre “response” since it doesn’t really acknowledge the discussion and instead reads to me, as a piece on how we are in the early stages, need to test, fun for browsers to be playing, but again….. early stages.

There are some points I very much agree with here. I like the notion of the “Open Web Platform” as the stack that brings together HTML5, CSS, JavaScript, etc…. although the server side and protocol side of the Open Web community may not agree and would prefer “Open Web Client Platform” or something. We have been using the term “HTML5″ as the big umbrella of the client side revolution, post-Ajax.

Ben and I have recently given a talk on HTML5 and the role the Web plays with respect to the application ecosystem explosion we are seeing right now. To put it in perspective, the iOS market by itself is growing faster than the Web 1.0 revolution. The Web is a massive ecosystem, and so is the app ecosystem, so it is obvious that there will be some impact from these two worlds colliding.

As Web fans, we are at war. We are passed the browser wars…. that is now in fighting. We need the Web to be a competitive platform, and this is where I do agree with Philippe. What does it mean to be an “HTML5″ platform right now? Just when I feel like we are getting aligned (e.g. using CSS3 transforms/transitions/animations for high performance graphics) one of the important browser runtimes leaves them out. Developers need a solid platform that they know they can build on. With HTML5 we have our first opportunity to deliver an app platform rather than a documentation hypertext system that happens to have enough hack-ability that we could add in Ajax. We can’t sit and complain to the W3C or browsers about the lack of platform features though. We as a community need to get together and show everyone what we as web app developers require from a platform. We want capability. We want ergonomics. We want uniformity. Great things are happening in browser runtime land right now…. so it is time to push.

So, I think Philippe has some of the right idea after all, but I do hope he realizes that we can’t wait for the full HTML5 to bear out. We need to weaponize *today* against the app ecosystems in the fight for the Web.

And, the Web is so very much worth fighting for. When in history has a major platform NOT been owned by a single vendor? Mainframes. personal computing. consoles. All the world of the proprietary. We are in absolute danger of losing the true gem of the Web…. its true open-ness. Being open itself isn’t a weapon though, and in fact it can be a drag and a hinderance which means we need to be even smarter to make sure that the open system that we have is able to deliver better experiences for developers and users.

Aug 31

App Stores: Showing users the value of Farmers Markets compared to Wal-mart

Mobile, Mozila, Open Source, Tech with tags: 1 Comment »

applesfarmersmarket

I remember growing up walking past grocers and butchers, and having my Mum stop by to get fresh meat and veg on a daily basis. I look back fondly on that experience, as I contrast it to the later years of mega-stores. When I came back to England for a year stint, a few years back, I was shocked to see that Tesco didn’t just sell food anymore, but had branched out to credit cards and gas and lots of crazy things.

The local stores have been wedged out.

On Sunday, I took my kids to the farmers market (happens most weekends), which is what had me think back to the local stores from my own childhood.

I worry about the food chain these days.

Another sector that I think about is app economies and app stores. I have talked about what an open marketplace could be and Pascal Finette of Mozilla Labs has been doing a lot of thinking in this area.

Fast forward a few months, and we see a new project in a very early stage. Vapour (github repo has been removed) is the Mozilla Labs project that is “An experiment around an Open Web App Store.” I am excited about the project for two reasons:

  • Mozilla is uniquely positioned to deliver a marketplace that focuses on very different values than other companies
  • I see check-ins from two amazing people: Michael Hanson (who did the amazing work around “people”) and Lloyd Hilaiel (who recently joined Mozilla. I tried to hire him there years back, and he waiting for me to leave. Hmm :)

Also, I got to hang with the OpenAppMkt chaps at the Node Knockout get together last night. They have only just begun, and think they will do some great things.

I evangelize the farmers market. I market it. I try to sell it.

I think of the Mozilla effort as the farmers market of app stores. The values are different. It isn’t just about values though, it will be about product. Many folk go to the farmers market because the goods are better. It is incredibly hard to compete with the likes of Walmart. They squeeze the market and force their vendors in a race to the bottom around price. This is the trick that Walmart can play. They can hold on to: “Look, we are giving everyone cheap goods!” It doesn’t matter what they do with China, or how they treat workers. Surely it is all for good if we can get things cheap right?

The same is happening with the major app stores. These platforms sell consumers with a fantastic user experience and looking after their users. No viruses. No “bad stuff”. Clean. They offer true value, but there is always a cost.

The app markets are as strong as wal-mart. I am excited to see new endeavors that change the game and deliver great user value, while also giving great freedom.

May 24

Chrome Web Store; the opportunity for breaking out of silos with experience

Tech, Web Browsing with tags: , 2 Comments »

silo

I am sure that we are going to see an explosion of people learning how you can create Chrome apps simply by creating a manifest and building a .crx as they rush to get their web apps into the Chrome Web Store.

This is a huge advantage of adding an “app” model on top of Web technology. We have been creating Web apps all along, and now we are getting to the packaging layer of the stack as we turn the Web inside out. Instead of hosting our apps on our own URLs, we are now packaging them up and putting them in external app catalogs for extra distribution. Kinda weird in many ways huh? ;)

Moving past simply wrapping up your Website so throw it in a store, I think we have an opportunity to do much more here.

With Greasemonkey user scripts, I am able to both personalize my experience across the Web, and pull in experiences.

I was just chatting with Phil Windley about Kynetx, his company that is doing interesting things in the “professional Greasemonkey” / enterprise client side mashup space. He showed me some of this in action. What if you are a member of AAA. By installing an app/add-on you get to carry that information around the Web with you. AAA has a ton of discounts that you never really know about. What if when you went to purchase something at coolwidgets.com it told you that you can get 10% off with a given AAA code? coolwidgets.com could choose to display all of the affiliates that it has, but that doesn’t scale. Instead, show me the affiliates that I have a relationship with!

Here Phil walks through a Twitter mashup example:

I want to break out of the app silo. I was drawn to webOS synergy because it allowed me to do just that. Our Facebook app is only part of the Facebook story. A bulk of the Facebook functionality is spread across the entire device. If a user enters their Facebook account, that follows them. Want to share a photo? Now you have a Facebook option. If users choose another social network, that can follow them instead. I don’t want to have to open an app to do everything.

This is where the trojan opportunity of the Chrome Web Store comes into play. Being able to package the Web application with extension like ability is key. Like Gmail? Download the app and:

  • Works offline
  • Nice big icon to click on
  • Permissions problem “solved”
  • Takes the Gmail experience throughout your browsing (mailto: goes to gmail, input type="email" auto completes on Gmail)

One great advantage of the Web is the mashup potential. There are a huge number of Web experiences that are vertical (go to a Web page to experience) as well as horizontal (having a favourite mapping service). The browser itself can add hooks (e.g. map: hooks into GMaps or Ovi Maps or MapQuest or …), but the browser is always behind the times. We can allow extensions to do this work. We can install a local library “web app” that means that wherever you see book information (e.g. Amazon, BN) you also get info about whether the book is available at the library. Right in the page.

I hope that the Chrome Web App store doesn’t become just wrapped Web pages, but we move the state of the art and break out of the silo.

May 19

What should the future of Web App Stores be?

Google, Tech with tags: 2 Comments »

NOTE: These are my random thoughts on Web App Stores and do not necessarily reflect the thoughts of Palm. Don’t read anything into this :)

App Stores. Catalogs. Markets. Gardens. They have been an incredibly hot topic ever since the success of the iPhone App Store. Everyone has wanted to own and control an app store ever since, for many different reasons. Not all of them are good. Not all of them can extract from the App Store experience.

With that, today Google unveiled a Chrome Web Store. Many folks have talked about how the Web, and the Open Web, could benefit from an app store. At a high level, the Web should give developers great options to distribute and monetize (if they so wish) their products, projects, and abilities.

There was a phase where people assumed that Internet meant “everything would be driven to be ‘free’”, and the model to make money is ads. Ads can potentially be a great avenue depending on your product, but people have always been willing to part with money to get value (or perceived value) back… and it shouldn’t be too shocking to have see that play out again via app stores. Deliver great experiences and they may come. There is a lot to be said about “expectations” though, and I feel for some of the business models that are in trouble (media etc).

So, it would be nice if a developer could build something useful, stick a price tag on it, and sell it… using great distribution channels. One model for this is to package the application in a way that works in the distribution channels (e.g. PhoneGap, Titanium, or for us on webOS…. natively) but surely we can do better?

When you look at what an app store is, it consists of many pieces indeed.

For example,

appstorestack

Application Platform

This is the set of APIs and technology that you can use to build your applications. We feel strongly that having many fragmented devices with their own set of APIs, and thus their own platform, is a path to madness. To fix that, we need a unifying platform. We could unify on a proprietary platform (e.g. Flash, Cocoa, Silverlight/.NET, or what have you) or we could learn from history and honour the very lucky place that are in as an industry, and choose Open standards… and in concrete, the Web.

The Chrome Web Store very much honours this. Their apps are just Web apps. This is fantastic and a big step forward. The fact that you could take the same codebase and ship it in a store that runs in Chrome and other browsers (and web OS’s :) is great news.

But this is only one level of the stack.

Application Packaging

How do you package up your application to place in a store? Chrome has a prelim crack at this with their crx format that we have seen via Chrome Extensions. There are also others:

W3C widgets, Android, webOS, Nokia WRT, and more. Libraries like PhoneGap already have to deal with this world. We need scripts and tools to navigate this world. In the short term lets create and use those tools, but how about all getting together and making a format that we can all live with and extend in the right ways?

Distribution

How do you distribute your apps? Right now you either: a) put up a website and folks find you (via search {and thus SEO}, the social web, and links), b) put an application into a store itself.

The Web won on distribution. AOL couldn’t hold back the tide. Everything was Out There. Do we really want one or two companies in charge of what gets Out There? There is certainly value to curation, and finding applications via places you trust, but I personally want to see us solve the problem is a distributed open way. No entity should own the pipe. There should be no “right way” to censor or review applications. Different systems can choose values. Ideally they are transparent, and consumers can then choose where they want to look for the app content.

Discoverability

If we had a standard format for “installable web apps” a lot of good can happen. If we had a standard format, we could annotate the Web with it. Browsers could consume it (e.g. App Discover and the talk on just this.) and search engines could index it.

If I am on a Web site that has an application available, the browser should let me know. If I do a Google search, a one box should tell me about the matching apps for the platforms that I care about.

Anyone could create a merchandising experience and have access to apps to search for. We can go beyond that too of course. We can have web hooks that ping services with information about applications that have been created. A meta service would crop up that looks for the data and then pings the various Web app stores, just like we saw with trackbacks and the like.

There is still a ton of room to innovate in discoverability. Smarter searching that ties deeper than matching on the content will kick in.

Merchandising

Having access to the application data is important. The Palm ecosystem shares full feeds of the data from the catalog and this allows anyone to merchandize the content. They can be creative and present the right content to the user. There is a lot of innovation to be done here. Ideally, someone could create a great new social algorithm and have it run against all of the web apps out there. Right now, the stack is monolithic and we only have basic merchandising needs in most of the ecosystems. What about affiliate systems and the like which could enable innovation here?

Fulfillment

How do you pay for a good. How does the developer get paid for the good. This is an obviously crucial layer. Apple has done very well because people already had iTunes accounts coming into the world of the iPhone. In a distributed model, users could choose to fulfill via Amazon, or Paypal, or Checkout, or SimpleBank (one day right al3x? :)

And more….

We haven’t even gotten into identity, single sign-on, reputation systems, and how reviews can be shared on the same applications in different stores. There is so much to be done here.

Looking forward, where does this next step take us? Is there a path where web applications themselves are back to just being websites that can live in various stores, and a pay gate can be setup in an easy way?

I can’t wait to see how this plays out. We could all go off and build ivory towered app stores, or we could come together and work out a better way. Are you in?