Last night we watched the final episode of Empire of the Word, Alberto Manguel’s TV Ontario documentary about books and printing and reading. While it has a high pomposity quotient, it’s still worth watching for the scenes of the Gutenberg Museum in Germany, especially when they run off a print of the Gutenberg Bible from the original type. (Kudos to TVO, by the way, for putting the video online).

I wrote yesterday about my short-lived affair with a Nexus One, and alluded to the fact that my venerable [[Nokia N95]], which I purchased in the spring of 2008, returns to the fore as my trusty backup device. I thought it a good time to mention a few things that I love about the N95:

  • The “macro mode” on its camera, that lets me take in-focus pictures of tiny object close up, is really good and I use it all the time for taking photos of receipts and newspaper clippings and tiny things.
  • The Gravity application for Series 60 phones like the N95 is a staggering work of genius: it’s client for Twitter, Foursquare and Google Reader and its brilliantly designed and simple to use.
  • The ProfiMail email application is also a brilliant app: it allows me to ditch the native Nokia email app, which is abysmal, and replaces it with a compact, full-featured email client that has no trouble at all working with my IMAP server.
  • As much as I’m not a fan of the multi-button Android approach to UI, I really love the dedicated music player buttons on the N95: there’s play, pause, forward and back buttons that slide out if you slide the phone in the opposite way to the way you slide it for the numeric keypad, and I use them all the time for listening to music and podcasts.
  • Although it’s inferior in many ways to Google Maps, the fact that I can use Ovi Maps on the device with pre-loaded maps means that I don’t need data connectivity for maps. That said, it’s annoying that Nokia hasn’t released the updated “includes free navigation” app for the N95 that they released months ago for other phones.
  • The N95 has SIP deeply integrated into the “telephone” app, meaning that I can make VOIP calls on the phone in exactly the same way that I make cellular calls, with all the same UI, features, etc. I really appreciate having VOIP as a capability rather than an application.
  • The Nokia Internet Radio and Podcasting applications, while not perfect, operate as advertised and are perfectly serviceable apps for listening to streaming radio and managing podcasts respectively.
  • Although their commitment to Python isn’t perhaps as strong as it once was, the fact that Nokia released and supported Python for S60 makes application development for the N95 drop-dead simple. It’s not easy to make distributable apps in Python, but for hacking together purpose-built personal apps, it’s still the best tool on the market.

Of course there are plenty of things I don’t like about the N95 – it’s wifi handling is fundamentally broken, the hardware is way too sensitive to moisture, the Ovi Store is unwieldy behemoth, the anemic Flickr support for the “share” application – but I’ve learned to live with those and, frustrating as they may be, I’ve been able to work around these limitations.

I’ve spent the past two days using a Google Nexus One – I had one drop-shipped to [[Yankee]] to coincide with a visit here this week.

Google Nexus One and Dock Boxes

What comes with a Google Nexus One

This afternoon I called HTC to start the process of returning the phone.

I didn’t spend enough time with the phone to write a full-fledged review, and, truth be told, most of my reasons for returning it were emotional rather than rational: it just didn’t feel right for me.

