Provenance

Posted by Oliver on May 26, 2003

Monday night, and it’s raining hard. Yahoo weather says the rain ended at noon. No, wait, it says it will end at midnight.

The Yahoo weather page has a strip of icons across the top, and a text description following that. The icon says AM Rain. The description extends it to midnight. Presumably the description was updated more recently.

I find it useful to look at the icon first. It indicates how accurate these predictions are. If the icon doesn’t tell you what’s happening right now, the prediction isn’t likely to tell you what will happen tomorrow.

I’d like a weather page with a history. It would show how today was predicted during the past five days, and then the forecast.

Sure you can do the same thing by showing statistics, but my page would speak to the innumerate part of your brain.

Going beyond weather, wouldn’t it be nice if objects showed more of their history? For physical objects, there’s weathering and aging, but not much else; information objects can be versioned or journaled, but there aren’t user interfaces to present anything high-level about this information.

People maintain elaborate histories of the other people and objects they interact with. Todd Proebsting’s evocative article “Tangible Program Histories” shows how useful it is for programs to do this too. Someday we’ll find a way to join these.

Moblesse Oblige

Posted by Oliver on May 26, 2003

Or, easements for WiFi.

I can use a wireless access point for one of two purposes. I can place it inside my (home or corporate) intranet and make it secure. Or I can place it outside my intranet, and broadcast its presence to WAR drivers. But I can’t do both.

[Actually, I can't do the first, because WEP isn't secure. But WPA will fix this problem, and it won't fix the other one.]

Wireless access points should come with a setting that permits public access through them to the internet, but only secure access to the intranet they’re serving.

Welcome Sarah Allen!

Posted by Oliver on May 24, 2003

I just discovered the weblog of Sarah Allen, a fellow Laszlo employee. Sarah came to us in March, most recently from Macromedia, where she was Director of Engineering
Multiuser Technologies. I am told that previously she had the best title I’ve heard: Director of Director.

Sarah has been working with Adam Wolf on the Laszlo Foundation Classes. These are a set of user interface, data handling, and web connectivity components and services available to Laszlo Rich Internet Applications. Writing these takes a particular kind of wizardry: the implementation of these classes requires both very high-level skills, in the use of functional programming and meta-object protocol concepts to eke sophisticated combinatorial functionality out of a very small library size. But it’s also like writing microcode, because the speed and feature limitations of the Flash plugin require an intimate knowledge of its performance limitations and a creative ability to hack in features that it was never intended to support.

Laszlo was incredibly lucky to find in Adam someone who could combine these two kinds of programming, and we have lucked out again with Sarah in finding someone who meets the bar he set. In typical startup mode, now each of them is doing the work of five, so that Adam no longer has to do the work of ten.

Fenceposts, Benzene, and Euler 1

Posted by Oliver on May 23, 2003

These questions came up on a family drive last weekend:

  • How many posts does a hundred-yard fence with one-yard beams have?
  • What if the fence is circular?
  • What if it’s a cross?
  • What if it’s a figure eight?

The first question illustrates fencepost error. The second relates to the discovery of the benzene ring. And the last leads to Euler’s Formula. These three questions are from three different fields (computer science, chemistry, and math), but they’re all variants of the same question. (Of course that question is mathematical. That’s the point of math.)

The Semantic Depths

Posted by Oliver on May 16, 2003

Dave Winer misses the point of the Semantic Web. Winer criticizes RDF as though it were an application, intended for direct interaction with users creating and searching content. RDF isn’t an application; it’s an operating system, on which applications can be built.
Continue reading…

Designing a Language

Posted by Oliver on May 13, 2003

One of the things we’re building at Laszlo is LZX, a language for Rich Internet Applications. (Some of the other things we’re building are the client, server, and compiler pieces necessary to make applications written in that language actually do anything.)

Language design is a process, and there’s process-specific knowledge about how to do it. Much of the knowledge is the same that’s needed to design an architecture, or an API; some of it is language-specific. Here are some of the principles I’ve found helpful in designing LZX:
Continue reading…

The DSL Tower

Posted by Oliver on May 07, 2003

A domain-specific language is a language for dealing with a specific problem domain, such as students at a university or entries in a blog. DSL implementation has become so easy, and some of the domains have become so deep, that there’s now a market for subdomain-specific languages (SDSLs).
Continue reading…

Joining Laszlo

Posted by Oliver on May 05, 2003

I first met the folks at Laszlo Systems in December of 2000, when I was the CTO of AlphaMask. A decade earlier Laszlo’s founder David Temkin, my business parter Mike Reed, and I had all worked at Apple on technologies associated with the Newton. Mike and I were in San Francisco, and David invited us by to see Laszlo.

At the time, I had been thinking of getting someone from the MIT Media Lab to design a user interface that took advantage of AlphaMask’s animation and scaling capabilities to go beyond the desktop metaphor. When I saw what Laszlo was doing, I stopped considering this. “If I ever want to do anything interesting with 2D interfaces”, I thought, “I should do it at Laszlo”.

David was interested in licensing our graphics engine, but Laszlo didn’t have any money. A year later, in October 2001, Mike and I sold AlphaMask to OpenWave. And in November, Laszlo received its seed funding. David called us to ask whether our graphics engine was still available for licensing. It wasn’t, but I was. I signed a six month contract.

I agreed to work for Laszlo because I thought the technology was amazing, and because I was looking for something to do while I decided what I wanted to do longer term —- probably start a company in the Boston area. During my first six months a couple of things happened. One was that I realized this was a real company, with a business plan and business people as good as the engineers. Another was that I really enjoyed working with everyone. So six months later, instead of leaving Laszlo to start my own company, I suggested they hire me and start a Boston office, and a year later, here I am.

Declarative Directions

Posted by Oliver on May 04, 2003

I’ve noticed that there’s two ways of giving directions to a location (say, when a driver pulls over to ask you how to get to a restaurant). Declarative directions specify where a location is relative to the current location; for example, “Two blocks ahead and across the street.” Procedural directions specify the steps that have to be taken to reach a location; for example, “Go straight three blocks, take a u-turn, go one block, and it’s the first building on your right.”
Continue reading…