February 18th, 2008

regency cards

Window Manager FReq: focus_follows_eyes

I have a feature request for any window manager designers out there: focus_follows_eyes

I currently use Ion as my window manager on my home computer. It's great. You hardly ever need to use the mouse, and it seems to generally just Do The Right Thing. Except that sometimes it's so good at doing what I want it to that I forget which window has keyboard focus and start typing into the wrong one, because I've moved my attention from Firefox over to an IM conversation I'm having but haven't actually told it to move focus.

Clearly, what I need is for focus to move by default to whatever window I'm paying attention to. An interesting paradigm for that would be a monitor-mounted camera tracking my eye movements and keeping focus in whatever window I'm looking at. (Better, use the sloppy focus model so if I'm copying text from a printout or having a conversation with somebody focus will stay where I last looked.) You'd need to bind Scroll Lock or something to lock focus on a window for when you're manually copying text from one window to another or something like that. But wouldn't it be cool?

regency cards

Calendar Program Suggestions?

I think I'm in search of a new calendaring application. gcal, while great, doesn't seem to support the features I really want (or needs a front-end I haven't yet discovered to do so). Here's my feature wishlist:

  • Lets me store my data on my own computer. A tool which requires that I give some vendor all my data will lose points. A tool which does so and also doesn't allow me an easy way to replicate that data locally so I still have access to it in the event of connectivity issues (or the provider disappearing) will lose even more points.
  • Is easily usable from the command-line within a terminal window for basic functionality. This includes both displaying the calendar in reasonable views and adding events to the calendar. For the latter, editing a file is acceptable as long as it's easy.
  • Makes it easy to interrogate the calendar for things like "what do I have going on today/this week/this month/the second weekend in April/etc.?" and "When is that Passover thing happening again, anyway?"
  • Does all the work of including holidays I might care about.
  • Makes it easy to dump all of my data into it, but doesn't clutter its UI so much that I can't tell what's going on after I've done so. Should be able to easily visually distinguish the importance of the most important thing going on during a given time-period (day/hour/whatever).
  • That means the UI needs to be able to know what my definitions of importance are.
  • Should have support for existing open standards for calendaring, because this might be useful down the road (say for sending events to other people).
  • In an ideal world, has a web-enabled front-end with access controls (or just one which is read-only). This should allow me to easily (ideally without any intervention at all) share my schedule with my friends. My schedule is busy enough with interesting stuff that for some reason it seems to me that there are people who'd be interested in seeing what I'm doing just to know about stuff that's going on. (This UI should also, at a minimum, be able to filter on some sense of importance so people aren't confronted with boring minutiae.)
  • Again, it must be sufficiently usable that I will actually use it. Usable is here defined as requiring a minimum of effort for tasks I want to perform while allowing me to perform any task I reasonably want to. In particular, I have to bother to enter every event into it as I become aware of the event, and I have to bother to check the calendar regularly.
  • A bonus feature might be allowing others to enter (provisional) events for me. This could work with the open standard support mentioned above.

Any suggestions? Just as Hiveminder has been great for helping me dump tasks I want to do someday somewhere central and not have to worry about forgetting about them indefinitely (and is also handy for things I need to do more immediately), I'd like something which helps me keep track of what I've promised to/hope to do when so I'm aware of potential conflicts sooner.

(Incidentally, hm fails the not requiring me to give someone else my data test. This is something I forgive them for partly because they apologize for it. If I find something which gives all the functionality I use without that requirement, I might switch to it.)