Tbolt UI Design & Programming

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.

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.

Prototypes and Production

Great post by Jeremy Keith on Prototyping, I particularly like this bit:

Build prototypes to test ideas, designs, interactions, and interfaces …and then throw the code away. The value of a prototype is in answering questions and testing hypotheses. Don’t fall for the sunk cost fallacy when it’s time to switch over into production mode.

I’m a huge proponent of prototyping for all the reasons mentioned, but anytime a prototype morphs into the final product, it causes more headache than if we were to shelve it and start fresh.

Window Systems, Window Managers, Desktop Environments

If you’ve ever been confused when seeing names like “desktop environment” and “window manager,” this exerpt from A History of the GUI is a nice summary on it’s origins:

The initial design goal of the X Window System (which was invented at MIT in 1984) was merely to provide the framework for displaying multiple command shells and a clock on a single large workstation monitor. The philosophy of X was to “separate policy and mechanism” which meant that it would handle basic graphical and windowing requests, but left the overall look of the interface up to the individual program.

To provide a consistent interface, a second layer of code, called a “window manager” was required on top of the X Window server. The window manager handled the creation and manipulation of windows and window widgets, but was not a complete graphical user interface. Another layer was created on top of that, called a “desktop environment” or DE, and varied depending on the Unix vendor, so that Sun’s interface would look different from SGI’s. With the rise of free Unix clones such as Linux and FreeBSD in the early 90s, there came a demand for a free, open-sourced desktop environment. Two of the more prominent projects that satisfied this need were the KDE and GNOME efforts, which were started in 1996 and 1997 respectively.