Browser

The Web is an App (Via Diego)

Diego is updating his blog again! Awesome! Check out his “the web is an app” post for a laydown of how generalized web development is shifting. Things were already tilting in the direction of “websites” being basically a static javascript loaded that pulled in resources and data as necessary. Mobile devices have really thrown a few cans of gas on the fire however. Before it was just annoying when logic crept into display code. Now with multiple distinct front-end views it’s gone from annoying to painful.

The role of browser Javascript framework on the mobile end seems to be an area of hot contention right now. With behaviors optimized for touch devices being the headline item in most of the conversations I’m seeing. The Uxebu blog and Wolfram Kriesing’s twitter feed are good places to look if you’re interested in following how it evolves. One of the most significant recent changes is the rollup of the ExtJS, JQTouch, and Raphael projects into a new company and product called Sencha. They seem to be ahead of the curve in pulling everything together to build the mobile specific web interface on top of REST services the way that Diego is talking about. And their recent large investment from Sequoia would seem to indicate that they’re in good shape to extend that lead. Check out their online KitchenSink demo to see some of the interaction styles they support. Still lots of work to be done, but I’m hearing more and more developers saying they’re at least starting to evaluate toolkits like these for doing their mobile web UI.

WordPress Updated

I did the update to WordPress 3.0 and added a new theme for the blog (you’ll have to actually visit the site to see, most of you read through RSS). Most of my motivation was getting something in there that looks better on mobile devices. The theme I have on now does a completely fluid layout instead of fixed width, so it looks a lot better on iPhone/iPad/Android. Also on the list of stuff to try out is the WordPress Mobile Pack that Andrea and James released.

Definitely recommend doing the upgrade and switching around themes. Especially for viewing on iPhone/Android devices. The Mystique theme is what I’m currently using by the way. On the settings page it has a toggle for fixed/fluid layout. Ahh, nice and simple.

Web Apps in Chomp

We made what I’m hoping is going to be a major change to Chomp today, we’ve put HTML web applications side-by-side with native applications in our discovery service. With all the talk around mobile web applications recently, and then the showcase of web stack applications that Apple released last night, seems like the timing couldn’t have been better. Awesome there, very happy about that. But what I’m more hoping for is that this is the very start of a trend toward increased attention and effort going into mobile web apps. A much longer term goal.

I’ve been having the discussion about the tension between mobile web apps and native mobile apps for years now, and it seems like the whole ecosystem has been “just about to tip” for that entire time. The same issues keep coming up over and over again (distribution issues, on-device presence, access to native APIs and local data, offline usage, and montization models being more abstracted through the web than when direct sales are possible) – but it’s finally looking like enough of them have been taken care of to make the system capable of supporting significant business.

The last major chunk of the problem that I attacked was the monitization side at AdMob, who have done a fantastic job of making it possible to make money writing mobile web apps. Apple and Google have put webkit in hands, which starts to take care of native API access, offline usage, and on-device presence (though we have a ways to go there still, solid progress is being made). So the one remaining large issue, distribution. I think if we can figure out how to start getting people to mobile web apps in decent numbers, most of the other problems with the web stack will find a way to work themselves out.

There are plenty of other longer term issues we’re going to have to take a look at, like should an end user even need to know the difference between a native app and web app? As a discovery service and not a marketplace, we don’t have direct control over that – but the answer to the question and the direction of the market is going to have to inform our model of distribution. And does a direct monetization style of web app (web widget, whatever you want to call it) need to exist to blend out the advertising dollars available and raise the total pot of addressable market for mobile web content? Lots more that we need to discuss, but I’m happy that we were able to take a concrete step today toward making mobile web apps more powerful. Hopefully the first of many steps toward putting the mobile web on equal footing with native applications. Of course, if these are the kinds of questions and issues you’re interested in, come join in the effort at Chomp. We’re hiring! :-) Sorry, couldn’t resist.

Opening Up Mobile Monetization

