About / Blog

Suggested Reading
Guetzli JPEG Image Comparison, Collection of Human Interface and Software Design Guides, Air Lookout 1.4: All The Complications, Hello freelance!, My Favorite Podcasts, Kawasaki KLR 650 Rebuild Compilation

Wednesday, March 18th 2020

iPadOS 13.4 And Cursors #

Apple iPad Pro

Apple: New Magic Keyboard Designed for iPad Pro Features a Floating Design, Backlit Keyboard and Trackpad, Delivering the Best Typing Experience Ever on iPad:

With iPadOS 13.4, Apple brings trackpad support to iPad, giving customers an all-new way to interact with their iPad. Rather than copying the experience from macOS, trackpad support has been completely reimagined for iPad. As users move their finger across the trackpad, the pointer elegantly transforms to highlight user interface elements. Multi-Touch gestures on the trackpad make it fast and easy to navigate the entire system without users ever lifting their hand.

Notably still absent from the keyboard: an ESC key.

The Verge: Here’s how the iPad’s new trackpad actually works:

We can answer some of your questions about how trackpad support will work today and we’ll get a chance to actually use it ourselves in the public beta. In the meantime, here’s what we definitely know about how it will work based on videos Apple has released publicly and on a video presentation given to reporters this morning.

  • The pointer will only appear when you need it. The mouse pointer won’t be persistent on the screen at all times, instead only appearing when you’re touching the trackpad.
  • The pointer is a little circular dot. Apple says that shape makes the most sense for the iPad, which again is fundamentally designed around touching with your fingers.
  • ...but it can change shape based on what it’s pointing at. You know how your desktop mouse pointer turns into a hand, text cursor, or a little resize arrow depending on what it’s pointing at? The iPad’s pointer does a similar thing. But since so many of the UI elements on the iPad are big, touchable buttons, the way the iPad cursor changes is a little different. It changes shape to be the size of the touch-target area for the button. (If the animations bug you, apparently you will be able to turn them off.)

It's really interesting how interactive controls capture and influence the appearance of the cursor. I'm going to hold off judgement until I have a chance to try it out with an external mouse. I hope it feels smoother than it looks. In some of the videos it looks like the cursor can get snagged or slowed as it passes over controls.

The New iPad Pro and Magic Keyboard with Trackpad: The MacStories Overview:

Along with the new iPad Pro, Apple also announced a new Magic Keyboard with trackpad specifically designed for the iPad Pro line. The Magic Keyboard ships in May, is available at $299 for the 11-inch iPad Pro and $349 for the 12.9-inch model, and will be backward-compatible with the 2018 iPad Pro line.

It looks amazing and is likely incredibly well designed, but $299–349 is a rough price tag.

According to Apple, most third-party apps will work with the new system-wide cursor (which, again, does not require the new Magic Keyboard) with no changes at all. However, there will be specific APIs for developers to fine-tune their apps’ UIs to the cursor (presumably, to better integrate with aspects such as hover states).

iOS is getting more and more complicated with every release and feature added. It's already really hard to justify the extra time to meet the minimum expectations for an iPadOS app as an independent developer. I hope the new default cursor system works pretty well with the standard UIButtons and UIControls without additional work.

Jason Snell:

Pro tablet without either of Apple's two big Pro apps. This needs to change.

I spend a majority of my professional time designing websites or apps and programming iOS apps. I certainly can't program iOS apps on an iPad and design tools aren't quite usable enough. The story with a lot of Apple products recently seems to be: the hardware is amazon, but the software isn't ready yet.

Even though I really enjoy iOS and the iPad, the unfortunate reality is that between the new iPad Pro or the new Macbook Air, the Macbook Air is the only device out of the two that I could actually do my job with. That might change in the near future, but doing my job on an iPad, regardless of cursor support, is currently not possible

Tim Horton:

Web Developers: The latest iOS 13.4 beta brings desktop-class pointer and mouse event support to Safari and WebKit on iPadOS! For best results, adopt Pointer events, and ensure that your web content does not /depend/ on touch events (which a trackpad or mouse will not send).

Steve Troughton-Smith:

You can add a UIPointerInteraction to your view, and its delegate will then be asked to provide a UIPointerRegion, and a UIPointerStyle for that region. A pointer style is an effect or shape, given a UIBezierPath, and can constrain movement in either axis (i.e. snap to regions)

