Thursday, December 28, 2006

Working towards Mobile2.0

Technology blogs are likely only a hairs breadth from political blogs when it comes to rational (really, irrational) discussion. Throw up a new buzzword, and it's immediately shouted down. Or spend your time throwing up ever more buzzwords until something sticks, and then claim that some sort of progress has been made. It's push and shove.

Often, this push and shove serves to cull bad ideas from the herd, but other times, it's just kicking up dust. I think we're in a dust cloud right now, still shouting past each other. When it settles, I think we will see something new. My memes of choice for this entry are Web2.0, Mobile2.0, and the 'Fifth Wave'. The premise is that each of these terms describes a part of "what comes next" for developers. Business 2.0 described the Fifth Wave this way:

For the first time, the shift isn't driven primarily by a single piece of hardware or by how corporations deploy it. Instead, it results from the unprecedented coalescence of three powerful technological forces: cheap and ubiquitous computing devices, from PCs to cell phones to tiny but potent systems that are beginning to show up in everything from bedroom lamps to key chains; low-cost and omnipresent bandwidth; and open standards—not just Linux source code but the opening of other software as well as corporate databases. The fifth wave puts computing everywhere. It offers access to limitless amounts of information, services, and entertainment. All the time. Everywhere.

That's a '2.0-ey' definition, and I like those sorts of definitions, mostly because they try to step back and describe what's happening on the ground, instead of predicting warp drive. I also like '2.0-ey' definitions because, as in 'Fifth Wave', the emphasis is on technology in combination, versus reliance on one silver bullet. I think this approach is spot-on. After hearing every silver-bullet discussion about Java, J2EE, IoC, Web Services, framework-of-the-day, and scripting language of the day, I've come to realize that there isn't one thing that's going to save us all. We're doing addition, and lots of cool things are happening using technology that is sometimes more Willy's Jeep than Ferarri.

If you accept the on-the-ground, additive nature of the 'Fifth Wave', than it follows (at least to me) to consider the two remaining memes, Mobile2.0 and Web2.0 as siblings. I think each imperfectly describes a bigger set of ideas. Ajit Jaokar, in OpenGardens, used Web2.0 as a launching ground to talk about Mobile Web2.0, and he did a pretty good review of the original O'Reilly points. I'll try to lay out the O'Reilly points next to things I've found about Mobile2.0.

So O'Reilly wrote about seven core principles:

  1. The Web As Platform
  2. Harnessing Collective Intelligence
  3. Data is the Next Intel Inside
  4. End of the Software Release Cycle
  5. Lightweight Programming Models
  6. Software Above the Level of a Single Device
  7. Rich User Experiences
These things are all over the place...there's nothing nice and neat about them. This is about as rough-and-ready as your typical PHP script, it's a hack describing a hack. It's pretty powerful too! Let's take them at face value though, as we're early in the process. My enterprise background, though, makes me feel like there's too much hand-waving about making everything simple, and about how we don't need formality...sometimes, sloppy is just sloppy!

What about the Mobile2.0 part? I think it springs mostly from O'Reilly #6, Software above the level of a single device. The interesting parts of Mobile2.0 are going to take place in the cloud, not on the device. I think the centrality of this simple point explains why Mobile2.0 and Mobile Web2.0 are used interchangeably. For brevity, I'll waive that part off...it's been done better elsewhere. Before I depart, though, blowing off security, transactions, reliability, ability to route and manage, even the need for some freaking standards, etc. is fun, but that's where I can't really drink the Kool-Aid.

So what is added or altered when you talk about Mobile2.0? For one thing, look at O'Reilly #6 for one hint...

This is one of the areas of Web 2.0 where we expect to see some of the greatest change, as more and more devices are connected to the new platform. What applications become possible when our phones and our cars are not consuming data but reporting it? Real time traffic monitoring, flash mobs, and citizen journalism are only a few of the early warning signs of the capabilities of the new platform.

So let's add an idea, mobile isn't just about phones! Mobile2.0 describes the blurring between virtual and physical. The environment is full of sensors and actuators, and they are all talking on the network. Mashups are now not limited to the services on the web, now you can mash those services up with physical things. Your alarm clock can wake you up ten minutes early because the car's gas tank is on empty, and you need to stop...that sort of thing.

In that same vein, we can add a corollary...You are a sensor! This idea fits in with the read-write web concept. This is the inversion of the relationship between the browser and the cloud, where one may produce and share as much content as they consume! What's uniqe about Mobile2.0 is the real-time nature of the content production, as well as the situational meta-data, such as location and time, that adds value. The ease of capturing audio/video along with GPS coordinates, for example, and the ability to immediately publish that content, can make for some exciting applications. As these systems get smarter, and the meta-data gets richer, it starts moving towards personal digital memories, in the sprit the original concept of the Memex.

How are we going to manage all of this information? How do we arrive at this meta-data? How are we going to deliver services from such a big potential portfolio down to a little phone, or a car in motion? Short and sweet, we're going to see a rise in context aware computing, and agent computing. I'll just waive my hands there, and that'll be fodder for other posts. I'll simply emphasize that mobile computing can happen, even when you don't have a mobile phone. In that cloud that rests above the level of a single device, what sorts of services will work in the background that don't even involve interaction with the individual?

This leads me to the big hole in applying Web2.0 to Mobile2.0. Specifically, we're paying too much attention to social intelligence without thinking about the part that intelligent software, and intelligent software agents might eventually play. How might intelligent software collaborate with social intelligence to produce new types of systems and services? I'm highlighting the collision of all the '2.0-ey' ideas with classic ubiquitous computing. How can we take mark Weiser's vision, and use it in our appreciation of Mobile2.0? That is something I hope to explore.

O'Reilly #7, Rich user experiences, seems rather narrow in the long term when it's compared to Weiser's ideas. Mobile2.0 is going to be really cool when it lives up to Weiser's vision...

The clock, and the clockwork machine, are the metaphors of the past several hundred years of technology. Invisible technology needs a metaphor that reminds us of the value of invisibility, but does not make it visible. I propose childhood: playful, a building of foundations, constant learning, a bit mysterious and quickly forgotten by adults. Our computers should be like our childhood: an invisible foundation that is quickly forgotten but always with us, and effortlessly used throughout our lives.

1 comment:

ybakos said...

What's really gonna cook your noodle is how ultimately it's going to give the 'accidental' birth of sentient AI.