Interesting post at Mobiletech : Mobile Web vs. Native Apps. Revisited. Obviously, working at Chomp to help prop up the discovery end of the app ecosystem and funneling ourselves some of that sweet sweet app store revenue via affiliate programs, I do a whole bunch of speculating about web apps vs native apps. Particularly wondering if we’re painting ourselves into a corner working through the app stores. What I’ve ended up doing is just assuming that the browser will be a good enough delivery mechanism for applications, and it frees you to think about the really important issues. Will it be with HTML5 that we see native equivalent feel for web apps? Or with HTML6? Or HTML14.8? Ultimately I’ve decided it doesn’t matter. It’s a technical problem, and technical problems have a way of disappearing over time. And disappearing almost immediately when the right motivations are in place.

So what are the real underlying issues? I think John Arne is right to call out business models as the big issue standing in the way. I want to dig a bit deeper on that one however. Why aren’t the monetization models on mobile as diverse and rich as they are out on the web in general? It’s because generally the only thing people buy on their mobile phone is stuff for their mobile phone. If I take a look at what I’ve purchased with my iPhone over the last month, it’s an app here and there, maybe a song or two (okay, I didn’t buy any music last month – so it’s a bad example month.. but you get the idea). On the other hand, what did I pay for online in the last month? A couple of books, bits of furniture for the new apartment, hotel reservations, more electronics that I should probably admit to.

I would argue that’s the actual significant shift which put the web smack in the middle of much of the interesting change we’ve seen over the last 15 years. If all I could get via the web was information and software I think the web would have had a lot less impact. However, once I could get stuff, real life things shipped or waiting for me as a result of activity online, that opened up a whole new world of monetization methods. Why? Cause without the real world stuff the only people willing to advertise are folks selling software or subscriptions. With real world stuff the pool of advertising and promotional dollars skyrockets, and the associated ceiling for earning via indirect monetization gets lifted.

So instead of tracking if it’s going to be technically feasible to develop a native-feeling-enough HTML5 app and using that to determine if mobile development is going to tip to the web, I’ve been watching folks looking to push the business models out. Bringing offline commerce to mobile handsets is probably the reason folks like Gowalla and FourSquare are viewed as hot tickets by the investment community, and not just fads. And I don’t think it’s an accident that lots of folks who have had positive experiences with the app store, such as Flixster, have a component of their app that’s based on in-app purchases of offline goods (movie tickets in this case).

The two common subcases of the discussion that don’t move things offline (in-app purchases of digital goods, and paid distribution for web apps) are effectively just tweeks to the existing model. They don’t really unlock any new value, they just shift around where the customer decision point is and potentially unlock a larger portion of the same pool of revenue. But they don’t fundamentally shift things in a way that give access to previously untapped pools of money. They’re problems worth addressing, but they’re really the blunt end of the stick.

The promising part is that really there’s no technical barrier in the way of opening up mobile services to offline commerce. Much of the same systems that we have for online commerce work just as well on a handset. But just like with the web, having the technology available doesn’t mean you have a system that works for users. Apple has set the expectation at a certainly level with respect to “purchases on an iPhone”, being able to tie into an existing payment method has left users with an expectation for everything else to operate as smoothly. So yes, there’s definitely some work to be done, hard problems to be solved. And I think that’s really the problem to be tracking here with respect to mobile web or native app development.

Shim Services

I’ve been sick for the last few days. Perfect time to put a bit of a dent in that ever-growing pile of unread books next to my bed! Which I began doing without hesitation, until I kept running into cross-references to other books in Dreaming In Code. Some of the books I know I’ve read, others I know I should definitely pick up, others I’m not sure about. Have I read them? Do I own them? As I scan my bookshelves looking for my copy of The Soul of a New Machine I re-realize that I’ve already cleared the unread book stack a few times. Now there’s a bunch of still-very-interesting unread stuff mixed in with the filed-away-for-reference stuff. Maybe it was because I was reading Dreaming In Code that I began suffering from delusions of adequacy, but I thought “I must organize this!”. Maybe it was just the Nyquil talking.

