[NTLK] Dash Board

Mason Mark mason-newtontalk at fivespeed.com
Sun Jul 14 22:00:54 EDT 2019

Yep, that link Pawel shared is the canonical story of the Dash Board source code itself.

Back in 2013, I wrote a companion blog post that touches on what Dash Board (or more accurately, the awesome reception it received when I released it) meant to me personally: 


The TL;DR is that it totally changed the trajectory of my life. I was just a college student, majoring in journalism. As a Newton user, I just wanted something like Dash Board to exist.

Luckily, I was a university student — in Japan, no less, where (at least back then) once you got into the school, you could pretty much coast, so I cut a lot of classes and stayed home figuring out how to program. 

Ostensibly relating to my journalism studies, I was cobbling together and Internet publishing tool, based on FileMaker and AppleScript-based glue that used BBEdit and Fetch and some other tools to generate a website. Something like what we would today call a CMS.

I was interested in the Newton, especially once the MS2000 came out. Japan had modem jacks in many public phones in those days, and I often faxed things from my Newton. Somewhere in there I realized I could get online and file briefs into the CMS system and get them onto the web from a payphone, using the Megahertz CruiseCard 28.8 (which happens to be right here on my desk, after getting my Newton out to salvage the Dash Board reg code generator this past week). 

Then I got a 32Kbps PCMCIA card that could hook up to a PHS phone -- OMG!!! We don't even need a pay phone to get online and like, publish information!

In the meanwhile, I managed to hack together an alarm for the Newton (called Wake Up Call). It was basically just what I wanted in an alarm clock, but it sold a couple dozen copies a month. That was encouraging enough that I took on the much bigger — and in retrospect, ludicrous — task of Dash Board.

It's a perfect example of the awesome power of ignorance. I, a neophyte programmer, decided I was going to write a piece of software that replaced a standard system component (it doesn't, actually; it just covers the stock button bar), a hierarchical menu system (when the OS itself does not support hierarchical menus at all), an app launcher, task automation, and a custom scripting system?

Somebody who knew what they were doing would have just started with say, the hierarchical start menu, or the mini-CLI launcher. But I wanted that all, so I decided to do it all, and then I also announced the launch date well before the software was actually done. Basically the only cliché mistake I did not get to make with Dash Board was "rewrite it from scratch", and that's probably only because Bad Steve came back and discontinued the Newton before I had the chance.

Nevertheless, the app was a hit. To me the major lesson was not knowing what you are doing, and even writing terrible code, isn't really as impactful to a piece of software as having a vision of the problem(s) you want to solve with it. Dash Board fixed the main things that bugged me about the Newton OS. And people loved Dash Board, and that made it fun, and got us from 1.0 to like 1.5.1 or whatever it was even though the Newton platform was already discontinued at that point.

But the most significant impact that it had on me personally was that I switched from journalism to programming. I realized that I already found making *systems* to do journalism more interesting than actually doing the journalism part. And making Dash Board was even more fun.

So I became — eventually — a real software engineer, and have been doing that ever since Dash Board (except maybe a couple years where I was basically a manager, before I quit my job and went back to just engineering). And that's been great. 

I don't always get to work on software that directly addresses my own pet peeves, like with Dash Board. If I did, I would probably be working on Dash Board for macOS.

I mean, this is the platform that I do most of my work and also most of my personal computing on. But WTF is this completely craptastic "Dock" thing they have? Other than improved graphics, it is literally not any better than the Newton OS 2.1 icon bar that Dash Board replaced. 

And where the &^%@#$@ is the contextual menu?? The Power Mac 8500 I actually used to *write* Dash Board had a better built-in mechanism for quickly traversing filesystem hierarchies and opening folder/documents and launching apps. Removing that was the literal definition of Doing It Wrong™. 

I use LaunchBar (and have ever since 2000 or so), occasionally trying Alfred and going back to LaunchBar, and those tools more or less adequately perform the job of Dash Board's "Letter Launcher" feature. But as a user, not having a hierarchical menu makes me grind my teeth in outrage.

The Mac should have a *better* hierarchical menu. It should be usable in the normal ways with a mouse, but it should also be able to be triggered with a hotkey, and supremely navigable via keyboard as well — using number keys to select items, arrow keys to navigate, and fuzzy-match as-you-type filtering to reduce the menu content, find your item, and invoke it.

Of course, in addition to the standard, thoughtfully-designed and convenient built-in menu that you get "out of the box", there should actually be the ability for the user to create alternate hierarchical menus, invokable via different screen corners or hotkeys.

So, clearly, a great editor GUI is required, allowing the user to quickly build up their own purpose-built menus, and modify and re-organize them.

Naturally, it being 2019 and not 1976, the menu designs and preferences should all be able to sync easily and reliably across all the user's Macs...

Having a couple decade's more experience than when I first wrote Dash Board for Newton, I think I would probably stop there with Dash Board 1.0 for macOS... 😅

We could deal with actually replacing the stupid Dock later. Also, on the Mac we have the menu bar so the little icons under the main icons are not really so necessary as they are on Newton OS. (Also, it is insanely hard on the Mac to accurately replicate the Dock's behavior of reserving screen space in a way that apps don't draw under it. This is why I always end up giving up on tools like uBar, which try to replace the Dock with something better. In fact, assuming we had the Dash Board menu I describe above, I personally might be fine just hiding the Dock, boom, problem solved?)

Hmm, and the timing might be right, since Apple is removing the "Dash Board" feature in the upcoming macOS Catalina, so the name "Dash Board" is sort of available again... 😆

Those of you who are familiar with my behavior of popping up every 2-3 years, emitting a wall of text like the above, and then going back into hibernation (actually, parenting) will know not to expect to see that software any time soon, but... that is something I would love to work on, actually. 

That's the legacy of Dash Board for me — rather literally, in this case, ha ha. Not just doing software engineering in general, although I love doing that, and it has been a great career so far that gives every indication of staying great for the rest of my life.

But I mean specifically writing software to solve a problem that BUGS THE HELL OUT OF ME almost every day. That's what Dash Board for Newton was about. That's what Dash Board for macOS would be about.

LOL so anyway, thank you for asking!!


— Mason

> On Jul 15, 2019, at 5:40, Pawel Piotrowski <newton at indigi.co.uk> wrote:
>> On 14 Jul 2019, at 17:15, Doug <ispinn at gmail.com> wrote:
>> Mason,
>> Thank you! Please, share Dash Board's background story with us.
>> Doug
> Hi Doug,
> Here you can find more info: https://github.com/masonmark/Dash-Board-for-Newton-OS
> Best regards,
> Pawel Piotrowski
> Worldwide Apple Newton Users Map: http://user-map.applenewton.co.uk <http://user-map.applenewton.co.uk/>
> NPDS Server: http://newton1.applenewton.co.uk:8079 (powered by Newton 2100)
> NPDS Tracker Server: http://tracker.applenewton.co.uk:3680 <http://tracker.applenewton.co.uk:3680/> (powered by Raspberry Pi)
> Facebook: https://www.facebook.com/applenewtonfan/ <https://www.facebook.com/applenewtonfan/> 
> Instagram: https://www.instagram.com/AppleNewtonFan/ <https://www.instagram.com/indigi_newton/>
> Twitter: https://twitter.com/AppleNewtonFan/ <https://twitter.com/indigi_newton/>
> ----------------------------------------------------------------------
> http://newtontalk.net/
> http://twitter.com/newtontalk

More information about the NewtonTalk mailing list