May 2004 Archives

William Grosso

AddThis Social Bookmark Button

Related link: http://www.sdforum.org/SDForum/Templates/CalendarEvent.aspx?CID=1380

Okay, maybe it’s bad form to plug your own stuff. And this is the second time this week that I’ve mentioned a project I’m involved in. But …

This Thursday an organization I volunteer with, SDForum, is having Dan Gillmor, columnist for the San Jose Mercury News and technology commentator extraordinare. He will be speaking about “We the Media” as part of SDForum’s Distinguished Speaker Series.

Here’s the abstract:


What happens when anyone can make and distribute news to the whole world? In this talk, columnist Dan Gillmor previews a central theme from his upcoming book. The collision of journalism and technology is transforming the roles of newsmakers, reporters, editors, and readers, as the audience becomes an active participant in the newsmaking process.

To find out more about his talk, click here.

Any other interesting talks happening in the Bay Area over the next few weeks?

William Grosso

AddThis Social Bookmark Button

Related link: http://blogs.law.harvard.edu/crimson1/2004/05/17#a1651

If you read technical weblogs, by which I mean weblogs aimed at a technical audience, you’ve surely read Scripting News. Dave Winer’s been writing it for about a billion years, and he says at least one interesting thing each and every day.


The interesting thing right now is that Userland, the company he founded to sell web content management systems (makers of Radio Userland, one of the more venerable blogging products out there) is in the process of open-sourcing a lot of their code.


I’m not sure what the announcement means, but I’m looking forward to seeing how Radio works.


Here’s some snippets from Winer’s discussion


Anyway, these days UserLand is largely a company that markets and develops Manila and Radio. My concern was when will UserLand get around to enhancing and improving the “kernel” — the large base of C code that runs Manila and Radio — the scripting language, object database, verb set, server, multi-threaded runtime, content management framework. It’s been several years since there was a meaningful update of that code.


Products that Manila and Radio compete with don’t have their own kernels, they build off development environments created by others. For example, Movable Type is written in Perl. WordPress is PHP. Blogger is Java. UserLand’s products are different because they build on a private platform. For a long time we saw this as an advantage, the UserLand runtime is very rich and powerful, and offered performance benefits. When a new layer came on, for example the CMS, when it got stable and mature, we’d “kernelize” it, so it would be super-fast. But experience in the market said that, to succeed, UserLand didn’t need to own its kernel. In fact, that it was the only developer using this kernel may well have been a liability for UserLand.

UserLand’s products are different because they build on a private platform. For a long time we saw this as an advantage, the UserLand runtime is very rich and powerful, and offered performance benefits. When a new layer came on, for example the CMS, when it got stable and mature, we’d “kernelize” it, so it would be super-fast. But experience in the market said that, to succeed, UserLand didn’t need to own its kernel. In fact, that it was the only developer using this kernel may well have been a liability for UserLand.

What other venerable products have been open-sourced recently?

Tim O

AddThis Social Bookmark Button

This blog entry mentions bad variables names; among them is the always confusing $data. My favorite quote from Andy Lester’s post is:

‘Of course it’s data! That’s what variables contain! That’s all they ever can contain. It’s like you’re packing up your belongings to move to a new house, and on the side of the box you write, in big black marker, “matter.”‘

Are you bored by lame variable and class name? If so, give us some examples? Or, write a haiku on creative class naming. How you use this forum is entirely up to you.

William Grosso

AddThis Social Bookmark Button

Related link: http://www.winxpnews.com/

Last year, around February or so of 2003, I decided to build Seruku Toolbar as a shareware application (I don’t mention it very often because, well, promoting personal products is not what this weblog is supposed to be about). The exact reasons why I built it are a little hazy these days, but they were a combination of:

  1. Wanting to experience the entire software development life cycle from inital design to shipping and supporting.
  2. Wanting to build a small test case to see if there is a market for personal (consumer) search tools.
  3. Wanting to get some hands on experience in thinking about marketing (even if it’s something as small in scope as shareware marketing. Trying to figure out how to market your product is an interesting challenge for an engineer).
  4. Wanting to see if the shareware market, in general, really exists.

  5. Really really really needing the product.

Seruku Toolbar itself is fairly simple: it records every web page you visit in a nicely indexed data store. So you can do keyword and time-based searches against your web-browser’s history. My memory for things like urls has never been very good and I often run into situations where I want to find a page I saw last week (and just can’t). So I find the toolbar enormously useful.


And I bet what, in retrospect, seems like a ridiculous amount of time and energy building it on the premise that other people would find it useful as well.


For the curious: some aspects of the design and implementation are covered in my talk on Native
Compilation and Java
.


Anyway, the point is: version 1.0 was released last November. It had a few thousand downloads, and some fairly positive reviews. But the sales figures… well, let’s just say that the engineering was better than the marketing.


In early May, version 1.1 came out. It’s a souped up version of 1.0 with the 10 or so most commonly requested new features thrown in.