That said, here are some notes on my two days with the device:

  • The purchase and delivery process were flawless.
  • The fit and finish of the packaging and of the device itself were well-executed, at almost Apple levels of design and simplicity.
  • The “just enter your Google account information and everything just syncs” is the standout feature of the phone: no fussing with iSync and iTunes required, as it just works, almost as if by magic.
  • I found the four-button Android system, which is integral to the platform and not a Nexus One-specific feature, very confusing, especially coming from an iPod Touch with its single button. Having four buttons – back, menu, home and search – makes everything more complicated than it should be because every time I want to do something, I need to recall which button I need to press. I imagine that, with time, this would all become intuitive; but to start out it was like trying to date someone with four arms.
  • The phone had real problems with the wifi network at the hotel where I’m staying: after grabbing an IP address the phone froze up in the browser during the browser-based authentication process, to the point where I needed to remove the battery to reset. This happened several times. I’ve no idea whether this is the fault of the hotel wifi or the phone, but I don’t need another phone that freezes up because of flaky wifi, as my [[Nokia N95]] does an <irony>excellent job</irony> at that right now.
  • The native Twitter application is far inferior to the native iPhone Twitter application. The Android app feels like a toy, not a productivity app whereas the Tweetie-based iPhone app seems like a marvel of design by compare.
  • I never completely understood which applications were “running” and which applications were “hidden” and which applications were “closed.” Maybe I shouldn’t have been trying to understand this at all and just let things be, but in an environment where I’m roaming and want to know which apps are using data, this seems like an important thing to be able to know.
  • The Google Translate application is magic. You can talk to it in English and it will talk back to you in German. Or Spanish. Or French. Amazing.
  • The “desktop dock,” which I ordered separately for an extra $45, is very nice, and the Nexus One drops into it without effort and automatically switches to “docked mode,” displaying the clock and a variety of other widgets.
  • I tried to migrate my address book and calendar to a Google-based setup to allow the easy-syncing to work its magic. I exported my Address Book contacts into a vCard file and imported them into Gmail, and exported my iCal file and imported into Google Calendar. And everything worked as expected. But, as much as I hate iSync and iTunes, I missed being able to have my desktop apps in sync with my mobile, and the ability to have music and video just work like they do with iTunes. I’ve pretty sure that The Missing Sync could have filled in most if not all of the gaps for me, but I didn’t want to inject another later of complexity into the process.
  • The camera is very nice, although I missed the dedicated shutter button of the N95: having to touch the screen to take a picture on a camera you’ve already aimed and focused doesn’t seem like good usability. I had to purchase a $1.99 app to build Flickr integration into the “share” capability of the phone, but once I did this it worked perfectly.
  • The app purchase process, through the Android Market, was slick, and because it integrated with Google Checkout, where I’d already stored my credit card information, painless.
  • I couldn’t use the phone outside in sunlight it all: the screen washed out almost completely. This is a problem on several levels, and made using the camera, especially for sharing purposes, difficult. Photo sharing is one of my big uses for a mobile device, so this was close to a deal-breaker for me.
  • An issue that might be completely personal, and an issue I have with all smart phones I’ve tried: the “grid of icons on multiple homes screens” mechanism for managing and launching applications is never one I’ve taken to. I don’t have a suggestion for a better way of doing this. But I find myself forever hunting around which which app is where. The Nexus One makes this slightly more confusing because there are “home screens,” which are configurable and can include apps and widgets, and the “app screen,” which is an alphabetical grid of all apps. I find the overlapping metaphors confuse me.
  • The Google Listen is fundamentally confusing. All the right pieces are there, but they’re presented in a way that makes if very hard to understand, and using Google Reader to store podcast subscriptions, while sound in spirit, is practically annoying: they subscriptions there don’t need to be read, and so they’re just noise. This is a place where the Nokia Podcasting application is superior: it’s old and clunky, but it’s simple to understand and well-integrated with the music player.
  • I couldn’t get the Google Voice application to work. It installed, but its icon never showed up on the device, and I couldn’t uninstall it or reinstall it. There’s some suggestion that this was a symptom of trying to use it on a phone with a Canadian SIM card in it, but I couldn’t find any official evidence of this.
  • I missed the baked-in SIP of the N95. It’s a hassle to setup on the N95, but once it’s there it’s well-integrated into the telephone application, and makes using SIP to make VOIP calls very easy. You can make SIP calls from the Nexus One, but you need an app to do it. Similarly, I missed the presence of a Skype app for the Nexus One (apparently there is one, but only for Verizon customers).
  • The battery life, while perhaps respectable in today’s smart phone environment, was sub-par: I left work every day with the phone fully charged, and by the next morning I was below 10% battery before I made it back into the office. And this was without anything more than casual web browsing and Twitter check-ins. Part of this might be do to the marginal cell service here (so the phone has to work harder to stay connected), and perhaps I wasn’t running things to optimize battery life. But I’m using to being able to go 3 days without a charge with my Nokia.

That’s just a random scattering of thoughts and experiences: like I said, it was mostly an emotional decision to spurn the Nexus One. My [[Nokia N95]] is no great prize, and its annoyances and downright brokenness, are legend. But I’ve a long-term relationship with it, and we’ve learned to get along.

To be a replacement for the N95, thus, means living up to a perhaps-impossibly-high standard of amazingness, and, in the end, the Nexus One, while perfectly suitable and in some ways revolutionary, didn’t meet that standard for me.

