Why rich clients rule and always will

Why rich clients rule and always will

Summary: The only cost saver would be the local storage device (the hard drive) which would only shave off $40 off the system and severely cripple the dumb terminal by making it completely reliant on the network and server infrastructure which by the way doesn't come cheap. The slowest modern desktop hard drive on the planet can easily sustain over 300 mbps which is probably better than most Internet data center connections.

SHARE:
TOPICS: Hardware
86

With all the hype on the Dumb Terminal v3 and the death of the rich client, I thought I had put this issue to rest with my Tales of the $100 PC.  It was unfortunate that many of the talkbacks were from people who didn't even bother to read the blog.  What was really hilarious in some of the talkback were the accusations that I was some kind of first-world snob who had no sympathy for third-world children looking to get ahead.  Having been born in Xinjiang China, the Chinese version of Siberia back in the 70s, I was almost rolling on the ground laughing.  I could just imagine myself in that mud hut class room with temperatures hovering around zero degrees Celsius asking the school if we could have a $100 dumb terminal or computer when none of us even had text books.  Heck, it would have been nice if we had a piece of glass to cover up the hole in the wall that we called a window or maybe even some coal to heat up the place.  Ironically, I still managed to learn enough math in the first two grades to last me until the sixth grade in the US public schools even though we had no text books and had never heard of the word computer.  While this was very funny, it didn't really surprise me the lengths that some people would go to make a point.  But what did surprise me was this response from my colleague John Carroll (whose character and work I like and respect) about his answer to the $100 PC.

In that $100 PC blog, I had clearly demonstrated it was possible to have a relatively good performance PC for close to $100 mark and actually meet it on rare occasion with existing technology.  The point of my $100 PC blog was that any dumb terminal (wannabe PC killer) would have to have so much in common with the PC for it to be useful that it would almost be the same price as the full blown PC but be severely crippled in independence and performance.  The only catch in the $100 PC was that the monitor was not included, which might jack up the cost anywhere from $50 to $400 and higher depending on the quality of the display.  Any display device you would need to add to the PC would also need to add to the dumb terminal.  Most people in the office that I know still prefer to print out any material on paper for easy reading even if they had a 20" or larger monitor so the idea that some 8" screen on a PC killer is going to replace text books is ludicrous.  The only cost saver would be the local storage device (the hard drive) which would only shave off $40 off the system and severely cripple the dumb terminal by making it completely reliant on the network and server infrastructure which by the way doesn't come cheap.  The slowest modern desktop hard drive on the planet can easily sustain over 300 mbps which is probably better than most Internet data center connections.

In John Carroll's blog, John proposed the idea that you could carry a USB memory device that would contain its own bootable OS and application set.  It immediately struck me that I would never use a device that I had to boot up even if the terminals at the airport were configured to boot from a USB device.  Even if I can get past the fact that I'm not in the mood to pay good money to use a public kiosk, all of the kiosks already come with operating systems booted up.  All they're really missing is my applications and my data with which I can easily carry in a 512 MB USB dongle that can be had for $30.  The mistake that most rich clients make is that they all employ a hard drive installation process and they make a mess of the Windows registry which is even harder to uninstall cleanly.  The other big mistake that many rich client applications make is that they dynamically link to DLL files in shared hard drive folders which may or may not be the right version tomorrow.  But is this really how rich clients have to be?

The company SysInternals, which offers many indispensable utilities for the Windows operating system, writes all of their software in such a way that they do not need to be installed.  You just download the zipped file and extract it anywhere you like and run the application as is.  There is nothing that corrupts the Windows registry and you just delete the folder if you want to uninstall the application.  Microsoft is also no stranger to this in their Macintosh Business Unit.  Office for the Mac operating system just needs to be dragged on to the desktop and it's ready to use.  Both these examples are written in good old C and C++ and they have no dependencies on slow and bloated Java Run-time Engines and they fire up so fast that you're up and running in two seconds.

