More questions than answers from way out on the long tail

Zappos Doesn’t Suck

I first heard about Zappos when Mark Kvamme came to speak in a class I took at Haas. At the time I remember being surprised that such a high profile VC fund was so interested in selling shoes.

I ordered my first couple pairs of shoes from Zappos (for my son) yesterday, and I can say that it was an excellent shopping experience. The speed of the shipping was astonishing — I placed my order at 6pm Wednesday evening and had the shoes at my home at 9am on Thursday morning — and all at a price comparable to other retailers without paying anything extra for shipping (and apparently they will pay to have it shipped back if it doesn’t fit). I haven’t dug into how they manage to do this profitably (perhaps they don’t?). Zappos also does a nice job of both the search and browse functionality with all of the various slice-and-dice options I could think to use, and they have the most comprehensive pictures of shoes of the few sites I have tried out in this category — every shoe seems to have photos from every angle at a magnification sufficient to feel like you know how it will actually look.

Anyway, I figure such a positive shopping experience deserves some word-of-mouth and link love.

WebKit and Apollo: A New Wave of the Browser Wars?

[After writing this I realized that I didn’t bother to explain a lot of things to those of you who might not be web geeks — and really, if aren’t one you probably aren’t going to be interested in this topic anyway….]

I haven’t read a lot of the coverage of Apollo in the last couple days, but I have been following the project for a few months (I remain in the Macromedia, now Adobe, ecosystem from my ColdFusion development days). I think Apollo has some tremendous potential to unleash a new wave of products that will change the way we think about the distinctions between “web-based” and “client-based” applications. Apollo seems like it may be the perfect platform to build really great online/offline applications that interface with existing services — and with such an accessible yet rich and network-friendly environment for building client-side applications I think the uses of web services (in the SOAP/REST/etc. sense) will really start to mature. Time will tell whether penetration of the Apollo runtime can ramp quickly enough to make deploying such applications a no-brainer, and with all of the major investments in AJAX-based tools there will certainly continue to be interested applications deployed in “pure web” environments.

But, others have written at greater length with more thought on those topics.

What I find quite interesting but seemingly under-covered is that Adobe chose WebKit as their HTML rendering engine in Apollo. WebKit is Apple’s branching of KHTML (for those who know what that means I don’t need to go into details, and for those who don’t, you won’t care about the details). WebKit is what Apple uses in their Safari browser (and as the underlying set of APIs provided to all OS X developers).

I have been a regular Safari user more or less since I bought my first OS X machine in 2003. I have had a love-hate relationship with Safari. I love the way it supports RSS, and I generally find it to be a perfectly good browser — but, it can’t keep up with my browsing habits of having lots of windows with lots of tabs open. To be fair, when I have tried Firefox and Camino and Flock, all Gecko-based browsers, they also couldn’t keep up. The bigger issue with Safari is that given its low penetration many developers don’t bother doing QA on their sites using Safari, or, more commonly, make a conscious decision to not bother supporting Safari (especially for the initial launch of new companies). I now usually have both Safari and Camino open (and often another browser or two), using Safari as my “main” browser and Camino when Safari is being too slow or I run across a site that isn’t rendering properly in Safari (most developers these days will make their site work in Firefox — and Camino uses most of the same underlying technologies).

But, now that Apollo is using WebKit and Adobe is getting ready to throw some serious muscle behind getting massive adoption of the Apollo runtime (which you will need to install to use an Apollo application) the overall market share of WebKit should rise dramatically — perhaps so dramatically that developers will no longer be able to ignore it, creating three major platforms to support (Microsoft being the obvious other one) when launching a web-based service. Of course, with Adobe contributing code WebKit will also hopefully do a better job of being compatible with the way Firefox does things (and yes, I know that many in the WebKit community claim that WebKit is doing it the “right” way now — but, adoption matters more than standards in such disputes).

As a Safari user this is potentially a great thing because if Apollo takes off (as many think it will) developers will no longer be able to flash up their “You Are Using an Unsupported Browser” message. But, as a web developer, this creates yet another layer of debugging and support that will probably need to be addressed even for new applications. I remember when Microsoft was declared to have “won” the browser wars, and although few were rooting for them there was some sense of relief that we’d no longer need to worry about the vagaries of different browsers — with the ever-increasing share of Firefox and now the advent of WebKit in Apollo the browser wars seem to be heating up, albeit more quietly this time.