What’s next for me phone-wise? I’m toying with the idea of an iPhone 4, although I’m not sold on it. I might just admit defeat and hold onto the N95 until it dies.

Or perhaps I’ll trade it in for a tiny non-smart-phone: something that occurred to me while I was setting up the Nexus One is that I was installing apps, like Foursquare and Twitter and Google Reader, that if I didn’t have the phone I wouldn’t need the apps for and I wouldn’t miss the presence of in my life. In other words, I have a smart phone because smart phones run apps and I need the apps so that I can use the apps that smart phones run. Maybe I don’t need all this time and expense and hand-wringing, and should just go for a walk?

If you’ve been following along from home, you’ll know that I’m building the pieces of a customer-presence-sensitive music system for restaurants. Part of this system is a Bluetooth device discovery system that looks for Bluetooth devices – phones, laptops, etc. – of registered customers, and uses their presence as a trigger to adjust the restaurant playlist.

The Bluetooth discovery server that I’m using for testing is a stock Mac Mini, running a modified version of haraldscan, a Python application. The server has been in place for a week for testing the “Bluetooth environment” and the script itself has been working well.

Except that every 12 hours the Mac Mini has been crashing. Or, rather, the scan process has been hanging.

At first I thought it was simply the Mac Mini going to sleep, or being turned off on a power bar, but I realized that the server itself was still alive, it just wasn’t running my process via launchd every minute as I’d set it up to do.

It was only when I logged in to the server itself and looked at the list of running processes that I learned the cause of the problem: there were hundreds of processes running like this:

.../BluetoothUIServer.app/Contents/MacOS/BluetoothUIServer \ 
-pair XX-XX-XX-XX-XX

And when I looked on the terminal screen, I saw the evidence of this: hundreds of dialog boxes from a device trying to pair:

Bluetooth Pairing Request on Mac Mini

These pairing requests were eventually bogging down the server to the point where it could no longer run new processes, effectively bringing the server to its knees.

I tried dealing with this in the usual ways: turned off the “discoverable” setting in the Mac Mini’s Bluetooth settings, and unchecking all the other settings that would allow the Mac Mini to automatically react to new devices. But to no avail.

Next I decided to try to find out what the mysterious device “6441” actually was. Originally I thought it was a Panasonic cordless phone, but then I used this helpful Bluetooth Device Address Lookup tool, which identified the device as being made by Ingenico, a name I recognized from debit and credit card terminals.

Sure enough, the mysterious “6441” was a Moneris 8200 pay-at-table terminal in the restaurant. So all I needed to do was to prevent it from making pairing requests, and the problem would be solved.

Unfortunately, after 3 calls to 3 different technical support agents at Moneris, I came to learn that this isn’t possible. There is, it seems, no way to prevent a Moneris 8200 terminal from trying to pair with any discoverable Bluetooth device within range: the only suggestions Moneris could offer were to either turn off Blueotooth on the Mac Mini or to move it out of range of the 8200, neither of which is feasible.

So I decided to approach the problem from the other end: I simply inserted this bit of code into the launchd script that runs the Bluetooth scanner on the Mac Mini:

killall BluetoothUIServer

This has the effect of killing any pairing request dialogs that have popped up in the minute since the process last run, effectively removing the constant pairing request issue an annoyance, but not a system-crippling problem.

I welcome any advice from others on alternative approaches to this.

I’ve had an actual data plan on my Rogers account for use with my [[Nokia N95]] (as opposed to the prohibitively-expensive pay-as-you-go data use I had previously). The plan allows for 500MB of usage per month, and, truth be told, I had no idea whether this was enough or not.

I don’t do anything strange with the photo and data: I check email, update Twitter, use Google Maps, check in to Foursquare, etc. Here’s what the last month’s data usage looks like on the Rogers bill I received today:

So I’m only using about 10% of my 500MB monthly allowance, which surprised me. I’m ditching the N95 in favour of a Google Nexus One next week, so I’ll get a chance to see whether my usage habits on that new device cause me to use more or less data.

Now that Confederation Landing Park is again available to we in the neighbourhood after almost a month of being closed, Oliver and I were able last night to resume our nightly walk along the Charlottetown waterfront.

