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.
Business card with tear-off tabs
Somewhere that I can't find now (maybe in Wired magazine?), there was a plan for a business card with a ton of contact and personal information on it. The card was normal size, so the information had to be compressed. Maybe it was encoded in little 2D barcodes, or maybe it was just written in micro writing that you magnify to read.
The interesting part of this card was that the bottom edge of it was shaped into several tabs, and the personal information was completely in the tabs. The tabs were in order of "personalness", like work phone -> home phone -> address -> birthdate -> sexual preference. Maybe they were clustered in bigger groups than that, like work info, home info, personal info.
At the moment you're thinking of giving someone a card, then, you could tear off and keep as many of the tabs as you wanted. To the guy I talked business with on a plane, I could hand a card with just my business info. To the family friend who's come to visit, I could hand most of the card. To the stranger in the nightclub who I want to call me again, I might tear off only the business and address tabs.
It's possible these cards were never produced, and only drawn up as a concept. Anyway, if you find a link to a picture or something, please let me know. Every now and then I want to hold up that design as an example of a way to control privacy in social networking.
Transpose html table
Hey lazyweb, where's the in-browser tool (bookmarklet, ffox ext, whatever) that will transpose the rows/cols in an html table?
I realize my blog comments are probably broken. If you have an idea, please mail it to me, and that will cause me to fix my blog comments and post your idea.
Atom feed of this blog