Ideas for a supervisor UI
The supervisor web UI (screenshot) is not so great. It sends corrupt pages some of the time, such that you see a white page or raw html or some other incomplete load. The button background images often fail to come in. The log tail pages rarely work for me; they usually show nothing. There's no 'stop' button on a process that's in the 'starting' state, even though that's a useful transition. The pages' internal links are all /absolute so you can't proxy the site to somewhere/deeper/in/your/existing/site/.
Supervisor, itself, is pretty wonderful. It just needs a new web UI, which can easily be developed separately since it could talk to supervisor via xmlrpc.
Here are some ideas for a better UI:
- the process states should update live; no manual refresh
- have a compact mode that can fit in the corner of my screen when I'm developing
- have a mode where one process's reset button is huge, so I can click it quickly when I'm troubleshooting that process
- display more process stats, like top
- let me select multiple processes and do actions to the whole group
- display arbitrary additional fields that I configure for each process, such as the port number I set the server to run on, or the name and phone number of the person to call if the process is crashing
- there should be a simple REST interface to the process states that's easier to use than the xmlrpc one. I should be able to do process restarts with curl or XHR in some other page.
- tail the logs really well: I should be able to expand several logs at once, or look at a mixed view (like "tail -f *"). They should update live. I should be able to get any log at its own URL so I can pass that URL to someone else. I should be able to color the log lines based on patterns; abbreviate out boring lines or parts of lines; and shade the lines according to their age. (I did a project like this 9 years ago.)
For supervisor, but not the web UI:
- I'd like a config-generating tool that looks at a running pid and makes a supervisor config section that would run that process with the same user/env/cwd/etc. This tool should be able to POST new configs to a running supervisor via the new web ui! The out-of-the-box experience with supervisor should be to simply launch it and then add some of your already-running programs to it.
jott.com UX is not great
jott.com, what's going on?
I called to record an idea I had on the drive home. This was not an expected use case for jott.com, so I'll explain it in more detail: I had an idea; I was concerned I would forget it; so I speed-dialed jott.com to speak my idea and get a transcription in my email inbox. The jott.com prompt said something like "Before you record, please listen to this special announcement. There's something new on your account at jott.com. Please remember to check your account later. Record your note now."
I forgot my note, of course. Not having to hold little todo items in my head is why I use jott.com. Apparently jott transcribes slow, confused words pretty well, although they omit muttered swearing.
When I got home, I followed the new email link to read my note, and I didn't get any important account messages. Jott does not log you in even when you click the link in the email they sent to you. That's lousy, and it's not a security issue since they know when they're sending to the same address they use for password resets.
When I did log in, all I got was "Upgrade your plan to connect to Remember the Milk by phone." I think the big news might have been this, which is a link I found on their blog.
Moral: if your product is made to gather some information quickly, gather the information before making silly announcements.
Otherwise, I highly recommend jott.com for its free transcribing of voice messages!
Birdseye views
So I read that google chrome shows the positions of in-page search results on the page's scrollbar:

(image from usabilitypost)
This is something David McClosky and I put into skim 5 years ago. Our version enlarged up the scrollbar so it was wide enough to show the horizontal positions of the matches too. Then we made multiple matches appear at once, and let the user click any word to add it to the search. You'd often type one word, jump around to the neighborhoods where it matched, and then click a few more relevant words to make the preview denser.
Ironically, I described it back then as looking like a Google cached page with search terms highlighted in different colors, but zoomed out. In the code, the widget is called "birdseye".
Atom feed of this blog