As it was a dreary, rainy day, we had the park pretty well to ourselves. As we walked around the park’s oval track, surveying the damage wrought the events of the past month, we came across a pile of assorted waste from the week’s filming of the Live with Regis and Kelly television program in the park:

Regis and Kelly Waste Pile

The white stand made from pipe with the red arrow attached was used for the trivia game that starts every episode of the show: it had a large beach ball with the available prizes attached to it that was spun around by a volunteer from the audience.

In the blue barrel beside the pile we found the (now-deflated) beach balls that were thrown into the audience, and underneath them (yes, we were archaeological in our approach) we found a collection of cue cards from the show. Feeling a responsibility to Island historical documentation, we grabbed them all out of the trash, lined them up in the rain, and shot a photo of each one:

Boiled down to its most vapid like this, it’s a stark reminder of how, despite its entertaining qualities and the unquestionable benefits that accrued to Prince Edward Island tourism from the show’s location shoot, Regis and Kelly is essentially free of content of any sort.

I’ve been testing a Bluetooth discovery process in Casa Mia Café since Sunday as part of the build-out of my Customer + Bluetooth + Last.fm system, and I’ve learned some things:

  1. Over 3 days of scanning, 17 devices were detected in the café. As we’re not completely sure of the Bluetooth range in the Mac Mini doing the scanning, I don’t know whether this represents close to all of the discoverable devices or just those that were near that back of the café.
  2. Of those 17 devices, there were 5 Nokias, 4 Blackberrys,  4 Samsungs, 1 LG, 1 Sony Ericsson, 1 laptop, and 1 Google Nexus One (which I was beside when it was scanner, and which we purposefully put into “discovery” mode).
  3. It seems like iPhones and iPod Touches are never discoverable, which is why none of them show up, and the Nexus One (and maybe all Android devices?) are only discoverable for a limited period of time after you leave the settings screen.
  4. I physically saw half a dozen laptops in the café over the 3 days, only one of which was picked up by the scanner; I suspect that most laptops either don’t have Bluetooth, or have it turned off.

If Apple is leading the way [sic] by purposefully hobbling Bluetooth, and if other vendors follow suit, this doesn’t bode well for a system built on the ability to discover Bluetooth devices.

Today I’m thinking about the possibility of adding to toolkit by looking at grabbing logs from the wireless access point in the café to detect MAC addresses of devices, Plazes-style. This would allow me to increase the variety of devices that could be detected, including laptops.

One step further and I could use something like NoCatAuth to allow customers connecting to the café wireless to register their devices if they wanted.

Otherwise I’ve been dealing with issues of the Mac Mini losing contact with the Internet; originally I thought this was because it was going to sleep, but it now seems that maybe it’s a combination of a Python script that’s not tolerant of being offline and a wireless access point that’s flaky at times.

Update: it turned out that the Mac Mini was just fine, but it was being pummeled by Bluetooth pairing requests from the Pansonic 6441 cordless phone right beside it, which was causing things to fall apart. I had no idea that cordless phones were Bluetooth-capable. I solved the problem by making the Mac Mini non-discoverable.

Another Update: It turns out that I also needed to uncheck “Prompt for all incoming audio requests” on the Mac Mini’s Bluetooth preferences. If I don’t do this then after about 12 hours the computer completely locks up with hundreds of BlueoothUIServer processes.

Another Update: Even when I uncheck the “Prompt for all incoming audio requests” box, the Panasonic 6441 phone still keeps trying to pair. How do I prevent this?

Another Update: I’ve discovered, by trying to track down the source of the Bluetooth Device Address of the offending device, that it’s not the Panasonic cordless phone, but rather the Ingenico pay-at-table card processor that’s trying to pair with the Mac Mini. Hmmm.

Another Update: I spent some time with several different agents at Moneris, the provider of the pay-at-table card processor, the final conclusion being that there’s no way to prevent their Moneris 8200 terminal from attempting to pair with surrounding Bluetooth devices. Their only suggestions were to (a) turn off Bluetooth on the Mac Mini or (b) move the Mac Mini out of range of the payment terminal; neither of these will work in our situation, so I’m going to have to see if I can control this on the Mac Mini end.

Another Update: Okay, I think I’ve been able to work around this problem by sticking the following in the Bluetooth scanning script that’s run every minute:

killall BluetoothUIServer

This kills any Bluetooth pairing request dialogs that have popped up, rendering the issue moot. I think.

