Tuesday, March 19th
Colors that look and work great for everyone
The plugin to help you design and build products that are accessible, ethical, and inclusive.
There’s no reason for 97.8% of websites to have WCAG errors. A variety of tools are available to help designers make the right decisions. These two were just shared with me today. Both look pretty useful for improving contrast and color selection. My only wish is that color.review didn't use Raleway.
Thursday, March 14th
In February 2019, WebAIM conducted an evaluation of the home pages for the top 1,000,000 web sites using the WAVE stand-alone API (with additional tools to collect site technology parameters). While this research focuses only on automatically detectable issues, the results paint a rather dismal picture of the current state of web accessibility.
The entire report is posted on their website.
Monday, Feb. 4th
I would’ve bet my house — because even if you’ve never even heard of Pixelmator, you of course know how to invoke Undo and Redo in any Mac app: Edit → Undo and Edit → Redo, with the shortcuts ⌘Z and ⇧⌘Z. In fact, even their placement in the Edit menu is always the same, in every Mac app: the first two items in the menu.
iOS does in fact have a standard convention for Undo, but it’s both awful and indiscoverable: Shake to Undo
Personally, if I were designing an iOS drawing app I’d go the first route, and follow Apple Notes’s lead with “⟲” and “⟳” buttons.
Think about that: iOS user interface conventions are so shallow, so widely and wildly inconsistent, that an app proclaimed by Apple as the very best of the year has to start, as the very first thing you see when you launch them, by teaching you how to use Undo. That’s a sad state of affairs.
Consistency is my favorite thing about mac apps. A good mac app feels like a mac app. iOS, on the other hand, is a design and interaction playground (jungle? smorgasbord?).
I think some of this is because iOS was so limited interaction-wise when it first came out. Therefore, every designer and design team came up with their own creative solutions to extend the interactions on iOS. I also think it has to do with how software design has come to prioritize uniqueness* (sometimes above all else). The amount of bespoke design in an iOS app is much higher than mac apps. Often, this can confuse users (including me).
We think Procreate's Undo gesture is one of the best things we've ever made. Apple highlighted it as an exceptional user experience when Procreate Pocket was lucky enough to win iPhone App of the Year 2018, and it's one of our most beloved features. It's simple, fast, and takes full advantage of multi-touch.
It's also one of our most-stolen features (over a dozen apps and counting), and we're fine with that. In fact, we’re giving it away. Seriously. We've put together a sample project covered by the Simplified BSD License, which means you can add to or modify it as you wish.
Ok. I will. Github: ProcreateUndoGesture
*Uniqueness is something all apps should find the right balance of. But, perhaps, undo gestures are not the right place for this quality.
Friday, Feb. 1st
The idea of having Air Lookout complications on the Apple Watch has been a dream of mine since complications on watchOS were announced. I have had a prototype complication working since the summer of 2016. However, I ran into some strange limitations, quirks or bugs where I couldn't get the complication to update as reliably as I wanted.
An Air Lookout complication is unusually demanding in that there's a fairly large amount of background tasks that it has to do (ideally once an hour as that's when new readings are published by the Environmental Protection Agency), namely:
- Update the user's location
- Send a network request to update the air quality readings
- And of course: update the UI/complication
I needed this to happen reliably without draining battery or degrading performance of the watch. I also wanted all of this to happen independently of the phone.
While it's still not guaranteed that any of these events will be triggered at a regular interval (documentation suggests at least 50 updates per 24 hours), it's a huge improvement over watchOS 4 and 3. I may go further into the technical details on another post, but prior to watch OS 5, it wasn't reliable enough for me to promise and ship this to users.
This is no longer the case. This is now all possible and, from what I have seen, reliable on watchOS 5. I have been testing these Air Lookout complications every day since the watchOS 5 beta was released at WWDC 2018 and I’m pretty happy with the results.
Air Lookout supports every complication in watchOS5. There are 11 different complications in watchOS 5 and Air Lookout supports all of them. Additionally, many of the complications that support an image I dynamically draw a sparkline graph. For complications that don’t support an image, where there is space, I draw a unicode arrow to indicate if the air quality is trending up, down or staying the same. I have tried to have the information density as tastefully high as possible.
Here are all the supported complications:
- Modular Small (supports: Sparkline Graph)
- Modular Large (supports: Sparkline Graph)
- Utilitarian Small (supports: Trend Arrow)
- Utilitarian Small Flat (supports: Trend Arrow)
- Utilitarian Large (supports: Sparkline Graph)
- Circular Small (supports: Trend Arrow)
- Extra Large (supports: Sparkline Graph)
- Graphic Corner
- Graphic Bezel
- Graphic Circular
- Graphic Rectangular (supports: Full-Color Graph)
In short: every watch face that supports 3rd party complications will support an Air Lookout complication.
Graphic rectangular is the best complication for power users. This is the complication that I use every day. The thicker white line represents the Air Quality Index and the thinner light lines show the AQI of each individual pollutant. This has been really helpful to see if a change in AQI is due to improved conditions or temporarily missing measurements for pollutants (as shown in the first screenshot above). Most important to me is seeing if my local station is showing a change in air quality and the integrity of the reporting data.
A Brand New watchOS App
Until fairly recently, the watch hardware wasn’t fast enough to process and display all the data and information that the iOS app could. The biggest thing holding this back was always the original (Series 0) Apple Watch. With watchOS 5 only supporting Series 1 and newer Apple Watches, this has enabled me to build a much more robust and rich watchOS app.
In fact, the watchOS app has a few features (such as sparklines for every pollutant) that the iOS app doesn’t have yet!
A Refined iOS App
There are a handful of iOS app refinements in Air Lookout 1.4. This is all in preparation for a fairly big rewrite that I hope to get a good start on in early 2019.
- Improved legibility for station names and page titles on moderate (yellow) background colors.
- Added clarity if a station is not reporting PM2.5 or O3.
From now on, Air Lookout will require stations to report both particulate matter small (PM2.5) and ozone (O3) to be in the top 10 ranking.
This update also brings support to all the new iPhone hardware.
I hope you enjoy the updates as much as I do. I use Air Lookout every day and a lot of these features either came highly requested from users or improvements I have wanted for awhile. I’m really excited to continue working on Air Lookout, supporting more devices and continuing to add and improve features.
You can download Air Lookout on the iOS App Store for just $0.99.
If you enjoy it, please consider leaving a review. It really does help me.
Tuesday, Nov. 20th
There’s a lot of really exciting and new interaction possibilities with the 2018 iPad Pro.
First, the easy addition and support of usb-c external monitors adds a whole new dimension for apps to explore. Imagine having a multitouch keyboard (the iPad) displaying any kind of possible UI that is also connected to a 5k display.
I made a quick demo that shows the specs and info of a connected external display (more on this later possibly…). It’s surprisingly easy and most of the external monitor support in UIScreen has been around since iOS 3.2. Funny enough, this was the first version of iOS that the iPad came with. However, I don’t think it has had much of a reason to exist (or developer interest) until the 2018 iPad Pro.
Second, the addition of a simple gesture recognizer on the 2018 Apple Pencil is interesting. Apparently there may be some private APIs that can detect more than just a double tap. Perhaps there will be more additions to this is future iOS versions?
I’m curious to see how well-adopted these features become from 3rd party developers.
John Sundell has posted a few demos on his twitter feed that I think are pretty interesting.
Here's another iPad Pro prototype! This time I'm using the Apple Pencil for text selection + copy & paste in a Markdown editor. I really love the idea of using the pencil as a dedicated pointing device - it adds a whole new layer of possible interactions
I added external display support to my iPad Pro Markdown editor prototype! While iOS has supported external displays for a long time, being able to connect one via USB-C is so nice - and as developers it gives us a whole new UIScreen to render on without delays!
I want to show you a super early preview of a new Imagine Engine feature I just started building with my new iPad Pro - live editing of a running game using the Apple Pencil! I think this sort of tools have enormous potential on the iPad - can't wait to build many more!