Monday, July 10, 2006

On supporting the little guy

Before I begin: This is a rather long post in direct response to a post by Robert Scoble, a man who I admire, respect, and otherwise think extremely high of. However, I think he's doing a great disservice to startups with his post.

Over the last few weeks I've done some thinking about the relationship between startups (a.k.a. the little guy) and large companies (Google, Yahoo, Microsoft). I think I'm using Google for too much and too often. I need to use more startup software, where true innovation lies.

Let's look at how much I use Google: off the top of my head, I blog using Blogger, I search -- my Search History says I've performed 7,133 searches since April 20, 2005 -- with Google, I read feeds with Reader, I have AdSense on my blog, and I recently decided to begin using GMail. I'm sure I use more of their services I'm forgetting.

That's a lot of support for one company.

One thing we tend to forget in the midst of this it-costs-nothing-to-create-a-startup bubble is that the costs have also gone down tremendously for the big guys. In fact, it's probably cheaper for Google to launch a product at the large scale which is necessary than it is for a startup.

For example, let's look at Openomy. It cost virtually nothing for Openomy to launch. I already had a lightweight Linux server at a colocation facility in Chicago. The rest was just time -- time which was free during nights and weekends. That's how we got the prototype up -- for free.

Since then, it has cost considerably more. We needed to upgrade. We bought a cabinet and stacked it with servers. That costs money, but it's necessary for reliability and speed. When we reached 20,000 users, we realized we needed to start rearchitecting some things. That costs a lot of time that I'd rather spend on cool, new features. We'll have to continue to rearchitect as we continue to grow and thrive.

However, for Google, it's much different. They already have GFS. They already have BigTable. They already have MapReduce. They already have 450,000 servers at their developer's disposal. It would cost a startup a mass amount of money to get to that scale. But if Google releases a new product, they're at scale immediately because of the infrastructure.

Let's take a step back and remember how Google and Firefox became popular.

I remember first using Google while AltaVista and Yahoo still ruled the search landscape. The URL was backrub.stanford.edu and it was cool, but not worth my time yet. Then I remember a short time later seeing google.com. Google.com was much better than AltaVista for two main reasons: relevancy (because of technology) and design (because of the total lack of clutter and focus on the search experience). I switched because I supported the little guy.

Another thing happened: I started telling my friends and family. So did a lot of early adopters and influentials. Google became popular. Google didn't advertise; rather, early adopters supported the little guy.

Let's take a look at Firefox. Firefox has had just shy of 200 million downloads. Why were they so successful? One could try arguing it was because of the New York Times ad. I doubt it. Instead, it was the early adopters who saw the value in the little guy and told their friends. In fact, it was the early adopters who paid for that New York Times ad.

Get the picture? Little guys leave obscurity and gain popularity because early adopters support them over the incumbents.