The Charlottetown Guardian released a new design for its website today. Here’s what it looked like before:

The Guardian: Before Redesign

And here’s the new version:

The Guardian: After Redesign

Two new businesses have sprouted in Charlottetown this spring that might have escaped your notice.

Of course everyone already knows about Zen Sushi on Queen Street, in the former Just Juicin’ space. What you might not know is that, as of yesterday, they have a Zen Sushi Express cousin on Kent Street, between Piazza Joe’s and City Cab.

Zen Sushi Express is open daily from 10:00 a.m. to 6:00 p.m. and you can sit inside, take out, or call for delivery (892-4523). Here’s their menu:

Zen Sushi Express Menu

And here’s my lunch:

Zen Sushi Lunch

Oliver, Catherine and I ate lunch their yesterday: Catherine and I each had the Sushi Combo A and Oliver had the Sushi Combo B. All of these were well-prepared and tasty, and the service was fine. As there’s only two intersections between our house and the new place, we’re considering beta-testing an “Oliver goes to pick up sushi for supper” program this summer.

The other business you might not have noticed, mostly because it’s outside of the normal traffic patterns of your everyday Charlottetowner, is Cottage Industry, on Grafton Street across from The Pilot House where Island Furriers used to be.

Cottage Industry sells furniture and related decor the likes of which (save for a brief shining moment when the Tim Banks-controlled Home Hardware first opened) Charlottetown has never seen before.

Which is to say, things like this:

Cottage Industry Chair

Cottage Industry Lower Floor

In other words, more than just the usual La-Z-Boy and frumpy-gingham colonial-style furniture you find elsewhere. It’s not cheap, but it’s all solidly built and very comfortable. Think “IKEA sensibility, but built to last forever.” And somewhat less “1,000 year-old tree trunk crafted into a chaise lounge” than the (still wonderful nonetheless) furniture at The Dunes.

Both are welcome additions to the downtown community.

Back in the mists of time when Oliver was wee, we had an excellent run of babysitters. One of these was Emily Hanlin, an American expat who’d fallen for Prince Edward Island. Oliver met her for the first time at Kinder Music, and sometime thereafter we managed to become one of her babysitting clients.

Emily is the only babysitter to have arrived at the door with a full range of child enrichment materials, all wrapped up in a very Mary Poppins-like bag to boot, if memory serves. Oliver loved her, and she loved Oliver, and it was a very sad day when we learned that she was up and moving on (to Chicago, where I think she met Arthur Miller).

In the intervening years Emily’s moved about some more, and last summer she was married and settled down, as Emily describes it, in “Westford, Massachusetts on a 250 year-old farm with her husband, Eric, their dog, three cats and a flock of hens.”

This summer Emily’s returning to Prince Edward Island, to host a one week theatre camp for kids in Charlottetown. Here’s how she describes it:

I am so pleased to announce a project I have wanted to commit to since leaving PEI in 2004 is finally coming to fruition! I am excited to announce a partnership with Beaconsfield Historic House, one of my favorite spots on the Island. With BHH, I am presenting a summer theatre camp for kids, Monday-Friday, July 19-23, in Beaconsfield’s Carriage House. The camp is an afternoon camp from 1pm until 5pm and is for ages 8-12. The fee is $150 CDN with sibling discounts available.

For our first summer, I decided it would be fun to connect the theatre camp to the history of the house. I am currently working on an original comedy, Princess Louise Comes to Call, which draws upon the real-life visit of Princess Louise, Queen Victoria’s daughter, to the historic PEI home. The play includes a bit of time travel for two young volunteers at the museum. Not only do they get to meet Princess Louise, but also a host of other Island historic figures who join her as guests to a “fine” dinner party. Young thespians will learn about proper table manners and the etiquette of the 19th century – as well as learn about comedic timing and diction.

You can register for the camp online (there are still spaces available). I can’t imagine a better way to spend a week for a theatrical kid.

About This Blog

Photo of Peter RukavinaI am . I am a writer, letterpress printer, and a curious person.

To learn more about me, read my /nowlook at my bio, read presentations and speeches I’ve written, or get in touch (peter@rukavina.net is the quickest way). You can subscribe to an RSS feed of posts, an RSS feed of comments, or receive a daily digests of posts by email.

Search