Now if we couple this type of installation-free rich client with a $30 512 MB USB 2.0 storage device that spits out data at over 100 mbps, loading a crude and bloated browser based application on a "blazing" 6 mbps DSL link begins to look really stupid.  All that is really needed to make this the killer application for the USB dongle is:

  • A simple and secure rich email application that is capable of something like IMAP with SSL authentication or better yet use HTTPS tunneling so that it can bypass all firewalls and proxies.
  • A simplified word processor that can read and write DOC files that are compatible with the rest of the world using MS Office, Word Perfect, or even Open Office.
  • Something that can do basic Spreadsheets.
  • Something that can do basic PowerPoint presentations.

All the user configuration goes on the same USB device and so does all of the synchronized IMAP email database and Office documents.  Such a device could hang off your key chain and you would be able to just plug and compute on any Kiosk or computer you can find.  Most importantly, this would be written in C or C++ so that it doesn't need a rarely existent Java Runtime Engine and that it doesn't need a Kiosk or PC with tons of RAM and system resources.  C and C++ applications have very low memory footprints and typically uses very little processing power which makes them respond quickly the way that applications should.

If Microsoft is smart, they would offer a stripped down USB flash memory edition of Office and bungle bundle it with the hardware, and there is plenty of room for other companies to fill this niche as well.  If the Open Source crowd were smart, they would come out with their own simplified alternative MS Office killer application and use USB flash as the lightning fast software delivery platform instead of these fantasies about another rehash of the dumb terminal.

Topic: Hardware

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

