This is an incredibly cool write-up, demonstrating a level of technical skill far beyond me. Kudos!
I am a little confused by all the "but why" comments here. Because it's fun! Because it's cool! Because it's full of weirdness, archaisms, and edge cases - working through those is a playful challenge, and conquering them all gives a wonderful feeling of mastery. It doesn't need to be any more 'useful' than any other hobby or game.
I think there are two kinds of "but why" questions:
1. Derisive, insinuating that the project is silly or a waste of time.
2. Inquisitive, actually wanting to know what motivated the creator to do something that most people don't see a value for, and/or would never have thought to bother with.
We should discourage the former, but IMO we should encourage the latter.
This is such a great idea for people who have trouble staying focused. It can help you decide whether to actually spend time on whatever you're doing, or to just dump some ideas to a scratchpad (or your Zettelkasten!) and get back to the actual work at hand.
Side note: Dmitry (creator of RePalm) is a treasure and his impact on the Palm community cannot be understated. He has a world-class depth of knowledge of the inner workings of these things and is one of the key players in extending PalmOS device capabilities today (patching ROMs, new hardware, etc.).
He also contributes regularly to apps the community is developing, teaching us hobby devs new tricks. :)
As someone who still uses PDAs regularly, I can't express enough gratitude.
On Linux there's pilot-link (command line) or J-Pilot (GUI on top of that). I don't love the UI for J-Pilot, admittedly, which feels a little rougher than Palm Desktop. A Windows VM is also a common approach.
For devices, there's a dividing line between 68k and ARM.
A 68k will feel more "classic" and will often get you things like AAA batteries and LCD grayscale screens with a bit of an e-ink vibe. Some models like Handsprings are expandable with more "modern" (for 2001) capabilities like extra storage, a camera, or GPS. Some Palm/Sony devices have SD slots too. Most devices of this age involve feature tradeoffs, however. You'll often find color, or AAA, or 16MB of RAM, but not all 3. For a 68k daily driver, you probably want something running OS3.5 or OS4 to avoid the limitations of the super early versions.
ARM models (Tungstens, various Cliés, Treos, etc.) close the gap with smartphones much more--and some literally were. Color, higher resolutions, lithium, media support, SD, bluetooth, wifi, etc. These run OS5+ and having ARM under the hood unlocks an additional class of apps the older ones can't run.
A reminder also to definitely tune one's expectations to the era. Truly modern connectivity requires fiddling and having no-to-rudimentary HTTPS support can make these feel more disconnected today than they originally were. Still, you might also be surprised at how many daily tasks today were achievable 20 years ago in a way that's generally familiar to us now.
Seeing this a lot recently[1]. I guess you mean the opposite of what this implies ("his impact is less than you could state"), but I'm curious how this has ended up being almost as commonly used as the "correct" form[2]. Is it an in-joke or reference I'm not getting?
Oof, and it's too late for me to go back and fix it (unless Dang would be so kind, for posterity).
Definitely meant the positive version and I have no idea how I transposed those two! Apologies for contributing to the mess and appreciate you catching it. :)
I parsed "cannot be understated" as "must not be understated", or "we cannot allow it to stay understated". I took it to mean a call to action, "this cannot be x!".
I imagine it's much like "I could care less" - the phrase is the literal opposite of its proper form "I couldn't care less" but both have evolved to be used synonymously.
A totally valid question! I did adopt the smartphone for many, many years. My father had a gen-1 iPhone which captured my imagination. At the same time, I've also never really let them run my life. I've habitually always maintained the old (Apple?) hub-and-spoke model where the PC is the core and everything else is a mobile extension of it.
I do own some, but they don't get used for much (browser-on-the-go, mostly).
Smartphones are definitely better all-rounders, but what I've come to adopt in recent years is a hobby of finding whatever tech/concept seems "best" to me (from any period in time) and then using that. Sometimes that means hardware from 1920, sometimes from today (e.g. I have a current-gen GPU to join the AI arms race). Sometimes that means a modern evolution of the concept without losing the spirit.
Easy examples:
* iPod -> Music player w/ FLAC + 1TB SD
* Gameboy -> Analogue Pocket (or sometimes original
hardware)
* A modern standalone camera, etc.
It's sort of like living in the dream version of 2002 where tech stayed hopeful and fun (not sure if that's good or bad). Definitely brought me the most joy in tech I've had in years.
PDAs (and a _lot_ of tech from <2010) have the advantage of still being built entirely to serve the user. For my needs, I basically view it as day-planner or complement to a notepad and don't expect it to be a smartphone. My opinion is that these devices basically "solved" the digital calendar by ~1999 and that almost every calendar feature since (except maybe sharing) usually serves some other business need in addition to the user, or is just clunkier.
A PDA just wants to take good notes, manage the day's work, and be a simple extension of your mind. Most modern tasks (that don't require a network connection to be useful) have apps that still exist and don't spy on you: Food journals, encrypted notes, flashcards, project management, ebooks, cached news, Wordle, period trackers...
So, if your life today doesn't _depend_ on a specific vision of modernity, you don't miss out on much of it while benefiting from some forgotten UX benefits: Offline-first, great UI, week-long batteries (AAA if so inclined), Graffiti input, etc. :)
I can't even find anything which works as the simple Palm "ToDo" application. No free ones at least. PalmOS had this developer requirement that nothing should take more than 3 clicks. I used the ToDo tool as a shopping list. I kept all my common groceries in that list and used a single tap to indicate that I was out of something, and a single tap when I bought something I was out of. Whatever I try to do on a phone is just too much hassle so I end up not using it. My old Tungsten T3 was easier in so many respects.
They have a much better stand-by battery life on AAA batteries, and they are not as distracting because they are offline-first (or even offline-only, for the early models). Or, you can just use them if you find them neat (which I do). But ckz’s answer is a very good glance into the kind of mindset that I share for the most part as well.
In 2018, I read James M. Tabor's Blind Descent: The Quest to Discover the Deepest Cave on Earth (pub. 2010), which particularly focused on Bill Stone's and ALexander Klimchouk's respective explorations. (Contrary to perhaps popular understanding, as evidenced by an answer I saw on Quora that asserted that the temperature got hotter and hotter the farther Klimchouk's team descended in "their" cave, Stone's and Klimchouk's teams started out high in the mountains and temperatures were freezing throughout the descents; furthermore, Stone's and Klimchouk's deepest descents still ended above sea level. [The Quora question had something to do with digging deep into the earth.])
Anyway, this was the first I'd read much about caving and, in browsing around the web, I discovered that Palm Pilots were(/are?) used by serious cavers for mapping caves. Auriga (https://auriga.top/) was the most frequently referenced Palm app I saw; its latest update was in December 2022. Obvious advantages as I understand them are: (1) long battery life coupled with replaceable AAA batteries; (2) a display that can be read in low light without battery-draining backlighting. Phone and wi-fi are useless underground. (I vaguely recall reading somewhere that ~80Khz radios for use in caves were being developed; equally vague memory: I believe initial prototypes were based around audio amplifiers that happened to reach up into that frequency. Okay, a 2018 Hackaday has links to more information, although not about what I [mis]remembered: https://hackaday.com/2018/07/11/ham-designed-gear-used-in-th...)
Also, sometime I saw an article about automotive performance afficianados using a Palm App to interact with their engines' onboard computers -- in the PalmOS Emulator (POSE) on Windows laptops. Obviously they liked the app and I imagine they had a considerable intellectual investment (e.g., historical experimental settings and performance results, etc.) that made them loathe to switch to more modern apps.
But yeah. I cleaned the battery crud out of my Palm M105 last month, put fresh batteries in, and the digitizer is shot. So, back to my phone ... :)
This is just insane, and I'm completely blown away by the technical know-how (both depth and breadth) and flippant stuff like:
I also did not find any good emulators for Cortex-M class chips. At this point, I took a two-week-long break from this project to write CortexEmu. It is a fully functional Cortex-M0/M3/M23 emulator that faithfully emulates real Cortex hardware. It has a GDB stub so I can attach GDB to it to debug the running code, It has rudimentary hardware emulated to show a screen, and support an RTC, a console, and a touchscreen. It supports privileged and unprivileged mode, and emulates the memory protection unit (MPU) as well.
Also very interesting is the errata section on the STM32F429 errata section [1], that stuff is real gold for people who do advanced stuff on these chips. Very nice to see that published, I hope it gets picked up by search engines (or, better of course, ST themselves if that hasn't happened yet). There should be serious bug bounty for finding hardware errors like these!
Palm was killed by their inability to evolve the platform in the face of quantum leaps from other players -- but that same thing caught out pretty much every other mobile platform of the era.
In 2004, the Treo 650 was as good as it got. I LOVED mine, and there was really no other player in the market that could truly best it until Apple landed with the iPhone. (And I say this having sampled best-of-breed Windows Mobile stuff in that era -- the HTC hardware was slick, but WinMo was useless and incredibly dumb.)
> the HTC hardware was slick, but WinMo was useless and incredibly dumb
You’re not kidding. I had a HTC HD2 and the hardware was very futuristic-feeling (one of the first phones with the original Qualcomm Snapdragon, and a “huge” 4.3” screen that my friends gently mocked for being ridiculously large), but the software experience was leagues behind iOS and Android, despite they themselves being in relative infancy. It would have been pretty nice if it got an update to Windows Phone 7, which was promised but never came.
HTC’s own customisations were the worst part. Their flashy animated home screen was very nice, but the iOS-style threaded SMS app couldn’t deal with threads longer than about 300 messages and would routinely lock up the phone for minutes at a time until you deleted your conversation history.
In the years after I got rid of it people continued to port newer versions of Android to it, but I just remember it being shit at texting and browsing the web—the only things I actually wanted it for.
IMHO Palm was killed by endless M&A activity and other finance shenanigans, which resulted in a lack of long term focus and stability to migrate from the original cramped architecture.
And then iphone's multitouch UI drove the final nail.
I had three different palm phones (a Palm and two Kyoceras) and a WindowsCE based MDA before I got my first modern smartphone (A Tmobile G1). I think the final nail was simple hubris. Everyone thought their established market position and share would be enough to defend. The iPhone wasn't viewed as a PDA by most incumbents... it was a weird iPod phone targeting consumers. Android was starting at zero, and I think there was a lot of belief that Palm, RIM and Microsoft would have something way better once their touch screen options came out. A lot of that belief was fueled by the importance of enterprise groupware to corporate buyers at the time. I remember having developer reps from Palm and MS try to talk us (I owned a small dev shop at the time) out of looking at Android and iOS because the next version was going to kill them both.
It turned out easier to use, cloud services (Google apps, iCloud), maps+GPS (G1 had it, iPhone had it soon after), and much better media player features were simply more desirable than enterprise groupware. It also turned out that as cell phone usage normalized, a lot of employers stopped providing cell phones to employees... mostly driven by unlimited talk+text+internet plans... which really favored the non-enterprise-y Androids and iPhones.
Yet somehow using it was far more pleasurable than Pocket PC. I could certainly do more things with my beastly 640x480 624mhz ipaq, but everything about the UX was better on Palm. Apps saved state automatically. I didn't have to open a start menu to launch something and I didn't have to open two menus and manually close them because Windows Mobile doesn't close anything when you hit the X button. The buttons, d-pads, and styli all felt better, and the screen didn't waste 20% of its real estate with two giant useless buttons across the bottom of every app.
Bad developer experience might have contributed but I think the primary cause was the same as what killed Windows Mobile and Symbian: The iPhone reset the bar for user experience and at the same time Apple changed handset + app distribution models, Palm failed to meet the situation. Google figured it out, scrapped the Android UX, and managed to be #2. With the high per-platform cost of mobile dev there's apparently not room for more than two so even Microsoft couldn't catch up.
PalmOS was already dead when the iPhone was launched.
In fact most players had divested the market at this stage. The PocketPC team was a skeleton and Symbian was being eaten from inside by competing internal projects.
All of that and also a lack of a compelling mass market story. I bought a couple of them and enjoyed playing with them, but they weren’t better-enough to change my habits.
Eventually Symbian (sp?) was better and when Sony killed their Zire division I just have Palm Treo one last chance. It was a bit laggy and the battery didn't last long enough.
I always wanted to give Zaurus a try, but the Linux ones not the Palm ones.
This was a huge mistake. Symbian was already the smartphone leader and supported multiprocessors, multimedia, and all sorts of fancy features, while being smaller and far less resource-hungry than contemporary rivals such as WinCE or the then-huge Linux. Symbian originally shipped on a circa 8MHz Arm device with 8MB of RAM and no swap: full GUI, full multitasking, Internet stack, etc. No Linux could run usefully on that level of kit.
Symbian already supported GSM phone stacks, Bluetooth, Wifi, all that stuff. It also supported pluggable UI layers, and had about 3 or 4 on sale at its peak: UIQ, a stylus- or touchscreen-driven UI from Japan for keyboardless phones; Series 60, for keypad-driven phones; Series 80, for landscape-orientation touchscreen phones; Series 90, for QWERTY-keyboard-driven PDAs. Adding another for Palm, with a Palm UI and Graffiti, would not have been a stretch.
It would have been a great fit.
Palm decided to write its own instead. Probably it was cheaper. Probably as Palm was mainly American it didn't appreciate that there were tens of millions of happy European and Japanese users with Symbian smartphones that they loved. I was using 32-bit Arm-powered smart devices with the Symbian kernel a decade before the iPhone, and ones running the direct ancestor of Symbian in the early 1990s.
This was commercial suicide #1.
Palm had no multitasking, little media support, and a single-tasking 68000 OS ported to Arm. It was very uncompetitive, but it's all Palm owners knew so they thought it was fine and liked it.
But it did have a comeback attempt.
Palm ended up under the same ownership as Be and the core BeOS team, and it eventually came up with an in-house multitasking media-enabled networked PalmOS, based on BeOS tech, called Cobalt:
As an aside, I would love a brand new Palm device, with modern tech it could be obscenely tiny and have good battery life.
Palm devices had physical buttons, one of which immediately (0 perceivable lag) opened a todo list
When I used to be have a palm, anytime I was feeling idle I'd pull out my palm and press the Todo list button and see what was next on my schedule. It was literally life changing and every smart device since is a laggy piece of shit when it comes to physical Todo lists.
The Samsung Note series could have been great if it allows for replacing the lock screen with a Todo list that you can interact with, but no, the Note cannot be used as a fucking note pad.
I once burst into the office of the PM in charge of the Tasks ui for Windows Mobile and asked him why we did such a shitty job, but because he had never used a palm before, he didn't even realize what we were shipping was garbage.
For people that do these kinds of projects, I always wonder how much progress is getting made in an average night of poking around. I'm only able to make big leaps on things by just eating up evenings. Are some people just really good at picking things up and making progress?
I don't claim to be in the same league as OP but I can tell you from my experience. I have a demanding job (CTO of Cloudflare) and I have a partner with whom I like to spend time.
One of the projects I am currently working on is restoring an IBM ThinkPad 701CS (https://blog.jgc.org/2023/03/repairing-tiny-ribbon-cable-ins...) which has required a total teardown and rebuild. I started this project in early January and currently have a working machine that's in parts. I work on this when I have time. Which might be for two or three hours a week maximum. Basically, I decided to get satisfaction from small improvements. So, one time when working on this I just cleaned up the battery contacts, another time I replaced the CMOS battery and saw that it was retaining RAM size, another time I repaired the keyboard, another time I just sat down and figured out which parts of the case I needed to 3D print to replace, etc. etc.
I usually have two to three projects ongoing and just pick them up when I have time and inclination.
This is great advice. I also try to make incremental gains in projects as it is the one way I’ve experienced consistent progress. This includes things like learning handstands as a project. A little bit of forward progress is better than no progress. I’ve heard it said it’s like putting pennies (or similar currency) into a savings account. It never seems like much but over time it adds up. The hardest thing for me was recognizing the value in those pennies. Ego, insecurity, etc want the big cathartic jump in progress.
I read that article when it was published, very cool. I was wondering, if the grafting failed could you replace the ribbon with something standard e.g. from mouser/digikey?
> I have a demanding job (CTO of Cloudflare)
Please use your influence to bring sturdy, repairable laptops with great keyboards back! I'd buy a cloudflare branded thinkpad clone.
I started work on this in 2018. It’s been five years. A few projects (side-quests) came out of this one, like m0FaultDispatch and the PIP diss play driver discussed here yesterday. On an average night, not really any progress. Long weekends and long plane rides do produce more progress.
According to the main page of the linked article, this RePalm project has been ongoing since at least Dec 30 2018. How often and how much the author works on this particular project at a time I don’t know. But from this I think it is safe to assume that it takes time, and perseverance above all is key. Probably.
Some people are better than others. If you are single with no kids that leaves a lot of time. If you have a relationship that takes time (assuming you want to maintain it), and kids are a large time sink (well worth it, but not if you count time or money). Of course different relationships have different needs. And different people have different budgets, if you are born rich maybe you don't need to work and so this isn't an evening hobby. Retired people also have more time for projects like this.
If you make it a point though most everyone can find an hour every day to do something like this despite the above. However for most of us it is easier to turn on the TV/youtube/read books/.... Even the more productive things like learn a foreign language, politically support a candidate, and the like. There is lots of competition for your limited time and most people won't make projects like this a priority. Some of the things above are worth doing on their own, some are just a waste of time. (though if you are nearly burned out you probably don't have the energy to spend on more than TV)
I'm working on a few of these kinds of projects and progress is highly variable. Some days, I might only get a few lines of code done. Hardly enough to make a difference but then other nights, in maybe the same amount time, I'll build out some massive subsystem.
I think big progress will eat up an evening but I think the important point is that it's not a job -- so when it eats up an evening it should be fun and when you've not other important/interesting things to do. I almost never know when I'm going to make progress when I start.
Amazing project, one that will seemingly go on for the foreseeable future. This is quite a labor of love, and it shows. It is very interesting to see the bifuracted comments: either but why (these are the people, probably mostly younger who just don't see the point) or PalmOS-based were so cool (cleaner, simpler, etc). I think Dmitri's project makes clear that there was a huge difference between the experience of PalmOS as products and the way they were created as software and hardware. Yes, many of the shortcuts and hacky looking design decisions taken 20+ years ago seem inexplicable today. Many were made based on the constraints of the time (supply chain, expertise on the team, bloodymindedness, etc) but ultimately the biggest driver was a great PDA experience, more a portable, always on digital replacement for paper that could do several things well, rather than everything you could imagine. Great ideas for power management, sophisticated kernel not so much.
As much as I love retro stuff I see no point in reviving Palm. It's like bringing back MS-DOS, perhaps you have something ready made for that environment and you want to use it as is because you don't want to relearn some newer interface. That's ok, it can be done with emulation. But other than that why would you want to impose yourself a bunch of anachronistic limitations?
For context dmitry was a bit of a legend back wen palm was alive. His patches fixed a bunch of stuff palm never bothered to. His apps were top notch and pushed the limit on what was possible in palmOS.
So, in a way, im not surprised he’s done something like this. A work of ¿love? ¿Art?. A testament of deeply knowing the object of his passion.
Take a look at his code and admire it for what it is. Read how he explains it. It’s worthy on its own.
> As much as I love retro stuff I see no point in reviving Palm.
I see a big opportunity should rePalm be ported to generic low cost embedded hardware. ESP32(|ARM|Risc-V) board+LCD+LTE module, all costing a dozen bucks each or less, would make the basis for a powerful dumbphone for when manufacturers will cease any production of them. I would personally love to have such a device.
Broadly speaking, PalmOS had filesystems, networking, graphics and interface controls, sound, hardware access and more. Who cares if I can't watch high resolution movies or play AAA games with it, the goal should rather be to use it to do things where Linux is not only overkill but also would require hardware that cost a lot more.
Forget about phones and PDAs, if I want to build an I/O panel with buttons and display for some instrument, a light OS like this one could help to lower costs by doing it on much cheaper hardware.
For that matter, why revive any older tech, like record players, wrist watches, and fountain pens? The simple answer is that people like the simplicity and retro feel of those old devices.
Over 13 years ago I wrote an online tool (palm2csv.com) that converts Palm Datebook (Calendar) and To Do (Tasks) to CSV and iCal/ICS format. To this day people continue to use it and email me with stories of how they love Palm Desktop and their Palm device, and are reluctant to give it up in exchange for a modern phone.
why would you bother with the overhead to make it Palm-compatible though? at most, an emulation subsystem might make sense, but having all things including new development run in a Palm-compatible system right now makes no sense.
Note that it wouldn't even be a dumbphone by definition if it has an OS running arbitrarily installed software on it.
This has more value to more people than a painting of an apple, I'd guess. I don't see much point in either of them myself; but I don't have to. I can see the point in them in that they gave their creator joy while making them and even more in that others can appreciate them, even if i can't.
FreeDOS brought MS-DOS back from the dead. Was it useless? In my opinion, far from it.
Yes, Palm is useless and archaic of networked features are your #1 use case for a PDA (smartphone) and there’s little use reviving it. However, if you care about old Palm games, or about efficiently organising your life with minimum distractions, then IMO not many modern devices will beat a Palm OS device.
Analogously to MS-DOS, there is a huge application base that you can dip into for most tasks that don’t require online access, that can still be used today. The UI is miles ahead of both iOS and Android, IMO (in both responsiveness and look-and-feel), if you are willing to work within its limitations (that include using a stylus). Dmitry is even working on Unicode support.
I’m glad that RePalm exists. If it didn’t, all we’d be left with is emulators and devices that are starting to fall apart.
FreeDOS is exactly what I was describing. Makes sense to use that old software, but not to actually develop for these days. Because you'd be imposing weird anachronistic restrictions on yourself for no good reason.
I am a little confused by all the "but why" comments here. Because it's fun! Because it's cool! Because it's full of weirdness, archaisms, and edge cases - working through those is a playful challenge, and conquering them all gives a wonderful feeling of mastery. It doesn't need to be any more 'useful' than any other hobby or game.
1. Derisive, insinuating that the project is silly or a waste of time.
2. Inquisitive, actually wanting to know what motivated the creator to do something that most people don't see a value for, and/or would never have thought to bother with.
We should discourage the former, but IMO we should encourage the latter.
For me it stops my mind from wandering and describes to myself why I am writing that function.
He also contributes regularly to apps the community is developing, teaching us hobby devs new tricks. :)
As someone who still uses PDAs regularly, I can't express enough gratitude.
On Linux there's pilot-link (command line) or J-Pilot (GUI on top of that). I don't love the UI for J-Pilot, admittedly, which feels a little rougher than Palm Desktop. A Windows VM is also a common approach.
For devices, there's a dividing line between 68k and ARM.
A 68k will feel more "classic" and will often get you things like AAA batteries and LCD grayscale screens with a bit of an e-ink vibe. Some models like Handsprings are expandable with more "modern" (for 2001) capabilities like extra storage, a camera, or GPS. Some Palm/Sony devices have SD slots too. Most devices of this age involve feature tradeoffs, however. You'll often find color, or AAA, or 16MB of RAM, but not all 3. For a 68k daily driver, you probably want something running OS3.5 or OS4 to avoid the limitations of the super early versions.
ARM models (Tungstens, various Cliés, Treos, etc.) close the gap with smartphones much more--and some literally were. Color, higher resolutions, lithium, media support, SD, bluetooth, wifi, etc. These run OS5+ and having ARM under the hood unlocks an additional class of apps the older ones can't run.
A reminder also to definitely tune one's expectations to the era. Truly modern connectivity requires fiddling and having no-to-rudimentary HTTPS support can make these feel more disconnected today than they originally were. Still, you might also be surprised at how many daily tasks today were achievable 20 years ago in a way that's generally familiar to us now.
Seeing this a lot recently[1]. I guess you mean the opposite of what this implies ("his impact is less than you could state"), but I'm curious how this has ended up being almost as commonly used as the "correct" form[2]. Is it an in-joke or reference I'm not getting?
1: https://www.google.com/search?q=%22cannot+be+understated%22+...
2: https://www.google.com/search?q=%22cannot+be+overstated%22+s...
Definitely meant the positive version and I have no idea how I transposed those two! Apologies for contributing to the mess and appreciate you catching it. :)
I do own some, but they don't get used for much (browser-on-the-go, mostly).
Smartphones are definitely better all-rounders, but what I've come to adopt in recent years is a hobby of finding whatever tech/concept seems "best" to me (from any period in time) and then using that. Sometimes that means hardware from 1920, sometimes from today (e.g. I have a current-gen GPU to join the AI arms race). Sometimes that means a modern evolution of the concept without losing the spirit.
Easy examples:
* iPod -> Music player w/ FLAC + 1TB SD
* Gameboy -> Analogue Pocket (or sometimes original hardware)
* A modern standalone camera, etc.
It's sort of like living in the dream version of 2002 where tech stayed hopeful and fun (not sure if that's good or bad). Definitely brought me the most joy in tech I've had in years.
PDAs (and a _lot_ of tech from <2010) have the advantage of still being built entirely to serve the user. For my needs, I basically view it as day-planner or complement to a notepad and don't expect it to be a smartphone. My opinion is that these devices basically "solved" the digital calendar by ~1999 and that almost every calendar feature since (except maybe sharing) usually serves some other business need in addition to the user, or is just clunkier.
A PDA just wants to take good notes, manage the day's work, and be a simple extension of your mind. Most modern tasks (that don't require a network connection to be useful) have apps that still exist and don't spy on you: Food journals, encrypted notes, flashcards, project management, ebooks, cached news, Wordle, period trackers...
So, if your life today doesn't _depend_ on a specific vision of modernity, you don't miss out on much of it while benefiting from some forgotten UX benefits: Offline-first, great UI, week-long batteries (AAA if so inclined), Graffiti input, etc. :)
1. Their ability to do absolutely everything offline. No need to worry that I won't be able to access something because somewhere without data service
2. The ability to have all the PDA features at my fingertips without being hooked up to the world's biggest attention-killing distraction network.
Anyway, this was the first I'd read much about caving and, in browsing around the web, I discovered that Palm Pilots were(/are?) used by serious cavers for mapping caves. Auriga (https://auriga.top/) was the most frequently referenced Palm app I saw; its latest update was in December 2022. Obvious advantages as I understand them are: (1) long battery life coupled with replaceable AAA batteries; (2) a display that can be read in low light without battery-draining backlighting. Phone and wi-fi are useless underground. (I vaguely recall reading somewhere that ~80Khz radios for use in caves were being developed; equally vague memory: I believe initial prototypes were based around audio amplifiers that happened to reach up into that frequency. Okay, a 2018 Hackaday has links to more information, although not about what I [mis]remembered: https://hackaday.com/2018/07/11/ham-designed-gear-used-in-th...)
Also, sometime I saw an article about automotive performance afficianados using a Palm App to interact with their engines' onboard computers -- in the PalmOS Emulator (POSE) on Windows laptops. Obviously they liked the app and I imagine they had a considerable intellectual investment (e.g., historical experimental settings and performance results, etc.) that made them loathe to switch to more modern apps.
But yeah. I cleaned the battery crud out of my Palm M105 last month, put fresh batteries in, and the digitizer is shot. So, back to my phone ... :)
I also did not find any good emulators for Cortex-M class chips. At this point, I took a two-week-long break from this project to write CortexEmu. It is a fully functional Cortex-M0/M3/M23 emulator that faithfully emulates real Cortex hardware. It has a GDB stub so I can attach GDB to it to debug the running code, It has rudimentary hardware emulated to show a screen, and support an RTC, a console, and a touchscreen. It supports privileged and unprivileged mode, and emulates the memory protection unit (MPU) as well.
Also very interesting is the errata section on the STM32F429 errata section [1], that stuff is real gold for people who do advanced stuff on these chips. Very nice to see that published, I hope it gets picked up by search engines (or, better of course, ST themselves if that hasn't happened yet). There should be serious bug bounty for finding hardware errors like these!
[1]: http://dmitry.gr/?r=05.Projects&proj=27.%20rePalm#_TOC_7dc6f...
16 bits memory limitation, even at the time that was silly.
Armlets? Extremely hard to write simple native code or to port apps and games from other platforms.
No file system, a custom and rather slow database instead…
But they had tons of documents on how to follow their UI/UX guidelines.
Basically, they had no real kernel upon which building an OS, they tried anyway and it was a mess of epic proportions.
In 2004, the Treo 650 was as good as it got. I LOVED mine, and there was really no other player in the market that could truly best it until Apple landed with the iPhone. (And I say this having sampled best-of-breed Windows Mobile stuff in that era -- the HTC hardware was slick, but WinMo was useless and incredibly dumb.)
They basically started with something very crude that barely did the job, and built stacks on top.
But they had nice frontends, nice hardware, especially the Sony Clié series was quite ahead of its time hardware wise.
You’re not kidding. I had a HTC HD2 and the hardware was very futuristic-feeling (one of the first phones with the original Qualcomm Snapdragon, and a “huge” 4.3” screen that my friends gently mocked for being ridiculously large), but the software experience was leagues behind iOS and Android, despite they themselves being in relative infancy. It would have been pretty nice if it got an update to Windows Phone 7, which was promised but never came.
HTC’s own customisations were the worst part. Their flashy animated home screen was very nice, but the iOS-style threaded SMS app couldn’t deal with threads longer than about 300 messages and would routinely lock up the phone for minutes at a time until you deleted your conversation history.
In the years after I got rid of it people continued to port newer versions of Android to it, but I just remember it being shit at texting and browsing the web—the only things I actually wanted it for.
And then iphone's multitouch UI drove the final nail.
It turned out easier to use, cloud services (Google apps, iCloud), maps+GPS (G1 had it, iPhone had it soon after), and much better media player features were simply more desirable than enterprise groupware. It also turned out that as cell phone usage normalized, a lot of employers stopped providing cell phones to employees... mostly driven by unlimited talk+text+internet plans... which really favored the non-enterprise-y Androids and iPhones.
They should have kept the kernel and ditched the Shell to build something tailored for the form factor and usage.
In fact most players had divested the market at this stage. The PocketPC team was a skeleton and Symbian was being eaten from inside by competing internal projects.
Apple had a highway.
Eventually Symbian (sp?) was better and when Sony killed their Zire division I just have Palm Treo one last chance. It was a bit laggy and the battery didn't last long enough.
I always wanted to give Zaurus a try, but the Linux ones not the Palm ones.
You're not wrong, but this skips over an even bigger mistake. Arguably 2 in fact.
The kernel of the original 68K PalmOS was, I believe, bought in, just as Apple bought in a Pixo OS for the iPod:
https://apple.fandom.com/wiki/Pixo
PalmOS ran on top of the AMX 68000 RTOS kernel from Kadak:
http://www.kadak.com/rtos/rtos.htm
When Palm moved to ARM chips, it chose not to licence the Arm version of AMX from Kadak. It considered adopting the Symbian kernel:
https://www.theregister.com/1999/10/13/ms_out_in_cold_as/
... but in the end the deal didn't happen.
This was a huge mistake. Symbian was already the smartphone leader and supported multiprocessors, multimedia, and all sorts of fancy features, while being smaller and far less resource-hungry than contemporary rivals such as WinCE or the then-huge Linux. Symbian originally shipped on a circa 8MHz Arm device with 8MB of RAM and no swap: full GUI, full multitasking, Internet stack, etc. No Linux could run usefully on that level of kit.
Symbian already supported GSM phone stacks, Bluetooth, Wifi, all that stuff. It also supported pluggable UI layers, and had about 3 or 4 on sale at its peak: UIQ, a stylus- or touchscreen-driven UI from Japan for keyboardless phones; Series 60, for keypad-driven phones; Series 80, for landscape-orientation touchscreen phones; Series 90, for QWERTY-keyboard-driven PDAs. Adding another for Palm, with a Palm UI and Graffiti, would not have been a stretch.
It would have been a great fit.
Palm decided to write its own instead. Probably it was cheaper. Probably as Palm was mainly American it didn't appreciate that there were tens of millions of happy European and Japanese users with Symbian smartphones that they loved. I was using 32-bit Arm-powered smart devices with the Symbian kernel a decade before the iPhone, and ones running the direct ancestor of Symbian in the early 1990s.
This was commercial suicide #1.
Palm had no multitasking, little media support, and a single-tasking 68000 OS ported to Arm. It was very uncompetitive, but it's all Palm owners knew so they thought it was fine and liked it.
But it did have a comeback attempt.
Palm ended up under the same ownership as Be and the core BeOS team, and it eventually came up with an in-house multitasking media-enabled networked PalmOS, based on BeOS tech, called Cobalt:
https://www.palmsource.com/palmos/cobalt.html
This was commercial suicide #2.
Cobalt looked good but it was too little too late and as far as I know it never shipped on a single retail device.
Palm devices had physical buttons, one of which immediately (0 perceivable lag) opened a todo list
When I used to be have a palm, anytime I was feeling idle I'd pull out my palm and press the Todo list button and see what was next on my schedule. It was literally life changing and every smart device since is a laggy piece of shit when it comes to physical Todo lists.
The Samsung Note series could have been great if it allows for replacing the lock screen with a Todo list that you can interact with, but no, the Note cannot be used as a fucking note pad.
I once burst into the office of the PM in charge of the Tasks ui for Windows Mobile and asked him why we did such a shitty job, but because he had never used a palm before, he didn't even realize what we were shipping was garbage.
Ugh.
One of the projects I am currently working on is restoring an IBM ThinkPad 701CS (https://blog.jgc.org/2023/03/repairing-tiny-ribbon-cable-ins...) which has required a total teardown and rebuild. I started this project in early January and currently have a working machine that's in parts. I work on this when I have time. Which might be for two or three hours a week maximum. Basically, I decided to get satisfaction from small improvements. So, one time when working on this I just cleaned up the battery contacts, another time I replaced the CMOS battery and saw that it was retaining RAM size, another time I repaired the keyboard, another time I just sat down and figured out which parts of the case I needed to 3D print to replace, etc. etc.
I usually have two to three projects ongoing and just pick them up when I have time and inclination.
> I have a demanding job (CTO of Cloudflare)
Please use your influence to bring sturdy, repairable laptops with great keyboards back! I'd buy a cloudflare branded thinkpad clone.
If you make it a point though most everyone can find an hour every day to do something like this despite the above. However for most of us it is easier to turn on the TV/youtube/read books/.... Even the more productive things like learn a foreign language, politically support a candidate, and the like. There is lots of competition for your limited time and most people won't make projects like this a priority. Some of the things above are worth doing on their own, some are just a waste of time. (though if you are nearly burned out you probably don't have the energy to spend on more than TV)
I think big progress will eat up an evening but I think the important point is that it's not a job -- so when it eats up an evening it should be fun and when you've not other important/interesting things to do. I almost never know when I'm going to make progress when I start.
So, in a way, im not surprised he’s done something like this. A work of ¿love? ¿Art?. A testament of deeply knowing the object of his passion.
Take a look at his code and admire it for what it is. Read how he explains it. It’s worthy on its own.
I see a big opportunity should rePalm be ported to generic low cost embedded hardware. ESP32(|ARM|Risc-V) board+LCD+LTE module, all costing a dozen bucks each or less, would make the basis for a powerful dumbphone for when manufacturers will cease any production of them. I would personally love to have such a device.
Broadly speaking, PalmOS had filesystems, networking, graphics and interface controls, sound, hardware access and more. Who cares if I can't watch high resolution movies or play AAA games with it, the goal should rather be to use it to do things where Linux is not only overkill but also would require hardware that cost a lot more. Forget about phones and PDAs, if I want to build an I/O panel with buttons and display for some instrument, a light OS like this one could help to lower costs by doing it on much cheaper hardware.
Over 13 years ago I wrote an online tool (palm2csv.com) that converts Palm Datebook (Calendar) and To Do (Tasks) to CSV and iCal/ICS format. To this day people continue to use it and email me with stories of how they love Palm Desktop and their Palm device, and are reluctant to give it up in exchange for a modern phone.
Note that it wouldn't even be a dumbphone by definition if it has an OS running arbitrarily installed software on it.
Funny you should say that. There WAS no emulator for any ARM palm devices. Ever. Until I wrote the only one: https://github.com/uARM-Palm/uARM
It wasn't a slight at you. I appreciate good work and also recreational computing. But is reviving Palm a practical endeavour? Nope, sorry.
The emulator is a good idea for whatever abandonware people might want to use. I might try it myself.
This has more value to more people than a painting of an apple, I'd guess. I don't see much point in either of them myself; but I don't have to. I can see the point in them in that they gave their creator joy while making them and even more in that others can appreciate them, even if i can't.
Yes, Palm is useless and archaic of networked features are your #1 use case for a PDA (smartphone) and there’s little use reviving it. However, if you care about old Palm games, or about efficiently organising your life with minimum distractions, then IMO not many modern devices will beat a Palm OS device.
Analogously to MS-DOS, there is a huge application base that you can dip into for most tasks that don’t require online access, that can still be used today. The UI is miles ahead of both iOS and Android, IMO (in both responsiveness and look-and-feel), if you are willing to work within its limitations (that include using a stylus). Dmitry is even working on Unicode support.
I’m glad that RePalm exists. If it didn’t, all we’d be left with is emulators and devices that are starting to fall apart.
Deleted Comment