Friday, February 18, 2005

A Zulu Rhapsody

In addition to its role in the project, Zulu the Zodiac is quickly becoming a convergence tool... reducing the number of separate objects I need to carry around while generally improving the efficiency of my life. I have attempted this with PDAs in the past without much success, and as much as I trust and adore my iBook, it's simply too large and IMPORTANT to subject to all the rigors of being constantly at my side. I took it on a 5-day kayak trip a year or so ago, needing it for fireside packet radio and writing, and even though it was well-packaged in multiple waterproof layers I was acutely aware of the potential loss of my inadequately backed-up life archives if something catastrophic were to happen. As it was, the cold night by the campfire on Strawberry Island reduced battery life to about 30 minutes, and I had to run the laptop, moist with condensation, off the inverter in Bubba's power/tracker system.

But with the Zode, I find the depth of resources to at last be sufficiently satisfying that it goes beyond PDA/organizer and becomes a life tool, as essential as Leatherman and wallet. I have about a dozen eBooks tucked into a tiny corner of the 1-Gigabyte SD card now, including medical and field survival reference material as well as plain old good reading, and just acquired the tools to publish my own. The built-in MP3 player allows audio books as well, so I'm about to give those a try... and were I so inclined, I suppose I could rip a whole DVD movie into some arcane format, stuff it onto a card, and watch it while otherwise confined to a seat. The combination of the teensy Wi-Fi card and my Airport Base Station means I can go online in bed or wherever; I've already used this for quick Googlage and the curiously pathological checking of eBay auctions (not to mention surfing when trapped in the reading room with nothing but yesteryear's much-thumbed Cruising World and Mac Addict). All the sync'd organizer functions are a given, of course... as are the entertaining diversions for those times when the brain isn't feeling particularly productive, yet finds solace in the manipulation of flying or rolling virtual objects around a colorful bitmap. And, as a writer, it remains only for me to choose one of the folding keyboards to solve the perennial "curl up anywhere and be productive" problem.

The difference between this and its predecessors must be related to a fast enough CPU to allow interesting apps, coupled with enough fixed and removable memory to allow installation of useful things without simultaneously having to decide what to nuke. There's also an ineffable feeling of quality that makes me enjoy interacting with the Zodiac... and that matters.

All this will be elevated to High Geek Theater with our new "universe interface" application. For me, this has been the Holy Grail for over a decade: a rugged and boatable little wireless front-end graphic console for everything in my life. Imagine the home control suite of tools Writ Large, with the ability to recognize and interact with multiple boats and fixed facilities, graphically present historical data, launch autonomous security or nav processes in embedded systems, act as a live control and instrument panel for any networked substrate, serve up documentation, and offer the usual suite of communication and productivity tools... all without getting in the way or becoming an end unto itself as do so many interesting geek toys. And, since it's off-the-shelf hardware, it's not the end of the world if it slips out of my hand and bubbles its way forever into the murky depths. Just curse fluently, then get another one and re-install the code from network-resident backups.

So that's what I'm working on, driven by an exotic vision of nautical substrates whilst cobbling together an initial test suite here in the lab. (Catherwood welcome screen shot)

Tuesday, February 08, 2005

Zodiac on the Microship

I gave an introduction to the new Microship system architecture in couple of recent (relatively speaking) postings: VNOS in Blue Jeans, introducing the server-side tool that will be discovered by wireless Tapwave Zodiacs, and Canoe and Kayak Interfacing, which briefly addresses the the notion of a wandering user interface device interacting with "substrate interfaces" on each boatlet. There is now progress to report.

The Zodiac is here, and I'm maintaining a page about the machine to capture the learning curves and provide links to related material and products. I must say, I'm impressed... not only is the hardware deliciously well-engineered and solid, but the classic Palm platform has certainly adapted smoothly to the roomy environment of a 200 MHz processor, fast color graphics, wireless networking, and multiple gigabytes in your pocket. The Zode is stunning in its elegance, and I'm looking forward to total immersion in this project.

My experience of getting familiar with the unit (named Zulu) was so inspiring to Jeannie that she went online Friday night and ordered one for herself (to be named Zephyr). For her, it will be a way to reclaim some of the lost time in her 6-hour daily round-trip bus commute, as well as participate from Day 1 in the use and testing of our new Microship front end design.

We will be developing on two simultaneous fronts, both dependent on a variety of communication modes (Wi-Fi, Bluetooth, and packet) that allow bandwidth-scaling as a function of distance from the boatlets or other "substrate-enhanced" environments like the development systems in house and office:

  • The first is HTML, with a vanilla browser seeing the "content" generated by the on-board servers. If this were only static web pages, the problem would be completely solved by off-the-shelf code; for initial testing, I'm sure this is what we'll do, with VNOS and PHP working behind the scenes of Apache. The complexity arises when we want to see a dynamic instrument display or receive streaming audio/video content... in the desktop browser environment, these tasks are handled by "helper apps," but in the Palm OS they call for moving to a different application. I am not yet sure if this transition in both directions can be seamless enough to allow popping in and out of a browser at will without loss of context.


  • The second is VNC, which we've always rejected for bandwidth reasons. But it might actually end up simplifying the whole problem if the pipe is fast enough and the view can be restricted to a corresponding 320x480 window on the server. This may also introduce some interesting challenges when context-switching between the supervisory "browserish" tools and the more dynamic objects like live graphs and instruments associated with telemetry channels. Over local 802.11, we could get away with being sloppy, but when we fall back to packet radio it's a whole different problem... sending an object becomes more sensible than trying to keep up with a dynamic bitmap.

What's wonderful about all this, despite the current unknowns, is that we finally have the technology to allow development at this level without taking on a massive starting-from-scratch software project. This is the same general kind of stuff I wanted to do a decade ago, but back then it involved inventing network protocols and writing low-level tools, locking us into an all-custom solution that would never scale gracefully into new hardware.

My SanDisk Wi-Fi SDIO card should arrive this week, and we'll immediately begin testing the above approaches via the Apache and VNC servers in the iBook. The second test will involve Bluetooth between the Zodiac and a packet radio link to see what happens when things slow waaaay down, and then it will be time to dedicate one of our stray computers to server development based on VNOS and a hierarchy of USB I/O.

I'll continue blogging the project here, and will also add to the Microship Zodiac page for more static content. For now, the ephemeral daily updates (including "current items on eBay" and "recent sales") have been moved back to the Live Page due to their real-time nature and the incredible ease of dealing with photos.