{"id":156,"date":"2003-01-02T17:18:38","date_gmt":"2003-01-02T22:18:38","guid":{"rendered":"\/?p=156"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T04:00:00","slug":"crufty_ui","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2003\/01\/02\/crufty_ui\/","title":{"rendered":"Crufty UI"},"content":{"rendered":"Erik Barzeski has some <a href=\"http:\/\/nslog.com\/archives\/2002\/12\/30\/crufty_ui_or_not.php\">sensible reactions<\/a> to <a href=\"http:\/\/mpt.phrasewise.com\/stories\/storyReader$374\">Matthew Thomas&rsquo;s article<\/a>. I think there&rsquo;s a deeper UI principle here, almost a <a href=\"http:\/\/home.earthlink.net\/~ronhowe1\/beauty.htm\">quality without a name<\/a>. It&rsquo;s about presenting the <a href=\"http:\/\/mjtsai.com\/blog\/2002\/11\/15\/leaky_abstractions.html\">right abstraction<\/a> to the user. Of course the computer should prevent you from losing unsaved work, but the real point of manually saving documents is to give meaningful names (and locations) to user-specified states of the document. Until the computer can read my mind, it had better not try to be too clever. If its &ldquo;perfect&rdquo; high-level abstraction won&rsquo;t let me do what I want, it should let me drop down a level. In an application&rsquo;s case, this may mean not hiding (or obfuscating) the file system. This is my main complaint with applications like iPhoto, <a href=\"http:\/\/mjtsai.com\/blog\/2003\/01\/02\/deleting_code.html\">VOODOO<\/a>, and Frontier. They think they&rsquo;re making things easier, but they really just get in the way if you ever have to do anything outside their little universe.\n\n\n\nThe situation with quitting is similar. Unless there&rsquo;s a reason I&rsquo;d never want to quit, the application had better let me. The current Mac OS X virtual memory system is <em>not<\/em> such a reason. I still quit applications that I&rsquo;m not actively using. Part of this is to free up space in the Dock, granted. But it&rsquo;s often true that switching to a swapped-out application is slower than launching that same application. Also, some applications save data and perform cleanup tasks when they quit, and it&rsquo;s good to let them do that to make sure all their data are in a consistent state. With a perfect system, this wouldn&rsquo;t matter, but Mac OS X isn&rsquo;t perfect. A few days ago it froze on me while I was in iChat, and I couldn&rsquo;t even ssh in. Don&rsquo;t let the &ldquo;modern&rdquo; OS underpinnings make you lazy; you still have to think about when and where to save.","protected":false},"excerpt":{"rendered":"<p>Erik Barzeski has some sensible reactions to Matthew Thomas&rsquo;s article. I think there&rsquo;s a deeper UI principle here, almost a quality without a name. It&rsquo;s about presenting the right abstraction to the user. Of course the computer should prevent you from losing unsaved work, but the real point of manually saving documents is to give [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-156","post","type-post","status-publish","format-standard","hentry","category-technology"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=156"}],"version-history":[{"count":0,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/156\/revisions"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}