Back to Google achieving scale on the cheap. It means Google becomes the place to go for web apps, even when they're inferior. And they can launch inferior products because it's so cheap for them (they can create something and fail without any implications on the bottom line). The problem is: the vast majority of average users won't care that it's inferior. If no early adopters are telling them to support something else (which they haven't heard of), then Google's inferior product is better than nothing.

Think of it as the equivalent of Microsoft's bundling applications with the OS.

If we don't support startups, innovation will be suffocated. Google has done well, but recently they've started lacking. It's a known problem with large organizations. However, at the startup level, there's still tons of innovation.

Take calendaring, for example. There's a reason I still use 30Boxes over Google Calendar: it's simply better. It has the right interface with the right technology and the right features for me.

We need to support each other, the little guys, in creating innovation and building better startups. If we don't, the future of startups could be in jeopardy. It's easy to point people to Google, like Robert does, but it's not the best solution. We must all look for the best solution. Then the community must support that solution.

I'm not saying I'm going to boycott Google anytime soon. Far from it. Like I said, support the best solution. Right now, there are three things Google is best at: search, web-based email, and monetizing your site. Besides that, though, the little guys still reign supreme. For those apps, I'll find the best and vehemently support them. I hope you do, too.

On that note: which is the best free web-based feed reader? Bloglines? Rojo? What about blogging platform? WordPress?

Tags: , , , , , , ,

Friday, July 07, 2006

Conversational Software Development: The Agile Software Development of Web 2.0

I've been meaning to write this post since hearing Martin Fowler's keynote at RailsConf. He gave a great speech, and while this wasn't the main thesis of the talk, it was something that stuck with me.

Paraphrasing, he said something to the effect of, "One of the other proposed names for Agile Software Development was Conversational Software Development."

I immediately fell in love with that term, because to me it conveys something totally different than that of agile development.

I may be the only one who thinks this (though I doubt it), but to me Agile Software Development stands for quick releases, quick bug fixes, quick turn around time, and writing easily maintainable software (test-driven, well-designed, etc).

But these are really just methods towards the end goals of Agile Software Development.

The real goal of Agile Software Development is to promote conversation. The problem with the Agile Principles is that you can tell it was developed by consultants. They talk about "business people" and "customers" and imply having meetings often ("face-to-face conversations" and "at regular intervals, the team reflects..").

In this new, Web 2.0, era of software development, the initial organization regularly consists of two geeks, one apartment, one idea, and zero business people. There is, in my opinion, also a deceivingly large difference between interpreting the person at the other end of the pipe as simply a customer versus a user. The former is often treated as someone who simply pays you money for a service. The latter is more likely viewed as a living being actually using and performing multiple and varied actions on your service. There are no meetings or face-to-face conversations with our customer. Rather, only logins and page views performed by the user.

So it is unsurprising that the notion of Agile Software Development has degraded to simply methods of producing software.

Contrast this with the concept that first enters your head when you hear the term Conversational Software Development. It immediately conveys the idea of talking and listening. It does not portray any notion of physical meetings, just a notion of learning what the user really wants. And this willingness to learn is the single most important feature us Web 2.0 developers can provide to our users. Unfortunately, most of us are not very good at this (yes, I'm raising my hand).

Hearing Martin Fowler speak so eloquently about Agile Software Development as Conversational Software Development really changed my thinking as to how to approach our software and what it really means to be agile (focusing on the goals, rather than the methods). Conversational Software Development is the Agile Software Development for Web 2.0.

Tags: , , , , , software

Thursday, July 06, 2006

What is AOL doing? (or, why AOL should be yet another start page)

Maurice and I were just arguing discussing the rumored AOL decision to open their software up to anyone (with broadband), for free, in an attempt to revive their advertising dollars.

Maurice thinks it's an awesome decision, but that they won't have the balls to do it. He'll write about it later.

I think it's a stupid decision and they won't have the balls to do it. Whether or not they do it, it's a dumb decision. The AOL software is bloated software that is unnecessary today.

AOL is not a great content company anymore. I remember back in the day when companies would advertise their "AOL keyword" rather than their URL. Back then, AOL was great for content.

Now, though, it does a decent job aggregating/creating content, I'm not putting them down too much. But, their real value -- at least within the software -- is creating a tightly integrated and extremely easy to use online experience.

For us geeks, it's hard to imagine that there are lots of people who still find browsing the web impossibly difficult and intimidating. But there are. As developers, the rule of thumb is "make it so easy your grandmother could use it." But face it -- we never develop it that way.

Over the years, though, AOL has done just that. It's still the easiest way for my grandparents to log on to the internet (and, in fact, is the way they log on). It was the place geeks told their grandparents "just use AOL and you'll understand it" when asked about the funny thing called the "internet" which they heard on the news.

Just checking out the Downloads section of www.aol.com, they're at AOL 9.0 for Windows. I think AOL 10.0 should be a web site.

The download for 10.0 should just uninstall 9.0 and then place a shortcut on the desktop to the URL of this new web site. The web site should be YASP (Yet Another Start Page) site similar to Netvibes or PageFlakes or even start.com, making the best of the AOL software experience available on the web. The technology is available for AOL to leverage the web for the below-average user (your grandmother), finally.

The current start pages do a good job, but none of them do a particularly good job with screen real estate. The AOL software, on the other hand, does. I'd like to see them port this simplicity and knowledge into the web. The real users of the Web 2.0 start pages are going to be the below-average to average users, not the uber geeks. It needs to be ultra-simplistic to set up and great use of precious screen real-estate.

Things AOL should include in their start page: Netscape top stories (Jason Calacanis wouldn't let them get away without it, I'm sure), email, content (read: syndication), search, mapping, finance, weather, other widgets.

If anyone has the know-how and the resources to understand below-average users, it's AOL. They need to stay ahead of the curve with this know-how, making it their differentiation factor. If they use AOL-esque simplicity and usability with Apple design to create the new start page for broadband users, they could effectively become the next AOL: the place where every geek tells every non-geek "just make it easy on yourself: go to AOL and everything will be understandable."

Tags: , , , , ,