Tuesday, October 19, 2004

On Process

I am very interested in process, a word that means different things to different people, but seems to permeate everything.

The word process is from the Latin words meaning "to go forward", or proceed. The whole point of process is to get something done, or to get somewhere.

Who better to think about and implement process than a computer programmer? That's what programmers do all day long. There is no other profession that thinks even half as much about process at both the micro and macro level. Everything a computer does, every instruction it executes, has been lined up in advance by a programmer. Every contingency must be thought through. Every error condition, every likely or unlikely scenario, every conceivable thing a user might want to do.

When I think of business process I think at the micro level. What are the actual steps that must be taken to accomplish a task? Which ones of them require thought ("which folder should I put this in?"), which require mechanical effort (stapling several sheets together), which ones involve tagging with information (labeling the folder), which involve communication ("I'd better tell my boss that I've put the non-disclosure agreement in the file entitled Agreements").

The macro level of process, is of course, what drives it all, and is often overlooked. Do you really need to keep a paper copy of something that originated electronically? In the case of a non-disclosure agreement, the answer is "yes" since it has a signature on it. In most other cases, the answer is "no" because it is redundant at best and out of date and incorrect at worst. Forget about the trees: a paperless office is just more efficient in terms of process.

What fascinates me most about process is the way it involves people. Or not. If you look at most business process, either in textbooks, embodied in enterprise software, etc, it is set up from the point of view of the business itself, not from the point of view of the people who have to follow it. The life of an invoice through a chain of approvers. But not a day in the life of the Controller who may have to approve countless invoices and fit it into her busy day.

Business process is something that involves people. This is why much of it never happens the way it was intended. File servers don't get used, files are out of date, people move from group to group, and everything falls back to a blizzard of email. That's not process. Or, more to the point, email is to process as shouting and waving arms is to the British Parliament.

In my view, in order for a process to work, it starts with buy-in from the people who actually have to follow it. Without that, only police states like large multi-national banks can truly institute process.

Thursday, October 07, 2004

Protocols and Structured Communication

My company builds software called InterComm. It looks at first blush like an Instant Messaging client, and in fact it is. But it's built on top of a brand new protocol that is rich and wonderful, not SIMPLE and limited. We call our protocol XSIP, and it's intended not just for chat, but for truly structured communication.

Network traffic all observes some protocol or another; that's the way networks function. A protocol is much like a human language: the software at each end of the wire needs to understand what language is being spoken in order to make sense of it. There are protocols for everything: IM, email (the protocol is SMTP, which stands for Simple Mail Transport Protocol), FTP (File Transfer Protocol), HTTP (HyperText Transfer Protocol) and hundreds more. Usually protocols are special-purpose, created to get one particular job done. Even HTTP, upon which the entire World Wide Web was created, is an extremely simple protocol that for the most part boils down to a single command: GET filename. If an entire multi-billion dollar industry can be built on top of a single command in a new protocol, just imagine what a rich structured protocol that has over 50 carefully crafted commands can do. That's what keeps me up late at night: imagining that very thing.

My career goes back to the beginnings of Adobe Systems and the PostScript programming language, in 1985. I've written two books on PostScript, in fact. PostScript was a protocol for printing pages, but unlike its predecessors, it was not a limited command set that controlled just the functions of a single printer. It was an over-arching protocol for all printers, even those that might be conceived into the future. Very ambitious, and very powerful. It was not a printer driver, it was a page description language.

We have done the same thing with InterComm and our network, though nobody can see it yet. We have an underlying structured protocol that can represent all kinds of interactions between computers, both human-to-human, which encompassess voice, video, and chat, but more importantly, human-to-computer and even computer-to-computer conversations. Filling out a web form is basically human-to-computer communication, since I knew you were wondering about that.

All of the competing IM networks offer just human-to-human conversations. Video and voice over IP seem amazing at first until you realize you're still talking to the same person, over the same channel, and although it's useful, it's not exactly revolutionary—just pick up the phone, if you know the other person is there. Works better than shouting at your computer.

Anyway, where we're going is into interesting ways for computers and people to interact with each other. We'll include lots of kinds of assets, files, calendar items, web links—the building blocks of the internet, and of communication.

If you think that the SIMPLE protocol in use by AOL and Yahoo is providing great service to our industry, consider these two small facts:

  • Video, and voice, and web cams, are in fact not supported in the protocol, which is why none of that stuff interoperates between, say, YIM and AIM and iChat. All the interesting stuff is done with application-specific proprietary protocols.

  • There is a 256-character limit for each message. Just try pasting something moderately-sized into AIM and see for yourself. The last time I saw a limit of 256 limit on anything of importance was in about 1986 when the Macintosh fontID range ran out (they thought nobody would ever have more than 256 fonts).
I realize that this is a bit overly technical and out in right field but I actually get excited about this stuff, and I can't believe how primitive it all is, and how much power is still untapped in the internet. I just can't believe it!

And if you think Jabber is the answer to all the world's problems, just go to their web site and try to figure it out. I dare you. Besides, XMPP is the wrong way around. It is a protocol with a lot of angle brackets, which don't help that much, but no rules (semantics) about what should be said over the network. This makes for a lot of one-off features that work between some clients, but overall it's no better than SIMPLE as a protocol; just less efficient, because of all the XML overhead.

Wednesday, October 06, 2004

On Being a CEO Blogger

Many people have written to me because I entitled my blog "CEO Blog". Apparently it's unusual for a CEO to be blogging. Who knew?

My old colleague Jonathan Schwartz over at Sun seems to be one of the other few. I knew Jonathan back in the early 1990's when we were both running software development companies building software for NeXT computers. He sold his (Lighthouse Design) to Sun. I worked with some of the other Lighthouse people (notably Roger Rosner) at Apple more recently; Roger built Apple's Keynote application, a great piece of work. It's amazing how the people of NeXT have quietly been so influential in changing the world. Leo Hourvitz, William Parkhurst, Dan'l Lewin, Mike Slade—there's an ex-NeXTer in the fabric of many of the important innovations in the last decade.

Anyway, being a CEO blogger shouldn't make one a celebrity; having something interesting to say is (hopefully) what blogging is about. Jonathan's blog is always extremely interesting, and he's prolific. I'd think he had a ghost writer if I didn't know better.

I have heard from many customers, and other random people, after starting my blog. It is extremely rewarding, because the dialog is personal, and direct, and thoughtful, because there is an underlying topic (some blog posting or another) that begins the conversation. I like interacting with our customers and those who might some day become customers; it's the best part of my job. I only feel a little guilty that I do it from my keyboard, in my office, instead of actually going out to meet with people.

A public thank you to Jackie Danicki for help and encouragement in my fledgling career as a blogger, and for pointing out some of the positive aspects of being a CEO blogger.