Brandon Walkin:

Excited to share the new adaptive cursor and trackpad support for iPadOS.

It would be an absolute dream to be on the Apple HI team and work on this.

Tuesday, March 10th 2020

The Story Of The 3DFX Voodoo 1 #

3DFX Voodoo 1

Fabien Sanglard: The Story of the 3DFX Voodoo 1:

Ross Smith, Scott Sellers, and Gary Tarolli originally met while working at SGI[4]. After a short stint at Pellucid where they tried to sell IrisVision boards for PC (at 1994 $4,000/piece), they started their own company with backing from Gordie Campbell's TechFarm. Headquartered in San Jose, California, 3dfx Interactive was founded in 1994.

It still boggles my mind how someone could start a company building such complicated circuitry. I also didn't realize the connection between SGI and 3DFX.

First of all, 3dfx had made the audacious choice to not support 2D rendering. The Voodoo1 had two VGA ports, one acting as output and the other as input. The card was designed as an add-on which took as input the output of the 2D VGA card already installed in a PC. When the user was running the operating system (DOS or Windows), the Voodoo1 was just a pass-through which did nothing but to relay the signal from its VGA input to its VGA output. When entering 3D mode, the Voodoo1 took over the VGA output port and discarded the signal on its VGA input. Some boards had a mechanical switch which would generate an audible "click" when switching between 2D and 3D mode. This choice also meant the card could only do fullscreen rendition, there was no "windowed" mode.

This is one of the craziest things that I still remember about the Voodoo 1: it was 3d only. You still had to use your computers PCI video card for the OS and non-3d games.

The second remarkable aspect of the SST1 is that it was made of not one CPU but two non-programmable ASICs (Application-Specific Integrated Circuit).

Whoa.

There's a lot of great history and information in this post (and a ton of other great posts as well). I had a Voodoo 3 that I remember fondly. I also remember shortly thereafter lusting over the Voodoo 5 that was supposed to obliterate the Nvidia GeForce (which was getting all the rave reviews in the gaming magazines of the time). It's neat to look back at this nostalgic time with more understanding of how OpenGL and shaders work.

It's also worth noting that prices on eBay for anything 3DFX related are increasing rapidly.

Tuesday, March 10th 2020

Zip Files: History, Explanation and Implementation #

This article explains how the Zip file format and its compression scheme work in great detail: LZ77 compression, Huffman coding, Deflate and all. It tells some of the history, and provides a reasonably efficient example implementation written from scratch in C.

There are two main ingredients in Zip compression: Lempel-Ziv compression and Huffman coding.

This is a really intriguing article that goes into the history and implementation of the Zip file format. While the C gets a bit intense towards the end, the LZ77 and Huffman coding was incredibly interesting to me. The explanation was incredibly clear and really shows how smart of a solution LZ77 and Huffman coding is.

Thursday, March 5th 2020

The Verge On The Mac Pro (2019) #

The Verge:

Because ultimately, that’s the story with the Mac Pro: the hardware is way, way ahead of software support. When we ran benchmark tests that pushed the GPUs, they turned in solid numbers, but so few apps were optimized to use Apple’s Metal graphics system that we basically never saw that performance in action during our day-to-day work.

The Verge: Six professionals review the Mac Pro (YouTube)

Hardware has continued to advance forward in unbelievable ways. However, at least when considering consumers, software has lagged behind and often struggles to take advantage of today's hardware (let alone tomorrow's).

I can't help but imagine this is related to the expectation that most software should be free and the race to the bottom regarding software prices.

Monday, Feb. 17th 2020

Collection of Human Interface and Software Design Guides #

After posting about the OpenStep User Interface Guide, I started to wonder how many different human interface guides or software design guides that I could find from the past and present. It doesn’t seem like there’s a good collection of these anywhere on the internet, especially in regard to past software design guides. I think there’s a lot of value in these even outside of just being a historic reference.

If you have a link or PDF of human interface or software design guidelines to past or present software that you think I should include, please contact me: @rectangular.

Current

Apple

Elementary OS

Gnome Desktop Environment

Haiku

KDE

Microsoft

Archival

Apple

Gnome Desktop Environment

IBM

NeXT

OpenStep

Silicon Graphics, Inc.

Sun Microsystems

1 This is before IBM OS/2, so I assume it’s referencing DOS based applications.

older home newer