Rohan Jayasekera's thoughts on the evolving use of computers -- and the resulting effects

Occasional thoughts by Rohan Jayasekera of Toronto, Canada.

My Photo
Name:
Location: Toronto, Ontario, Canada

I've been online since 1971 and I like to smoothe the way for everyone else. Among other things I co-founded Sympatico, the world's first easy-to-use Internet service (and Canada's largest).

View Rohan Jayasekera's profile on LinkedIn Rohan Jayasekera's Facebook profile twitter / RohanSJ
Subscribe in a reader

Or enter your email address:

Powered by FeedBlitz

Friday, May 26, 2006

What is a "product"?

LAME ON

This isn’t specifically about Web 2.0, but I don’t have any other place to put it. But it does apply to Web 2.0 products just as well as it does to any other products, so, strictly speaking, it is on-topic.

LAME OFF

(Okay, that was a joke I just made up. It refers to the “Flame on” / “Flame off” phrases often found in the “newsgroups” that have largely fallen out of use. I apologize to those not familiar with that old stuff.)

What I do for a living is to create or extend products that are software-based. But what do I mean by a product? There are lots of definitions (e.g. on Wikipedia), but I haven’t seen one that captures some of the key characteristics of software-based products. Software is infinitely malleable and this has a lot of implications. For instance, having more features does not necessarily imply having a better product (which may come as a surprise to most of the programmers at Microsoft, given what they produce).

So here’s my definition: A product is something intended for use by people you don’t know.

I created this definition because of its implications for product builders.

  • Because you don’t know the users, you can’t assume too much about them. For instance, you can’t necessarily assume that they understand big words. (When I was editing the Sympatico user’s guide I would sometimes cross out a word and write “too many syllables” and send it back to the writer.) And you can’t necessarily assume that they will remember to save their work occasionally, for instance.

  • Because you don’t know the users’ hardware, you can’t count on things like having enough memory to run your product properly. This problem may even apply to a Web-based product, but far less often (one more reason to be Web-based if practical). You may need to build in a check that warns the user if there isn’t sufficient memory, and maybe even exits the product.

  • Because the users don’t know you, they’re not all that likely to ask you questions about how to use the product (if it’s not reasonably obvious, they’ll either be annoyed or write off the product). The product must speak for itself. (That includes documentation, but hardly anyone looks at documentation, so it’s not of much help.)

  • Because the users aren’t your friends, or even acquaintances, they have no reason to be forgiving if they find something that they dislike. Such as a bug that you consider “minor”.

  • Because the product may be in use at 4:30am your time (distant users, or nighthawks), you need to think about what the users might do if they run into critical problems when your team is not normally available. You have a range of options, including “no support outside office hours”, and it’s a good idea to make a considered decision, with appropriate followup actions, before anything bad happens.

  • Because you don’t know what the users will do with your product, you should consider what they might do that you don’t expect. Things like extremely high usage levels, and cases of “but nobody would do that — it wouldn’t make any sense!”.
All the implications like the above make building something that’s a true product a lot more work than something that’s a mere “program”. It could be many times as much work. (Sales pitch for myself and others like me: it’s a good idea to have someone on your team who’s experienced with these issues, or things will be much worse than they have to be.)

So what do you think of my definition that a product is something intended for use by people you don’t know? Comments welcome.

You can't create a community

Social networking. Online communities. Insert similar names here.

There are lots of companies trying to cash in on this stuff. But building a site that provides a personal profile, blogging tools, private messaging, and whatever other features won’t create an online community. It can only facilitate it.

I don’t believe it’s possible to create a community. A community has to form.

Furthermore, a community can only form around a particular point of commonality.

LinkedIn, for instance, is for business people who want to stay connected as their careers develop.

MySpace gathered steam as a site for people in a certain geographic area and age range who were interested in a certain range of music. It spread geographically, but the demographic didn’t change much. (I was teasing a friend of mine that he was now on MySpace, and he acknowledged that it was only because his new, much younger, girlfriend was on it.)

Being fellow members of the human race isn’t a particular point of commonality. Even if we get invaded by space aliens, there would be multiple human communities:  one for those who want to band together and fight, and one for those who want to cut a deal. There needs to be something around which a sense of community can form.

Being an owner of a Putt-Putt Motors vehicle isn’t such a thing, but being an avid owner is. This is a good reason for Putt-Putt to support an avid-owner community (one probably does exist, even if most people think Putt-Putt’s vehicles are horrible), by providing an online space for instance, while avoiding any attempt to create a broad “owners’ community”. (I said “support” for a reason:  an owners’ club, in order to be that and not a “manufacturer’s club”, cannot be seen to be controlled by the manufacturer.)

No particular point of commonality, no community. I believe that every general-purpose social-networking site is doomed to failure, unless it’s lucky enough to have one or more strong community groups spring up within it that are sufficient to carry it.

Tuesday, May 23, 2006

Unpretentious Web 2.0 people

At BarCamp Tdot and the mesh conference I noticed that the attendees seemed remarkably unpretentious. My theory is that this is because Web 2.0 is all about empowering people — and pretentious people aren’t interested in empowering others.

Sunday, May 21, 2006

That 70’s Web 2.0

I started working as a programmer in the late 1970s, as a co-op student working my way through university. Personal computers were very few at that time. Generally people would use a computer via a “terminal” that communicated with a central computer (a mainframe or a minicomputer) that was shared among all the users currently connected.

Then the 1980s came along, and with them the explosion in personal computers. (The world’s first personal computer, Toronto's own MCM/70, was launched in 1974, with a starting price of $4950, and the IBM 5100 was launched in 1975 — recently I bought a 5100 on eBay and it still works just fine.) As exciting as they seemed at the time, I eventually realized that they were a giant step backward. Why on earth would you want to keep all your critical files on a hard drive that you were unlikely to back up frequently, for instance? And why would you want to use a machine that required as much time to maintain (with software installations, reinstallations, virus cleaning, backups, etc.) as it saved? I began saying that the net benefit of using PCs seemed to be somewhere around zero. (And probably negative if you spent a lot of time making your word-processing documents look really nice.) Back in the 70s all the administration was taken care of by the professionals who operated the central computers. And they usually did a good job (it was their paid job, after all).

Then in the 1990s the Web came along, and it was largely a broadcast mechanism. A few publishers would put content on it, which many people would read. Not really much of a computing platform. Many ad agencies had “interactive” divisions, e.g. MacLaren McCann had MacLaren McCann Interactive (and still does, but now called MacLaren McCann direct and interactive), which I thought was unfortunate since what they produced wasn’t really interactive: it was still mass advertising material using mostly static content. When you did do anything interesting, like place a bid on eBay, you needed to get a whole new page, or at least a refresh of the existing one.

Now in the 2000s we have Web 2.0, the participatory Web. This is like the 70s again:  you use a terminal (a PC with a browser, or a cellphone with a browser, or a thin client) that communicates with a central computer, which is now called a “server”. Except that the user experience is often more like the PC era: you do something and part of the page in front of you changes (e.g. a check mark appears in the box that you just clicked), something that existed in the 70s but not that often.

So Web 2.0 is what we had in the 70s, just a nicer version. Good! The technology I worked in back then was very productive, and we used email and instant messaging and chat programs in much the same way they’re used now. (That’s right, this stuff is not new. In the late 70s I used to tag my emails, though admittedly I had to write the software myself. Apparently tagging has recently been rediscovered.) The three of us who, in early 1995, wrote the original business plan for the Sympatico Internet service and web portal had all used these tools in the 70s (we worked for the same company), and among other things we wrote about building communities online. Sounds like Web 2.0, doesn’t it?

mesh conference

Last Monday and Tuesday I attended the excellent mesh conference here in Toronto, Canada’s first Web 2.0 conference. The organizers did an amazing job of putting it together in only 9 weeks!

During the panel session “Is Web 2.0 Changing the Software Industry?”, panelist Stowe Boyd made a comment that I often hear these days:  that software is now much easier to develop than it used to be, thanks to things like Ruby on Rails. Well, I think that’s completely wrong. Fortunately other panelist Matt Mullenweg disagreed with Stowe and pushed back on this, pointing out that ASP is equivalent to Ruby on Rails — and has been around for a while. He said that what’s changed is other things, like broadband penetration and a greater willingness to try new things. The other panelist, Chris Messina, also added something in support.

At the end of the session I thanked Matt for having spoken up about this common misconception, and mentioned that I’d been doing what would now be called agile software development back in the 1970s. He was interested, and not surprised. Two other attendees, Jonathan Belisle and Jean-Philippe Cyr of Diesel Marketing in Montréal, were quite taken by my comments and came up to me afterwards, and Jonathan asked me to blog about this. So I am. The following post gives my thoughts.

Thursday, May 18, 2006

BarCamp

Last weekend I attended Toronto’s first second BarCamp, called BarCamp Tdot because some people here (I’m not one of them) call Toronto “Tdot” (pronounced “tee dot”) or “the Tdot”. I suppose it’s because they want to have a name used only by true locals and they’re sick of the decades-old “T. O.” (which stands for Toronto, Ontario). Methinks that since BarCamp is not a local phenomenon, to have used the name Tdot wasn’t particularly appropriate in this case.

BarCamp was a wonderful experience. I don’t have time to blog about it but that’s OK because others have done it nicely. All BarCampers are supposed to participate actively (it’s an “un-conference”), and I led a session called “Socioeconomic Fallout from Web 2.0”. There were 18 of us (usually...for instance, AmberMac dropped by for a bit while checking out all the sessions, though she told me later at the mesh conference that she hadn’t really been able to hear much because of the multiple sessions without walls in between). I started the session by essentially repeating the contents of my previous post and then opening things up to a round-table discussion (literally, as we were all seated around a large round table!). My thanks to those who attended, especially the active participants: Martin Cleaver, Ken Schafer, Michael Bodalski, and others. And my huge thanks to the organizers, all volunteers (the event was free), with David Crow and Jay Goldman taking the lead, and the 20-odd sponsors who covered the expenses by contributing $250 each.