Rewind your technology time (those of you who can) to 1998. Back to a time when people didn’t laugh when you said you used a Palm device and there was still a grand vision of personal information flowing into and out of all sorts of devices gleefully chattering at each other when they’re supposed to and not just spitting out your info to random strangers when they’re not supposed to. Back in the day we used to read stuff like this during breakfast without the fear of spraying milk out of our noses. Here’s a sample:
“Bluetooth” will eliminate the need for business travellers to purchase or carry numerous, often proprietary cables by allowing multiple devices to communicate with each other through a single port. Enabled devices will not need to remain within line-of-sight, and can maintain an uninterrupted connection when in motion, or even when placed in a pocket or briefcase.
“Bluetooth” technology will offer new ways in which a user can use personal mobile devices, both for professional and personal use:
* Users will be alerted to, and can respond to, incoming e-mail via their mobile phone, even while their mobile PC remains in its carrying case. When the PC receives an e-mail message, an alert will sound on the mobile phone. It is then possible to browse incoming e-mails immediately, reading the contents on the display of the mobile phone.
* Users will be able to access the Internet via a completely wireless connection routed either through a mobile phone, or a wired connection such as the PSTN, an ISDN line, or LAN.
* Users will be able to send an ‘instant postcard’ by cordlessly connecting a camera to a mobile phone or any wire-bound connection. Users could add comments to their snapshots using a mobile phone or mobile PC, and send them instantly to recipients anywhere in the world.
8 years ago, wow, how time flies. And our little baby Bluetooth is all grown up. The problem is, we’re not all that proud of him. He just kinda wanders in and out without telling anyone, gives the car keys to his friends, and smashes the place up every once in a while. But hey, he’s our kid and like it or not we have to deal with him. Fortunately, for my purposes, a nice swift kick and the occasional backhand count as ‘dealing with him’. In the spirit of healing I feel it appropriate to share.
I’m not a bluetooth naysayer. I would love for it to work, I just unfortunately find myself dealing with disappointment after disappointment. Way back in the depths of time I hacked up a tool that used to be meant for an old Linux bluetooth stack called Affix and made it work with Bluez. It was a shit simple tool called ussp-push that I jammed together in two hours one weekend so that I could transfer images to my t68 without having to pay the per-KB charges that were the norm back then. I took the site where that software was hosted down years ago. Yet I still find it linked all over the place when I do searches for stuff like “Bluetooth sync” or “Bluetooth calendar” or “Bluetooth Linux”. And that’s all I find.
Now I’m sure someone out there is thinking “Hey, there’s Linux Bluetooth sync packages, I use SyncML and GnuBox and Multisync to move my stuff over to Evolution”. Yea, great, I’ve kinda sorta gotten stuff like that to work before as well. But the grand vision we’re going for here is the magic of automatic syncronization. When my phone and my desktop come into range they should blip little invisible magic faries carrying bluebits back and forth and my contacts should now be merged on both sides.
I’ve started using obexftp because it actually works without me having to do anything on the phone. I leave my phone plugged in next to my computer at night. My computer can scan for my phone and connect via obexftp and manipulate files on the phone. Fantastic! I can use that to grab new images from my phone and keep them archived:
obexftp -b 11:22:33:44:55:66 -B 12 -c E:\\Images -l
obexftp -b 11:22:33:44:55:66 -B 12 -c E:\\Images -g 06042006.jpg
or push podcasts or video over using the same tool. Wow.. looking pretty good I must say! Just need to get those contacts and calendar entries out. My old phones used to have an IRMCSync service, but not so on the Nokia. It uses SyncML over OBEX over Bluetooth. Which everyone seems to avoid. They use Bluetooth to form an IP connection and then use SyncML over IP. Nice that it works, but useless for my automatic sync because setting up that IP tunnel is not transparent. So how about the Nokia protocols they use, supposedly MBUS and FBUS and who knows what else.. just take a look at this mess of a standardized library for access to mobiles. I’m not even sure my phone is supported. I tried it out and can’t get it working. If anyone knows about support for these protocols please let me know. Even just a starting point that I should be able to test and then work out from there.
So how about the extended AT commands for GSM equipment? Well the phonebook and calendar read/write functions are optional, and Nokia has opted out of them. Damn! Okay, so how about falling back on the obexftp stuff and using obex to pull the data files right out from under the OS and parse them somehow to get the info out? Unfortunately obexftp doesn’t list the System directories that those file live in. But guess what.. feed them into obexftp anyway and you can access the files in there. However when you try to grab the actual files we want to use you end up with errors. Grrr!! Apparently the operating system is holding onto those files in some way and not allowing access, even for just reading.
That’s where it stalls unfortunately. Anyone know how to go about getting something like this working? Are the Nokia protocols a good method? Should I be looking at the SyncML end instead? Is it going to require writing some kinda Yahoo Go style app to move the stuff around? God that would suck, but at least I would end up with my automatic sync.