Thursday Mar 10, 2005


Thursday, March 10

10:39 am
New Projects
Well, I haven’t bloggeed in several months. Partly that’s because I’m lazy, partly because I’ve been so busy I haven’t had time! (Where do some of these people get the time to do all this blogging anyway?)
But I have 2 projects I have been working on (in addition to the Sun Ray ... errr, not Sun Ray, but thin client ... stuff.

Monday Oct 11, 2004

Still Working

Though you'd never know it by how frequently (or lack of frequency) with which I post to this weblog, I (we) are indeed still working on this project to define a "Next Generation" Thin Client. Of course, there are lots of politics involved, and lots of basic due-diligence and research, which is what we seem to be bogged down in right now. Well, I won't say the research is 'bogging' but the politics sure is. :-)

I'll keep working ... and try to keep posting.

Tuesday Sep 14, 2004

A Windows(tm) version

So this idea of a Windows client for Sun Ray -- a native one, not simply an embedded RDP client -- comes up over and over again. I guess it is because there is that small matter of Windows having a 90+% lock on the desktop market. Or maybe it's because it's what people are used to, or it's the OS that most games are developed for, or ... well, it's a Windows world, we just live in it I guess.

But this idea of a native Windows Sun Ray is not new. It has been around almost as long as Sun Ray has been around. The trouble is that Windows itself does not really support, nor was it designed for, the kind of session mobility that Sun Ray provides. Sure, you can connect to a remote Windows session via RDP. You can even use VNC. But the disconnection and reconnection, the integration with Smart Card Authentication, is just not there. I have my theories on why this is so -- most of them stem from the basic premise that Windows was never designed to be a network aware Operating Environment. It was designed to be a stand-alone desktop OS. Since that time, networking has been bolted on, but the idea of connected, collaborative, distributed use of the OS and its associated applications was and is an afterthought.

Unix, on the other hand, was designed and conceived of as a connected OS. Porting Sun Ray to Linux was much easier than porting Sun Ray to Windows could ever be. If it could even be done. But that does not mean it is not something we're not very interested in looking to implement. A universal client, one that could run \*NIX, Windows and Mac applications seamlessly and simultaneously is a holy grail, but one that I think should be achievable.

Monday Sep 13, 2004

Been a While

Ok, so it's been a while since I've posted anything on my blog, but that doesn't mean I haven't been doing anything. In fact, I have been working and thinking a great deal about thhis issue of a "Next Generation Thin Client" for the entire time, and writing internal documents and on and on about it.

It isn't as easy as it looks to define a project in Sun Labs and then begin working on it. There are innumerable things that have to be considered.

But the idea of a nex-generation thin client is definitely something that I'm working on. I have read (and heard) some crazy ideas about what a next-gen Thin Client should or could look like. Some of them are so far out in left field that they could catch a Barry Bonds Home Run. Some are just crazy enough that they could work. Most are not a big enough step forward to justify doing them. Incremental steps are not what we're after here. We're after revolutionary not evolutionary. Anyone can do evolutionary. People look to Sun to do revolutionary, and that's just what we plan to deliver!

More later, but please keep those wild and wacky ideas coming!!!

Thursday Jul 22, 2004

Square Wheels

So, more on why I said that the JavaStation had "square wheels." As you may have gathered from yesterday's post, I actually think that the JavaStation concept had merit. But concepts that are poorly implemented can quickly overshadow all merit they may have had in the beginning.

At the time of the JavaStation everyone thought that Java was the be-all and end-all of all time. Java was going to rule the planet, give us world peace, end world hunger, and all the rest of it. Well, we were not that far off, as Java does pretty much rule at least the world of the Web and Web Applications, but it also showed some serious short-comings.

