Checking out the new stuff

Taking advantage of a weekend trip to Syracuse, home of the nearest Apple Store, I test drove Apple’s latest products.

Apple Watch

I tried on two models: the stainless steel with Milanese loop and the Space Gray Sport. When I specified which versions I wanted to try I foolishly forgot to specify size, so both of the ones the Apple guy brought out were 42mm. This size turned out to be a bit large for my scrawny wrists. Still, I wear a fairly big watch now and I might be able to just barely get away with it, which would be nice since the 42mm features longer battery life.

A photo posted by @duc on

The Milanese loop can be made surprisingly tight, which is important for getting accurate heart rate readings. The magnet is strong and the band itself is quite comfortable. Not surprisingly, the fluoroelastomer band is also very comfortable. Unfortunately these units only ran a demo loop that had no interaction at all. A couple times during the demo you could feel the haptic tap used to notify you. My first impression is that it needs to be stronger if I’m to notice it while doing things throughout the day.

There were usable demo models in the store, but they were fixed to a base which obviously doesn’t give you a faithful representation of daily Apple Watch usage. Still, playing with the interface, getting a feel for how quickly the digital crown scrolls content, and experimenting with Force Touch was very informative.

The digital crown feels great. While you can always scroll by dragging your finger, in most circumstances you’ll probably want it out of the way and just use the crown. You also use it zoom in and out on the app selection screen. Some people have complained that the app view is zoomed out too far by default, with the circles too small to be tappable. I found this screen usable, but I agree: it’d be nice if the default zoom was a little further in.

In my brief time with the demo watch the only place I could find to trigger a Force Touch was in the Messages app, where performing one lets you compose a new message. I found myself trying to Force Touch on every screen and was disappointed when nothing happened most of the time. I imagine that becoming more familiar with the interface will reinforce which screens are Force Touchable and which aren’t, but for now it’s rather confusing.

Trying the Watch was fun and I can see the appeal of having notifications on your wrist and being able to perform simple tasks faster than you might be able to on a phone. Still, I expect evolution in thinness and functionality to happen quickly, which reinforces my decision to stand by this generation and wait until next year at the earliest.


I also played with the new MacBook, which is an incredibly slim and beautiful device. The case is very sturdy for something so thin. The keyboard’s shallow travel isn’t great, but my wife and I both found that typing on it was fine. You probably get used to it. For developing apps and editing photos I need the MacBook Pro (though this MacBook is probably way more powerful than my 2008 MBP), but I would absolutely love to have something close to a Pro’s power in the new MacBook’s form factor. I’d happily sacrifice the ports. All other laptops seem ludicrously fat and heavy in comparison.

I was incredibly skeptical of the Force Touch trackpad and I lamented its introduction to the 13″ MacBook Pro line, but fake-clicking is as convincing as mechanical clicking. It’s incredibly good. Pushing harder to trigger a “force click” is pretty cool too. The click from a force touch is firmer. If you ramp up the pressure slowly enough when force clicking over a word, you can control the size of the popover that displays the word’s definition until it gets to full size. It’s a neat effect.

Type inference fail

Fatal error: Uncaught Error: Call to a member function id() on array in /homepages/8/d92712396/htdocs/section1f/blog/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php:36 Stack trace: #0 /homepages/8/d92712396/htdocs/section1f/blog/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php(538): CrayonFormatter::format_code('', Array, Object(CrayonHighlighter)) #1 [internal function]: CrayonFormatter::delim_to_internal(Array) #2 /homepages/8/d92712396/htdocs/section1f/blog/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php(516): preg_replace_callback('#()#msi', 'CrayonFormatter...', 'let a = [3, 1, ...') #3 /homepages/8/d92712396/htdocs/section1f/blog/wp-content/plugins/crayon-syntax-highlighter/crayon_highlighter.class.php(166): CrayonFormatter::format_mixed_code('let a = [3, 1, ...', Object(CrayonLang), Object(CrayonHighlighter)) #4 /homepages/8/d92712396/htdocs/section1f/blog/wp-content/plugins/crayon-syntax-highlighter/crayon_highlighter.class.php(186): CrayonHigh in /homepages/8/d92712396/htdocs/section1f/blog/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 36