First thought was along the lines of “there must be some software out there that will do this for me already.” Lots of stuff for OS X, but I’m on a Linux system most of the time. And the the most promising of the Linux based cataloging software crashes immediately on window move or resize on my 64-bit desktop system. Maybe that’s not the way to go. I want something quick, easy, and hopefully composable into other usages.

How about something for Android? I’ve been fooling around with developing some Android stuff. And they have Zebra Crossing, a prepackaged lib for barcode scanning. I should be able to find something floating around out there that should make it easy to just scan a whole bunch of barcodes. I can use that to make a big list of ISBNs, and then feed the stuff into a combination of ISBNdb.com and Amazon lookups to make myself a database of my books.

In poking around looking for a simple barcode scanning notepad kind of app I saw the Oilcan app sitting on my Android desktop. Oilcan is a browser wrapper that lets you plugin Greasemonkey style extension scripts into the native Android browser. One of the examples that comes with Oilcan is an extension that allows you to scan barcodes directly into the input box on m.half.com.

It took about 5 minutes to turn that into something that would use a page on my own server to make me a database of scanned ISBN numbers. No native coding required, which I thought was pretty interesting. One thing to pay attention to is the supper aggro caching that the Android browser does, make sure you insert cache control headers and meta tags. Instead of ending up with a one time throw-away tool to create a list of ISBNs, I’ve ended up with an online service that I can use to toss other barcode based info up to my server.

And most importantly, I’ve found a way to use creative coding to procrastinate my way around actually getting done what I set out to accomplish. Happy 2009 everyone!

Skyfire 0.85

I’m not allowed to talk yet about what I’ve been working on for the last few months. Odd isn’t it? But information wants to be free fortunately, so here are a few other folks talking about what we’ve been up to:

There’s definitely some stuff we need to work on still. But the ball is steadily rolling, drum beating, people marching, etc. Also a lot going on behind the scenes as we prep for the really real world. We’re not quite there yet (thus the 0.85 version number instead of a 1.0 version number), but the recent release went quite well all things considered. It was one of those tremendous overhauls that touched pretty much everything, and still the system came back up just about on schedule (we ran about 45 minutes over on our 4 hour window) and in working order.

Definitely looking forward to the four days off starting tomorrow though. Thanksgiving break here in the US tomorrow, and then everyone has Friday off for shopping or something. Guess not everyone has their XMas presents drop shipped by Amazon. That’s how I do it though, and I have no issues at all with the technique.

Contextually Relevant My Ass

I turned on AdSense ads again. Somewhere in the random failing that was getting getting my blog admin interface working again I apparently overwrote all the customizations that I had done. Not that I make a lot of money from the ads, I just like fooling around with the publisher side of the ad network and keeping an eye on the little differences that pop up. Most interesting thing so far is that the ads up there on “This is Mobility” are for scooters and wheelchairs. It’s not like this site isn’t indexed already. It’s not like I sometimes talk about physical mobility solutions and other times mobile technologies. It’s not like the front page doesn’t right now include terms like Nokia, N810, Linux, carriers, operators, iPhone, etc. What gives? I bet the bidding on the term “mobility” from people selling wheelchairs and rascals is way higher than the bid from folks selling handsets or applications, enough to push out way more contextually relevant inventory just to see if the more highly bidded stuff manages to convert. That it’s even tried however makes me kinda wonder just how much the context really works, and how much the network is based on random flailing. Cover some certain relatively high percentage of the web in your real estate and you’ll get clicks. No matter what you put in there.

Rejiggered the Whatchamacallit

I hadn’t posted for a while, and then when I tried to found that my WordPress admin interface was all screwy. Probably something I did, but I’m not sure what. And it’s languished for a few weeks while I was trying to find a few minutes to debug it. Finally I just gave in and installed the new version of WordPress over what I had and let it do it’s upgrade magic. Kapow! Admin interface alive again.

