Stuff tagged geeks

Something smells fishy inside AWS

Posted by Antonio 3 days, 16 hours ago (July 20, 2008)

Every great startup has an exciting and superb "founding story:" eBay and Pez dispensers, Apple and the garage tinkering of the two Steves, Microsoft and its BASIC, and so on. In the case of Amazon and its web services (AWS, albeit not quite a startup but close enough), the founding story goes something like this: aware that they had built up incredibly robust excess capacity for handling the peaks of e-commerce traffic on Amazon.com, the bright minds from Seattle decided to offer the same capacity to the rest of the web, kicking off the era of cloud computing for the thousands of customers that signed up for their triple threat of services: S3 (storage), EC2 (compute cyles), and SQS (messaging queues).

And yet, if AWS is using Amazon.com's excess capacity, why has S3 been down for most of the day, rendering most of the profile images and other assets of Web 2.0 tapestry completely inaccessible while at the same time I can't manage to find even a single 404 on Amazon.com? Wouldn't they be using the same infrastructure for their store that they sell to the rest of us?

Outages like this one will for sure fuel the fire of all of the startups trying to sell "cloud redundancy" to people who want to fail over seamlessly between providers.

Tags:
3 Comments

The elephant in the cloud

Posted by Antonio 3 weeks, 3 days ago (June 30, 2008)

The elephant in the cloudThis year at the D conference Michael Dell was asked whether he was worried that the shift towards cloud computing would affect his PC business. Despite not usually seeming like a visionary, Dell gave a great answer. He said that over the last 20 years, every time bandwidth increases, it was his observation that so did the need for processing power on both sides of the pipe, and that because of that, he felt pretty good about the future of his PC business.

Just look at the iPhone or the N95, two mobile phones that pack a tremendous amount of processing power per ounce of weight. Despite being even more suited a a class to offload work to servers in the cloud, smart phones as a category seem to be growing more powerful in their display technology (hardware accelerated video), processing technology (Intel Atom), and general peripherals (5MP cameras, GPSes). Not only are these devices being packed to the gills with more transistors than a mid 1990s PC, but developers are rushing to PC-like development environments like the iPhone's and Google's Android to take advantage of the additional horsepower instead of just writing web applications for the increasingly more powerful web browsers that come with these things.

And it is not just about local processing power; the latest issue of Wired has what will no doubt become a classic piece by Kevin Kelly on the emergent distributed 12-million-teraflop computer that all of our gizmos are getting wired up to make. In the piece, there is a great chart that quantifies the shipped quantities of various different devices with CPUs at their core: from PCs to DVRs, from cellphones to cameras.

Now everyone knows that there are roughly 3 times more cellphones than PCs in the world today, but the stat that I found more interesting is that there are 44 times more PCs out in the wild than servers. Though I realize that it is probably difficult to define what a "server" is in today's world of quad-core x86 machines, the magnitude of that difference brought to mind the delta between storage at the client tier (in offices, in people's homes, at school), and the storage "in the cloud" (i.e., S3).

Even if you assume that the typical x86 server has 13x more storage than the typical PC (a terabyte of addressable storage versus a measly 80GB because you have to factor in the installed base more for the PCs), you are still talking about something on the order of about 100 million petabytes for the client tier and less than a third of that for the cloud tier.

Anyone who has tried to back up a photo collection to a cloud service like .Mac, to say nothing of a music or video collections, knows this at a gut level. The challenges with storage in the client tier have always been consistent addressability and reliability, but in a replicated and distributed world (a la Kelly's megacomputer), we might just be able to make better use of all of those petabytes.

Processing and storage made the PC revolution the juggernaut that it has been. It is why we've come to expect the interactivity native application developers running into the smart phone space are clamoring for, and it's why the dark matter of today's computing environment is composed of billions of hard drives, powered and accessed in a massively distributed way.

It is going to be a while before the cloud catches up with that (datacenter economics and bandwidth being what they are), and until it does, we might all be careful of falling elephants.

Tags: , ,
1 Comments

Sketching the next killer web app: on the missing prototyping tools

Posted by Antonio 3 weeks, 5 days ago (June 28, 2008)

These paper prototypes of popular websites (via Waxy Links) are absolutely charming. I've always loved drawing paper interfaces because of the way that they help to clarify thinking about what is important. On paper you never have the space (or in my case the skill) to get specific about the details that ultimately don't matter as much as the one or two key actions on each screen.

In fact, I've often wondered why there are no good computer-based prototyping tools— or at least ones that approximate the best qualities of paper. Using Photoshop to prototype interfaces is like using a jackhammer to make ice sculptures; with enough practice you can do it, but there has got to be a better way. Over the years, I've found some tools that help to wireframe (Visio, OmniGraffle), but all of these are still too cumbersome and provide little if any help in terms of interactivity. It is no wonder then that some in the web design community are advocating jumping straight to HTML from paper.

Here is a lazy web idea that might help experience designers: how about a software application that let folks scan in their paper prototypes and then manipulate them with simple drawing/animating tools via point and click. The result would look a lot like Ambrosia's SketchFighter 4000 game (in the best of circumstances) but it would give the prototyper both the speed of initial design that paper provides, and the ability to quickly iterate and animate on the computer. With a few fancy filters, one might even be able to start formalizing the digitized paper prototype by replacing the hand-drawn geometric shapes with real polygons.

Back in the 80s, Dan Bricklin developed "Dan Bricklin's Demo Program" for prototyping text-based applications. Though I've never seen it run, I understand from people that used it that the application developed a cult following among early PC application developers. This scanned paper prototypes application might just fill the same need for the web generation.

Tags: ,
5 Comments

Failure to virtualize

Posted by Antonio 1 month ago (June 22, 2008)

Just finished reading Charles Stross's latest novel, Glasshouse (incidentally the first fictional work I've actually finished on my Kindle), which is a pretty entertaining sc-ifi novel. As usual with Stross, it is full of great science that makes you wonder what life will be like in a universe where we can back ourselves up, travel faster than light, and change physical bodies at will.

My favorite thing about this book though was the way in which the author throws in all of this running commentary about what life was like in the late 20th century (the glasshouse is a prison set in our time period), and specifically this particular bit on why the 21st century marked the beginning of a dark age before the "acceleration:"

"We know why the dark age happened," Fiore continues. "Our ancestors allowed their storage and processing architectures to proliferate uncontrollably, and they tended to throw away old technologies instead of virtualizing them. For erasons of commercial advantage some of the largest entities deliberately created incompatible information formats and locked up huge quanitites of useful materials in them, so that when new architectures replaced old, the data became inaccessible.

PlugsThis bit ought to be music to any of the digital pack rats that read this blog. A while ago I thought I had this problem licked— I'd periodically burn gigabytes of files to CD, then DVD, and finally the cloud (through services like Amazon's S3). Recently though I was looking for an 8 year-old tarball of some source code from a previous life (Memora) and spent 2 days searching only to find that it was useless because of how utterly impossible it would be to re-create the build environment.

