After, literally, years of griping about various annoyances of my beloved Mac, I finally found a way work around for many of them.
QuicKeys is one of the oldest end-user customization tools (for PC and Mac). I've known about it for years, but finally started to put it to use because I was just so annoyed by a few minor things that I kept running into over and over again. Here are a few of the (admittedly minor) Mac annoyances that are now fixed!
iCal: Pressing Shift-Command-T brings up a dialog to go to another date. But there is a bug that makes it impossible to use the keyboard to either activate the dialog (to actually go the date you've specified) or dismiss the dialog. I wrote two simple shortcuts so that pressing return activates the dialog and pressing escape dismisses it. Shame on Apple for making me do this after years of iCal's existence, but anyway now I can use iCal without cursing Apple 5 times a day.
iPhone Simulator: When debugging code with XCode, you press Shift-Command-Return to stop the process. But if the focus happens to be on iPhone Simulator (as it often is when debugging an iPhone app), you have to press Shift-Command-H to stop the process. This is typical Apple keyboard shortcuts. Each one makes some sense on its own, but they don't work together (on iPhone, you pressing the "Home" button, thus the "H"). So I added a shortcut for iPhone so that Shift-Command-Return generates a Shift-Command-H to stop the process. Problem solved.
WriteRoom: The control-A and control-E keys move the cursor to the beginning and end of the paragraph instead of the line, which they do in most other apps. I remapped them.
Mail: Having to use the cursor keys and delete key is adequate, but I do *SO MUCH* cursoring and deleting that moving hands off the home keys turns out to be a significant burden. So, I made Control-N & Control-P move to next and previous emails and Control-D delete the current message. Ahhhh.
Firefox/Instapaper: I like to use Instapaper to read things offline later. The normal way to do this is to put a bookmarklet in your bookmark bar on the top of your browser. But I hate extra bars - especially on my laptop. So I started by making a shortcut to hide/show the bookmark bar so at least I don't have to dig around in the menu for it. Of course, then I realized I should just make a key to run Instapaper (which I'll do as soon as I finish this post).
Finder/Terminal: I regularly want to use Terminal to look at the contents of a directory I am looking at in finder. You can copy a directory from Finder, open Terminal, type "cd ", paste the directory, ... to get there. Instead, I made a single key that does that.
You get the picture. If there is a slow and consistent activity that you do frequently, it takes about 1 minute to write a quickeys shortcut. They can be applied narrowly so they only work for the app in question - and only when, say, a certain dialog is open. So they don't hurt anything else. I haven't observed it slowing down the system. The only issue is that you have to remember the new shortcut. But if the task you are speeding up really is one that you do frequently, then it isn't a problem. If you don't do it frequently, then don't bother speeding it up.
Software makers and users often have conflicting goals - with the makers winning. Yet they all too often shoot themselves in the foot by distrusting the users - their customers. Or worse, maltreating them. It is time to get angry about bad and malicious software design. This Blog calls software designers on the carpet - giving them credit and shame where they deserve it.
September 7, 2010
July 23, 2010
New Windows laptop rant
From a very experience friend of mine who knows Windows and Mac very well, has worked at Microsoft as a software engineer for several years. He prefers to remain anonymous. Sadly, my experience is about the same, and I am very happy living on a Mac (sometimes using windows in a VM, and sometimes not):
-----------
[Company] bought me an HP Envy 17 windows laptop because I realized that I couldn't take my primary windows development machine (a mac pro) to meetings and demos. It was only $1200, so I figured it was worth it.
The specs were nice -- slightly slower core i7 than I have in my MBP, but 6gb ram built in and a 1920x1080 display. All the reviews I read basically said this was the closest you can get in build quality to a mac without buying something from Apple. A similar MBP 17 starts at $2k.
Holy crap, this thing blows. It _looks_ like a Mac, except it's made of plastic and flexes dangerously when held in one hand. They've shamelessly ripped off the apple packaging experience, except forgot the little things (like having the battery be pre-charged so you can use your computer right away, or designing a power brick that (a) doesn't look and weigh as much as a real brick and (b) plugs into the computer on the right side via a hard plastic connector that sticks out 2-3 inches from the machine and looks terrible).
Then you boot Windows.
The first time through, you get a bunch of HP popups that are a ripoff of the Apple FTUE, except the design is atrocious and in fact the screens don't really match from one to the next. Fine. You get through that, and 14 -- yes 14 -- different preinstalled crapware apps want to update themselves. I have the entire Corel suite on this machine.
You can't connect to an 802.1x wireless network via the HP Wireless network utility. This may be a limitation of the windows home premium that ships on this laptop, but the result is I have no in-office wireless. Fine. I plug in an ethernet cord, BUT THE ETHERNET DOES NOT WORK. It turns out that you need to get a Windows wizard to run that lets you choose if your new connection is a Home, Work, or Public network. I manage to get the wizard to run by Disabling the ethernet port and then Enabling it. I assume at this point that most people would have called HP by now.
I go into the control panel and change the name of the computer on the network, since 'pc-8994892x' wasn't something I could remember. Once I actually find the correct place in the Control Panel for this (don't get me started on the control panel having grown to nearly 100 applets in win 7), the machine wants to reboot. Fine, it's 2010, and Win7 has a brand new networking stack that was developed from the ground up for Vista, but we still haven't solved the problem of changing the hostname requiring a reboot.
So the machine reboots. The SECOND TIME USER EXPERIENCE is that the user DOES NOT BOOT WINDOWS. You boot some kind of crazy HP overlay OS that lets you browse the web or read email, I assume through some kind of Linux-based layer that "boots faster" (not really). I have to dig around to turn this thing off.
I am now convinced that the "Apple Tax" is incredibly worth paying for all computers, even if you intend only to run Windows. At least then you get a Windows without all the crapware.
-----------
[Company] bought me an HP Envy 17 windows laptop because I realized that I couldn't take my primary windows development machine (a mac pro) to meetings and demos. It was only $1200, so I figured it was worth it.
The specs were nice -- slightly slower core i7 than I have in my MBP, but 6gb ram built in and a 1920x1080 display. All the reviews I read basically said this was the closest you can get in build quality to a mac without buying something from Apple. A similar MBP 17 starts at $2k.
Holy crap, this thing blows. It _looks_ like a Mac, except it's made of plastic and flexes dangerously when held in one hand. They've shamelessly ripped off the apple packaging experience, except forgot the little things (like having the battery be pre-charged so you can use your computer right away, or designing a power brick that (a) doesn't look and weigh as much as a real brick and (b) plugs into the computer on the right side via a hard plastic connector that sticks out 2-3 inches from the machine and looks terrible).
Then you boot Windows.
The first time through, you get a bunch of HP popups that are a ripoff of the Apple FTUE, except the design is atrocious and in fact the screens don't really match from one to the next. Fine. You get through that, and 14 -- yes 14 -- different preinstalled crapware apps want to update themselves. I have the entire Corel suite on this machine.
You can't connect to an 802.1x wireless network via the HP Wireless network utility. This may be a limitation of the windows home premium that ships on this laptop, but the result is I have no in-office wireless. Fine. I plug in an ethernet cord, BUT THE ETHERNET DOES NOT WORK. It turns out that you need to get a Windows wizard to run that lets you choose if your new connection is a Home, Work, or Public network. I manage to get the wizard to run by Disabling the ethernet port and then Enabling it. I assume at this point that most people would have called HP by now.
I go into the control panel and change the name of the computer on the network, since 'pc-8994892x' wasn't something I could remember. Once I actually find the correct place in the Control Panel for this (don't get me started on the control panel having grown to nearly 100 applets in win 7), the machine wants to reboot. Fine, it's 2010, and Win7 has a brand new networking stack that was developed from the ground up for Vista, but we still haven't solved the problem of changing the hostname requiring a reboot.
So the machine reboots. The SECOND TIME USER EXPERIENCE is that the user DOES NOT BOOT WINDOWS. You boot some kind of crazy HP overlay OS that lets you browse the web or read email, I assume through some kind of Linux-based layer that "boots faster" (not really). I have to dig around to turn this thing off.
I am now convinced that the "Apple Tax" is incredibly worth paying for all computers, even if you intend only to run Windows. At least then you get a Windows without all the crapware.
February 17, 2010
SIGCHI Social Impact Award for 2010
Ben Bederson and Allison Druin
from the University of Maryland are awarded
The SIGCHI Social Impact Award for 2010
ACM SIGCHI identifies and honors leaders and shapers of the field of human-computer interaction with annual SIGCHI Awards. The Social Impact Award honors individuals who promote the application of human-computer interaction research for pressing social needs. This year the award was given to Ben Bederson and Allison Druin of the University of Maryland for their joint work in developing the International Children’s Digital Library and their individual work in developing new methods that give children a voice in the development of new technologies, and for their work on electronic voting systems.
Ben Bederson is Associate Professor of Computer Science at the University of Maryland and past Director of the Human-Computer Interaction Laboratory. With his collaborator, Prof. Allison Druin, he led the development of many of the key technologies designed for and by kids, including KidPad and StoryKit for iPhone. He is the Technical Project Director for the International Children's Digital Library, a multilingual free digital library of children's books, currently consisting of over 4,000 books in over 50 languages, with more than three million users from over 160 countries worldwide. He led the library's collaboration with the Government of Mongolia -- bringing access to the library in rural Mongolia. Prof. Bederson also did influential studies of the usability of electronic voting systems, which resulted in scholarly publications, reports aimed at policy makers, and books directed to the general public. This work has served to highlight the challenges in developing usable electronic voting systems and has informed decisions on voting technology adoption.
Allison Druin is Associate Professor in the College of Information Studies at the University of Maryland and Director of the Human-Computer Interaction Lab. Prof. Druin is a pioneer in the development of technology for children and the inclusion of children as partners in the design process. Her technology co-design methods have been reported on through scholarly publications, presentations, and books, and have become widely used throughout the CHI community. She founded the CHIKids program for the CHI Conference. This program enabled many CHI community members who were parents to participate in the conference while their children learned about CHI and contributed to the experience of the conference, e.g., by producing daily newsletters, websites, and plenary session videos. With her collaborator, Prof. Ben Bederson, she created the International Children's Digital Library, a multilingual free digital library of children's books, currently consisting of over 4,000 books in over 50 languages, with more than three million users from over 160 countries worldwide.
from the University of Maryland are awarded
The SIGCHI Social Impact Award for 2010
Ben Bederson is Associate Professor of Computer Science at the University of Maryland and past Director of the Human-Computer Interaction Laboratory. With his collaborator, Prof. Allison Druin, he led the development of many of the key technologies designed for and by kids, including KidPad and StoryKit for iPhone. He is the Technical Project Director for the International Children's Digital Library, a multilingual free digital library of children's books, currently consisting of over 4,000 books in over 50 languages, with more than three million users from over 160 countries worldwide. He led the library's collaboration with the Government of Mongolia -- bringing access to the library in rural Mongolia. Prof. Bederson also did influential studies of the usability of electronic voting systems, which resulted in scholarly publications, reports aimed at policy makers, and books directed to the general public. This work has served to highlight the challenges in developing usable electronic voting systems and has informed decisions on voting technology adoption.
Allison Druin is Associate Professor in the College of Information Studies at the University of Maryland and Director of the Human-Computer Interaction Lab. Prof. Druin is a pioneer in the development of technology for children and the inclusion of children as partners in the design process. Her technology co-design methods have been reported on through scholarly publications, presentations, and books, and have become widely used throughout the CHI community. She founded the CHIKids program for the CHI Conference. This program enabled many CHI community members who were parents to participate in the conference while their children learned about CHI and contributed to the experience of the conference, e.g., by producing daily newsletters, websites, and plenary session videos. With her collaborator, Prof. Ben Bederson, she created the International Children's Digital Library, a multilingual free digital library of children's books, currently consisting of over 4,000 books in over 50 languages, with more than three million users from over 160 countries worldwide.
February 4, 2010
Another problem with Flash - keyboard focus
I consider Adobe Flash to be a virus and have been thrilled that Apple continues to fight against it. The reason I dislike Flash so much is because it breaks fundamental user experience standards, such as:
The fact that Flash breaks standard web behaviors is bad enough - but it is even worse because it does so completely invisibly. I get used to using my keyboard to control my web browser because - um, I am a human and I am using my computer. So, sometimes it stops working for no apparent reason. There is no way to see this problem, and the only solution is to use your mouse to click on some non-Flash component in your browser. I bet most people just think that web browers are sucky and inconsistent. The real problem is that Web plugins for common activities that take over they keyboard just shouldn't exist.
Bravo Apple. Let HTML5 and built-in web standards for common activities take over.
2/4/2010
- Consistency: The same action should do the same thing in different places. Example: if pressing the down arrow scrolls the web page, then it should always scroll the web page.
- Modes: Modes are almost always bad - but when you have to have them, make them clearly visible. I.e., the user should know what mode they are in by looking at the screen. Example: if typing enters text in a specific text box, then that text box should be clearly highlighted so the user knows which textbox will get their text.
The fact that Flash breaks standard web behaviors is bad enough - but it is even worse because it does so completely invisibly. I get used to using my keyboard to control my web browser because - um, I am a human and I am using my computer. So, sometimes it stops working for no apparent reason. There is no way to see this problem, and the only solution is to use your mouse to click on some non-Flash component in your browser. I bet most people just think that web browers are sucky and inconsistent. The real problem is that Web plugins for common activities that take over they keyboard just shouldn't exist.
Bravo Apple. Let HTML5 and built-in web standards for common activities take over.
2/4/2010
Subscribe to:
Posts (Atom)