You Are the Web?

TechCrunch pointed to the video embedded below yesterday, and I think it’s a nice piece showing off the difference between web “pages” and the web as a means of delivering information. The video makes this a distinction between HTML and XML, but that seems like a detail beyond the larger point to me — in the end people don’t care whether what they are seeing was created as a static HTML page or dynamically generated with lots of AJAXy goodness. But, the broader point about the evolving nature of the services we use to free information/content/data from form is finally becoming commonplace. I also think it’s great this was created by a professor of cultural anthropology — that in and of itself, perhaps, proves the point about the enormous power the Internet is having on our society.


IM As UI

I am writing this from my IM client of choice (AdiumX) using a new service called IMified. Regular readers of this blog will know that I recently got back into some coding with SLIMBot — a package that lets you create commands you can invoke via an IM interface using the ColdFusion Event Gateway services. IMified is sort of like SLIMBot on steroids — or, at least, it’s something you could build most of using SLIMBot. OK, so it’s not really that related other than that they both are about IM as a user interface. IMified has built out a system that interfaces with a number of common web-based services and other things that have remote access (like WordPress — which is the IMified service I am using to write this). At first I didn’t like IMified’s menu-based approach, but when I found out they allow custom shortcuts to common commands I was sold — this looks like it could finally be the IM service that fills the gaping void in my workflow created when IMSmarter died.

SLIMBot — Coding is Fun

It has been a while since I wrote code professionally. I try to get my hands dirty once in a while mostly just to play with new techniques or new features, but I haven’t created any substantial code in a few years. The other night I started noodling around with the Jabber gateway in ColdFusion (a product I have used since its very earliest days over 10 years ago — my how time flies), and I hacked together something that might be of interest to others. So, I gave it a name, slapped an open source license on it (Apache License, Version 2.0 in this case), and put it “out there” for the world to see.

I call it SLIMBot — it’s a package that makes it easy to create an IM buddy (currently tested only with Google Talk, but it should work with any jabber service or the other IM services through a 3rd party XMPP gateway) that accepts “commands”. For instance, the sample commands I built are things like “weather” and “stockquote” — the one I actually find myself using on my test instance is the command “domain” that lets me check if a domain name is available and, if so, gives me a link to register it (or, if not, a link to see WHOIS information).

But, the idea is that people can use this to build out their own commands without needing to worry much about how all the bits and pieces fit together. For folks used to coding in CFML and creating components, it should be a snap.

Anyway, if you happen to be a ColdFusion developer and want to try it out you can grab the source at http://slimbot.riaforge.org. I must say it has been fun to write something that is more than a throw-away script, though I don’t think I’d want to go back to doing it every day. If I get ambitious, I want to create an IM-based “conference call” system where you can join private chats with groups of people by signing on with a code rather than needing to invite people in.

Once I get another iteration or two done I’ll set up a more public demo of it — any ideas for things you’d want an IM Bot to do for you?

Ahead of My Time, Once Again

A few years ago I was brainstorming business concepts with my brother, who is a brand manager at a very large consumer packaged goods company. He was encouraging thinking about things that could be made “premium” that had never been so before. My big idea at the time: premium ice. Yeah, that’s right — how often have you had tap water ice dumped into your otherwise pristine beverage? And yes, I’m aware that bottled water is Bullshit, but I must say that having moved from San Francisco to San Jose, I’m sorely disappointed with how the tap water tastes down here. Besides, I like to maintain my Purity Of Essence. Anway, the point of this post was that this crazy idea of premium ice has apparently become a reality in just about exactly the crazy way I had imagined by a company with the very creative name of Aqua Ice and other product called Ice Rocks (Ice Rocks ups the ante on snootiness by claiming their water is “secured”). I’m now rooting for these products, despite the fact that I long ago decided that premium ice was not a business I actually had any interest in. Guess I missed my window.

Hat tip to Kieran for pointing me to the WSJ article about this.

Pricing and Positioning: A Mini Case Study

