I carried a Palm Treo 700p until about five years ago. Only as a PDA, no phone or internet access. I used to swear I’d be buried with a Palm in my pocket.
But now I am feeling the same way about my iPhone. You can have my iPhone when you take it from my cold, dead…
I'm adding this to my repertoire of HIGs to study for a new desktop environment project I'm working on. I'm trying to synthesize the best parts of every computer interaction method, primarily focusing on desktops but looking at mobile designs as well.
There are 2 principle reasons for this project:
1. UNIX desktops objectively suck compared to their Mac and Windows cousins, either being too complex to learn and bombarding the user with options (KDE, XFCE) or being so dumbed down and rigid to be actually usable (GNOME, to a lesser extend CDE)
2. I'm a massive fan of the GNU project and the way it designs software and none of the current desktops integrate well with it (EG: texinfo manuals, emacs-y keybinds, A wealth of customization if you want it but otherwise easy to pick up and use)
If you haven't already, check out Microsoft's "The Windows® 95 User Interface: A Case Study in Usability Engineering" report summarizing some of the Windows 95 designers' user research:
If you want a photocopy of the Go Corp. PenPoint UI guidelines let me know and I'll see if I can dig out a copy from a binder which I got w/ an SDK I purchased years ago --- I really miss PenPoint, and always thought it was one of the better UI environments.
Consider picking up Alan Cooper’s (perhaps somewhat dated) UI books for some useful perspective in thinking about UIs outside the experienced computer user mindset.
If you want some cool unusual UI, check out the HP Logic Analyzers (like the 16500A but there were others). It had a touch interface even though it had a CRT, and it had a knob for scrolling and for some alternative uses too - I think it used an encoder instead of a potentiometer but I may be misremembering. It was a really cool interface, I used it in early 2000s but it was old already by then, but it was really cool. There is a small website that documents its UI but I forgot the url.
Not sure if you have experimented with it yet but COSMIC is a DE made by System76 (creators of Pop!_OS) and manages to get pretty close to what I have been seeking, which is essentially MacOS with tiling. They basically gave up on GNOME and built it in Rust from scratch. Still a few major things like HDR missing but overall it's solid.
You get the tiling without the config that comes with Hyprland, with the added option of toggling between tiled or floating. Settings are minimal but they are slowly adding more when there is enough demand. IDE-style theming is done at system-level so that applications match.
For user interface designers. A sincere request to consider these old interfaces like Palm OS, IBM CUA, Mac System 6 for a modern Linux GUI.
The simple black and white interface reduces cognitive load and decision fatigue. Modern UI like skeumorphic, material, drop shadows, 3d interface, aero, glass etc are high cognitive load for some individuals.
A text heavy interface and GUIs that are explicit, not implicit and learnt through discovery is easier for me.
A link to the an article. The picture shows that the IBM CUA works for both terminal and Windows 2.0 type GUI in simple black and white.
To me the best thing about Palm OS was the rule that you’re never more than two taps or a button press away from where you want to be. (I think that’s how I remember it). The beloved early GUIs were all on machines that didn’t do much, comparatively speaking. The problem with modern GUIs is that there’s just too much to learn and remember if it’s presented as symbols rather than text.
This is one of the reasons I hung onto my Treo for so long. It was so much faster to do... well, basically anything that the device was capable of. With the physical keyboard, you actually didn't need to take the stylus out very often, either.
Calling Mark: (power on) (phone key) M-A (send) - hitting the phone key automatically brought up the dialer, which did double duty as contact search.
Adding a new event to the calendar: (power on) (calendar key) (enter) - and just start typing; you could navigate the fields with the up and down arrows.
Opening the calculator: (power on) (home key) C-A (enter) - the launcher was filterable with the keyboard.
I still remember using Palm OS for the first time and having my little mind blown away because there was no save buttons (at least in the version and apps I was using). You edited a document and that's it, it was saved. Like writing on paper.
Nowadays a lot of applications behave like this but back then it was a very different from everything I had ever used.
> Nowadays a lot of applications behave like this but back then it was a very different from everything I had ever used.
PalmOS designers & engs (along with MS WebTV / Danger Sidekick folks) ended up working on early Android (Astro Boy / Bender / Petit Four etc), and there's a lot of parallels between the two.
I really miss this era. Everything was straight and to the point by design, no processor cycles or memory were (or even could be) wasted. Less layers of abstraction, the entire stack from physics to application could be understood by a single person.
My favorite detail of the Palm story is that the founder carried around a block of wood and pretended it was a PDA in order to work out details of the interface.
I didn't know the impetus for the graffiti writing was actually hardware limitations, that's fascinating:
> Gaffiti power writing software was another design decision
affected by the battery selection. During the design of the
first Palm handhelds, users were clamoring for natural
handwriting recognition. However, natural handwriting
recognition would require a more powerful processor and
more memory, which together required bigger batteries.
Adding all these things to a handheld would have weighed it
down and made it cost too much for the market. Instead, the
Palm designers bet that users would settle for good-enough
handwriting recognition if the result was long battery life.
I have noted many times that I had a slab phone with full screen color icon grid general purpose os with internet and countless 3rd party apps for every conceivable purpose,... 7 full years before the iphone. 8 years before the iphone had 3rd party apps.
And it wasn't Android it was a Samsung SPH-i300 running PalmOS.
It was great that there was not really much of an app store, you got apps individually more or less like desktop os apps. There might have been app stores that collected apps but I don't remember ever using any.
I had apps for everything the same as today. Even though the screen was only like 160x240 and the internet was 14.4k, I had browser & email of course, but also ssh, irc, I even had a vnc client! Audible.com player, countless random things like a netmask calculator, resistor color code app, a few different generic db apps where you design your own fields and input/display screens etc. 3rd party phone dialer that integrated the contacts db. I must be forgetting a hundred other things.
The OS wasn't open source but at least the apps could be, so pretty much like windows & mac.
All in all I'd prefer Android where the entire system is open, except Google has somehow managed to make the real world life with Android less open than PalmOS was, even though PalmOS wasn't open source and I think even the development system wasn't free either.
I think the "somehow" is the extremely integrated app store. Previously, if there were any app stores, they didn't really matter. It didn't hurt you not to be in them because hardly any users were either. But today it's basically just a technicality to say that you don't have to be in the official app store, and not even theoretically/technically true in many cases.
Very interesting to see guidelines for UI on such constrained devices. Also terrible realizing that functionally, my so-very-2026 css3-reactjs-tailwind app is also tabs with rows and toolbars.
I can’t recommend another excellent free ebook enough: Zen of Palm.
It accurately describes the key differences between designing for desktop and mobile, which explains why PalmOS was so much easier to use than the various Windows-based mobile formats from Microsoft at the time. I even wrote a whole blog series about this book two decades ago (https://dingyu.me/blog/zen-of-palm-1).
I switched from a Dell Pocket PC to a Treo 650, and it was such a revelation. IMHO, this little phone is still one of the best in terms of simplicity, even today.
I've been seriously contemplating reviving my old Palm device. No notifications / nagging, no ads, in many cases better apps, hardware buttons and a security posture exotic enough to basically not be worth targeting.
Palm OS does not get enough credit as the progenitor of modern handheld experience, including especially iOS.
iOS shares many similarities with Palm OS, such as the home screen layout of app icons, the use of full-screen apps without windowing, the absence of an explicit "quit" action, no exposed file system (obvious today, but bold back in those days), a single hardware button to return "home", and so on.
What iOS added is true preemptive multitasking, memory protection, multitouch gestures, physics-based scrolling and so on.
I wrote some teaching material on the rise and fall off Palm for which I produced a graphic showing how the palm split and merged over the years. Quite honestly it's one of the most complex and insane graphics i have ever made.
Ars did a retrospective on the Palm line-up that I occasionally go back and re-read. I never got into the ecosystem, although my dad had a Palm III(?) when I was younger. Had I been a decade older I think I would've been infatuated with them.
My first personal computer was a Palm and my earliest programming experiences came with reading these docs, how fun. For a young person whose parents' custody arrangement led to almost every night of sleep under a different roof, a wifi enabled OS with a great applicaton library that was always with me was really powerful and ended up being quite impactful on the arc of my life.
By high school I was writing apps that followed this hig with a fold up keyboard, designing the ui and compiling code on board the device. PalmOS 4 and 5 could be tricked out to be a whole computer, capable of working offline for a week and also could get you up all night on IRC and ebooks. it's hard to imagine using my smartphone offline for a week now....
and most of the apps implemented this hig and were straightforward to use because it was the defeult builtin toolkit largely the same its entire life, progressively enhanced GUIs from 1bit 160x160 to full color 320x480 responsive design... nowadays I'm building a Material3 app in my evenings and i know some day google is gonna make a material4 so that my app looks scuffed up
I like computers that can run for several days or weeks on a single charge. Today, better processors and better screens could make this possible. Add solar panels and we would have weak computers that work like calculators. No power from the wall!
30 comments
[ 3.2 ms ] story [ 54.7 ms ] threadBut now I am feeling the same way about my iPhone. You can have my iPhone when you take it from my cold, dead…
There are 2 principle reasons for this project: 1. UNIX desktops objectively suck compared to their Mac and Windows cousins, either being too complex to learn and bombarding the user with options (KDE, XFCE) or being so dumbed down and rigid to be actually usable (GNOME, to a lesser extend CDE) 2. I'm a massive fan of the GNU project and the way it designs software and none of the current desktops integrate well with it (EG: texinfo manuals, emacs-y keybinds, A wealth of customization if you want it but otherwise easy to pick up and use)
https://dl.acm.org/doi/fullHtml/10.1145/238386.238611
contact info is my user name here at aol.com
What do you find "dumbed down" and unusable about it?
Press ctrl-alt-T, and a terminal appears. Begin typing.
Press the flag key and a kind of menu thing you can type the name of apps into appears. Type "firefox" or "vscode" as appropriate, begin typing.
It could hardly be made any more straightforward.
You get the tiling without the config that comes with Hyprland, with the added option of toggling between tiled or floating. Settings are minimal but they are slowly adding more when there is enough demand. IDE-style theming is done at system-level so that applications match.
The simple black and white interface reduces cognitive load and decision fatigue. Modern UI like skeumorphic, material, drop shadows, 3d interface, aero, glass etc are high cognitive load for some individuals.
A text heavy interface and GUIs that are explicit, not implicit and learnt through discovery is easier for me.
A link to the an article. The picture shows that the IBM CUA works for both terminal and Windows 2.0 type GUI in simple black and white.
https://www.linkedin.com/pulse/from-cua-today-enduring-legac...
Calling Mark: (power on) (phone key) M-A (send) - hitting the phone key automatically brought up the dialer, which did double duty as contact search.
Adding a new event to the calendar: (power on) (calendar key) (enter) - and just start typing; you could navigate the fields with the up and down arrows.
Opening the calculator: (power on) (home key) C-A (enter) - the launcher was filterable with the keyboard.
Nowadays a lot of applications behave like this but back then it was a very different from everything I had ever used.
PalmOS designers & engs (along with MS WebTV / Danger Sidekick folks) ended up working on early Android (Astro Boy / Bender / Petit Four etc), and there's a lot of parallels between the two.
https://albertosavoia.medium.com/the-palm-pilot-story-1a3424...
> Gaffiti power writing software was another design decision affected by the battery selection. During the design of the first Palm handhelds, users were clamoring for natural handwriting recognition. However, natural handwriting recognition would require a more powerful processor and more memory, which together required bigger batteries. Adding all these things to a handheld would have weighed it down and made it cost too much for the market. Instead, the Palm designers bet that users would settle for good-enough handwriting recognition if the result was long battery life.
I have noted many times that I had a slab phone with full screen color icon grid general purpose os with internet and countless 3rd party apps for every conceivable purpose,... 7 full years before the iphone. 8 years before the iphone had 3rd party apps.
And it wasn't Android it was a Samsung SPH-i300 running PalmOS.
It was great that there was not really much of an app store, you got apps individually more or less like desktop os apps. There might have been app stores that collected apps but I don't remember ever using any.
I had apps for everything the same as today. Even though the screen was only like 160x240 and the internet was 14.4k, I had browser & email of course, but also ssh, irc, I even had a vnc client! Audible.com player, countless random things like a netmask calculator, resistor color code app, a few different generic db apps where you design your own fields and input/display screens etc. 3rd party phone dialer that integrated the contacts db. I must be forgetting a hundred other things.
The OS wasn't open source but at least the apps could be, so pretty much like windows & mac.
All in all I'd prefer Android where the entire system is open, except Google has somehow managed to make the real world life with Android less open than PalmOS was, even though PalmOS wasn't open source and I think even the development system wasn't free either.
I think the "somehow" is the extremely integrated app store. Previously, if there were any app stores, they didn't really matter. It didn't hurt you not to be in them because hardly any users were either. But today it's basically just a technicality to say that you don't have to be in the official app store, and not even theoretically/technically true in many cases.
> Your product needs enough features for the optimal user experience and no more
https://cs.uml.edu/~fredm/courses/91.308-spr05/files/palmdoc...
It accurately describes the key differences between designing for desktop and mobile, which explains why PalmOS was so much easier to use than the various Windows-based mobile formats from Microsoft at the time. I even wrote a whole blog series about this book two decades ago (https://dingyu.me/blog/zen-of-palm-1).
I switched from a Dell Pocket PC to a Treo 650, and it was such a revelation. IMHO, this little phone is still one of the best in terms of simplicity, even today.
iOS shares many similarities with Palm OS, such as the home screen layout of app icons, the use of full-screen apps without windowing, the absence of an explicit "quit" action, no exposed file system (obvious today, but bold back in those days), a single hardware button to return "home", and so on.
What iOS added is true preemptive multitasking, memory protection, multitouch gestures, physics-based scrolling and so on.
https://www.dropbox.com/scl/fi/7hh5uzoaj2x7zq60yv9vz/palm_ti...
https://arstechnica.com/gadgets/2024/04/palm-os-and-the-devi...
By high school I was writing apps that followed this hig with a fold up keyboard, designing the ui and compiling code on board the device. PalmOS 4 and 5 could be tricked out to be a whole computer, capable of working offline for a week and also could get you up all night on IRC and ebooks. it's hard to imagine using my smartphone offline for a week now....
and most of the apps implemented this hig and were straightforward to use because it was the defeult builtin toolkit largely the same its entire life, progressively enhanced GUIs from 1bit 160x160 to full color 320x480 responsive design... nowadays I'm building a Material3 app in my evenings and i know some day google is gonna make a material4 so that my app looks scuffed up