January 17, 2019Comments are off for this post.

Codea on Menus in iOS

I've been using an iPad Pro on and off for the past year and have yet to find a way to use it as my daily work machine. Some of this is due to missing applications like Sketch or Adobe XD, but also in the limitations of most iOS apps. Mobile apps are simple, accessible, and focused, but don't typically offer the robustness of desktop counterparts.

Codea recently addressed this gap as co-creator Simeon wrote in a recent blog post:

I realised six months ago as I was using my Mac, using the menus, that I need these things — menus — in Codea. I was trying to solve a problem that has been solved for decades.

So I set out to make the best menus I could make for iOS.

For simple apps, menus aren’t necessary, and that’s great.

But Codea isn’t a simple app and there’s nothing I can do about that.

What it can be is discoverable. Compared to all the options I considered, menus are exactly that, discoverable. You pull down a list of named features complete with shortcut keys (if a keyboard is attached). Then you activate that feature by tapping on it, or by dragging your finger and releasing.

Hamburger menus, side-drawers, whatever you want to call them, are a conventional way to bury additional and often unrelated functionality into an app. But they are much heavier than the good old-fashioned menu bar. They often pull out a whole modal side-thingy, maybe they slide all your content to the right. It’s a context switch for your brain.

Menus categorise items under common, plain-text headings, and they appear and disappear without fanfare.

I wanted menus that looked beautiful, looked like iOS, and felt great.

https://codea.io/blog/the-ios-menu/

Simeon perfectly describes the missing component in many of today's productivity apps - discoverability. Features and complexity are often dropped for the sake of simplicity, sacrificing the value of the app. But Simeon doesn't just stop at adding menus to Codea, he dives deeper in a second post to focus on the interactions.

The other interaction I really needed for this menu was something I first noticed in Procreate, an iPad app for painting. It uses popover menus to allow the user to change tools and colours. Standard iOS popovers require the user to tap outside the popover to dismiss it before she can interact with the background. In Procreate, you can just start drawing and the popover dismisses.

This behaviour gives the menus their lightweight feel. They don’t stutter your interactions with the rest of the system. The clip below shows what happens when you scroll the editor with an open menu.

There are so many great details in this piece, but I particularly love how he handled scrolling for various device sizes and his brilliant implementation of dynamic button colors for increasing legibility (see the video).

February 11, 2018Comments are off for this post.

The quantified self: Wedding edition

Who says you can't quanitfy love? I tracked my heart rate during our wedding ceremony in September and time-stamped a few highlights with the help of photos from family, friends, and our official photographer. I tried a few different tools for creating the chart (Google Sheets, Numbers, Sketch, etc.) but eventually landed on Plot.ly for the interactive annotations.

 

Plot 2

I wore the heart rate monitor under my shirt cuff to keep it out of the photos and against my skin. I'm sure it moved around a bit, but I was happy to see repeated measurements even after some of the steep drops or climbs.

Waiting for it to begin

www.sethkaye.com

My heart rate climbs slowly but steadily towards the beginning of the procession. The wedding party waited inside for everyone to be seated before the procession started. We could see the guests arriving, chatting, and getting to their seats through the windows of the auditorium we were waiting in. I definitely got more and more nervous watching and waiting.

Calm during the vows

A lot of friends and family have pointed out how the vows and then exchanging the rings seemed to calm me down a lot. It definitely did. I think part of the calm came from the most normal moment in the entire wedding. The whole day is this crazy ordeal. The two of you are the center of it, but it's not really about you. It's about celebrating with your friends and family, making sure the buses arrive when they're supposed to, remembering how slowly you have to step to take up all the time of the music during the processional.

But when it came to the vows it's really just the two of you again. Vows can be cliche and overplayed, but at the end of the day it was just me and my wife telling each other how we felt. Sure everyone else was there, but the words were just for us.

The glass

Oddly enough I was most nervous about this. Stepping on a wine glass isn't the most natural thing in the world. Not only that, but my father-in-law warned me not to step too hard as he'd actually injured his ankle at his wedding. You don't really get to practice either - unless you order extra glasses or have some at home you're not fond of.

Needless to stay I stepped a bit too delicately and needed a second attempt. If my heart rate wasn't up from the nerves it definitely was up from the embarrassment!

Blurred for friends privacy

Full day

Here's the full day chart from the actual Fitbit app. It's crazy to me that breaking the glass topped everything - including dancing at the reception!

November 16, 2017Comments are off for this post.

How Twitter solved the character problem for different languages

Great writeup from Josh Wilburne of Twitter detailing the challenges of designing for the 140 character limit across the world. Two major aspects that stand out:

Automatic density-based adjustments

With this in mind, we designed a system that defines two types of written languages, dense and non-dense, and expands the character limit for non-dense languages.

Continuous insight

While I thought removing the UI until it was relevant would help alleviate the stress of the character limit, it ended up having the opposite effect; people were unable to properly plan their Tweet since they had no feel for how far along they actually were.

There's plenty to debate in the final implementation (as there always is in design), but I love the outside box thinking to classify languages, adapt automatically, and to show progress throughout composition, regardless of the language.