Jeff Nolan’s post about DabbleDB and how it portends the much-predicted shake-up in enterprise software (the increasingly grating “2.0″ suffix is used here as “Enterprise 2.0″ by too many people of late, though not by Nolan) got me thinking about pricing and targeting of the various new offerings in webland. I have looked at DabbleDB’s site a few times in the last several weeks, but I haven’t yet delved into trying it out (navigating the dizzying array of web applications hoping to take over various office features is a daunting task to say the least). But, in looking at their pricing I couldn’t help wonder what the conversations that must have gone on behind the scenes were like. DabbleDB’s pricing looks like this (looks much nicer on their site):

Plan Personal Basic Workgroup Corporate
Price per
month (USD)
$10 $25 $50 $150
Users 1 5 15 60
Applications 3 10 25 100
SSL No Yes Yes Yes

First thing I noticed was no “unlimited” option. But, more importantly I got to thinking about whether $10/month was really worth it for me. Not a lot of money, of course, but given my predilections I could easily sign up for dozens of things that are $10/month on the web, so I have to be cautious. And the “try for 30 days” is all well and good, but you have to know what the price is going to be (and, to DabbleDB’s credit, they at least make it fairly easy to find out what it will ultimately cost after the trial period, which is more than I can say for many such web-based offerings).

Now, this post isn’t about whether I want to spend $10 — it’s about what this pricing says about DabbleDB’s view of their market and of their customers’ needs and value calculations. Notice that a “corporate” account costs an order of magnitude and a half more than the individual account. Seems like a big jump, I suppose, but in real dollar terms it’s not really that much different. I mean, if you really have a business where more than 15 people need to use these tools, is $150 even something you’ll think about as a line item? OK, so for many small businesses it will be, but my point is that the proportionality seems off to me. Of course, the very fact that the “Corporate” account is for 60 users and costs so little speaks volumes about the fact that DabbleDB is hardly going after the “Enterprise” market. No, they are yelling loud and clear that this is an SMB/SME play.

But, back to the price difference.

So, at $10/month per individual user DabbleDB is saying that they expect there to be a non-trivial number of individual users to represent any meaningful revenue. Or, perhaps they are saying they don’t want to go with a freemium model and give away the individual accounts because they don’t want the unwashed masses of individuals gunking up their support channels and such. I think the overall positioning implied here could hurt DabbleDB in the future. In some ways the mere presence of the individual option and the corporate option together on the same page, offering essentially the same thing, dilutes the message to both of those audiences from a pure targeting perspective.

So, at this point I figured I’d do something that most bloggers get critiqued negatively for not doing: I asked DabbleDB for their take on it. Avi Bryant was nice enough to share some of his thoughts. On the issue of whether they really want lots and lots of individual users, Avi had this to say:

We’re certainly not trying to scare anyone off. On the Personal end of the spectrum, we think the pricing is comparable to what someone would pay for other equivalent tools; how much is a single-user license of Filemaker, for example, and how much would you spend on upgrades every couple of years? It’s true that on the Corporate end we come in at a lower price point that some other options, and I can share some rationale there: we’re intentionally trying to keep the price down to a level where an individual could make the decision to purchase Dabble on a credit card rather than having to go through an elaborate purchasing process. We believe that keeps us focused on the real users and on improving the product rather than on selling to management.

So, their thinking is that on the personal side they’ll come in comparable to existing options but on the “corporate” side they will be cheaper, and his arguments for keeping the price point below a typical threshold for what a middle manager can spend without lots of nasty clearances up the chain makes lots of sense. Not sure how many single-user licenses of Filemaker actually get bought each year, but I have to believe it’s fewer than the number of customers that DabbleDB would really like to have. I suppose there’s an open question about whether a freemium model would work better here — get the individual hooked on their home applications, so they come back to work and get a corporate license for their workgroup.

On why they have no unlimited plan, Avi says:

If someone truly needs an unlimited plan, they should contact us - chances are they will have other special requirements as well, and it’s best at that point to work something out tailored to the needs of the customer.

Hmm — I have to say that since they don’t actually mention this option on their pricing page they are, whether they like it or not, positioning themselves entirely out of the “Enterprise” marketplace. Now, that’s not necessarily a bad thing at all, and given the way the entire DabbleDB site is done, I seriously doubt that the team is thinking that’s where they want to play, at least in the short-term.