As we throw away old technologies— be they build environments, old OSes, or even web services that have lost their way (I've been thinking a lot about this as it pertains to Flickr given the recent exodus), we might stop to think just what it would take for the kind of virtualization that would save us from Stross's dark ages.

Tags: ,
0 Comments

What I learned at WWDC 2008

Posted by Antonio 1 month, 1 week ago (June 14, 2008)

Three lessons, from simplest to deepest:

1. That "live blogging" stuff requires the right template, and the blog format just wasn't right. Talking to folks that followed the live updates, it turns out that it's kind of annoying to see 140 character "title posts" which are paginated 5 at a time. Oh yeah, and Twitter still sucks; due the fact that their API was overwhelmed and I was using it to post there after posting to my blog, I got some really bad duplication problems.

2. Apple is finally getting the whole cloud thing, and more specifically, there are at least some folks there that have gotten the AJAX religion. I remember 3 companies ago being there to pitch one of their experience folks on a web-based music server, the summer before the iPod, and way before the current crop of really capable Javascript/DHTML engines. This designer, let's call him John, told us that apps in the browser were a passing fad, and an ugly one at that. And in a way, in 2001 they were, but these days Apple is dead serious about it (so much so that they are willing to spend cycles pushing their Javascript engine to the front of the pack). There were plenty of sessions related to web apps for Safari for deployment on both the Mac and the iPhone and little of that typical second class citizen feeling that Apple is known for (Java/Cocoa bridge anyone?)

3. That Apple couldn't achieve escape velocity and get out from under the carrier-runs-the-world model that mobile computing is subject to in the US sucks— it sucks really bad. While people may be excited about the new $199 price tag, there are going to be so many old problems in going back to that model. The awesome iTunes activation model for the phone? Gone. The way you could just gift iPhones to spread the cult of Apple? Not without stealing the recipient's identity. The impunity with which you could trash your iPhone knowing that for $250 Apple would give you a new one? No mas. And perhaps most importantly, the critical missing functionality like IM or unfettered access to the 3G network? Not likely, not as long as they might potentially undermine some Guantanamoesque carrier business model.

Eddie does DJ This last one is the big take-away for me; in short it means that we're going back to a world where we rent our mobile computing experience and hope that our feudal overlords (the carriers) dole out the features at a decent enough rate.

As I was flying back, it occurred to me that two groups of folks who I've enjoyed lampooning over the last few months, the iPhone jailbreakers and the Android people, may actually be really important as we move towards evolving the mobile experience in spite of carrier interests. So please please please go hug one of these lovable rebels who live by their own rules ;)

Tags: , ,
0 Comments

My own personal Twitter: small pieces loosely coupled

Posted by Antonio 1 month, 2 weeks ago (June 8, 2008)

I am going out to California tomorrow and if all goes well, I'll be dropping by the keynote at WWDC to see what goodies Apple has in store for us. Last time I went to one of these, one of the most fun parts of the experience was trying to get the word out to friends and family back home in real time— the rabid Apple fans— about what was being announced by Steve on stage. I quickly discovered that Wi-Fi is totally useless at these events (because everyone else is trying to do the same thing), and that the only truly reliable messaging layer was SMS which really meant that all I could do in terms of group broadcast was Twitter. However during Macworld back in January Twitter dropped 50-70% of my updates and duplicated a bunch of the ones that made it through, no doubt because everyone else sitting in Moscone was in the process of trying to do the same.

I am quickly discovering that Twitter just doesn't cut it, not only because of its scaling problems (especially around events like these), but because I've got a lot of people in my life that have no interest in joining Twitter, and even when they do, find it difficult to stay engaged. These folks do come to read this blog though, so tomorrow's experiment is going to be to use the Onda as a sort of Twitter stream.

To do this, I wired in a web service called Textmarks into this blog. Essentially Textmarks provides a neat gateway between SMS and http where you can send a text with a keyword that can fetch the contents of a URL for automated replies. My current plan is to text short messages that will then become blog post titles with no bodies. This should create a Twitter-like experience for anyone using an RSS reader, and for those that don't, a simple refresh of the main page of the blog ought to provide a running stream.

I thought about having each of the SMSes update just one blog entry to minimize the noise on my RSS feed, but it occurred to me that this would break the way that RSS is supposed to flow content around the network. Also, asking people to subscribe to an RSS feed tied to one blog post seems a little goofy.

Instead where I decided to get was in adding an email-to-post mechanism where I can send an email with a photo and some text to a particular Gmail account that then generates a blog entry with the picture parked at Amazon's S3 (I could have used Flickr but wanted to play around with S3). Most mainstream blogging platforms have email-to-blog so there is nothing really novel in this (we had a little-publicized feature at Tabblo that did something similar that I loved, however it didn't survive the move into HP's datacenter); what really struck me about the exercise though was how relatively simple it is to wire together all of these pieces. In a couple of hours it was easy to speak IMAP to Gmail to get my photo and text out, use S3's relatively straight-forward HTTP interface to deposit the image, get a fast and (hopefully) reliable Textmarks SMS-to-web bridge and composite the whole thing as an entry into my blog for general consumption. For distribution, RSS does the rest. As a nice bonus, I've also used the Twitter API to put pointers to the stuff that will go up here into my Twitter account, though in a non-blocking way as the service will most likely suffer another outage tomorrow.

In this great new world of the web, these experiments are relatively cheap. Most will fall way short of being useful, but I suspect that it is only by messing around with all of these pieces in a loosely coupled way that we'll bump into something really interesting.

On to WWDC...

Tags: , , ,
0 Comments

Amazing feats of Javascript

Posted by Antonio 1 month, 2 weeks ago (June 7, 2008)

Javascript runtimes hosted in the browser are in the air.

A few weeks ago, I was blown away by John Resig's "side project" implementation of the Processing language in Javascript. I'd heard a lot of great things about Processing as a learning and visualization language but hadn't really bothered to look until I saw that John had more or less shoehorned it into browser, graphics and all.

Then this week, some Objective C fans came out with a Keynote clone that is also amazing not necessarily because we need another online presentation tool, but because its implementation was done with something they created called "Objective J" which seems to be a port of the Objective C language to the Javascript runtime.

(Both Objective J and Processing.js are actually translators in that they take the respective source languages, Processing and Objective C, and generate Javascript that then executes in the browser).

It's amazing that we've got enough CPU cycles to spare for this kind of thing. Layers upon layers of abstraction with pretty good performance to boot. And if that wasn't enough, the hackers behind WebKit are doing some crazy mojo to speed up on of the leading Javascript implementations out there— using techniques borrowed from all of the VM research of the last 30 years that have traditionally been applied to JVMs and the .NET runtime.

Maybe it is because I'm getting old and stuck in my ways, but I have little to no interest in learning Silverlight, Flash/Flex, or any of these other rich runtimes that vendors are trying to jam into the web. For a long time now, Flash has had its place, but it strikes me that improvements in technologies like the Canvas widget, CSS, and the speed and robustness of the Javascript runtimes are encroaching on Flash's long-time sweet spot and that at the current rate, it won't be long before it gets relegated to the role of media player.

Yay to the web becoming the platform to rule them all!

Tags:
0 Comments

On "closed platforms" and the openness check valve

Posted by Antonio 2 months ago (May 25, 2008)

A semi-local yokel, Jonathan Zittrain (from Harvard's own Berkman center) made headlines a couple of weeks ago with the claim that all of the devices which we are most excited about (Blackberries, Xboxes, and even iPhones) are actually wrecking the fabric of what has made the Internet such a fantastic substrate for innovation: its openness. Making a distinction between what he calls "generative" platforms, where users can improve the basic function of the platform through open extension points like the Win32 API, and non-generative ones that are built on the back of closed service/appliance loops that only the vendor in charge can control, he argues that we consumers need to be careful of becoming too star-struck by our smart devices.

I prefer to think that these semi-closed architectures actually exist for a good reason (beyond vendor lock-in of course): to allow for the creation of user experiences which delighted instead of frustrate (think of the iPhone versus just about any smartphone built of the "generative" Windows Mobile platform). More importantly, even the most closed of vendors understand that it is imperative to build in check valves for openness into the appliances they make: this is why the iPod can be side-loaded with ripped MP3s and the iPhone can be extended with Safari-powered webapps. Imagine either device losing that capability. Even Amazon's much more closed Kindle platform (more below) accepts arbitrary content through an email endpoint, albeit one that exacts a $0.10 toll per article thanks to the need for Sprint to get paid.

And speaking of those pesky operators, this morning I read a piece by Joi Ito arguing that the mobile Internet may not be such a great place for innovation, mostly because it is controlled by a few carriers which flow profits into a small ecosystem of vendors, whereas on the open Internet, anyone can play. I agree that where network-related profits are concerned, this is the case; witness the rise of all of those 1990s style telecom equipment providers to see how tightly this particular profit pool can be controlled. But this control doesn't mean that network operators can avoid the open check valve existing in their offering as well— in fact, by the very nature of the service they provide, it is baked in. So long as we users can treat them like "power, ping, and pipe" providers (something which has only recently emerged in the US with number portability and unlimited data plans), I'd bet that they will soon find themselves in the unenviable position of the Comcasts and Verizons of fixed line broadband, competing mostly on speeds and feeds.

Call me an optimist, but I have a hard time seeing how in the era of Makers and blogs/wikis/online communities, any of these emerging Internet platforms and data services are likely to lead us to a point where suddenly discover ourselves trapped, incapable of finding the right extension points for what we might want our devices to do. And not only because of the current zeitgeist (we are now the Tivo generation for everything!)— rather, the main reason why I don't worry is because fundamentally the business models used by these platforms are aligned with what we users want: if Apple tries to screw us too badly with a closed iPhone ecosystem, we simply won't buy their devices (incidentally, this is the #1 reason people give me as to why they are not buying Kindles, because Amazon is exerting too much control). The unit of value is the device or service and as users we have to continue to open our wallets for them to continue to succeed. And fortunately for us, in most of cases today, unlike the 90s Microsoft monopoly, we've got credible choice.

If people want to be paranoid of vendors, I'd be more likely to point to places where the user and the business model get cross to each other, as in the case of the user need for data portability and the business of advertising in the recent case of Facebook screwing Google and its FriendConnect. Because they are fundamentally selling targeted advertising, Facebook is likely to do whatever it takes to keep their users' data siloed, and in the process it is the end user who loses. Today this is too abstract for most regular folks to really grasp (though Scott Karp's piece does an excellent job of laying out the key issues), but it is worth keeping a much closer eye on that the emerging connected device platforms.

In the meanwhile, just keep a close eye on those openness check valves.

Tags: , ,
0 Comments

The best book I've read in a long time: on Daemon

Posted by Antonio 2 months ago (May 19, 2008)

An observant friend recently heard me on a tear about the surge in historical fiction and commented that my one of my favorite genres, science fiction, was nothing more than forward-looking historical fiction. While this did not cause me to run out to read The Other Boleyn Girl, it did make me wonder why I like scifi so much while having so little patience for the Victorian era. The answer I believe, comes down to the fact that science fiction paints a world that might be rather than one that was, giving us a glimpse into what is around the next corner.

But if this is the metric for success, the science fiction that is closer— often not even called science fiction but other goofy names like "the techno thriller genre"— should appeal more to me. And indeed it often does so long as it doesn't suffer from the fact that it can get really tedious and boring. I remember first discovering the novels of Tom Clancy (which noone in their right mind would consider SF until you get into the military tech stuff he covers), only to be bored to tears by the fifth description of the classified radar system and the nth military acronym (Clancy should have worked at HP where the alphabet soup rages on).

I've just finished a book though which gets right to the core of what makes near term science fiction work really well; it is called Daemon and is written by Leinad Zeraus (more on that weird name later). I don't want to ruin the plot by writing about it here; suffice it to say that this is the best scifi/technothriller/whatever that I have read in a long time. The plot is spectacular, the characters are believable as hell, and best of all, the author starts from a landscape which is very much rooted in today's world and slowly brings in bits of the future in a way that is both believable and staves off the eventual Clancy-esque or Crichton-esque narration that ends up sounding like a parts list for what's hot in Popular Science this month.

During the first dot com boom, I ran into several folks who would brandish dog-eared copies of Snowcrash and talk about how the net was going to bring this world into being "very soon now." A decade later the world that Daemon paints to is much closer at hand. For instance (and this is the one plot spoiler): massively multiplayer online environments, GPS-based overlays into the physical world, hijacked servers, and private equity run amok all figure prominently in the plot— and the way in which they each do is imminently believable.

A word on the strangely named Leinad Zeraus. It turns out that this is the pseudonym of Daniel Suarez, a DB consultant in the Valley who self-published the book through Amazon's Lightning Source partnership. Of course you can't tell any of this from the end-to-end experience: the book can be seen on Amazon and comes via Prime looking like a standard paperback, but according to a recent piece I read in Wired, Suarez and his wife published it and used all sorts of good Web 2.0 tactics to get the word out (getting a pseudonym with good Google juice, reaching out to A-list bloggers) after being turned down by a bunch of folks in the "conventional" channel.

William Gibson is right after all: the future is here; it's just not widely distributed.

Tags: ,
2 Comments

The usefulness of online video

Posted by Antonio 2 months, 1 week ago (May 12, 2008)

For me, the power of YouTube has always been about one thing: being able to bookmark pieces of interesting mainstream content that could then be forwarded around in email. For every genius amateur video I've been sent, I've had 5 young Asian guitar virtuosos and 100 SNL skits, Simpsons scenes, or Daily Show interviews. Giving chunks for television permalinks seemed novel enough— the next step in the evolution of Tivo even— even if it wasn't the best thing since the web itself.

In fact I've always been rather sanguine on the prospects of embedded video on web pages (mostly because of the linear consumption challenges that come with any form of rich media). Recently though, I've seen two great uses for embedded video that have brought me back to the conclusion I came to after seeing the New York Times's annotated Obama speech: that video online is more about interface and context than it has ever been on any other screen.

The first, TimeTube, is a brilliant reworking of the standard online interface for consuming video that YouTube pioneered and everyone else copied. Recently I heard an entrepreneur defending all of the cloners of this interface because of the fact that "people are used to it now and find it familiar." However, it only takes 5 minutes of playing around with TimeTube to realize what bad interface designers the YouTube guys were, and how much more is possible when mixing links and videos.

disassembledI ran into the second example while performing surgery on my Macbook this weekend. It has now become a yearly event for me to switch out my laptop's hard drive (usually triggered by yet another amazing doubling in HD capacity at a given pricepoint), though I usually loathe the experience of coming to the end of a two hour wrestle with 5 extra screws and no idea of where I should have put them (I've done this now across 3 different laptop models with +/- 3 screws no matter how hard I try).

This year I decided to follow one of the videos that the nice folks from OWC put up for changing various Mac parts and the result was a neat case of the linearity of consumption of video actually helping by guiding me in realtime as I dissected and then reassembled the MacBook. I had to pause and rewind a little in a couple of places, but the overall process was much smoother than its ever been before, thanks to the power of being able to do it alongside my virtual repairman (in fact at one point he got a little stuck, I got a little ahead and somehow managed to miss disconnecting some important cable leading to the laptop's flux capacitor).

I used to think that the bright future of all online video would come when computers could extract meaning from video files and present us with indexes that let us randomly seek to the relevant points, but this week I was again struck by how much usefulness we can still get out of proper contextualization and solid interface design. Go look at TimeTube and think about how this kind of an interface for video navigation could be used to teach more important things than hard drive replacement if you have any doubts.

Tags: ,
0 Comments

Mind bending Javascript

Posted by Antonio 3 months, 2 weeks ago (April 9, 2008)

For anyone who works on the web and grew up in the 80s playing the original Nintendo Super Mario Bros. who wants to have their mind bent (in a good way), go and check out an implementation of the game in pure Javascript, downloadable as one 14kb file!

It is a true sign on how many processor cycles we've gained in the past 25 years that this can be done in a high-level language meant to execute simple web scripts.

Whenever I see folks on the bleeding edge of web development pushing the envelope like this, I think of that old Apple commercial that celebrated the crazy ones who just "think different" and show the rest of us how much is starting to fall under the realm of the possible.

Update: John Resig has done a great dissection of how the data is packed in one file.

Tags:
0 Comments

More on the SSB thing

Posted by Antonio 3 months, 2 weeks ago (April 7, 2008)

My love affair with site specific browsers has ended up a casualty of its confrontation with reality. As TechCrunch is getting ready to spin up the notion of Desktop/Web hybrid applications as the "New Old Thing," I figured it was time to point out the big hole that I did not realize until I started playing: managing security can really get you.

My interest in SSBs was borne out of two recent events: 1. that at HP there are now lots of people looking at this question of the Next Big Platform for application development and 2. that in my time here, I've also been forced to abandon Mail.app/IMAP for Gmail on the web due to all sorts of Firewall/IT complications and I've gotten tired of not having better desktop integration (drag-and-drop attachments, Ctrl-N for new messages, etc.). Figuring that I might be able both of these things from something like a Greasemonkey-enhanced Gmail, I started playing with Firefox 3 but quickly moved to Fluid due to the fact that Firefox was running like a resource pig on my Macbook. One of the apps mentioned in the TechCrunch piece cited above, Fluid does a great job of integrating a bunch of open source projects, specifically Webkit (great renderer), GreaseKit (Greasemonkey for Webkit), and Growl (desktop-level notifications). Together, I was hoping these three might let me get my drag-and-drop and keyboard shortcuts back. Or at the very least, give me a glimpse of the future of the desktop/web integration nirvana that everyone keeps theorizing about.

Unfortunately the black magic of this type of integration completely sidesteps the fact that you can quickly open up security holes worthy of trucks being driven through, especially around providing desktop-level Javascript access to the execution context of externally loaded Javascripts. In fact, even in the early days of Greasemonkey this was obvious to folks brighter than I and as a result, a whole re-architecture of the way Greasemonkey injects the local context into running web pages was needed. In the case of Greasekit however, the author felt it wiser just to pull out all of the GM_ objects that provide some of the more powerful features something that Fluid suffers as a result of.

Some of these issues can be overcome but an early brush with a big old security hole (that would give a malicious script access to my entire filesystem) got me back to thinking that we might want to wait to see how some of the big boys solve these problems. Because at least they have people whose jobs depend on not opening up huge security holes (then again, Microsoft has proven that this doesn't make a huge difference in the end).

So the romance is gone for the SSBs— at least until we a better handle on how to properly implement a security model that still exposes us to the cool guts at the intersection of the desktop and the web.

Next up: bookmarklets and AIR.

Tags: ,
3 Comments

The client side of cloud computing

Posted by Antonio 3 months, 3 weeks ago (March 31, 2008)

So Google has finally used its offline shim, Google Gears, on the second of their apps, enabling Google Docs to make word processing offline a reality. Big single hand clap for the boys from Mountainview: we can now rely on the cloud platform to do what MacWrite did for us 24 years ago and only a year into the whole Gears thing!

I am only half-joking here. Despite the fact that this move to the cloud is probably the biggest platform shift in computing since the rise of the PC, I'm a little surprised at how the big boys' client stories are moving. For instance, Google Gears has been in beta since last summer and we've still got no support for Safari and little use inside of the Google application suite. Where is offline Gmail?

And as far as the "rich runtimes" are concerned, I remain unimpressed with the minimal offline value they bring. For example, I've been playing with a couple of the Adobe AIR Twitter clients, the best of which seems to be Twhirl, which still feels more like web widgets pasted into the desktop. In fact, the only thing I can say about all of the AIR applications I've played with is that the best of them feel like Winamp did back in the late 90s— sort of "different" for the sake of being different.

Lately, I've been thinking much more about the client side of the cloud enabling real desktop applications to make a comeback, but with the bulk of their interface being painted inside of an AJAX-enriched web browsing experience. This was why I am growing more excited about SSBs (Single Site Browsers) and also why I'm fairly intrigued by the growing popularity and portability of Webkit as a rendering engine. When combined with self-updating frameworks like Sparkle or easy Greasemonkey integration from projects like Greasekit, we might just be starting to see the outlines of the client side of cloud computing.

It's interesting to see that while the elephants are dancing in the room, we might do well to pay attention to some of the small mice scurrying about.

Tags: ,
1 Comments

Wrap me some hardware around that app!

Posted by Antonio 3 months, 4 weeks ago (March 28, 2008)

I attended one of Scott's Nantucket Conference dinners last night to chat on a panel about how Boston tech companies can get better at going after the consumer and thoroughly enjoyed the distinctively hardware-focused crowd that Scott assembled (present company excluded).

As the web becomes more pervasive in everyone's lives, it is hard to imagine that our main interface to it will be governed by laptops and mobile phones, which is why there are a small group of us who've grown up on the web who believe that the next generation of successful consumer startups will be forged at the intersection of hardware, software, and services. Of course this statement is anathema to today's VCs who hear the word hardware and think of the millions of dollars that they would have to invest to get a product with the fit and finish of an iPhone. In reality though, looking at it from this perspective is like looking at the enterprise storage startups with EMC as the yardstick, or the semantic search startups from the perspective of Google. Every jungle has its own 800lb gorilla and it's important not to assume that just because you've got hardware involved you can't be a small nimble monkey.

Witness Bug Labs. Or even the Arduino community effort. On the panel last night, the highlight for me was Carl Yankowski, CEO of Ambient Devices and former senior exec from just about every company that's ever wrapped plastic around a chip. When I asked the panel how being in the hardware business with its relatively long product lead times, they could ever hope to achieve the same tight feedback loop that you get in building webapps, he told me that in his view hardware and software development had gotten to parity in terms of time-to-market, capital investment, etc.

Carl YankowskiWhile this may be hard to believe in products as complex as the iPhone, with Carl's current products at Ambient, this fast pace can be a reality. In the picture, he is holding an umbrella whose flashing LEDs communicate Accuweather information about the chance of likely precipitation (you can't see it from the picture but it was blinking at Cylon speeds last night).

The simplicity (or "dedicated purpose") of these products really does point the way forward for injecting network intelligence into things beyond the three primary screens in our lives (the PC, the TV, and the mobile). The elusive hunt for a generic "4th screen" on the part of investors and entrepreneurs seems to yield a number of dumb photo frame investments (trust me we see them when they run out of cash and want to be bought), or at best, products that are fundamentally flawed in their attempt at flexibility (witness the Chumby).

To borrow another one of Carl's insights last night: it's about wrapping hardware around individual applications (email, weather, sports scores, etc.) if what you are looking for is mass-market traction. To this point, I enjoyed hearing his stories about his time at Palm and particularly some of these hardware-wrapped applications that didn't see the light of day. It reminded me that there is indeed tons of opportunity to wrap a few more applications with net-intelligent hardware.

Tags: , ,
1 Comments

Rich Internet Browsers

Posted by Antonio 3 months, 4 weeks ago (March 27, 2008)

Almost one year in, one of the biggest surprises about my new execujob is how little I've come to like the senior "technology architecture & strategy" discussions that I'm invited to sit in on. I had originally thought that being at the biggest tech company in the world would provide some unique perspective on the hot topics of the day (cloud computing, green computing, the semantic web, the blurring of the desktop and the web) that you wouldn't get out in the wild. In reality all I've done is develop an ability to breathe in really shallow atmosphere situations, as most of these discussions take place at such high altitude that I've taken to bringing Kleenex in order to stem the nosebleeds.

Naturally one of the hottest topics these days is the definition of the runtime for the next generation of Internet applications. With Microsoft and Adobe and their vendor sports death match (Silverlight versus AIR) fueling most of the recent debate, and Google/Yahoo/everyone else who matters looking to get more life out of the heavy server/light browser architecture that has become predominant over the last 10 years, it should actually be an interesting discussion.

But alas at 100,000 feet, all of the platform tradeoffs look like small dots in the distance. Everyone's got their favorite example: Microsoft is pushing the whole rich interactivity concept with their zoomable Hard Rock demo (and upcoming Olympics Silverlight-based coverage), and just today Adobe has entered their canonical example into the ring with Photoshop Express. I'm personally much more interested in every day applications that regular folks have gotten used to compromising on, either in their desktop version, or in their browser-based one. Apps like: email, instant messaging, or even word processing.

When considering the web versions of these guys, everyone gravitates towards the offline story because that is the place where the current generation of web-based applications falls down most dramatically. However, with every browser vendor embedding SQLite and efforts like Google Gears well underway, and with the ever expanding reach of the network into every offline nook and cranny, it is unlikely that this will remain a problem for much longer.

Where there tradeoffs get more interesting however, is when it comes to desktop integration. It is ridiculous that 24 years into the evolution of the GUI, the browser makes us take a step back when it comes to simple things like uploading files to a web service or slightly more ambitious ones like integrating across applications. Yet that is exactly where we find ourselves today.

To see how much I missed proper desktop integration in my everyday consumption of one of these apps (Gmail), I recently downloaded a $25 OS X program called Mailplane which puts a very thin rich client wrapper around the Gmail experience. Ideally this is the kind of thing that Google itself could build with something like AIR or Silverlight but while those guys take their time getting to the useful applications (instead of the eye-catching ones), I figured I would skip to the blended desktop/web future by tinkering with Mailplane.

My conclusion (after two weeks): integration really does make for a much better experience. Here are the things that Mailplane does that make me feel happier:

1. All of the standard keyboard shortcuts work as you would expect (i.e., command-N gives me a new message)
2. Inter-application stuff works as expected as well (i.e., "Mail this link" opens a new message in Mailplane with the link in the body)
3. Notification works: on OS X, the incredibly useful Growl notification system can show incoming/outgoing messages like Outlook does along with the icon in the Dock showing the number of new messages)
4. File attachment works as well: unlike the goofy behavior that most web browsers implement when you drop a file on them (to open said file), dropping a file into Mailplane results in it being attached to the outgoing email. This is a huge deal, especially as we rely more on apps and less on the Finder/Explorer to wrangle our data.

There are two downsides to Mailplane. First, because it spins up a separate process with a browser in it (an embedded version of Webkit), it does consume RAM galore, especially in an AJAX-heavy webapp like Gmail). More importantly however, it is a traditional desktop application which means that in this case you have to pay ($25 per seat seems a bit steep in today's world) and that your app preferences are ghettoed in the client computer that you originally installed it on. Ideally, the rich runtimes would help to solve both of these problems.

While researching whether there might be something better out there that might address some of these shortcomings, I ran into this Mozilla Prism inspired project, Fluid, which allows you to create site-specific browsers that approach some of the same functionality that Mailplane provides (through the embedded Greasemonkey functionality). As I played with this "Site Specific Browser" approach however, I found that I wasn't getting enough of 1-4 to make it any better than keeping these webapps in separate tabs.

Here's what I'd love to author of Fluid to do (or some other such force out there on the Lazy Web): wrap a Javascript API around each of my points above so that if a website (or even a user via the built in Greasemonkey functionality) wanted to implement notifications or file uploads or whatever, it would be as easy as testing for the presence of the objects in Javascript and writing to their Javascript API. With a little luck, and a Windows version, you might get some serious traction with a project like this.

I first heard about this custom browser approach when Flock (remember the "social browser") first launched a couple of years ago and found it utterly idiotic that someone might replace their browser with one of these tweaked out custom jobs. But I've got to admit that using Mailplane has made me reconsider.

Or maybe it's just all of that lack of oxygen...

Update: It turns out that Fluid is making nice progress to exactly what I was asking for already as you can see from their developer page. The big missing feature for me at this point is webapps being able to register for keyboard commands (think command-N for new Message not new instance of Gmail).

Tags: ,
1 Comments

Sucking the ignorance out of mobile (on Boston Momo)

Posted by Antonio 4 months ago (March 25, 2008)

Mobile MondayTurns out that if you mess around at all with dynamic web applications on the iPhone, you will suck its battery dry faster than you can hum the little do-da-dee song that Apple plays on the commercials. Like a bunch of other misguided folks that come from the world of watt-sucking laptops and servers, I have been thinking that this has to do with the use of XMLHttpRequest to poll for new content. But as I learned tonight from a clueful engineer at the Boston Momo event (Mobile Monday), a gathering of folks of all stripes interested in mobile, it turns out that the using the radio to send/receive IP packets is relatively cheap from a power perspective, especially when compared to running the CPU at Safari-induced speeds or even keeping the display on for prolonged periods of time.

That alone was worth the trip to Momo, especially because in the aftermath of Apple launching the SDK, there seem to be loads of folks commenting on the lack of background processing for user-developed applications (supposedly the big Achilles heel to sanctioned development for the iPhone) in only semi-informed ways. For instance, this otherwise solid post mistakenly argues exactly what I thought: that applications that indiscriminately used the network to poll servers in the background would be death for the battery thus forcing Apple to impose the "no background processing" rule.

It struck me last night that there are two different generations of folks attending events like this Momo gathering that are in need of retraining as we all get ready to embrace mobile— at least here in the Boston area. On the one hand, you've got all of the enterprise folks; broadly speaking these are the Digital/Lotus people that came out of minicomputers and PCs and mostly bypassed the web in favor of sucking Fortune 500 companies dry with ornate pieces of "industrial strength" software that did X, Y, or Z (and whose market is getting decimated by the combination of open source and SaaS). Then you've got all of the web folk (where I'd put myself) who have grown up with the web at the center of everything they've worked on. In both camps however, the lessons of the last decades have never forced us to deal with power-constrained devices which require a whole new discipline around opening sockets, powering the display, or even just using CPU cycles to do something as trivial as running a web browser.

And power consumption is just the first step on this steep learning curve: you've also got much smaller screens and applications whose total use cases need to be measured in 5-30 second interactive chunks. Overall it's going to be a huge mind shift for hackers, product managers—makers of all types— especially as devices like the iPhone put mobile computing into the hands of mainstream users.

Very very fun stuff.

Tags: ,
1 Comments

Why the guy who invented the @ in email is not a billionaire

Posted by Antonio 4 months ago (March 23, 2008)

The Economist has a great piece this week on what will undoubtedly come to be known as the "Facebook dilemma:" the fact that social networking is both a fun and useful activity for most folks but utterly impossible to make money from. The piece effectively argues that just as with email and IM, the basic verbs and nouns of social networking (friending and the nodes of the social graph) belong in every network-aware application and not just inside of these monetization ghettos created by VC-backed companies in attempt to mine for the next Google.

Making the comparison between Facebook and the AOL of yesteryear is something that has come up before, but is a rather apt way to look at the problem. The rest of the "open web" will build in social networky features and as they do, Facebook's only hope of staying relevant is to open up at a rate faster than AOL back in the day (which their app platform certainly does not do today). But of course as they do so, they will simultaneously limit the choices for their eyeballs-based business models.

And that right there is the challenge with huge horizontal plays in the Internet space— the more broadly applicable they are, the more they need to be baked into the fabric of the Internet and not held hostage by monetization theories. And in the absence of alternatives to the advertising based business models (other than e-commerce which seems to help the likes of Amazon & eBay build out very horizontal platforms), this dilemma is unlikely to be resolved anytime soon.

Tags: , ,
0 Comments

On the data smelter

Posted by Antonio 4 months, 1 week ago (March 16, 2008)

Any self-respecting ManGeek ought to love a term I picked up from the Economist a couple of weeks in an article on cloud computing: data smelter. Apparently this is moniker used for the huge data centers that Google, Amazon, Microsoft, Yahoo, and others are building on the banks of the Columbia river in Oregon. Located in the middle of the cheapest power available in the US, the name data smelter is a play on the aluminum smelters that peppered the banks of the Columbia over the last hundred years, but it's also great because it hints at one of the most relevant facets of the cloud computing/web services revolution: the ability for new services to recombine data hosted by other services in novel and interesting ways. We haven't even begun to feel the true power of how transformative this loose coupling of data and processing is likely to be; today's "mash-ups" are barely at the crawl phase of development in what we are likely to see.

And yet, it's worth pausing for a second to think about the cost of the current smelting. The Economist piece cites the Google data center at the Dalles as requiring the power of a town of 200,000 people. Most of this wattage goes to power the compute cycles that Google requires to index the world's information, and in most cases these cycles are well spent by running hairy algorithms that apply the bleeding edge of computer science to extract order from chaos.

But this is not always the case. For instance, at Tabblo, a meaningful amount of our general web traffic comes from Google Bot or one of its competitors. This despite the fact that we have well-structured RSS equivalents that could be polled/processed in a much more efficient way. Ditto for all of the much bigger user-generated content sites— they too have a meaningful amount of traffic coming from indexing bots while at the same time providing feeds that might provide just as much information for searchers while using less bandwidth, fewer CPU cycles, and not as much overall smelting.

The few times I've read any luminaries from Google talking about the semantic web in any shape or form (RDF, microformats, etc.), they always pooh-pooh it with slights like "people don't want to deal in angle brackets all day." And until I started thinking about the energy implications of these data smelters, I was likely to agree— after all, we're all still suffering from the CORBA/DCOM hangover of the last decade where a few vendors bamboozled the entire industry into thinking that an overwrought solution for remote process data exchange was the answer to all of these coupling needs (watch the WS-* offspring for a modern-day equivalent).

But last week Yahoo played a potentially game-changing move with its pledge to support the semantic web standards (microformats, RDF, etc.) across all of its properties. As much I tend to write off Yahoo as roadkill on the Google highway, it's clear that a few folks there are still doing good things for the net and the planet.

If the other industry heavyweights are goaded into following through, we may end up running slightly cleaner data smelters in the near future.

Tags: , ,
1 Comments

RIP laptop formfactor: you served us well

Posted by Antonio 4 months, 1 week ago (March 15, 2008)

Though I am a huge fan of my recently acquired Macbook Air, having spent the last week digesting the implications of iPhone 2.0, and more importantly the SDK, I can't help but feel that the product form factor we have come to know as the laptop computer is about to get crunched by the smartphone in the same way that laptops have killed desktops over the last few years.

Let me start with the real strength of the Macbook Air: it's diminutive weight and slim shape. That these two attributes are enough to offset all of the other shortcomings (not nearly enough hard drive, barely enough processing, and no way to work for more than 3 hours at a stretch) says a lot about how much we care about portability these days. And yet there are still a whole bunch of things that are just too cumbersome and "disconnected" about the Air for me to feel as good as I should about a 3lb computing environment I could absolutely take anywhere. I want to love it but my heart has now been stolen by that lozenge-shaped computer traveling as a phone in my pocket.

"Stupid fanboy," I can hear you thinking, those crappy "smart" phones don't have the juice to run a real computing experience! For all who think that, I'd suggest taking a look at the iPhone SDK keynote, about 2/3 of the way through when the application vendors get paraded on stage to show their games/business apps/etc. built with the iPhone SDK. Ignore all of the Apple love and focus on the responsiveness of the UI, and the amount of "computing" taking place. Additionally, with rumors of the iPhone moving to Intel's new super-efficient x86 processor, I can only imagine that this will only get better— despite the need to protect that teeny little battery. And what Apple does here, you can bet Nokia, HTC, Ericson, and the rest of the 7 Dwarves will implement as well.

The other big criticism about the phone's ability to eclipse the laptop comes from the keyboard lovers— after all, no one could do anything other than consume media, send SMSes and reply to the occasional email on small keyboards, nevermind virtual ones like the one on the iPhone (which I am now ready to predict will win over the ant-sized keys of Blackberry like devices). Enter Nokia's Project NoBounds, an attempt to point to a world where our smartphones can easily pair themselves to larger displays and fuller input mechanisms (think how far we've come with Bluetooth headsets in the last 5 years and then extrapolate to displays). Were the gloried docking stations (anyone remember the old Apple Duodocks?) to become even as pervasive as iPod-equipped alarm clocks are today in most hotels, we'd have just enough infrastructure that most of us would be willing to take a chance and leave the laptop behind. And of course, you'll also come to expect one at work and a few scattered around your house.

Other trends that are going to push us in the direction of laptops being relegated to a niche similar to where desktops thrive today (CPU-intensive creative crafts):

Storage: For whatever reason, laptop drives have not kept up with the mushrooming demands of multimedia. I always buy the biggest drive I can get, and yet despite changing my laptop every 12-18 months, I'm always running out of space. So much so that most of my multimedia has already been split up according to file type— which is a horrendous PITA. I want a canonical copy of all of this stuff to live on some network-attached hard drive in my house with a backup in the cloud. Think Time Capsule + S3 with a nice usable layer of software to let me sync partial copies from my various portable devices. When this happens, we'll be able to really make the switch to flash for local storage (64GB won't seem small at all) which points again to the ability for the mobile device to become our primary computing device.

Closer physical contact with the rest of the world: No two ways about it, the ability to have a camera, location information, an accelerometer, and a net connection available within 5 seconds of taking a device out of your pocket constitutes a new platform whose real depths we have not really even begun to plumb. This is as true for frequent travelers as it is for people at the supermarket. And the funny thing is that even when these capabilities are brought on to the laptop to extend its term of service (witness the CMOS camera mounted on most portable computer bezels these days or attempts to add location aware functionality to laptops), they just don't yield as much use as you'd expect. Mobile computing is about user experiences that last 15-60 seconds and unfortunately laptops just aren't competitive under such stringent time pressures.

I love my laptops and have to really stretch my brain to think that in 3-5 years, I'll be looking back at this svelte Macbook Air in the same way that I saw the last desktop tower I ushered out of the house last fall. But it's coming and over the course of the coming weeks, I'm hoping to get some time to noodle on what the 15-60 second platform that will replace them is going to mean for those of us building the consumer apps of the next 3-5 years.

Tags: ,
5 Comments

Mythbusting vampire power suckers

Posted by Antonio 4 months, 2 weeks ago (March 9, 2008)

Fast on the heels of my energy-on-the-brain week in San Diego, I decided to run some experiments with my recently acquired Kill-a-Watt to debunk some myths about consumer electronics and power consumption. What follows is by no means exhaustive, but I figured I would write it up as it has frequently been the topic of lunchtime conversation at the office— with people arguing both sides of each argument as though it were politics and not simply electricity 101.

The basic statement that I was trying to confirm or disprove was that your computer/cellphone/ipod/etc. charger sucks electricity even when it is not connected to a device. Savvy environmental marketers have called this the "vampire effect" or the problem of "phantom power," and truth be told, after I first heard the term, I could never look at one of those cuddly black bricks the same.

KillawattSo I went around the house looking for as many bricks as possible, putting my Kill-a-Watt between them and the wall source of power and then connecting and disconnecting their associated devices. An aside: For those that don't know what a Kill-a-Watt is (pictured here), it's one of several cheap gizmos you can buy to plug between a given appliance and the wall to measure how much power is being consumed. I'm not quite sure how it works, but quickly testing it on both 60 and 100 Watt lightbulbs convinced me that it worked as billed.

The result: for each of the 13 bricks that I tried, ranging from a wireless phone charger to a MacBook Pro power adapter, the vampire/phantom thing is complete BS. The moment you disconnect the associated device the Watts measured on the Kill-a-Watt go right down to zero. Interestingly enough, this is equally true for low wattage chargers like the iPhone one (~1-2W while charging). It makes sense— after all I'm fairly certain that a fairly cheap circuit on the power adapter can get a good sense of load and just cut the whole power supply off if nothing is connected. As a funny aside, it seems that there is a whole category of "smart powerstrips" that are sold to protect the user against this bunk phantom power thing.

Since I had the Kill-a-Watt out anyway, I then went on to try to prove one of my own wacky theories: that you could actually conserve overall power when using your laptop at home by a) pulling the battery out when you were connected to the outlet and b) never leaving the machine connected after it was fully charged.

My theory about pulling the battery out went something like this: if a machine consumes X amount of power just to run, then also charging the battery at the same time must require X+Y power where Y is whatever it takes to charge the battery. And to point b above, even when the battery was fully charged, there would still be some amount of power required to trickle-charge, or keep the battery topped off.

However, in my very simplistic testing, it seems that with or without battery attached, my MacBook sucked in about 20-30 Watts pretty constantly (the variation being most directly affected by the display brightness). I tried it with 50% charge in the battery, 80%, and even 100% and it just seemed to hold constant in its power consumption in all cases.

Which of course leads me to wonder where the incremental power to charge the battery comes from. My current guess is that the Kill-a-watt does have some standard margin of error (that I didn't see with my lame lightbulb tests) and that this is where the incremental power to charge is being missed.

To end on at least one energy saving tip, for a typical MacBook in sleep mode, the cost of trickle charging is about 1-3 Watts which means that unless you are going on a long airplane ride the next day (or are a power hygiene freak who must have all devices at 100% charge all the time), you will save a little bit of power by pulling the adapter from the machine (though not unplugging it from the wall) when the little charge light turns green.

Whew, ok. With that behind us, I promise to get back to InterWebs topics tomorrow!

PS, if anyone knows of a relatively cheap device that can act as a Kill-a-Watt does but store data points over time for subsequent analysis on a computer, please let me know. My next set of experiments requires more than just eyeballing the display as the junk attached sucks power.

Tags: ,
4 Comments

A quick call on the Rich Internet Platform thing

Posted by Antonio 4 months, 3 weeks ago (March 2, 2008)

So we've got Adobe Air that just went 1.0 this week. Microsoft is coming on from a copy-come-from-behind strategy with Silverlight. Mozilla has got something going on, and Apple has got Webkit at the center of their whole device strategy.

So who wins in the web development platform war for the next decade? Which of these rich runtimes suck the oxygen out of the rich client world and give a nice evolutionary twist to what's been going on with the AJAX spruced applications? Or are Win32 and Cocoa here to stay?

I'm not a betting man, but if I were, it'd be DHTML all the way.

Why? Because at the end of the day we've got to think in terms of access devices. At HP we're living as primary beneficiaries of the move to laptops these days, but just as we've moved there from the desktops, I'm sure we're going to move to the portable devices (iPhones and others) from laptops. And in the case of these portable devices, why would you care about a really rich runtime? What matters is the data and how quickly you can get to it. Sure Air and Silverlight can run in these mobile devices, but the real question is: at what battery cost? And to what benefit?

I'm guessing that the DHTML model has got long legs to it— especially as the world comes to standardize on Webkit and all of the good stuff that comes with it. At Tabblo we've been totally biased towards it; at first because it was the only way to remain truly "platform neutral," and later because of the advantages it has given us in terms of embed-ability within other websites, other online experiences.

If I had to guess I'd say we've got a lot to squeeze from the web browser especially now that we've got a great canvas like Webkit. Even Firefox 3 with its much improved performance gives most of us room for pause as we think about the browser of the future and the world of mobile platforms.

Tags: ,
0 Comments

The Activity Stream-pendectomy

Posted by Antonio 4 months, 4 weeks ago (Feb. 25, 2008)

Continuing along the theme of custom readers for RSS streams, I can't help but notice that there has been a recent explosion in sites that do nothing other than aggregate the feeds of content that you (and others) create across various activities. It was a neat idea back when Jaiku implemented "add RSS feed" to their version of the Twitter timeline, but since then we've gotten Spokeo, FriendFeed, and now Second Brain to name but a few of the new entrants into this most meta of categories.

Given the ease and cost of starting an Internet property these days, all good ideas on the Internet automatically get a half dozen good implementations right away. In this case, everyone is trying to generalize the Facebook Activity Stream to work across all of the Internet (with "all of the Internet" being the top 10 user generated content sites of the Web 2.0 world). Having tried a couple of these, I'm not sure that they're going to work for two important reasons:

1. They feel too spare to work as places that people will actually log into. I can maybe see bunching up a load of feeds into one of these services for the sake of de-duplication and then putting the RSS feed directly into a regular reader, but I have a hard time imagining that I'd go to any of these aggregation sites as destinations in and of themselves.

2. It's not clear to me that even at scale, these utility sites will find business models that work for them. If Facebook can't monetize well with all of its supporting structure, why would a site that trades in just one element (albeit an addictive one) do any better?

If I owned one of these sites, I'd be thinking about repackaging these aggregate feed streams in formats that are not for consumption via a web browser, or even a standard feed reader. And the more heavy lifting required to shoehorn this content into some other format, the better. Where are the custom printed newspapers of feed aggregates? The photo frame slideshows that are actually compelling and not just teeny type doing the rumba on a screen that is 6 feet away? The spoken versions (read by the computer equivalent of Jeremy Irons) for consumption as podcasts? I have no idea how many different formats might actually work, but it's worth thinking about if entrepreneurs really aim to make stand-alone businesses here.

Tags: ,
4 Comments

The web as movement

Posted by Antonio 5 months ago (Feb. 22, 2008)

Driving up to New Hampshire in the midst of a blizzard tonight, I was captivated by the swirling snow and thoughts of how the web is quietly turning into a series of flows (blog posts, Flickr streams, Twitters, etc.). It has take many more years than I would have thought: after all, RSS first entered my life back in 2002 on a hot summer day when I made a stupid bet that everyone would be consuming their content via readers inside of 5 years. The two trends driving this evolution of the web: 1. the web as a communications/publishing platform and 2. the atomization of web content such that we care less about "page loads" of information and more about individual atoms (for instance, did you know that every tweet has its own permalink?)

Tabblo: Morning sun and fun
Perhaps the most thought-provoking piece of work on this whole transformation as of late has been Matt Webb's presentation "Movement" where he makes this point and more in describing a new interaction pattern for information (think interactive RSS feeds). His argument stimulates the grey matter because of the way that it makes you think about how the metaphor of the "web as movement" versus the "web as place" changes your expectations for the medium.

There are loads of other folks sniffing around this notion from different starting points. Some see web services as programmable data sources that the elusive mashup serves to recombine in new and interesting ways (Tom Coates did this one best in his presentation "A Web of Data.") Others see the new web being born out of the micropublishing boom (Twitter, Jaiku, Tumblr) where the constant update combined with the lightweight social network drives the main pattern of interaction. In both of these cases though, we are leaving behind the Geocities/Homestead/etc. view of webpages as static (or even semi-static blogs) and jumping on to the moving web, be whatever may.

It's a big shift— about as big as the one to cloud computing— so I'm not really sure of where it will take us. One thing I do hope however is that it lays to rest the notion of the "destination site" with its registration-based walled garden and constrained experience designed to chases money in the form of shifting ad dollars. Maybe Techcrunch's report of the stagnating Facebook traffic is a harbinger of things to come (though seen from the best possible light all Facebook is is one giant web-as-movement-reader).

I'm just kicking off the thinking about this, which is to say there is tons more thinking to do. At the end of the day this is likely to touch everything we do online: from how we communicate to how search engines index the web, from how we buy and sell to how we look for recommendations. All coming from billions of loosely joined little pieces moving...

Tags: ,
0 Comments

Keeping it simple

Posted by Antonio 5 months, 1 week ago (Feb. 16, 2008)

Despite my having grown to disagree with almost everything he writes, I have to admit that Paul Graham's latest essay "Six Principles for Making New Things" is a great read for makers of all shapes and sizes. In it, he makes an argument for keeping it real simple and not worrying about the fact that the world is going to call you an idiot for being overly simplistic.

Almost everyone that I've met over the last few years in the startup world seems to have fully embraced this new philosophy of minimalism. And even at HP, people with decades of experience in waterfall model software development seem to be getting hip to this jive.

However despite the love-ins for sans-serifs and single-function websites, it continues to surprise me how few people actually follow the philosophy in practice. I've come to believe that for most of us it's about how hard it is to stop listening to that voice inside your head that keeps saying: this is too trivial to be meaningful— I've got to put more meat on it. Management teams yield to it because they want to seem big and meaningful to the market, the press, and especially to their VCs. Engineers do it because they want to work on the "hard stuff" and because the "simple stuff" is somehow beneath them. And yet as Graham writes, time and time again we see the simple and limited winning in the market.

On a related theme, I recently finished listening to the audio book of Steve Martin's awesome memoir, "Born Standing Up: A Comic's Life," and was quite struck by how much his own creative trajectory follows the same path that Paul Graham writes about. Starting from magic tricks and canned one-liners, he spends 2 decades perfecting an act that becomes rich and complex only after thousands of nights playing to crowds of all shapes and sizes. My favorite part of the Martin book (outside the fact that he writes beautifully, reads with gusto and even plays banjo throughout) was seeing how much he was willing to work on what others at first called lame and unoriginal all the while following his gut.

And in fact that is the one thing that I would add to Graham's design philosophy for creative endeavors— that it is not so much about finding the simplest possible solution (though this is often the best place to start), but about listening to your gut very closely... and then not desisting when what your gut tells you leads you to something you're afraid will make you look like a simpleton in front of your peers.

Tags: ,
0 Comments

Book review: The Big Switch

Posted by Antonio 5 months, 1 week ago (Feb. 16, 2008)

Everyone is aflutter today about the fact that Amazon's web services, including its indispensable Simple Storage Service, took one on the chin with a multi-hour outage. Apparently the entire productivity-sucking swath of the Web 2.0 economy sputtered along with the outage (no profile pictures on Twitter— OMG!!) and folks started screaming bloody murder about the coming apocalypse.

Interesting that one of the first to report was Nick Carr, whose new book "The Big Switch" I just finished reading. The book's central argument is that there is a platform shift coming in computing that will be very similar to what happened with electrification, with computation and storage moving from a distributed model (loads of server racks managed by IT) to a centralized one (a la Amazon Web services) where a few vendors will run huge compute clouds that the rest of us will plug our applications/appliances into.

The book makes a great argument, though it could just have easily have been made in 50 pages instead of 233 (including all of the fab historical color around what happened during the big switch of electric power generation)— an argument which is no less compelling because of today's outage. The reality is that these types of glitches happen at all scales, and though they hurt a little more when its a big centralized provider (witness RIM's second big outage the other day), some economic forces are just too strong to fight.

But what the book doesn't cover well is the way in which opportunities for innovation move around when these big shifts happen. I was really looking forward to understanding how centralized, ubiquitous, and cheap electricity made it possible for a host of appliance vendors to invent whole new product categories around the home and office. And though Carr touches on just this, the extension of the analogy to the current computing shift falls flat with a lame discussion of consumer mashups, a brief tour of personal publishing tools available today, and some recycled speculation on how Google really is trying to build an omniscient AI.

I would have preferred a more nuanced parallel between the first mass-market electric gizmos and the new appliances of the centralized computing grid (i.e., the iPhone, the Tivo, the Chumby, even the bulk of today's laptops). After all, it is only when we start to think about how these new appliances that consume compute cycles from the cloud will change our lives in a permanent way that we can really pause and take measure of what outages like today's will really mean 2,5, and 10 years from now.

Perhaps that is coming in his next book...

Tags: ,
21 Comments

Getting back to the distributed Internet

Posted by Antonio 5 months, 2 weeks ago (Feb. 9, 2008)

These days everyone wants to grow a big cloud-based service with millions of users and billions of page views. Even Microsoft has got cloud-envy and wants to plunk down $50B to prove it. Unfortunately, most of us mere mortals have tons of trouble really getting these services to scale once we do get the users in the door. Things start to crawl, drives start to fill up, and before you know it you're Twitter with everyone biting the hand of the free service you've given them. Including this piece that argues for fronting Twitter with a proxy based of some sort of distributed hashtable thing.

While the caching/proxying thing has worked great wonders for most of todays super-scaled cloud services (YouTube, Facebook), I doubt it will continue to be the panacea for write-heavy communications applications like Twitter. Even the infallible Google seems to occasionally hit speed bumps with its venerable Gmail (which is not RDBMS-backed but is no doubt cooked from dilithium crystals).

It strikes me that the right solution to this problem is to revisit the notion of making distributed Internet applications work— but not the kind that have the service provider scaling across cages and datacenters. Instead what we need is to find models for using the "dark matter" of the Internet, namely all client computers connected to broadband connections and sitting idle for most of the day. NAT traversal issues and the mass-migration to laptops notwithstanding, these machines could be what is needed to help truly scale cloud-based services.

And even if all of those home/office PCs are too sporadically available, we could begin to rely on the growing number of personal accounts being created on VPS/shared hosting/Dot-Mac/whatever environments where each user is given some fractional part of a CPU and disk storage to do with as he pleases. This is why Wordpress's attempt at distributed Twitter, launched just a couple of weeks ago, is so interesting; most shared hosting environments provide a Wordpress install which means that with a little work (and some coordination between Twitter and the Prologue team), everyone can help take the load off.

There are "business model" reasons for why pulling off a hybrid implementation like this might prove difficult. After all at the end of the day, most consumer cloud services are valued by how many users (and more importantly user data and metadata) they are in possession of at the time of acquisition. Technical challenges aside, I am 100% certain that had someone pitched this approach to us at Tabblo back in 2005, we would have flat-out rejected it for all of the wrong business-model reasons. However, now that we are moving data centers though, I'm keenly aware of all of the terabytes of high-res image data that we must now shepherd across the continent when for most of what we needed, we could have done with a lot less (incidentally this problem is much worse for all of our bigger older cousins in the photo-hosting business).

Hopefully sometime soon we'll all get back to the original architecture of the Internet when it comes to this stuff— loosely coupled and distributed when it counts the most— and the scaling question will morph into one about writing large-scale distributed systems, a much more fun problem to work on.

Tags: ,
3 Comments

Hacking hardware

Posted by Antonio 6 months, 2 weeks ago (Jan. 6, 2008)

This is CES week which, ever since we were a struggling startup looking to stay alive in this space back at Memora, gives me the willies. Unlike most of the computer tradeshows, CES manages to feel polished and scummy at the same time— with vendors pimping their wares to a pulsating Las Vegas gluttony which never ceases.

This morning the New York Times had a piece which gives is me hope that consumer electronics may be getting some of that good old hacker ethic. The piece covers an open Tivo-like device from a company called Neuros that is "hacker friendly."

More significantly, companies like Chumby Industries and Bug Labs are going one step further by selling kits instead of finished products that can be used by folks to extend the reach of the net into the physical world.

I worry a little that the promise of hackability is a lot more powerful than what actually gets done. In the case of the PC for example, it was the shift from "kit computers" like the Apple I to the productized Apple ][, with its pre-assembled good looks and relative ease of use, that readied the entire industry for all of the software innovation that followed*. In my own case, I've dabbled with a number of Linux appliances over the years only to be disappointed by either too many bugs, or a lack of extensibility. My Chumby for instance, seems to be the net-connected version of a VCR clock, spending most of its days flashing the widget equivalent of 12:00AM (though I am hoping the official release will make this better).

That said, I'm still hoping that these kits will result in some useful devices that free us from thinking that the Internet is something we consume with a keyboard and a mouse.

* See the very awesome book, Fire in the Valley

Tags: ,
0 Comments

Some predictions for 2008

Posted by Antonio 6 months, 3 weeks ago (Jan. 2, 2008)

It's always good to start the first entry of every blog year with some predictions. Making accurate (and actionable) predictions is the chief currency of the entrepreneur in the technology industry (along with not confusing a long view for a short distance), so any practice in gazing into the crystal ball is a good thing.

new year's fireworks

The usefulness/pervasiveness of the web will really hit a tipping point this year: David Weinberger wrote a short piece for HBR called "The Year of Scale" which makes this point nicely. Everything from markets to expectations is now mediated by bits of information that we pluck from the ether on websites, social networks, blogs, tweets, etc.— whether we work and live in the medium or not. Of course Google plays a huge role in this augmentation of our own intelligence (as might Facebook and Twitter over the coming year), but so do web-enabled smartphones and the ever-increasing expectation that we can just "know" the answer to something.

Recently a friend told me that her 5-year old had defined Google as "where you go to find out what is true—" a sentiment that when expanded to the web itself, captures the zeitgeist of what is going on here. The next chapter in the story of the Flynn effect won't be written as the increasing ability to reason abstractly but by our ever-increasing ability to weave the information stream into making better decisions.

Smart, speedy, and portable interfaces frozen in hardware are now mass market: this is the iPhone effect, plain and simple. A couple of years ago I was writing that Apple should become the less-than-6lb. company ("if it weighs less than 6lbs and does computing, we rule it"). Last year they took the most important step in that transformation by launching the iPhone— but not because it's the sexiest product ever built, nor because it's a particularly good phone (let me tell you, it isn't!), but because it is the perfect embodiment of portable web consumption experience.

If the web browser itself could leap out of your computer and take the form of a piece of hardware that you could carry all the time, it could do no better than to look, feel, and behave just like an iPhone. From the huge screen to the multi-touch interface, every feature that makes it truly stand out boils down to delivering a killer web browsing experience (and the only real handicap, the pokey EDGE network is ameliorated by the Wi-Fi and will soon be crushed with a 3G rev).

Expect a lot more, and not just from Apple. Sure, Cupertino will ship the rest of the dev kit (which I still contend should be nothing more than an enhanced object model for mobile Safari that gives web developers access to the camera, the addressbook, any forthcoming GPS information, and the SMS message stream), as well as begin a whole load of experimentation with point-of-presence applications that mix the virtual world with the physical world. But everyone else will try their hand as well, starting with mobile giants like Nokia (where I am 100% sure some Finnish dude named Pekka is now tied to the bottom of a dogsled crossing the tundra for having missed the all-screen embodiment of a browser in a phone), and filtering down to all of the smaller venture backed startups crazy enough to do hardware (which I think should be all consumer-facing VC startups these days, but more on that in a later post).

And this mobile fever is not just about phones, but in fact about any small devices that help people better consume the web. For instance, I bet this is going to be a good year for MIT-spawned Ambient Devices which has always seemed like a glorified science project to me. Unlike digital photo frames or the utterly useless Chumby, Ambient has figured out that simple design, well-instrumented cues, and singularity of purpose can make the different between a gadget which suffers from the net-connected version of the alarm-clock flashing "12:00" (e.g., my Chumby), and a device that weaves itself into your everyday life. Physical computing is here to stay and 2008 is going to be a vintage year for it.

The Activity Stream will become hot as Hansel: I'm not sure whether it will be Twitter, Google's Jaiku, the Facebook minifeed, or something completely new from a random startup, but the notion that there will be streams of metadata that we'll share with each other in the same way that people share blog feeds today but on a much more massive scale is going to become a standard part of the way that people interact with the web, and with each other. I suspect Facebook has the lead today, mostly because its minifeed takes no effort to set up and is very nicely scrubbed in the application, but Facebook seems to be getting this walled-garden stench which may create an opportunity for a lighter-weight, more open alternative. Initial setup will remain the challenge for regular users (and may be why the platform vendors: Google, Amazon, Apple, and Nokia could win here, or at least do a bunch of cool M&A in 2008), but once people get used to living in each other's flows, they'll be no going back.

Those are my top 3 predictions for this year. A little more abstract than usual, but thinking at this level certainly beats wondering whether we're going to suffer from a global economic recession.

Finally, just to mark where I've gone wrong in this game in the past: I'm ready to throw in the towel on the unwitting blogger, the casual publisher, or whatever you call the regular person who does something akin to starting a blog. I've been looking for the mass market application that causes millions of people to sit forward and put the same level of effort that those of us that keep blogs do, believing that the right combination of ease-of-use and ego gratification could get people over all of the barriers, but I just don't see it. Micropublishing— a popular trend predicted for the mass market for 2008 by the pundits— may come the closest, but there is a point at which it's just not publishing anymore.

R.I.P, Mister Unwitting Blogger— you content creating bastard— we hardly knew ye!

Tags: , , , ,
0 Comments

We don't need no stinking database!

Posted by Antonio 7 months, 1 week ago (Dec. 14, 2007)

First they made it so that you didn't have to worry about disks with their S3 storage service. Then they took away the need to manage hardware and a colo with EC2. And now for the final piece: Amazon has just announced SimpleDB, a database hosted as a web service that application developers can plug into. Despite one curious choice, this is just brilliant strategy on their part.

Everyone who hosts a website that has any level of traffic spends an inordinate amount of time thinking about how to tune the database. And as with almost every infrastructure layer in the webapp cake, I'm fairly certain that 80% of this tuning work is just good RDBMS hygiene and adds preciously little "special sauce" to the core application. In fact this is why there are specialists in tuning MySQL or Postgres who bounce from project to project with the same basic bag of tricks.

If Amazon does it right, making a database scale is one time-consuming headache web application developers will never have to worry about again. But it goes beyond scaling too: backups, replication, failover— these are all common database chores that Amazon just makes go away.

On to the curious choice: no support for full (or even partial) SQL. I'm guessing that this may have had something to do with the complexity involved in supporting SQL on their super-scalable, super-distributed architecture as I'm fairly certain the Amazon folks realize just how much momentum SQL has in the web application space. And if anything holds people back from adopting SimpleDB (outside of potential uptime/performance issues), it will be the need to learn a new way to store and query data (albeit a very simple one).

A potential work around: open source libraries that substitute the back end of the most popular ORMs (Rails, Hibernate, Django) with the SimpleDB service. Now that could be a game changer.

Here's to never thinking about sharding databases again.

[Update: More info on the guts of this beast.]

Tags: ,
0 Comments

Internet architectures all the way down: some initial pre-thoughts on Android

Posted by Antonio 7 months, 2 weeks ago (Dec. 8, 2007)

It usually takes me hearing really clever smart (but crazy sounding) ideas three times before they begin to sink in. So hopefully, noticing them at two is an improvement. A couple of months ago, while attending a conference with Alan Kay, I heard him talk about how any new modern computer should be designed with "Internet principles" at its core. That is, the hardware and OS should be designed to support small isolated "components" that behave like nodes on the Internet, sending each other messages through a TCP/IP-based networking fabric even on the bus of the computer itself. Knowing that he is the perennial object & message nut, I filed his statements away as curiosities, thinking only that while his observations about how the unstoppable trends of virtualization and multiple cores as the base substrate for this fundamental change in the architecture of every individual computer seemed clever, the practicality of it seemed elusive.

After all, the stored-program, shared-memory, single instance computer exists for good reasons (simplicity, efficient, cost) right?

Imagine my surprise then while running today to the latest episode of the Google Developer Podcast (hit-and-miss, but pretty good as of late as far as podcasts go), the "All About Android" episode which basically described an implementation of what Alan was talking about in almost every aspect of system design: from the message-passing model for app interop to the way resources are described internally. It gave me pause for thought— after all, if resource-constrained mobile devices are being designed around these architectural principles by smart people, then maybe there is something to this notion of turtles all the way down, from the services we use from the cloud to the devices we carry in our pockets.

I think I've let Fake Steve with all of his Googletard ranting color my perspective too much, as I've paid scarcely any attention to the Android project. And truth be told, I wanted to write this before digging into it— after all, ideas are much prettier as abstractions, and Android seems to be one weird beast of a mix of things on the face of it: Linux + Java + Webkit, all on very resource constrained but heterogeneous hardware platforms. I mean, we're talking about serious potential for a fly in the transporter with this baby.

Still, it's the second time I've heard it, so time to pay attention...

Tags: , ,
0 Comments

Some thoughts on my new Eye-Fi and the cloud

Posted by Antonio 7 months, 2 weeks ago (Dec. 7, 2007)

Last year, a couple of us at Tabblo got a chance to get on the beta program of this really neat wireless camera card called Eye-Fi that automatically uploaded your pictures from your camera to your favorite photo site. The idea was very cute, and even as a beta, the implementation was very nice, so it was a fun surprise last week to receive the 1.0 version of the card in the mail. In the intervening year, the Eye-Fi guys seem to have polished their packaging and found great distribution for their product (Amazon, Walmart), while settling on a very sensible business model (sell the card at a slight premium to regular memory cards).

I like the Eye-Fi concept a lot and intend to give a couple of the cards out as Christmas presents this year. But after a week of constant use, I've been forced to rethink some of my assumptions about getting all of your content up into the cloud as quickly as possible, bypassing the PC at all costs.

While it is fun and sort of magical to see pictures just appear on your favorite Internet photo site (though arguably less now now that camera phones are so prevalent, especially those armed with awesome applications like Shozu), but the problem with getting your regular camera pictures sent automatically is that the mode of use for a typical digital camera these days is very much "ready, fire, aim" with most casual photographers using brute force as a substitute for innate skill, knowing that there is a nice editing step waiting inside of Picasa or iPhoto. When photos go straight to the cloud and into a service like Flickr (which is what I've been using with the Eye-Fi), that editing step disappears, which means one of two things happen:

1. you really frustrate people who might be following your picture stream on Flickr with twelve slightly different shots of the same subject in the same composition

2. you frustrate the hell out of yourself using a web interface to take on that first editing pass

Of course, #2 could all be fixed if Flickr were to support an IMAP-like protocol that iPhoto and Picasa could implement as rich clients to help you manipulate the photos and do the editing later (I have to admit that Flickr almost does this with their API today, but no mainstream clients have taken advantage of it). And in that case, having the data resident in the cloud where other applications could use it might justify someone using some basic algorithms around finding good unique pictures to solve #1 (I've seen a bunch of algorithms that do this very well with date-clustering and object detection inside of HP Labs, so this part is not science fiction).

In the meanwhile, it is worthwhile pausing for a moment as we all race to cut the venerable PC out of the content-device-Internet loop, and thinking about what we might be giving up.

Tags: ,
0 Comments

Layering the web full of goodness

Posted by Antonio 8 months ago (Nov. 23, 2007)

Doc has a characteristically thoughtful piece over at Linux Journal on the need for web service creators to be good members of the ecosystem and support APIs that allow data to be federated across services. He uses the example of his Flickr stream being usable at Tabblo (which is a testament to how good and ground-breaking Flickr has been in this regard), making the point that it benefits him as a user when all of us "vendors" play nice and respect both his data— and more importantly, his time. It is just plain silly to make him waste time with the asymmetry in broadband today, having to upload all of his stuff again.

I've written before on how business models that are at odds with this fundamental respect for the user are likely to be doomed (see all of the stuff on the roach motel), so here I'm going to take another angle. Data acquisition, whether it is importing contacts in a social network or uploading assets in a photo site, is just not something that we need to keep on re-inventing over and over again. Let me stick with the latter example for a moment: outside of the Flickr API, at Tabblo we have 7 other methods for ingesting digital photos. Each of these requires constant maintenance as its client environment/runtime changes, something that I think is just too much of a support problem for any small team to take on. And in fact, these days each of our rich uploaders is in some less-than-optimal state: from "outright busted" to "works most of the time."

Contrast this to Flickr which managed to solve the uploader maintenance problem by crowdsourcing it and letting passionate community members maintain all sorts of different clients with varying degrees of success. Not everyone can be a Flickr, but we should all be able to leverage their success, and instead spend out own cycles thinking about how to build the next layer of value.

That said, what I'm having trouble reconciling is how to build simple user experiences in this new layered and federated world. Imagine if we asked the average mainstream user who comes to Tabblo to go and register at Flickr, upload their photos there, authenticate Tabblo as a trusted service, only to then be able to get into their story-telling process. Nightmare, plain and simple.

One potential solution: I'd like to see a white-label services that could be wrapped by webapp builders for core pieces of functionality. To continue the upload example: why doesn't Amazon, or some enterprising entrepreneur looking to build on the cloud computing infrastructure at Amazon, build out a full suite of well-supported file uploaders, along with an associated S3-backed storage infrastructure for everything from photos to videos. By focusing on just the upload experience, this effort could just nail it for all the rest of us— building plug-ins for our favorite apps, clients for our favorite platforms, and even specialized hardware for events and community activities. In Doc's VRM world, such a company might even be able to charge the enduser a nominal fee for pipe and storage, so long as its service integrated easily with enough of the interesting webapps.

You listening lazy web?

Tags: ,
0 Comments

The world is a better place now

Posted by Antonio 8 months, 2 weeks ago (Nov. 12, 2007)


I remember the first computer I was given as a child as though it were yesterday. When I was 6, my dad bought me a Timex Sinclair ZX81 which was this funky little computer that had a built-in BASIC and BASIC statement macros that you could access through a modifier key. At the time we had both an Apple ][ and an IBM PC at home but that Sinclair was special to me because it was all mine. I would plug it into an old black and white television set in my room and go nuts programming simple text input programs that made me feel as though I was denting the universe.

Today One Laptop Per Child went live with its "Give One, Get One" program— a great hack of the idea of getting an OLPC for yourself. By paying $400, you actually get two— one that gets shipped to you and the other that ends up somewhere in the third world, making a difference for someone who would otherwise never get a computer.

I'm fairly sure that this is too advanced for my 5-year old, but I just can not resist getting this as his Christmas present. For starters, it's a great cause. The machine is also likely to be a collector's item sometime down the road. And may