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.