What I was originally going to post was that there was a Mobile Monday last Monday (kinda late for that now). But instead I can post a pointer to the presentation that Nikunj from Oracle gave about AtomDB. One of the striking things about what they’re working on is that it’s from some folks who actually deeply understand both mobile and web technologies.

Example: Check out the mention of ACID vs. BASE models of distributed application development. Read the ACM Queue article about BASE. The CAP (Consistency/Available/Partition Tolerance) Theorem is something I bring up frequently in discussions. If you find areas where you can relax consistency constraints you can make a system work at a much higher volume and generally a lot faster. I love finding areas where I can do that in putting something together, always feels like a magic trick when you get it right.

Interesting that this general scaling principle from loosely coupled web applications translates pretty directly to intermittently connected mobile applications as well. There’s lots of good nuggets in there, great presentation from Nikunj!

There should be a binary form of the Windows Mobile version of the AtomDB work up on the feed technology site some time soon. They’re working on being able to get the source code out there as well, but apparently that might be a bit longer in coming. Unfortunate, cause I would love to have something of the sort for my N810. Generally they’re looking for feedback about the technique, discussion of development models and APIs, and to try get a community going around web programming for mobile devices. There should be more info and downloads up on the site soon. In the meantime ping them if you’re interested in the work.

Mobile Web Developers, Please Prepare for Cross-check

The folks at Opera have started publishing aggregate numbers for the user behavior they see through their proxy browser, Opera Mini. Interesting to see that their overall growth numbers and pageviews metrics are keeping their symmetric relationship with the numbers from AdMob. When you have just one independent source publishing numbers it’s easy to dismiss them as providing skewed data. When two sources operating very different products publish numbers that indicate the same overall trends it’s much more difficult to dismiss.

The part of the report that has me most interested is the list of top sites per region. In particular the list for the United States:

  1. www.myspace.com
  2. www.google.com
  3. www.mocospace.com
  4. www.yahoo.com
  5. www.facebook.com
  6. www.live.com
  7. www.hi5.com
  8. www.wikipedia.org
  9. www.itsmy.com
  10. www.ebay.com

Most of them not too much of a problem explaining. Social networking is huge, people create their profile, check back as often as they can to see if they have messages. No problem. Makes sense that widget providers ride on that traffic. Google is the default search on the Opera start page, Yahoo continues to have a great consumer brand presence.

How about Mocospace and Itsmy however? Really mobile-specific social networks. Assume that the users of Opera Mini are regular consumers, Yahoo and Facebook should be well ahead of Mocospace. Assume that they’re early adopter mobile geeks and it makes sense to have Mocospace and mobile specific services.

And what’s the deal with Wikipedia in there? Do folks actually use the search options from the start page and do Wikipedia specific searches? Is the “trivia night at the local pub” use-case popular enough that it makes Wikipedia #8 top site even when looking at such a large sample? Or are “mobile searches” no matter what the purpose tending toward Wikipedia entries in organic search results just because of the way mobile searches structure their queries?

Great to see data corroborating other stats. Can’t wait till the next month of stats comes out. My gut feeling here is that Opera Mini “went mainstream” during the final quarter of last year. Assuming the steady growth in users but jagged increase in pageviews was due to a shift going on in the userbase being catered to. So what we see in the top 10 is actually a blend of the existing early adopter user behavior and the new creamy middle consumer.

In the next few months those normal users should vastly outnumber the early users and we should see the brands from online filling up those top 10 lists and the niche behavior sites like Wikipedia falling out. There’s always going to be skew toward those who deliver info usable by folks on the go I would assume. The Yahoo portal has always hit those targets well, timely info about rapidly changing data of interest to large groups of readers. Will EBay remain in there? Does rapidly changing data trump relatively niche usage?

Mozilla @ Web 2.0

Very happy to see Mozilla talking about mobile browsing at Web 2.0 Expo. W00t! Progress is being made, makes me all tingly happy.