Java was never meant for writing an Operating System. It just wasn't. It was, at least at that time, too slow and too feature-incomplete to properly implement an OS. Since that time Java has come a long way in speed and features, but I would still say that it is not an appropriate vehicle for implementing an operating system. Why did we stick with Java for an OS for so long? Probably inertia. Frankly, not a single customer I ever talked to (and I talked to thousands of them at the time) ever cared one single bit what the Operating System was written in. We could have written it in COBOL for all they cared, as long as it was fast, reliable, and ran the applications they needed. Unfortunately, JavaOS did none of these things.

But just because JavaOS was bad does not mean that the concept of the JavaStation was bad. I still think that the division between client and server in the JavaStation model was, if not absolutely correct, at least more correct than most. But again, the idea of the correctness of the division has a great deal to do with what the intended tasks are. For a Graphic Designer or Digital Illustrator the division is much different than for a Call Center Operator. There is no one right answer. There will always be areas where a full-blown workstation with lots of processing power, memory, and local disk (and possibly a high-end graphics card) are the only real solution. There are also situations where a zero-compute solution like the SunRay make sense. But then there is that pesky grey area in the middle where some compute power is needed, but the overhead of a full workstation is too high. This is where the JavaStation concept was supposed to land. It just landed with an anchor tied around it called JavaOS.

So how do we round off the wheels of that concept and make it roll smoothly? How do we fill that gap between high-end, fully-loaded workstation and SunRay? That's the question. Well, that's one of the questions. Don't get me wrong here, I am certainly not arguing that we (Sun) should make any attempt to resurrect the JavaStation. What I am saying is that we need to take a closer look at this division of compute resources issue and possibly make some finer-grained adjustments. It seems that somewhere between "it's all on the desktop" and "it's all on the server" there is a sweet-spot that has yet to be hit. It also seems to me that hitting that sweet-spot could be an extremely lucrative market.

P.S. I don't want to be CEO. I think our CEO does a fantastic job and I greatly respect and admire him. Yes, sometimes he spits into the wind, but just as often the wind changes directions just as he spits and it turns out to be the exact right thing to do at that moment.

Wednesday Jul 21, 2004

Thinking out loud

I have been thinking about this Sun Ray problem a great deal lately (of course) and also looking back at some of my other product experiences at Sun. I was with Sun Ray from the very beginning until well after the launch. I was with JavaStations from the very beginning until very nearly the bitter end (and it was bitter :-) ). In many ways the two were (are) polar opposites. In many other important ways they are quite similar.

Some would say (and some have said) that if you want local processing, get a workstation. For everything else, there's SunRay. But to me that divides the world at an arbitrary line that should be a lot fuzzier and more moveable. This may get me burned at the stake, but in some ways the JavaStation had it right. Of course, the JavaOS was so poorly architected and useless that any good points of the JavaStation were quickly overlooked and lost. But the idea of both a zero-admin clien and local processing has a lot of merit. Not on JavaOS, mind you, but it does have merit. The real question is how do you draw the lines between what gets processed locally and what gets run on the server.

After all, SunRay does have a "local OS" of sorts. It is just very small, and does very little that the end-user would interact with. The "local OS" (i.e. firmware) is upgradeable from the server at boot time via a simple version-check, and all application processing happens on the server.