So, what’s the point here? The point is that although I have no doubt there will be some uptake of DabbleDB, I think this will more than likely prove to be a case study in trying to be too many things to too many audiences and diluting the potency of your message for all audiences as a result. One of the most important lessons I used to try to convey when I used to work with people on issues of brand strategy and positioning (a topic I have been steeped in at a previous company but not something I can claim true expertise about) is that the essence of positioning is choosing what NOT to be — to choose which perfectly reasonable business opportunities you will forego in order to strengthen your business in your core market. The corollary is that this exercise requires balance lest you target too narrowly.

I have nothing against DabbleDB, nor do I want to suggest they are going to fail. I pick on them only because of a random blog posting I read and the very clear way in which they have laid out their pricing policies. The analysis here is quite cursory, of course, but the nature of blogging is often first-draft writing — even if it’s already too long.

Uses of the del.icio.us API

Although the use of mashups and other “Web 2.0″ API goodness has gotten a lot more buzz than it has actual sustainable business models, I continue to be an enthusiast about the shear spirit of creativity and sharing that such efforts exemplify. Tonight I came across this page with lots of different ways people are using del.icio.us. If you haven’t used del.icio.us, it’s basically just a way to store your web “bookmarks” on someone else’s server, so you can get at them easily from anywhere. Of course, it’s so much more than just that, but either you already know all about it, you’re not actually interested, or you can just go learn about it for yourself.

I have been using del.icio.us for a while, but I only really started using it as my primary way of keeping archives of links in the last year — spurred by a group project I was working on about “Web 2.0″ where we used the tag ucbweb2 to designate everything interesting to the group (and I was then able to have an RSS feed of the links with that tag — whether having an obscure “custom” tag was the best way to do this or whether we should have used the “for:” tag is certainly questionable).

To give you a flavor, here’s the “tag cloud” for the tags I have created on my account:

As an aside, it’s interesting to think about who the readership of this blog is, since most of you are, no doubt, so familiar with del.icio.us that it seems almost silly to have to explain it, but I know for a fact that there are a couple people who visit here that likely have never heard of it.

Do you use del.icio.us? If so, post a link to your account in the comments….

Journler Rocks!

I am writing this post from a very cool piece of software called Journler created by Phil Dow. Not only is Journler a highly functional journaling/blogging tool, it is a great example of why people love Macintosh software — great integration with iLife and various other OS X features and a beautiful, intuitive, efficient interface. As if that weren’t enough, it’s FREE. Assuming this blog post goes well, I’ll be making my donation today.

Hat tip to FreeMacWare for the pointer to Journler.

[UPDATE: although I still think Journler is a very nice application, the blogging features have left much to be desired. Of course, as freeware, there’s not much use in desiring new features — I had a nice interaction over email with the author of the software, but he doesn’t seem terribly interested in expanding out the blogging features of the program. The most obvious issue is that a “blog entry” is really totally separate from the journal entry — if you edit one, the other does not change. The “blog” feature is really just a convenience to post a journal entry to a blog once after it’s all ready to go (no editing of blog entries, for instance). Also, I like to write my blog entries in plain text and insert my own HTML when needed — you can do this in the “blog entry” screen of Journler but not in the main journal entry screen.]

Is Video a Bad Medium for Information Online?

I have spent a fair amount of time in the last year or so hanging out on YouTube, IFILM, Google Video and the host of other video sharing sites that have also recently emerged. I have also done some amateur video of my own with iMovie (a very fun thing to do — and something I used to think I would never have interest in). So, it’s safe to say I’m a fan of the new wave of amateur video — and let me be honest here: I’m a TV junkie. I manage to limit the amount of time I spend actually watching TV/online video, but I could, left to my own devices, flip channels (or whatever the online equivalent of channels are — more on that some other time, perhaps) all day long.

