This is a Scott McNealy story. Kids these days may not remember Scott; he was the long-term CEO and co-founder of Sun Microsystems. He was legendary for being outspoken, opinionated, and a maverick. He wasn’t a technical guy at heart, leaning way more towards the business side. Nevertheless, he was pretty smart about which way the technical winds were blowing.
Sun Microsystems was built on the idea that a computer which wasn’t attached to a network – preferably the Internet – was less useful. I’ll loop back and talk about the first two jobs I had at Sun at some point. Right now, we’re gonna talk about the last job I had at Sun, which was working on the internal Javastation deployment program. Javastations were perhaps the pinnacle of Scott’s network-oriented philosophy, so this was pretty important stuff.
The Javastation was developed in the late 1990s. It had no hard drive and no internal storage of any kind other than some flash memory for the operating system, JavaOS. As you might guess, Java was built into the OS, along with a few business applications. It was completely useless when not attached to a network.
In theory, this meant you lowered the cost of managing user devices. Rather than fussing with pushing upgrades or patches to hundreds of desktops, you could just update on the server and be done with it. You’d also eliminate all those random pieces of software that users install, leading to security issues and weird crashes. The tradeoff is flexibility and, if your internal network isn’t fast enough, speed.
As I recall, the internal plan was to design custom chips for running Java. In practice, the first round of these things were based on Sun’s MicroSPARC CPUs, which were also used in the more mainstream SPARCstations. I don’t think the JavaStations (or the semi-similar Sun Rays which came later) ever got there, which is too bad. JavaStation speed was not ideal.
Really, though, the issue was network speed and reliability – these things were great focused task stations if and only if you had a good network. They weren’t that great at being general purpose office computers. You’d get the most benefit if you were, say, plopping these down in a bunch of FedEx warehouses, where they could do the focused tasks required without ever needing to send a tech out to do upgrades or anything. Plug and play. Except those remote locations were exactly the places where the networks tended to be too flaky and slow to allow JavaStations to shine.
Which is why the concept failed in the marketplace at the time. Meanwhile, internally, Scott loved his thin client baby and he wanted to start seeing them in use at Sun. Not, alas, as task stations but as general purpose workstations. There was no way everyone was going to rewrite all their Solaris apps in Java to run remotely, though, so someone decided the right thing to do was to set up remote servers such that you could run your essential Solaris app on a big server, fighting for CPU and memory with everyone else, and just have the window display on your JavaStation.
Technically this was really feasible. Practically speaking it wasn’t a great idea. I don’t at all remember how I escaped my desktop support role and moved over to the group in charge of implementing all this, unfortunately, but the technical challenge seemed interesting and I was really tired of swapping out SCSI hard drives without rebooting computers so I was happy to tackle it.
I spent a few months designing and building the images for the centralized servers, testing things out, and rebuilding. I was working out of PAL01, the first building on the Palo Alto Sun campus, which had the execs up on the top floor and saw a lot of outsider traffic. That meant that our building machine room was on the first floor with a huge window so people could look in and see the cool servers blinking. I spent a lot of time hiding behind the servers on my hands and knees while I was testing network connections and hoping I could blame failures on something other than my code.
I got it working in time for the first rollout, which was in Chicago for a sales office. I headed out there and taught the salespeople how to use them; on the whole they weren’t too unhappy since they’d been getting along with really old workstations for a while. They took me to a steakhouse; I was wildly impressed. Ah, youth.
When I got back to Palo Alto, my boss dragged me aside and said “hey, I’ve got an exec meeting coming up to report on the project. You don’t mind sitting in, do you?” It didn’t seem like the kind of thing I could say no to, so I said sure. About a week after that, the day before the meeting, she said “Oh, hey – I’m not gonna be able to make that meeting, but you’ve got this. You won’t need to present, just answer any questions anyone may have. It’s good exposure.”
I was pretty lucky that Scott, despite his general corporate experience, was more focused on results than apperance. I’m sure I still looked incredibly nervous and out of place, since I was both of those things.
I really don’t remember much of the meeting at all. I was mostly worried about saying something dumb and getting fired, since I had no idea how executives functioned. My previous experience with Bob Rieger at Netcom taught me that CEOs were mercurial, made decisions quickly for completely random reasons, and weren’t all that concerned with ethics.
Here’s the bit that’s engraved on my brain. I was very nervously clicking through an ad hoc demo of the mail client. (Had he really never seen that before? Seems weird in retrospect.) At one point I bring up a message with an image attachment and show off how it displayed seamlessly.
And Scott blows his stack. “That sucks,” or words to that effect. “Why would you ship copies of an attachment around the network like that when you could just store it on the central server and refer to it with a URL? I don’t want the mail client to support attachments.”
Someone kindly saved me since I had no idea if I was supposed to answer that or not. It sure wasn’t my decision to make. I have no idea if the mail client shipped with attachments or not, since I headed off to the Internet Archive fairly soon afterwards for unrelated reasons and I never saw a JavaStation again.
You know, though: Scott was right. His world was better. I do want a way to save local files when need be but it’s not the right default. And every single time I’m working in Outlook and it says “hey, do you want to upload a copy of that file to Sharepoint instead of sending 20 megabytes of file to 50 people, you dumbass” I think of that day.