The JavaStation also had a local OS, it was just much larger and was responsible for most of the user experience (which is why the user experience was so bad). Like SunRay, the local OS was upgradeable over the network via a simple version check, but unlike SunRay, the applications could also be stored locally and were run locally. This allowed for disconnected use of a JavaStation (and I know I'm using a loose interpretation of the word 'use' here, but bear with me) with an embedded application. So what if we had a real OS locally? Say a tiny, stripped-down version of Liinux, Solaris, or even Mac OS X? Stripped down to the point of only providing Networking, UI Display, Browser, and Java.

For UI Display I would suggest that the most minimal windowing/display environment be brought up -- like an empty X Server, or an Aqua Desktop with no apps, toolbars or Docks. From there I add the Browser and Java, so that a user has access to any and all web-based applications they might need. The browser and Java are stored locally, for fast execution and disconnected use (and don't ask "what use is a browser or Java if you're disconnected?" I might address that later, if I have time). I could even add some small, simple embedded applications like calendaring, email, video decompression, etc. to the local footprint, depending on what the useage pattern might be.

Looks like a workstation, doesn't it? In some sense, yes, but it has no disk. It has no local management, etc. I can even see the ability to load drivers over the network as needed. Say I plug in my USB Webcam. The device identifies itself to the OS, which then contacts the server and asks for a driver for that device. If the server has a driver for that device, it is sent over the network and dynamically loaded, and the device works. When I unplug the device, the driver is unloaded and marked for garbage collection. This also gives me a central way to manage what devices end-users can attach. Users in group A can attach any storage device. Users in group B can attach any read-only storage device. Etc.

So, you see, JavaStation had some really compelling ideas driving it. It just had square wheels.

More later ... I have to get some work done.

Thursday Jul 15, 2004

An Interesting link

I found this story to be a very interesting and intriguing idea.

By Paul Murphy
07/08/04 6:00 AM PT

Despite its current misadventure with Linux, Sun isn't in the generic desktop computer business. The Java desktop is cool, but it's a solution driven by necessity, not excellence. In comparison, putting Mac OS X on the Sunray desktop would be an insanely great solution for Sun.

What do you think?

Wednesday Jul 14, 2004

SunRay NG Discussions

My thanks to those that have commented so far. I have to say that I'm most amazed that anyone is even reading this blog.

I wish I could comment more on the ideas we're throwing about, but that would break the rules here, and posibly give out proprietary information. That being said, I also am appreciative about the comments about the JavaStation and the NCD. I was around for the entire JavaStation fiasco at Sun -- and was deep in the middle of most of it -- so I take those comments seriously. I don't want us to go back down that rat hole.

But I am most interested in the comments about the possible addition of further USB support. It has long been one of my contentions that one of the limiting factors of SunRay's adoption has been the lack of support for additional USB devices. At least when I was in the field with Sunray customers, I heard this endlessly.

Here's my thinking on this subject, and why I see it this way. The SunRay, by centralizing all management and process execution, enables session mobility, centralized management, and centralized application and OS upgradability. these are all strengths of SunRay that no other system out there has. There's no local memory, no local processor to speak of, etc. Nothing to upgrade on the client side, ever. This is the strength of the SunRay. These are also some of its weaknesses. The SunRay would make one heck of a cash register for Home Depot if it could support USB scanners, receipt printers, etc. Think about it, every cahs register in the store, hooked to the system "in the back" that tracks inventory, etc. Any cashier can walk up to any register and be instantly authenticated to that register. No more rebooting the cash register (have you had to stand there while they do this? I have). So more USB device support is warranted in such a case.

Without the support of just about every USB device known to man, the willingness of many enterprises to deploy SunRay is likewise limited. Like it or not, enterprises want the ability to attach local storage devices, etc. to their desktop. In addition, the current SunRay only support Composite Video In, not USB. Have you tried to buy a Composite Video webcam lately? It was never very easy, but it is close to impossible now as USB webcam prices drop to the floor. So video-conferencing via a SunRay is now nearly impossible -- and I'm not even going to get into the bandwidth restrictions around such activities.

But let's also look at a potential market for SunRay that has never been explored. The Consumer Market. The Mass Market. Let your mind wander to checking into a Hotel and your room key (a SmartCard) gives you access to a full range of Internet services, an IP-based phone, etc. All you need is your USB Mass-storage device and you can get to work. If you (like I used to) spend the majority of your time in Hotels, how nice would it be to have continuous access to your data, and indeed your entire session, from any room within a Hotel Chain's operations? Let's imagine that that same Hotel chain could assign you a 'virtual phone number' that would follow you from room to room, no matter what property you were staying in.

And that's not even the Consumer Market, per se. The ability of a broadband provider to sell it's services to customers without requiring them to own a PC, and to then up-sell additional services (like on-demand software) is an entirely new, and un-tapped, market potential.

I'd love to write more on these subject, and if the comments and responses warrant it, I may.




« July 2016