86 comments
Log in or register to join the discussion
  • In defense of John

    [i]Even if I can get past the fact that I'm not in the mood to pay good money to use a public kiosk, all of the kiosks already come with operating systems booted up.[/i]

    And infected (or pre-installed by intention) with who-knows-what in the way of malware, including keyboard snoopers so that that emergency banking transaction you ran just got a whole lot more interesting.

    Admittedly, there's really no ultimate solution to the "designed to snoop" kiosk. Like the fake ATM machines going around a while back, at some point you have to trust the hardware. However, a machine that has no nonvolatile storage of its own is a step in the right direction.

    Having stayed in hotels where the only Internet access was through a shared machine, and having had to do banking transactions from it, I'll vote for one that at least lets you run your own OS. Precious few trojan kiosks are going to fake Knoppix.
    Yagotta B. Kidding
    • You said it

      Kiosks will always be insecure, I was just trying to make a point that most people don't want to boot a fresh OS.
      george_ou
      • Are you sure?

        "most people don't want to boot a fresh OS."

        How many people actually leave their computers on 24/7? I do but that is because I connect to it from other places or it is processing something for me. I don't know of many others that do. I think most people turn their systems off when they are done. Therefore, they are booting to a fresh OS everyday.
        Patrick Jones
        • I do

          With my windows computer at work because IT needs to be able to patch it at night.
          Erik1234
          • Every night? (NT)

            :)
            Patrick Jones
          • Only when I forget to save something! (NT)

            NT
            Erik1234
        • I Do 2

          Because I use my computer all day, I leave it on at night so my Task Manager can wipe viruses and spyware runs right after that so I wake up with a known virus free spyware free environment. only shut it off when it starts acting up. I think alot of people leave there computers on 24/7 especially in offices. home users usually have there computer sleep at night but not really off.
          IceTheNet@...
  • I would rather have John's version

    Just call me paranoid but I think your version would definitely invite virus writers, thieves, etc.

    If there was a way for the USB version to work such that I could save my state and have it come back on any other system, no matter that the hardware is different, that would be the goods.

    Also, you claimed in another blog that your XP system boots up in 30 seconds. Why would waiting for your USB device to boot be any worse?
    Patrick Jones
    • USB much slower

      USB has much higher I/O speed, but slower throughput. HDs operate at over 300 mbps when seeks are avoided. Flash operates at 1/2 that throughput. WinXP likes to rearrange the boot in such a way that makes it avoid seeks.
      george_ou
      • How slow could it be?

        At 1/2 the speed we are only talking about 1 minute to boot. Granted, save times would be a little slower. Now, I am sure you wouldn't like it from your blogs on file formats :) However, I would like it just because of the portability.
        Patrick Jones
    • Should be possible

      [i]If there was a way for the USB version to work such that I could save my state and have it come back on any other system, no matter that the hardware is different, that would be the goods.[/i]

      Knoppix seems to boot nicely from CD/DVD on just about anything, then load your user preferences from USB. If Klaus can do it, I would think others should also be able to.
      Yagotta B. Kidding
      • It is possible

        the only problem would be to get the bios to recognize a usb as boot devise. If it dose then you would probably want to DSL Damn Small Linux only takes about 50meg and is built for applications such as that. but there are many bootable linux that run on cd like knoppix or my fav dynebolic from dyne.org or insert http://www.inside-security.de/insert_en.html
        this distro is the attemp at what you want to do using knoppics core and again only 50meg fits on tiny cd could be usb bootable.
        IceTheNet@...
  • Freudian slip?

    [i]"If Microsoft is smart, they would offer a stripped down USB flash memory edition of Office and bungle it with the hardware [/i]"

    Yeah, chances are Microsoft will bungle it... ;)
    Real World
    • Hehe, sorry for the typo

      That's what I get for writing it at 3 AM, spell check and grammer check won't help you there :). That's actually pretty funny.
      george_ou
      • from bad to worse....

        grammer??? doesn't look like you spell check your replies anyway.
        cicuta
  • Off base with Java bashing

    Yes, Java GUIs currently suck, but they suck a lot less than they used to.

    Java's large memory memory footprint is caused by the overhead incurred by loading the VM and the system class libraries. If you have multiple VMs running, this information can be put into shared memory (some or all of it already is in Java 5), meaning the tax is paid once per running OS (or per running user), not once per loaded application.

    Additionally, the Windows laptop I'm working is using up ~200 megs of memory for stuff I didn't "choose" to run. That's a lot of overhead. In fact, it's more than Linux + X Windows + KDE + JVM.

    My point is (finally) that Java applications are not asymptotically worse that native compiled applications. You a big constant tax for the JVM and the minimum heap memory requirements, but the JVM scales very well as the applications get larger.

    There are no fundamental flaws with Java that make in unsuitable to thick-client applications. The only real problem is that Swing makes too little use of APIs that leverage graphics acceleration. However, this is changing.

    In a few years, I think Java will offer as good, if not better, performance for desktop applications than native compiled ones.
    Erik1234
    • Java's new sloagan?

      "but they suck a lot less than they used to"

      Great sloagan: We suck less

      LOL!
      george_ou
    • sorry

      Your title was good, but you went downhill from there.

      Java programs are *inherently* less efficiant than C/C++ programs at runtime. And I'm not just talking about the memory used by the JVM. With a program written in java, the JVM has to read the program code, interpret it into machine code, then it executes. With a compiled program, it just runs the machine code; there is no interpretation going on at runtime.

      However, I'm not convinced that C/C++ is the best option in this case. Java's biggest advantage is portability. How do I know what proccessor the kiosk will have? Do I compile fully optimized for a P4 and hope that it isn't running an old celeron? No, probably you're stuck with compiling it for i386, which means you just kissed some of that speed advantage away. Even then, hope you don't get a kiosk running a different OS than the one your programs are expecting, (or a very different chip, like, say a G4) No, I think for this task portibility is too crucial to give up. And, if you're worried about the machine not having a JVM, bring your own. Of course you'll need several for the different possible systems, but that's better than having several versions of every piece of software you want to stick on your USB device.
      zijiang
      • Compiling it for the x86 and Windows means it will run on 99% of the kiosks

        Even if I needed a Linux binary and a Mac binary, it would be much more favorable to a Java application that requires the JVM Runtime Engine.
        george_ou
        • Would you please

          produce your source for the percentage of kiosks running Windows. I am curious.

          Thank you.
          Linux Advocate