Skip to content

Victoria: vacation part one

Our daughter had her spring break this past week, and this year we opted to head to the Pacific Northwest. We started in Victoria, where we rented an apartment in downtown via Airbnb. It was in a great location: easy walks to different points around downtown, and lots of tasty restaurants nearby.

I’d visited Victoria once before when UIST was held there in 2009. I didn’t have a lot of time to look around, though, so I was happy to visit it again. One of our daughter’s friends is Canadian, so she came with a list of things she had to do: eat poutine, get a farmer’s wrap and timbits from Tim Horton’s, drink some iced tea, buy some ketchup chips, and visit Roots.

Victoria strikes me as a smaller version of Seattle or Vancouver; it still has that Pacific Northwest vibe, but it’s a lot smaller than both cities. The inner harbor is more intimate, it’s easier to walk most places you’d want to go, and you aren’t overwhelmed with possible things to do (which has both upsides and downsides).

We started our first full day by walking around the harbor, checking out the BC Parliament building, and visiting the Royal BC Museum. The museum had a nice display of First Nations art, as well as displays on the environment in British Columbia and the European settlement of the area. The latter two exhibits were interesting; they made heavy use of immersive spaces to try to communicate what it was like to visit an area or live during a particular era. I enjoyed them; it was a bit like a cross between a more conventional static display and a Disney-esque recreation (some of the areas were even scented to enhance the illusion.

An exhibit on BC coastal climates
The Victoria era in the Royal BC Museum

After lunch (the fish and chips at Red Fish Blue Fish are amazing) and a little shopping on Government St (our daughter got her Roots visit in), Kate and I walked down to Beacon Hill Park. The park was pretty and it was a nice day. Parts of it reminded me of Central Park in New York, which probably isn’t surprising since the designers apparently drew inspiration from it.

Beacon Hill Park

The next day we visited Craigdarroch Castle, a mansion built by coal baron Robert Dunsmuir. It wasn’t actually a castle; it apparently acquired the nickname because of it’s prominent turret. It was fun to explore, though, and the sitting areas on each level of the tower seemed like they’d be great areas to sit and read.

Craigdarroch Castle
Two sitting areas in the tower off the main stair

After the castle we stopped by the Victoria Public Market. It was essentially a food hall, like those that have become trendy in other cities. It’s clearly targeted at a lunchtime crowd; most places seemed to close at 5, which was unfortunately (otherwise we totally would have come back for dinner).

Then we walked over to Victoria’s Chinatown, which is the oldest in Canada and the second oldest in North America (after San Francisco’s). It was nicer than Vancouver’s (which surprisingly seemed to be a rather sketchy area), but fairly small; San Francisco’s is a lot bigger and more interesting.

While we didn’t see everything (lacking a car we opted to skip Butchart Gardens), with two full days and a partial day we caught the things we wanted to see. Victoria is small enough that three days seemed to be just about right. On our fourth day we headed to Sidney and caught the Washington State Ferry to the San Juans.

The MacBook Pro keyboard

Apple’s butterfly keyboard has taken a lot of flak, and for good reason: it’s pretty awful. I’ve never been a fan of how it feels; I like keys with more travel. If it were reliable it’d just be lousy, but it’s unreliable to boot. After 2 redesigns it still has issues with missed or repeated keystrokes. Apple claims the issue only affects a small number of users, but like DHH I suspect that affected users significantly under-report the issue to avoid the hassle of living without their laptop while Apple fixes it.

I know that I personally haven’t reported the issue with my work laptop. I’ve got a 2017 MBP with an ‘f’ key that periodically repeats. I’ve tried cleaning it with compressed air with no luck. I decided to live with it because most of the time I use an external keyboard and mouse, so it only occasionally affects me. And it’s easier to backspace over the occasional extra f than live without my laptop for an extended period of time.

Plus Android development is becoming increasingly possible on Chrome OS, so if I hold out a little longer I can switch to a Pixelbook for work. It’s got a very nice, reliable keyboard…

Input controls and social conventions

I have a pair of Samsung Level Over headphones that I use at work to listen to music. I got them as a holiday gift when I worked at Samsung Research. They’re fine; the sounds quality is decent, and it’s useful not to have to worry about wires (and the Bluetooth connection is quite solid). You can control playback by gesturing on side of the headphones; the ones I use the most are swiping to change tracks and double-tapping to play or pause.

I didn’t think much about the double tap gesture at first; it seemed to make sense, since it could in theory be easily to accidentally single tap the headphones, when, for example, adjusting them. A double-tap would make accidental activation a bit less likely.

But after using the headphones for months now, there’s an unfortunate conflict with a common social convention. If someone comes up and wants your attention but you’re in the middle of listening to something and can’t stop, you communicate that fact by looking at the person and double-tapping on your headphones. So the common convention for “I’m listening to something and can’t be interrupted” is that same as the controls for pausing playback so you can talk to the person. Oops.

The moral of the story? When designing gestural input (and input in general), you need to think about the usage context more generally, not just what the system can recognize reliably and what physical mapping makes sense in isolation.

Fossil Sport Smartwatch

I split my time between an iPhone and a Pixel to keep tabs on both the iOS and Android ecosystems. I have an Apple Watch that I wear when carrying my iPhone, and when I worked for Samsung I wore a Gear S3 when carrying (at that time) a Note 5. When I joined Google and switch to the Pixel I stopped carrying the Gear S3, but there wasn’t a particularly good Android Wear (now Wear OS) watch I wanted to try (in large part because everything was still using the old Qualcomm Snapdragon Wear 2100 chipset).

Qualcomm finally released the 3100 (which, granted, isn’t actually that much better), and when Fossil had a sale on their Sport Smartwatch ($200, down from $275) that uses it I decided to get one to try it out.

I’ve been using it for a few weeks now, and so far my impression is a somewhat unenthusiastic “it’s fine”. From an industrial design standpoint it’s not nearly as nice as the Apple Watch or even the Gear S3, and I prefer the Gear’s rotating dial over a rotating crown. The battery life is decent; turning the watch off at night I can typically eke out 3 days of use before needing to charge. The OS is still noticeably laggy; Qualcomm may be have improved battery life with the 3100, but it’s still a pretty slow processor.

The OS itself is pretty good. I actually like the way it handles notifications a bit better than how iOS does: it’s easier to skim and delete messages from their notifications (iOS seems to want me to scroll through an entire message before giving me the option to delete it). Since keeping tabs on notifications is my primary use case for a smart watch, that’s a plus for Wear OS.

At the end of the day, though, what Wear OS really needs is better hardware, both processor and watch. I’d be tempted to go back to my Gear S3, but I’d prefer not to install Samsung’s software on my Pixel. So I’ll keep using the Fossil Sport with my Pixel; like I said, it’s a perfectly fine watch. But I’m glad I got it for $200, rather than paying full price.

Japanese Fried Chicken

Last night I made Milk Street’s Japanese Fried Chicken (karaage) for the second time. It’s surprisingly easy to make, though it does take a fair bit of time since the chicken has to marinate for 30-60 minutes and then chill with a cornstarch coating for another 30-60 minutes before you fry it. But the actual prep and cooking steps are fairly quick, so you interleave other activities with them (well, aside from the frying; you need to pay attention during that part).

The most annoying part of the cooking is grating the ginger, both for the marinade and for the dipping sauce. While overall I really like Milk Street recipes and enjoy the Asian influence (it’s nice to expand our cooking repertoire), their recipes seem to call for a lot of grated ginger (often a tablespoon or more), and I find grating ginger (we use a microplane grater) really tedious. Luckily for this recipe you can use a box grater for the ginger in the marinade, so it’s not quite as time-consuming. And I will say that finely grated ginger does blend with sauces a lot better.

If you’re a fan of fried chicken, this recipe is definitely worth making.

You had one job

I use an Apple Nike+ Watch to track my runs. I’ve continued my minimal running; these days that’s often all I carry, unless I need to bring keys with me. I haven’t run with music in months now, and generally I don’t miss it (although I am noticeably slower without upbeat music helping push my pace.

All I ask of the watch is that the Nike+ running app track my runs accurately. I don’t need training, I don’t care about accomplishments, and I don’t need challenges. In general it does a good job, aside from the general latency the watch exhibits (it’s a 2 1/2 year old Series 2, so some latency is forgivable). But roughly a month ago it started to crash every time I tried to finish a run. When I restarted the app it’d try to resume the run, and I could stop the run once it resumed, usually without the app crashing again. Usually. But with the app’s latency, it’d typically end up adding 20 seconds to my run times.

I’m not totally positive, but from the app’s behavior I’d guess it was leaking memory. When I paused tracking early in a run to wait for a light to turn it’d pause and resume pretty quickly, but if I had to stop at that same intersection on my return it’d take several seconds to pause and often nearly a minute before it would show me the stop / resume controls. And then at the end of my run as mentioned it would generally just crash. From the crash log it looks like it was taking too long to respond and the OS would kill it.

Nike finally did fix the app after a few weeks (or at least it hasn’t crashed on my recently, so I’m hoping it’s fixed), but this is a perfect illustration of an app losing sight of its core focus. How on earth could Nike let a bug like that, which focuses on the core app functionality, through? The app has one job it absolutely needs to do: track a run. Everything else (training, challenges, accomplishments) is just gravy; if your fitness app can’t track fitness, it’s useless. And it’s not like the bug was hard to find: go for a 10K run and it’ll show up.

Maybe their software development team needs a bit of exercise.

Signs of spring

We had a week-long break from the rain (which sadly is not going to last too much longer), together with some warmer weather. Between the two we’ve been able to open up the house the last few days and air it out; it feels great to get the fresh air. And there are signs of spring about: some of the trees are starting to flower. We’ll have a couple more days to enjoy the sun and warm weather until we get more rainy cold weather.