Thursday, October 25, 2007

Personal Area Networks

Going to invest a little time to learn a radical new network and the code that backs it: the BluetoothTransaction (or HiptopTransaction) is all about Personal Area Networks. The only connections that are established are between paired devices that are each zero hops remote, meaning the whole network generally has one hub (the computer or the phone) and connections are not usually routed from machine to machine, though data may be.

This introduces all kinds of new opportunities to obsolete protocols in small-scale networks where technologies are exploited to their fullest potentials, including potentially such notable protocols as DNS, DHCP, and even perhaps TCP. More reading is necessary to say whether I am talking out of my ass or saying something meaningful with this. The address space is seemingly more like MAC hardware addressing and IPX protocol, and less like IPv4 or IPv6.

Some links are included in my feed and there is a lot of background information on the Danger Developer Zone. The first article in the series is going up here on the KPB Code blog. From the Danger docs, this one looks like the biggest mess of difficult information to process.


yebyen said...

I got a Belkin BlueTooth dongle, and it seems to support the full range of features on both my phone and sidekick (from Windows 2003 Server, and probably Windows XP at least.) Admittedly that's not very many features, and I hope it's possible to extend the bluetooth profile of a device through the built-in Java API.

If not, the only other option to seize that hardware for use is to install uclinux and hope that one of the Open Source bluetooth stacks is portable.

Even then, it's possible that there have been hardware restrictions installed that restrict the devices to their very limited feature set.

For the record, it's now possible to use a microphone (USB or PCI sound) as the audio devices for a call using my Nokia 6315i, and it's possible to send and receive BlueTooth Transactions that contain vCard objects as well.

No idea how difficult it will be to get another program synchronizing changes to a database over BlueTooth, but I hope it should be fairly simple to wrap BlueTooth calls around a pre-existing data structure.

yebyen said...

So I've explored the logical bounds of what you can do with a few pieces of BlueTooth hardware, and the standard set of software. Devices recognize each other when they are placed in proximity and discovery mode is activated, and devices maintain a service inventory that describes the basic features that are available to other paired BlueTooth devices.

I have four BlueTooth devices, starting with the Nokia 6315i telephone, which only supports Audio Gateway, which means that devices like a sound-enabled PC with BlueTooth support, or connected to a Belkin BlueTooth Dongle like mine, or my Motorola m505 BlueTooth headset, or Dan's laptop, which has a built-in microphone and laptop speakers, can all intrude on the audio capabilities of the phone while they are paired together.

In short, the default capabilities of these devices are the exact opposite of what is supported by long-distance data carriers like The Internet and The Telephone Company. This is not infrastructured communication, this is local propagation; the village, not the city.

Skype is the city.

I can walk into the kitchen wearing my headset, leaving the computer in the living room where it lives next to the television, and I can talk to anyone around the world using Skype, from the computer in the next room. I can pick up a set of BlueTooth speakers and I can set them up in the den and pair them with the computer in the living room, and listen to internet radio while I'm reading a good book.

I am apparently master of my own domain. Unfortunately, all of this does not pay the bills. What about the sidekick? It's got a keyboard and a pointing device, maybe we're capable of more with this new BlueTooth device that supports Java. I can certainly fill out forms in this way, and I can organize my schedule to my heart's content, but this does not synchronize over BlueTooth.

It synchronizes over the T-Mobile network, which I am not a subscriber to. Or it saves this data in RAM, until such time as it is synchronized with a SIM card. I don't have a SIM card because I don't have a service plan. Bummer.

Maybe I can do something cool on this device using Linux? I wonder if the bluetooth stack is supported at all.

Kingdon said...

When you say "installed" you mean extant. Chinese zai (at, exists) derives into a pair of words translated as care when composed with a character for laws or claws. Pause? Those aren't claws, and they were never laws, unless they were for life.

Why do you do what you do? What do you mean? Breathe, exhale, get it? That's the big idea.