Tobie Langel

  • Archive
  • RSS

App manifests, an anthology.

For some inexplicable reason the proliferation of market places for web apps has induced a proportional growth of custom manifest formats. Each app store, each platform now sports its own. And web developers love that latest trend. It helps them remember important information like their application’s name, its URL, or the relative path to its icon. It also keeps their JSON and XML coding skills sharp. Those who dislike this new trend will just get used to it through sheer repetition.

An XKCD comic

Yesterday’s otherwise exciting news bring our manifest count to eight (ten if we consider CommonJS packages and AppCache as playing in the same field). Time to recapitulate.

Tour d’horizon

W3C Widgets is the only one that’s actually a standard. It’s XML and has been used by both Opera and PhoneGap for quite a while.

Until recently, Google also seemed to favor XML for its manifests, but preferred when it came in different flavors. Apps built for the Google Apps Marketplace have their own custom format. Unsurprisingly, Google Gadgets do too. And it’s totally different.

Now that JSON is all the rage however, Google dropped XML in its favor. Manifests for the new Chrome store are authored in JSON.

While we’re on the subject of JSON, let’s not forget webOS’s similar but not compatible format and Mozilla’s brand new one which at least seems to share some resemblance with Google’s. With the rise in popularity of node.js, CommonJS modules and AMD, the CommonJS package spec also deserves a mention, as it’s getting used more and more when building rich client-side applications.

Of course, this general survey wouldn’t be complete without having a look at Windows 8’s upcoming format for Metro style apps—lo and behold, it’s XML… and not spec-compliant to boot—and iOS’s hacky but effective use of META tags.

Finally one cannot ignore the elephant in the room: AppCache. Arguably not an app manifest per se, it’s still yet another file developers will have to tack on to their projects. It also has some overlap with the W3C Widgets spec. Did I mention it’s neither JSON nor XML, but a custom, line-delimited format?

Interoperability [REDACTED], do you speak it?

I don’t think anyone with the web’s best interest in mind would disagree that this plethora of formats is damaging. Why can’t we agree on a single format to describe literally the same thing: app meta-data with, eventually, some platform- or store-specific data sprinkled on top of it?

If the W3C Widgets spec is broken, let’s fix it. If this is about XML vs. JSON, let’s modify the spec so JSON works with it too. If the spec is broken beyond repair, let’s say so and come up with something better. And if it ill-named (and it is!), let’s rename it. Else we’re just shooting ourselves in the foot.


Update: Bruce Lawson rightfully points out Mozilla had an affair with a custom XML format in the past.

Update 2: Morgan Roderick reminds me I’ve also forgotten about Apple Dashboard widgets (proprietary XML) and Yahoo widgets (custom XML).


Image source: XKCD.

  • 1 year ago
  • 9
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+

9 Notes/ Hide

  1. lesitedupharmacien likes this
  2. buy-steroids-uk-co likes this
  3. kerstshultz likes this
  4. btx91 likes this
  5. alythebird likes this
  6. pneus-et-roues likes this
  7. copywriter-copywriting reblogged this from tobie
  8. tobie posted this
← Previous • Next →

About

Avatar Hi! My name is Tobie Langel. I'm a software engineer at Facebook. I'm also Facebook's W3C AC Representative. I'm currently based in Geneva, Switzerland.

The postings on this site are my own and don't necessarily represent my employer's positions, strategies or opinions.

Elsewhere

  • @tobie on Twitter
  • Facebook Profile
  • Google
  • Linkedin Profile
  • tobie on github
  • RSS
  • Random
  • Archive
  • Mobile
Effector Theme by Pixel Union