top | item 47168726

Palm OS User Interface Guidelines (2003) [pdf]

203 points| spiffytech | 3 days ago |cs.uml.edu

105 comments

order

Brian_K_White|3 days ago

I miss the whole Palm ecosystem.

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

> 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.

(And see also <https://pilrc.sourceforge.net> for the resource compiler.)

Wowfunhappy|2 days ago

> 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!

andrewf|3 days ago

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.

mghackerlady|3 days ago

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)

cosmic_cheese|3 days ago

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.

klaussilveira|3 days ago

I wouldn't use modern Windows as a good reference in user interface and user experience. If anything, is an experiment in user hostility.

WillAdams|3 days ago

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.

contact info is my user name here at aol.com

jimmaswell|3 days ago

How is KDE like that? If you don't go out of your way to change options, you aren't "bombarded" with anything, it just works.

cyrc|2 days ago

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.

https://www.linkedin.com/pulse/from-cua-today-enduring-legac...

internet101010|3 days ago

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.

jim180|3 days ago

would you mind sharing your library of HIGs?

a1o|3 days ago

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.

NetMageSCW|3 days ago

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.

ErroneousBosh|3 days ago

> or being so dumbed down and rigid to be actually usable (GNOME, to a lesser extend CDE)

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

If you're looking at Windows peak was like Win2000

resters|3 days ago

great idea! would love to star a repo or otherwise follow the project.

silveira|3 days ago

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.

ignoramous|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.

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

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.

don-code|3 days ago

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.

Someone|3 days ago

FTA:

“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

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.

Apocryphon|3 days ago

Perhaps it's natural then that when Palm went on to make WebOS they included the cards system for quick accessibility.

lateforwork|3 days ago

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.

nofriend|3 days ago

The first three are presumably just hardware advancements? Apple certainly deserves credit for refining the concept and making it into a neat package.

SunshineTheCat|3 days ago

I still miss my palm treo, the stylus, and physical keyboard. 20 plus years later and I still cannot use an apple pencil on my iphone... >:(

cbdevidal|3 days ago

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…

weezing|3 days ago

It puzzles me why there is no proper stylus for an iPhone considering how big some versions are.

crims0n|3 days ago

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.

Western0|10 hours ago

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!

rrix2|3 days ago

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

jcalvinowens|3 days ago

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.

Ylpertnodi|3 days ago

I still do my 'v's backwards.

felixding|3 days ago

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.

aidenn0|3 days ago

My wife still misses her Centro. She held onto it until Google Maps removed the API that the maps app on it used.

rkagerer|3 days ago

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.

zombot|3 days ago

That was when we still had user interfaces. All we have now are ad billboards.

agumonkey|3 days ago

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.