On May 13, Seruku Toolbar got mentioned in WinXPNews. Which might seem like small beans to most people reading this but is actually huge– it’s a newsletter that has tens of thousands of readers.

And today it was a Windows XP Shareware Pick of the Week


I don’t have a lot of conclusions yet (maybe– “shareware is harder than it looks”?), but building out Seruku has been a blast.

Got a favorite shareware product?

William Grosso

AddThis Social Bookmark Button

I’m working on my next java.net article and having problems focusing. Why? Well, Richard Monson-Haefel is publicly broadcasting that he’s looking for a job (depressing news about the state of the computer industry), the EU is posed to do the software-patent shimmy (ditto), and (and this one boggles me) I just realized that I’m probably going to vote for John Kerry.


As to the latter– I think
Don Park nailed it. I didn’t think the war was a particularly good idea to start with, but I thought it could be justified. And I’m actually okay with the (so far) non-finding of weapons of mass destruction. And I think that, for better or worse, the US has to stay the course in Iraq. Leaving now, or in the near future, or before Iraq is a stable and functioning society again, would be a very bad decision.


But wow– invading Iraq wasn’t a no-brainer when the decision was made, and in hindsight it looks like a very bad idea indeed. Moreover, the follow through in the post-Saddam era is a mess; a total failure of foresight and planning. The sort of thing that causes boards to fire CEOs, if you ask me.


It’s also depressing to see the recent flood of pathetic commentaries along the lines of America: Not as bad as Saddam. It’s hard for me to even respond to most of those articles because they’re so deeply steeped in moral corruption (briefly: if you invade a country on humanitarian grounds, and a major part of the justification for this invasion was humanitarian, AND if you want to take the moral high ground when defending the invasion, and the defenders of the invasion did take the moral high ground, then saying “well, the other guys rape too” indicates an inner emptiness that boggles the mind).


All this is subject to revision, of course. I’m well aware that there is a lot of information that hasn’t been shared with the public (and a lot of that was probably withheld for good reasons). And that the media has a tendency to over-report sensational news and thereby blow things out of proportion. And the last thing in the world I want to do is post yet another silly article
linking rapes in Iraq to the patriot act
.


But, from where I’m sitting (very faint voice) Kerry in 2004?.

Anyone taking bets that the economic recovery will be over by 2005 and we’ll be slipping into a depression? Or is that over-reacting?

William Grosso

AddThis Social Bookmark Button

Related link: http://www.ebay.com

So I’m thinking about picking up a used computer system or two. I went to Half.com, looked around. There wasn’t anything compelling there. But I noticed the “go to ebay” buttons in the upper right hand corner, and I thought “I haven’t used e-bay in years. Maybe they’ll have something.”


I clicked around for a while and couldn’t really find anything. So I did a search. I searched for “server class computer” and got back a single result (for “Professional Java Server Programming”– good to know there’s a market for 5 year old Wrox books).


Trying “server computer” got back lots of results, none of which seemed useful.


Then I clicked “View Category | All” — that leads to
The Big Ontology
, which is actually fascinating. Did you know “Barware” is a separate category of collectible?


Then I clicked on “Desktop PCs” and was confronted with a list of the first n items in a list of 9021 items. It gave me a summary of each system; I was supposed to click on a link associated with a particular item to get a drill-down page. The list is pretty readable, I suppose; the same information (CPU, etcetera) is available for each system. But the drill down pages are awful. They seem to be more about establishing the seller’s reputation than about the product. So you get these enormous pages with the data you’re interested in somewhere near the bottom.


Chossing a drill-down page at random, the page consists of:


  1. The information that was in the previous page.
  2. An offer for a free hat if I buy now (with a picture of the hat)
  3. A list of reasons why the seller is a good company
  4. A picture of a generic case
  5. Three pictures of generic cables.
  6. A claim that the price is a special value internet only deal and that I should act now.
  7. The actual details of what’s inside the machine, done in random order and with a level of detail that’s quite silly (I now know that the cooling fan has ball bearings. I guess I might have cared about that).
  8. Shipping Terms
  9. An advertisement for PayPal


So, in order to find out about this machine, I have to get to the big list, pick this machine out from the big list, go to the drill-down page, scan down a not-particularly well-formatted page of mostly useless information, and eventually realize it’s not really what I want.


Total running time: 3 to 5 minutes.


I’m not sure what my point is. I guess if I knew exactly what I was looking for, e-bay might work for me. But it doesn’t really seem to scale to the vast quantities of different items and different sellers very well.


What’s worse, while I can imagine there’s a market for software to assist people who plan to sell on e-bay, it’s harder to imagine a market for software to assist people who plan to buy on e-bay (unless you’re a very frequent buyer, the value of the software is minimal).

Do you use e-bay? If so, how? What would you do make e-bay more usable for people who are browsing?

AddThis Social Bookmark Button

Related link: http://gmail.google.com

