Posts Tagged ‘design’
Here is a poster for Gattaca:
Maybe they have some notion of who the more popular actor is, but would it really hurt that much to swap the names around? This is ridiculous.
Google Calendar is one of the best things ever written. Its features are useful, its UI is brilliant, and its “quick add” feature alone is worth raving about (and I have). I keep all scheduled events on Google Calendar, even my timetable — creating recurring events (like a seminar series) is very easy. (Aside: I’ve never used a calendar for a todo list…)
Random usability comments follow; please don’t read beyond this point.
Google Calendar has several “views” — “Agenda” shows all your events as a list ordered by time (and date, of course), and the “Day”, “Week”, “Month” views show a day, week, month at a time respectively. There is also a “Custom” view which can be set to several durations, from “Next 2 days” to “Next 4 weeks”. (Actually the menu ought to call the options “2 days”, “4 weeks” etc., because these views can be moved to other periods just like any others, but it’s possible that “Next 3 days” in the menu is less confusing than “3 days”.) If you haven’t used Google Calendar, see this blog post for screenshots. (Aside: Found some useful tips here(mostly what I’ve already been doing).)
I use “Next 2 weeks”, because “1 week” is vertical (events are shown in boxes according to their size, intersecting ones intersect, etc… this is a nice feature, but it is distracting to see it except when you specifically want it), and “1 month” shows too few events per day (because I put my timetable, seminars, and subscribe to several calendars, I sometimes have 15 events a day, most of which won’t fit). “Next 2 weeks” fits about 11 events per day, and is a big enough interval for scheduling most events (usually from email I get), so it’s perfect.
Here’s evidence of a thoughtful, well-designed UI: What do think happens when you switch from one view to another? (Takes just a click, BTW, not going to some other “Settings” window and changing it, or even pulling up a menu.)
This is what happens: If you switch to a bigger duration (such as from “Week” to “Month”), it simply shows the period the view you were looking at was in. (Doesn’t reset to the default view for that duration, which is what bad UI would do.) If you switch to a smaller duration, it picks the first period of that duration in the view you were currently looking at (nice!), except if — and this is what distinguishes good UI from the mediocre — today was in the current view. Because if the view is “month”, and it’s the current month, chances are that you’re actually looking at today, and when you switch to “week” you want the current week, not the first week of the month. For other months, it makes sense to switch to the first week (anything else would seem less “logical”). This is what Google Calendar does.
Except — and this is the bug — it doesn’t work when I’m in the custom view. Or at least, my custom view of “2 weeks” (and “3 weeks” and “4 weeks” — I didn’t try the others because I’ll only know the difference on special days of the week, and Thursday is not one of them.) If I’m looking at today in the “Next 2 weeks” view and I switch to the “Day” view, it shows me the first day in my 2-week-period, which is some confusing day I don’t want. Yeah, I know I have to only click on the “Today” button each time, and even all of those times put together it’s not really worth my going to all the trouble of writing this, but the point is that it violates the Rule of Least Surprise (also called the Principle of Least Astonishment), and it annoys me.
This ought to be fixed, but of course, like most other closed software development, it is hard to find a human to speak to. At least they have a “Contact Us” web form….
I just found something that’s amazing in its simplicity, and yet neatly solves a problem. Maybe you’ve sometimes wondered how to markup your email (perhaps in cases where you want the same text to be reusable) and yet retain its readability. (I have a friend who sometimes writes email in TEX markup, which is just incredibly wrong and annoying.) There is a solution that is as close to perfect as imaginable: Markdown. Its Basics page was itself written in Markdown. The syntax is perfectly readable; it is available on Ubuntu and Debian, and can even be generated from HTML, in case one wants to go in the other direction. It even has a Wikipedia article, and (even without looking!) I’m sure it’s the best “lightweight markup language” there is. There seems to be a markdown mode for Vim, but no “standard” mode for Emacs yet. (But with such good and readable syntax, who needs an Emacs mode, anyway?) There is a comparison here. There are converters from MarkDown to other formats (such as LaTeX), see Pandoc (written in Haskell!) and MultiMarkdown.
Another thing that looks impressive (and even more useful, because it is well-integrated into Emacs) is Emacs Muse, can be published to a lot of formats, including DocBook and LaTeX. Documentation here, and someone’s personal notes here.
I haven’t tried either of them yet.
[Update] Emacs Muse is nice, but it’s really not polished enough yet. (Either that, or if it’s not going to change then I don’t like it.) There are no nested lists yet. (It does now.) Markdown says
The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. While Markdown’s syntax has been influenced by several existing text-to-HTML filters, the single biggest source of inspiration for Markdown’s syntax is the format of plain text email.
That doesn’t seem to be Emacs Muse’s “overriding design goal” to me (I need to figure out why I feel so, but somehow the syntax feels kludgy and seems to have many bad corner cases).
As I see it, the most powerful and compelling features of Emacs Muse are
- The entire publishing system, where you can take a document and publish to multiple formats based on syntax translation rules, keeping a daily journal, etc. (planner-el depends on Emacs Muse for some of its functionality.)
- Its integration with Emacs
Frankly, IMHO, the actual markup language is not one of its greatest features, and it would be great if they used — or allowed plugging in — other existing languages.