Tbolt UI Design & Programming

Things a Computer Scientist Rarely Talks About

Occasionally I find myself down rabbit holes exploring the history of computing. Donald Knuth is often a name that comes up as his magnum opus The Art of Computer Programming is well known and revered in computer science and programmer circles. One such exploration led me to his talks on God and Computer Science. I haven’t listened yet, but I plan to as I find it a curious topic. I also enjoyed these lecture titles:

Why I am unqualified to give these lectures.

Why the lectures might be interesting anyway.

Thoughtful App Icons

I love good app icons. Others do too. They often reflect the quality of the software they represent. On MacOS, some of the best icons come from indie software developers. Whereas large companies frequently field uninspiring, flat, and dull icons. For example, compare an early version of the Docker for Mac Icon to the Postgres.app Icon. I dread launching Docker for Mac not least because of it’s low-quality app icon.

One of my favorite icons comes from Nord, a keyboard instrument maker. Their keyboards are a marvel of UI Design, playability, and sound engineering. To manage the sounds on the keyboard they offer a companion app, the “Nord Sound Manager.” The icon is beautiful and perfectly captures the essence of the hardware keyboards that it’s used with. A keyboard maker wouldn’t be my first guess as to where great app icons come from, but if you care about your products, every detail matters. Take a look-

Nord Sound Manager MacOS App Icon

The Nord Sound Manager MacOS App Icon

Nord Electro 6D Keyboard

Nord Keyboard

Larry Tesler, UI Pioneer, Dies at 74

New York Times:

Lawrence Tesler, a pioneering computer scientist who helped make it easier for users to interact with computers, whether cutting and pasting text or selecting text by dragging a cursor through it, died on Sunday at his home in Portola Valley, Calif. He was 74.

and

In addition to helping develop the Lisa and Macintosh, Mr. Tesler founded and ran Apple’s Advanced Technology Group, after which he led the design of the Newton hand-held computer, although that proved unsuccessful. The group also created much of the technology that would become the Wi-Fi wireless standard, and Mr. Tesler led an Apple joint venture with two other companies that created Acorn RISC Machine, a partnership intended to provide a microprocessor for the Newton.

Truly an icon in computing history.

Apple Music on the Web

A few months ago Apple opened up beta.music.apple.com on the web as a beta. I spent a few minutes poking around in dev tools and found some neat things about it. Keep in mind it’s still in beta, so it’s subject to change.

  • Ember.js - Interesting to see Apple us this as it’s not currently fashionable in the way React/Vue are. Good for them.
  • SF Pro Icons - Seeing a few font files come down in /fonts/SF-Pro-Icons/v1/. I assume these contain SF Symbols.
  • Musickit - This name is used in a primary JS file musickit.js and throughout the app. I’m curious if there will be any developer APIs offered under a MusicKit name in the future.
  • BEM Syntax - They’re using a variant of BEM, at least thats my impression from just a quick glance at the markup.
  • Frosted Glass - Apple is using -webkit-backdrop-filter to achieve it’s characteristic “frosted glass” look.
  • Page Weight - It’s heavy. Based on my current ~1280x800 viewport it’s ~12MB.

I’m looking forward to this launching, and hoping Apple posts more technical details about how they built it.

Update: Apple does have a MusicKit API.

Dealers of Lightning

Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age is a good read on the significance PARC played in the history of computing. The book is twenty years old now, but it still offers great insight. One bit that stood out to me was this excerpt:

Their first step was to do something PARC had never tried before: They analyzed how non-engineers would actually use a computer.

This survey was conducted back at Ginn, to which Mott returned with an Alto display, keyboard, and mouse. He installed them as a sort of dummy setup (the machine was nonfunctional) and invited editors to seat themselves in from of the equipment, imagine they were editing on-line, and describe what they expected it to do.

“They were a little skeptical,” he recalled. “But —surprise, surprise— what you got was them wanting the machine to mimic what they would do on paper” They even described the processes in terms of the tools they had always used. That is why to this day every conventional word processor’s commands for deleting a block of text and placing it elsewhere in a file are called “cut” and “paste” —because Ginn’s editors, the first non-engineers ever to use such a system, were thinking about the scissors and paste pots they used to rearrange manuscripts on paper.

Skeuomorphism is often misunderstood in design. The recent period of “flatness” in the past 5-10 years was a shallow episode that only harped on being visually defiant to Web 2.0 era designs. If we take the “design is how it works” stance, then skeuomorphism never really went away. We never dropped “cut” or “paste.”

Favorite Programming Language Names

Here are my favorite programming language names. I tried to be unbiased and not factor in my knowledge of the language design, history, or the surrounding community.

Programmers are often notoriously bad at naming things, so it’s no surprise that this list of programming languages is full of boring names. Not that it really matters, but if a new language was released named K++# I likely wouldn’t pay it any attention.

Honorable mentions: C Ruby ColdFusion Simula AWK

Rust

A great name for a programming language, and easily my favorite. The subtle hint that this is intended to be a systems language and “closer to the metal” is just perfect.

Ada

The name Ada stands up on it’s own. Being named after the first computer programmer is just icing on top.

Lua

What does Lua mean? Don’t know, but I like it.

Swift

I haven’t used Swift enough to know if it’s a truly swift programming language, but the name checks out.

Update: Lua means “moon” in Portuguese.