Dr. Dobb's Journal September 2001
There's a toy inventor in eastern Oregon who plans to launch himself to the edge of space next spring in a rocket that he designed and built. There's a plastic surgeon in New England who dreams of making wings for human beings.
There's a professor at Cal Tech with an Apple Macintosh logo tattooed on his arm who hopes to solve the riddle of human consciousness. And then there's Tim Berners-Lee, who is trying to make the World Wide Web intelligent.
One respects these dreamers' courage to dream big, even if one has some doubts about the feasibility or wisdom of their dreams. These dreams can probably be fairly described as fantasies, but some fantasies are realizable.
"Realizable fantasy" is a term that enjoys a long history with this magazine. Back in 1976, DDJ's first editor, Jim Warren, defined a realizable fantasy as "a project that has not yet been done, but it's time to do it." Jim said that a realizable fantasy should be interesting, entertaining, and/or useful; feasible; and within the limits of current technology and techniques. Maybe putting wings on humans qualifies as a realizable fantasy. I hope the backyard rocket does, because the inventor is already planning his splashdown party. Jim was talking about hobby electronics projects, but the term realizable fantasies is flexible. We flexed it in a column that ran in DDJ for a time in the mid 1980s. In that "Realizable Fantasies" column, Richard Stallman, Bob Albrecht, Dave Cortesi, and I extended the concept to cover the GNU Manifesto, hacking the Mac, and the idea of software development as a subversive activity.
It can flex farther. The information revolution that you subversive software developers fomented has made a lot of fantasies realizable. (Or is it the personal computer revolution? The digital revolution? The Internet revolution? I recently read a book that argued that this revolution that we're in is actually the intelligent wireless web revolution.) New technologies are changing people's lives, new tools are changing the way people work, and even amid the splashdown debris of dot-com rockets that failed to reach escape velocity, a fierce light gleams in the eyes of millions of would-be entrepreneurs. A lot of fantasizing is going on out there, and some of it is probably realizable. Although it's often software that makes these fantasies realizable, one area of software development has for decades been viewed by many as fantasy without the realization. Artificial intelligence, that assertively and unwisely named subdomain of software development, has had some successes, some failures, and some bad press.
This month, I talked with some software entrepreneurs and a venture capitalist to get some ground-level insight into the state of realizable entrepreneurial fantasies today, and I took a look at one area in which artificial intelligence could be a truly realizable fantasy.
"Software entrepreneur" is a flexible term, too, covering everything from "gee, I wonder if people would pay a little something for this doo-hickey" to "first-round venture capital in the neighborhood of 100 million will be required." While the former model, having no expectations, weathers tough economic times reasonably well, the latter is not so resilient: One market crash and there goes the neighborhood. I first met Giacomo Marini when he was CEO of a company trying to establish Modula-2 as a front-rank development language. Logitech later had better luck with its hardware. Marini is now a venture capitalist, and we recently schmoozed about the industry over lunch at Il Fornaio in Palo Alto, California, amid a subdued crowd of deal-seekers. Mostly we talked or he talked and I listened about the return to the more traditional model of software development the one where you deliver a product, for which you are paid a fee.
"The traditional software model is back in vogue," Marini said. His reading is that the application service provider (ASP) model and other sorts of online service models, once so hot, are now cold. I know that people in the ASP market are arguing that the current down market is good for ASPs, because it will force businesses to outsource services, and that may work for existing ASP companies, but it doesn't mean that there is any investment money to start a new one. After five years of truly unprecedented investment in the high-tech area, fueled in large part by Y2K fears and Internet opportunities, Marini believes we'll see the money men concentrating on propping up the salvageable fraction of their past investments rather than putting money in startups, especially ASPs. Some startups will get funded, of course, but they won't be the relatively expensive and risky ASPs. "I'm pretty confident that for quite some time there won't be a healthy capital market to fund [the ASP model]."
I note that Marc Andreessen sees this glass as half full rather than half empty: "This is a moment in time," he said recently at a Networking Storage conference in San Francisco, "when...it is possible to take advantage of this moment in time when everyone is paralyzed by fear and try to do something different." Andreessen recently took his latest venture, Loudcloud, public, at what some would say was the worst time in five years to do it. Loudcloud was lucky to be able to go public, Marini observed dryly.
The dot-com crash tanked a lot of fantasies, many of which were shown to be just that, fantasies. I recently saw evidence that a startup that had gotten over the hump and was looking successful, even if not yet profitable, could continue to hold onto funding and pursue its goals, even if those goals are in the area of an online service. That's the position YesVideo is in.
I visited Subutai Ahmad at the headquarters of YesVideo in San Jose, California. YesVideo provides a service familiar to anyone who takes photographs. Much as Kodak will process your photographic film and send the pictures back to you, YesVideo will process your home video and send you back a CD or DVD. The processing that YesVideo does is very different from what Kodak does, of course, and its whole business model rests on some clever algorithms that automate scene analysis and transition detection. The CD or DVD that YesVideo sends back comes with a couple dozen thumbnail pictures that key out the main scenes of the video, and with editing software that lets you rearrange the scenes as well as cut and paste at the frame level.
The transition detection algorithms pick out fades, dissolves, and cuts with a high degree of precision in random consumer quality camcorder footage.
When I said that the software automates the process, I wasn't exaggerating. YesVideo has a wall of hardware that pretty much automates the whole business: A worker inserts the customer's video and keys in some address information and whether a CD or DVD is required; a little later, a CD or DVD pops out including all the video scenes and the software; simultaneously, the label for the box, including the thumbnails for all the scenes, is printed out; the worker matches label and disk, boxes it up, and sends it off. I saw customer pictures coming out of the machine, and the intelligence of the software, not only in detecting scene changes but also in picking representative frames as thumbnails for those scenes, was impressive.
YesVideo also maintains the video on its servers, though, so if you want to share your videos with distant family, you just upload a tiny file that tells how to arrange the scenes and edit the frames. So, yes, YesVideo is an Internet-based service business, and it's relatively new, but it's not too worried about funding. Their recently signed deal with Kodak can't hurt now people can drop off their videos at any of those photo stores where they have been dropping off their pictures for years. Nice to see some clever coding and a smart business model on the verge of paying off.
At the other end of the investment scale, things are simpler, and the picture is rosier: Shareware is looking like the sleeper hit of the software world. Once, when you wrote shareware, you set up a BBS for distribution and counted on word of mouth for promotion. Today, you distribute via the Web, and some of the large portals are hungry for your shareware to provide the fresh content that they need. I don't know if anyone has the numbers on what can be made selling shareware these days, but there are people distributing on CNet's Download.com and ZDNet's download area who are earning up in the six-figure bracket.
So while the dot-com startups with their give-it-away-and-make-it-up-in-volume model haven't fared well, shareware authors are showing that there is a give-it-away model that can be profitable.
Jordan Hubbard has found another strategy for making free pay. Apple recently snagged Hubbard, who has spent seven years evangelizing the religion of FreeBSD and working as product manager for the FreeBSD CD-ROM product line. Hubbard has lately been singing the praises of Apple's MacOS X, too, calling it the achievement of the holy grail of the UNIX community: to take a powerful UNIX core (BSD, of course) and bolt a mainstream GUI on it, without losing access to the underlying UNIX features. Now Apple has cleverly snapped Jordan up, and he is suddenly working in a highly visible and possibly influential position with the largest UNIX vendor on the planet. I understand the pay's better, too.
Now this is a genuine software entrepreneur story. Four and a half years ago, Kevin Miller started developing software seriously, turning what had been an after high school hobby into a full-time job. Right, four and a half years: I didn't ask how old he was, but you can do that math. I'm glad I chose the Tech Museum as a place to have lunch with him rather than, say, a bar.
I talked with Kevin while we were both in San Jose for Apple's Worldwide Developer Conference (WWDC), me down from Oregon and he in from Edinburgh, Scotland. I didn't actually attend the conference this year, I just talked to people who were attending. I'm not recommending this as a research strategy, just reporting on what I did.
Although I'm really reporting here on what Kevin did: passed up the college option, scrounged up funding, started a company with a few friends. The company is Runtime Revolution, it's based in Kevin's native Edinburgh, and the current make-or-break product is called "Revolution." Revolution is definitely a product designed to fill a felt gap. See, there's this nifty and featureful product called "MetaCard" that's been around for years. It's a hypermedia authoring environment that runs on and deploys on many platforms and is conceptually based on Apple's HyperCard. MetaCard is richer than HyperCard and more of a true programming environment, but I'm guessing that its name doesn't ring a bell with a lot of readers. Why that is is a good question, but I'll go out on a limb and say that it's probably the weak marketing, questionable pricing, poor documentation, and a user interface that only its mother could love.
Kevin's plan is to fix all that, or at least most of it. Revolution is MetaCard (they license it) with a much better UI, adequate documentation (I haven't seen it yet, but Kevin says that's the plan, anyway), and some well-thought-out pricing models for education and for developers. Let's see, that's UI, dox, and pricing. I don't know about Kevin's marketing plans, but Apple has been very supportive of his efforts and that could help with Mac users. But Kevin is finding that his product is hard to explain to anyone who hasn't messed around with HyperCard or one of its clones, which is most of the Windows and UNIX world, plus, truth be told, most of the Mac world, too.
I wish him luck. Revolution is on its way to being a good and useful product, and there's no reason why his plan can't work, but it's a big sharp-edged world out there.
A couple of topics that aren't going to fit into this month's column are my interview with Lorin Rivers of REALbasic and my take on WWDC (hey, I can have an opinion even if I didn't attend). That's okay; I've been talking about Basic enough lately, and Apple coverage can wait until after MacWorld Expo and the announcements expected there.
I'll end this month with a brief essay on a topic I've been obsessing about recently: Tim Berners-Lee's latest pet project, the Semantic Web. My thesis makes three increasingly strong claims:
First some definitions: The Semantic Web is not a program, but an attempt to put more knowledge into the data that resides in the World Wide Web, bringing structure to the meaningful content of the Web and making it possible for software to work with meaning, with the semantic content of information. There are various definitions of intelligence, but I like the pragmatic definition that says, it's intelligent if I can have an intelligent conversation with it.
I don't think that the aforementioned first claim is controversial. The Semantic Web embodies heuristics in the search for information, purports to represent semantic aspects of knowledge and make information self describing, and encompasses logic programming and deductive systems. It's an AI project, surely.
What about the second claim, that it could work? The people working on it think that it will work of course, but by "work," I mean work as an artificial intelligence project. Not all ambitious AI projects have worked, and I think that the Semantic Web is ambitious.
I don't really know how feasible some of the goals of the Semantic Web are, but I am impressed by the possibilities.
The approach of carving out manageable-sized domains of knowledge right down at the base XML level seems smart. On top of this, the Semantic Web layers broader knowledge about the relationships among terms, their meanings in relevant contexts, and methods for drawing inferences within this web of knowledge.
One of the insights that has come out of past AI research is that the more domain information a program has access to, the smarter it can be within that domain. And the Semantic Web is really all about making all information accessible to programs and usable by those programs. I suppose, though, the most hopeful thing about the Semantic Web, to me, is that, unlike a lot of past AI work, it isn't brittle. Even if some intelligent agents or smart search tools or other applications written to exploit the structure the Semantic Web will provide don't work, that doesn't mean that other programs won't work beautifully. These loose observations won't convince anyone, but they do give me a sense that the Semantic Web is on the right track that this is right-sized AI: an ambitious but realizable fantasy.
How about the strongest claim, that the Semantic Web, if it works, will be intelligent?
In defense of that claim, I can only point out some suggestive facts: The Semantic Web is unarguably an attempt to make the Web self-aware, by some definition of that term. It is no less than an attempt to give computer programs a degree of access to the meaning behind all those utterances and chicken scratches and key presses that we humans are always making. It will embody more information than any previous AI project. It will in fact be the largest AI project ever attempted. It will be something new on the planet, if it works.
If it works, the Semantic Web won't be human, it won't be intelligent in the sense that a human being is intelligent, but I think it will be an entity with which we can have intelligent conversations, and whose views are worthy of our attention. If it turns out that we relate to the Semantic Web as though it were intelligent, doesn't that constitute passing a sort of pragmatic Turing test?
DDJ