Archive for the 'Software Architecture' Category
Architecture drafting with Ed Yaffa
Lunch with my friend Ed today, another of many discussions over the years about the aiosphere. He is of the opinion that the whole thing is simple. I am of the opinion that the whole thing is hard. I guess it might be because we have different ideas about what “the whole thing” is. He favors mocking up a pair of hardware objects, and throwing together some scripts and PHP code to make small amounts of data flow between them.
Thing is, I know that people have been doing this exact thing for over a decade now, and reinventing the wheel each time. I believe that what is missing is a universal architecture; hardware, firmware, software and script; which supports both the rapid creation of new hardware, and the easy creation of new linkages and behaviors for existing hardware. A universal ambient gadget system. This is the aiosphere.
But the distance between our perspectives simply serves to highlight the fundamental problem with my concept: I cannot easily articulate it, describe it, define it, its scope, its shape, its size. This, I think, will be my biggest challenge. I keep telling Ed, making objects is easy; coding point to point communications is easy. Making a demo from those ingredients is easy, and people do it every day. But creating a new protocol, that overlays the global information network, and provides dead-simple connections between objects in different places, that is the grail (and I will be happy if it turns out to be easy too, but I’m not counting on it).
No commentsGoogle Gadgets and the Google API
I need to research Google Developer Tools. Is there a way that I can piggyback aiosphere onto the existing gadget or other API infrastructure? Could I somehow use their mechanisms and their servers instead of running my own? What mechanisms exist now that might support, or be extended to support, the kind of connections I need?
No commentsGmail: server for aiosphere?
I have heard that someone developed a plugin or widget that allowed one to use the Gmail space for online backup. Could I create a mechanism for using Gmail to exchange data between devices?
No commentsArchitecture drafting
Here are a couple of rough sketches of architectures for the Atmosphericon system:Test one:
I could prototype a flow of information between a web application (Firefox) and a device (an Atmosphericon object) usingfile system access, which is built into every browser.
I could use the FT232R serial-USB chip as my cross-platform PC interface, and connect the serial chip to the Zigbee chip.
I could create a couple of files which emulate TX and RX buffers. I could use RealBasic to create a set of drivers which fould support all three platforms (Linux, OSX, Vista). These drivers would write all data from the virtual serial port RX buffer to an RX file, and poll the TX file for new data, writing it to the virtual TX buffer.
This might be a bit awkward, but it would work without a custom XPCOM module for Firefox.
Test two:
I have not researched this, but it occurred to me this weekend that the removable drive profile for USB might be cross-platform? If so, I might be able to fool any OS into thinking my device was a flash drive.
I would possibly have two pre-created files in the drive, and not allow the creation of any new files. I would, however, allow the TX file to be written to, and the RX file to be read.
My device would poll the TX file, and send any new data. It would delete data as it is sent. It would append the RX file with any new data that comes through the Zigbee channel.
This approach could potentially eliminate theUSB-serial driver, a serial port handler, and a serial-HTTP handler.
Some research needed!
No comments