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.
> I think even the development system wasn't free either.
Metrowerks CodeWarrior was the original development system for PalmOS and was indeed not free (in either sense).
However a bunch of enthusiasts cobbled together some free development tools: the main parts were adapting the GCC and binutils m68k targets to PalmOS's constrained PIC runtime environment (it was constrained even by m68k standards); a tool to convert the resulting COFF or ELF executable to PalmOS's .prc database format; and a text-based resource compiler for generating UI elements using its own home-grown description language to express what CodeWarrior users were using a graphical UI editor to make.
That mostly still exists as it was back in the PalmOS days at <https://prc-tools.sourceforge.net>. And if you hunt around on GitHub you'll find a few people who've kept the code compiling with stricter more modern compilers.
> 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.
I don't think this in itself is the cause. Basically every Linux distribution has an "official repository" which is really just an app store by another name, but the system is still open. Having an integrated distribution channel is really useful!
I worked for a company that published a PalmOS app. Palmgear.com was a very important distribution channel, but so was our own website, I forget the exact ratios.
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)
The best book I've ever read on the topic was the classic Mac OS Human Interface Guidelines. I still recommend them even though some of the specifics are out-of-date.
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:
I'll be keeping an eye out for your DE. For a long time now, the Linux desktop space as a whole has been rather uninspired in my opinion. A few interesting ideas have surfaced within it but failed to become popular for one reason or another, making for a rather stale environment.
That's not to say that it needs to be in constant flux or to be full of radical ideas. If anything, it'd be nice to see more DEs settle into a design and feature set and chase stability, efficiency, and performance over shinies. Rather, I think it would be better if more Linux DEs were built around coherent, opinionated design philosophies that cleanly set them all apart from each other. Even if that design philosphy is just "N platform's desktop, refined to its ultimate form", it's better than the "aimless bag of features" direction that's most common.
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.
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.
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.
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.
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.
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.
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.
Most information about that data should be accessible in a minimal number of taps of the stylus — one or two.
Desktop user interfaces are typically designed to display commands as if they were used equally. In reality, some commands are used very frequently while most are used only rarely. Similarly, some settings are more likely to be used than others. On Palm Powered handhelds, more frequently used commands and settings should be easier to find and faster to execute.
• Frequently executed software commands should be accessible by one tap.
• Infrequently used or dangerous commands may require more user action.”
Symbols are already a best-case scenario. Too often, modern UIs require hovering over this button or making that swipe gesture to perform a certain action. The antithesis of affordance.
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.
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 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 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.
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!
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 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 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 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.
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.
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.
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.
Brian_K_White|3 days ago
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.
jomar|3 days ago
Metrowerks CodeWarrior was the original development system for PalmOS and was indeed not free (in either sense).
However a bunch of enthusiasts cobbled together some free development tools: the main parts were adapting the GCC and binutils m68k targets to PalmOS's constrained PIC runtime environment (it was constrained even by m68k standards); a tool to convert the resulting COFF or ELF executable to PalmOS's .prc database format; and a text-based resource compiler for generating UI elements using its own home-grown description language to express what CodeWarrior users were using a graphical UI editor to make.
That mostly still exists as it was back in the PalmOS days at <https://prc-tools.sourceforge.net>. And if you hunt around on GitHub you'll find a few people who've kept the code compiling with stricter more modern compilers.
(And see also <https://pilrc.sourceforge.net> for the resource compiler.)
Wowfunhappy|2 days ago
I don't think this in itself is the cause. Basically every Linux distribution has an "official repository" which is really just an app store by another name, but the system is still open. Having an integrated distribution channel is really useful!
andrewf|3 days ago
mghackerlady|3 days ago
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)
relium|3 days ago
https://dev.os9.ca/techpubs/mac/pdf/HIGuidelines.pdf
cpeterso|3 days ago
https://dl.acm.org/doi/fullHtml/10.1145/238386.238611
cosmic_cheese|3 days ago
That's not to say that it needs to be in constant flux or to be full of radical ideas. If anything, it'd be nice to see more DEs settle into a design and feature set and chase stability, efficiency, and performance over shinies. Rather, I think it would be better if more Linux DEs were built around coherent, opinionated design philosophies that cleanly set them all apart from each other. Even if that design philosphy is just "N platform's desktop, refined to its ultimate form", it's better than the "aimless bag of features" direction that's most common.
klaussilveira|3 days ago
WillAdams|3 days ago
contact info is my user name here at aol.com
jimmaswell|3 days ago
cyrc|2 days ago
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...
internet101010|3 days ago
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.
jim180|3 days ago
a1o|3 days ago
NetMageSCW|3 days ago
ErroneousBosh|3 days ago
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.
hypercube33|3 days ago
resters|3 days ago
silveira|3 days ago
Nowadays a lot of applications behave like this but back then it was a very different from everything I had ever used.
ignoramous|3 days ago
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.
analog31|3 days ago
don-code|3 days ago
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.
Someone|3 days ago
“Minimize Taps
Most information about that data should be accessible in a minimal number of taps of the stylus — one or two.
Desktop user interfaces are typically designed to display commands as if they were used equally. In reality, some commands are used very frequently while most are used only rarely. Similarly, some settings are more likely to be used than others. On Palm Powered handhelds, more frequently used commands and settings should be easier to find and faster to execute.
• Frequently executed software commands should be accessible by one tap.
• Infrequently used or dangerous commands may require more user action.”
lxgr|3 days ago
Apocryphon|3 days ago
snozolli|3 days ago
https://albertosavoia.medium.com/the-palm-pilot-story-1a3424...
lateforwork|3 days ago
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.
nofriend|3 days ago
SunshineTheCat|3 days ago
guide42|3 days ago
https://en.wikipedia.org/wiki/Graffiti_(Palm_OS)
I remember the Giraffe game to learn it.
https://palmdb.net/app/giraffe
cbdevidal|3 days ago
But now I am feeling the same way about my iPhone. You can have my iPhone when you take it from my cold, dead…
weezing|3 days ago
crims0n|3 days ago
Western0|10 hours ago
rrix2|3 days ago
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
jcalvinowens|3 days ago
> 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.
Ylpertnodi|3 days ago
felixding|3 days ago
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.
aidenn0|3 days ago
Daub|3 days ago
https://www.dropbox.com/scl/fi/7hh5uzoaj2x7zq60yv9vz/palm_ti...
rkagerer|3 days ago
zombot|3 days ago
aquova|3 days ago
https://arstechnica.com/gadgets/2024/04/palm-os-and-the-devi...
agumonkey|3 days ago
gelstudios|3 days ago
> Your product needs enough features for the optimal user experience and no more
https://cs.uml.edu/~fredm/courses/91.308-spr05/files/palmdoc...
datawars|2 days ago
[deleted]