But, I don’t find video a particularly good format for non-entertainment information. In other words, unless it’s something that is making me laugh or cry or some other explicitly leisurely emotion I don’t generally find myself making the time to watch. The latest example was a video of Kara Nortman talking about, of all things, the online video space. Now, this is a topic that I’m very interested in, and hearing from an experienced venture investor on the space is definitely right up my alley. But, sitting through a video of her talking about it is ever so tedious. First of all, you need to be in a place where having sound on is OK — in many work places that’s often not acceptable (or, in my case, catching up on various blogs and such while my wife is watching TV next to me). Sure, I could wear headphones, but when I’m doing that I generally have music on (and I’d have to stop the music to watch the video). More importantly, you can’t really skim video — I read far too many blogs to actually read every word of every article. Skimming is a must to gain cursory knowledge of lots of things and decide which few things are worth taking the time to digest fully. It might even help if there were any easy way to just plain play the video faster — people talking is a laborious way to pass along information, and only works when the speaker is very engaging in my experience (and this from someone who loves a good lecture over reading for picking something up — but, the in-person aspect of that also matters). There’s also the problem that videos like the one above tend to be very disparate — in other words, although it’s technically possible to have, for instance, an RSS feed of videos, few people serving up video of this nature are using feeds — instead they want you to click into the site (partially for the ad impressions and partially out of technical limits/vision).

I don’t have the same opinion of audio. For instance, I’m a huge fan of Doug Kaye’s fantastic service IT Conversations, but I listen to that in the car on my iPod (watching video while driving is still a no-no — but, for how long?).

Anyone found video to be a good way to get non-entertainment information? If so, where are you finding it and when are you watching it?

Quickie: MMORPGs Cyclical Nature

Raph Koster has a nice little piece on the cyclical nature of audience behaviors in MMORPGs.

Age of the Big-Boned Client?

Remember once upon a time, when people debated the relative merits of and predicted the future prevalence of thin vs. fat clients? I remember when I first used the “fat” client of Federal Express — at the time I thought such clients would become increasingly popular. My thinking was that the complexity of developing web-based applications was increasing (this was years before Jesse gave us “AJAX” as a moniker — though, of course, not years before all the technologies behind AJAX were being used) quickly enough that the cost of building a truly interesting web interface was starting to approach that of “regular” software. At the same time, bandwidth was increasing, so downloading and installing actual software didn’t seem that onerous anymore. Sitting here today I can’t say I was necessarily right, though certainly the iTunes Music Store or any client-based news reader are prime examples of what we would have then called a “fat” client in action.

I recently downloaded Pyro, an application that provides an interface for Campfire (the chat application from the good folks at 37signals). But, Pyro isn’t really what would have been called a “fat” client — sure, sure, it’s a full-blown, separate download that goes into my /Applications folder (for those who don’t use Macs, that’s basically the equivalent of your “c:\Program Files” directory — and please don’t leave comments explaining that I don’t need to be installing my applications in either of those folders), but Pyro is really just a web browser. A web browser specifically tailored to be used for one application only. Now, as something of a web purist myself, this might have offended my sensibilities, but I think it just might be genius. You see, for an application that you use frequently, especially one like chat where you will care that you are notified about incoming messages and such, it’s nice to have a separate item you can “Alt-Tab” to, see bouncing in your Dock (like the Taskbar, for you Windows-only folks), and generally separate visually and conceptually from your normal web browsing (as I said yesterday, I tend to have way too many windows/tabs open in my main browser to have any one of those tabs be useful as an always-on application). The Pyro approach is extremely lightweight, using Apple’s WebKit with a thin wrapper of Campfire specific preferences/features. So, I think of it as a “big-boned” client more than a “fat” client. This is a very different approach than the Widget I use to access another 37signals product, Backpack, where I keep all of my TODO lists. In that case, the Widget is using the Backpack API on a custom web interface (though, of course, the OS X Dashboard Widgets are built using XHTML/CSS/Javascript anyway, so it’s sort of the same concept — not a full-blown custom application).

What I’d love to have is an application that lets me spawn these custom applications — a “meta application” if you will. It would basically let me configure a few things about what kinds of information needs to be stored for authentication, let’s me tweak the UI and choose various menu/toolbar options, and then creates a stand-alone application that would be specialized to a specific web-based application. For someone versed in the ways of Objective-C and XCode, building something like Pyro would be a breeze, but even for someone like me, with some reasonable experience hacking at web scripting and databases, grocking all of that is too high a learning curve to make a productive contribution (and, more importantly, it would likely have lots of bugs that would be time consuming for someone new to the platform to work on) without really getting into it (and my heads-down days of coding, especially in new environments, are pretty much behind me). The geek in me is rolling his eyes at the person who just wrote that line, though…