For the last two weeks I’ve been testing out Google’s new GMail service, and I’m impressed. This is going to turn out to be a very important piece of software, and for a number of reasons. The Google team has made real advances in the state of the art in at least two areas, and while the result isn’t quite perfect, it sets the bar a lot higher for both their competition and developers everywhere.

But first: GMail has gotten a lot of press over the last month for their targeted advertising policy–so much that legislative remedies have been proposed in California. This is pure hysteria. Of course, there is a privacy risk with any web mail system: your personal correspondence is stored on a server that you don’t control. But Google’s ad system is harmless: each message is scanned by the system as you view it, and the ads are served up from Google’s database on-the-fly. No human being is involved in the process. The ads themselves are unobtrusive and, being text, load quickly. There’s no waiting for the page to load while your browser reaches out for a banner ad on some server in Prague.

So why is GMail so impressive? First, they’ve fundamentally rethought email interfaces. I’ve been using email for about fifteen years, and during that time every mail interface I’ve used has been based on the same fundamental metaphor: individual messages stored in folders. The virtual desktop has been aping the real desktop since the 1960s, forcing me to store any given message in exactly one place.

GMail changes that. A GMail account has exactly one folder, containing all of your messages. Messages are grouped into “Conversations”, containing all the messages in a particular thread. Threading is nothing new, although GMail is the first mass market service I’ve seen that relies heavily on it. The mailbox itself has three default views - an Inbox, a “Starred” view for finding conversations you’ve marked as of interest, and an All Mail view. Conversations live in the Inbox until you choose to Archive them, at which point they are available from the All Mail view, and by searching.

For finer grained filing, GMail introduces the concept of a Label. You can define as many labels as you want–for example, Business, Family, and Friends. Each conversation can be tagged with zero or more labels, and you can then easily retrieve all the conversations labeled in a particular way. This replaces dragging messages into individual folders, with an important advantage - you can categorize a message in more than one way, such as a business proposal from a friend. A filter capability makes it easy to set up rules to automatically label messages as they come in.

Labeling (or tagging) a document, be it an email conversation, spreadsheet or digital photograph is becoming an increasingly important method of data management. My friends over at Constant Time Software have done a similar thing with their Electric Shoebox software, which is now my platform of choice for managing digital photographs. But GMail could be critical here: the concept of tagging data in applications is by no means a new one, but it’s also not something that has really caught on with the vast majority of computer users. GMail has the potential to roll this interaction metaphor out to the masses, making it much easier for other developers to incorporate the technique in the future.

The rest of the email interface includes a set of well thought out features for encouraging safe, secure email use. The system does not, for example, load external images by default, although it makes it easy to load them if you want them. This prevents spammers from sending themselves return receipts by planting image requests in their messages, and prevents the more egregious porn spam from showing up in the office. At least, I assume it does, since no porn spammer has found my GMail address yet.

The second advance is the web interface itself. I’ve long been a proponent of web applications that act like “regular” applications. The difference between the two is about immediate responsiveness, which is expected of desktop applications, versus a request-response metaphor that is still tolerated in web application design - although I haven’t the foggiest idea why. GMail is an incredibly well designed application. The interface is entirely HTML and DHTML, with only a few, tiny, graphics. Pages load almost instantaneously–the Compose Mail screen for my account is only 1,001 bytes and loads instantaneously. The spell checker interface is the best I’ve seen in a web application, although it seems to have trouble with contractions. For power users, they’ve even managed to implement PINE-style hotkeys, allowing complete navigation of the system from the keyboard. All in all, it’s a hellishly impressive piece of thin-client interface design, and is going to raise the bar for every competitor.

The search functionality, as one would expect, is superb. I’ve already found myself wishing for a way to pull my other mail files into GMail: a recent attempt to search a few gigabytes of archives on my laptop took over ten minutes to return, and was difficult to set up. I haven’t been able to accumulate enough GMail mail to stress test it, but the searches I ran all came up on target and made it much simpler to find the messages I was looking for than any other system I’ve used.

Of course, like any 1.0 product, it doesn’t have everything. There’s no Draft capability for email composition, which seems a particularly strange oversight. The Spam filter seems to work fairly well, but it also doesn’t give you an indication that it’s trapped any spam, so you have to check periodically to screen out the false positives, of which there have been a few. But those gripes are fairly small potatoes, and I wouldn’t be surprised to see both of them addressed by the time the service goes public (although the Draft omission is so weird that I wonder if it’s intentional). Support for “Personalities” a la Eudora would be nice too - I have several email accounts that forward to a central address, and I’d like my GMail account to be that central address. GMail does allow you to specify a non-GMail return address, but it can’t cycle them based on the address the message was originally sent to.

Despite the nitpicks, GMail is an excellent product, and I’m sure it will get better. Hopefully the beta stage won’t go on for too long, although Google does have a track record of spinning these things out: Google News is still in beta after a fairly long stretch. But even so it’s worth the wait–with any luck, this application will inspire richer, more interactive web application interfaces and more out-of-the-box thinking about the applications we live with (and sometimes suffer from) every day.

Is GMail a major advance or just major hype?