Archive for the 'mac' Category

21st Century Game Changers

Wednesday, September 26th, 2007

A post on the Freakonomics blog got me thinking. What inventions have genuinely improved, or even affected, my life. I drew up a list, and decided to constrain it to the 21st century, so things like the cellphone, the VCR, the CD, the ATM, instant messaging, and online banking aren’t on the list. Here they are, and where possible I put the approximate year I adopted them.

Major Improvement to Daily Life

  • Tivo (2000) - Definitely #1 on the list. I don’t consider myself a couch potato, but this completely unshackled me from the network’s arbitrary scheduling. It also make more shows enjoyable, or even watchable, by cutting out commercials.
  • RSS/Google Reader (2002, 2005) - RSS enabled me to keep track of a much broader set of sources, and Google Reader took RSS to the next level by making my subscriptions and unread articles available anywhere (including my phone).
  • Smartphone (2006) - I’m far more organized now that I have my full contact list and calendar on me at all times, as well as being backed up, plus last-resort internet access is a nice bonus.
  • TV shows on DVD (2003) - There’s now a new category of TV show, the ones I don’t even bother to Tivo and just wait for the DVD.

Minor Quality-of-Life Improvement

  • Netflix (2002) - Like they say, no more late fees.
  • Wifi (2004) - Adopted later than most geeks, has proven useful in many ways.
  • Wikipedia (2003?) - Coming from someone who used to read the encyclopedia for fun, Wikipedia is like crack.
  • Text Messaging (2006) - Late to the game here. Enables a new layer of communcation and makes me both more responsive and more proactive.
  • GPS (2007) - I waited a while for the price dip, and now consider GPS a mandatory item for my car.
  • mp3 player/iPod (2002/2004) - No more discman and CD cases is a good thing.
  • Digital Camera/DSLR (2001, 2004, 2007) - I’m too lazy to deal with film. I got my first digital in 2001, my first nice one in 2004, and my first digital SLR in 2007, each a vast improvement over the previous.
  • Firefox (2004) - Firefox has gone from lightweight security-minded browser to bloated, customizable security-minded browser, both of which I’ve found value in.
  • Eclipse (2002) - Java wins in my book because of Eclipse. Having a program that thinks for you enables you to think about the real problems.
  • Launchcast (now Yahoo! Music) (2002) - One of the earliest and still one of the best customized music services. If you’re not sold on Pandora and Last.fm it might be because they are are inferior versions of Launch.

(supposedly) Major Advances, Adopted by Me, Negligible Impact

  • Social Networks (2004) - I use LinkedIn as a sort of resume-light, and myspace to keep up with my sisters, and facebook as the site du jour, but they are all just curious diversions.
  • OS X (2005) - Scores high on sexiness. Scores low on stability & usability
  • XP/Vista (2003) - Windows 2000 made computers better and more useful. XP and Vista seem to just make them slower.

Major Advances, Unadopted by Me

  • VoIP/Skype - I don’t use landlines.
  • Fastlane/Speedpass - I still find the ease with which someone can track me disturbing, plus the lines these days are usually shorter at the cash lines.

There’s probably some that I missed, or just weren’t important enough to remember. My main question is, what’s next to get on the list, and where on the list will it end up?

Enabling Buttons on Apple Keyboard in Windows

Monday, September 24th, 2007

New Apple Aluminum KeyboardI recently picked up, and am liking, the new “wafer thin” aluminum keyboard from Apple. Its very small, I like the key action and it’s very solid considering it’s size and thickness. But, I use it on Windows, and there’s no driver available other than the standard keyboard one, so the extra keys like media controls aren’t enabled. I came across a freeware macro program called AutoHotKey that works very nicely, and wrote up a few little scripts for it. You can download AutoHotKey and run the scripts yourself, or you can download the compiled version here [enable_mac_aluminum.zip, 193KB] and just pop it into your Startup folder.

Commands:
Shift-F3: Print Screen
Shift-F4: Task Manager
Shift-F7: Previous Track (in Winamp or Yahoo! Music Jukebox)
Shift-F8: Pause/Play (in Winamp or Yahoo! Music Jukebox)
Shift-F9: Next Track (in Winamp or Yahoo! Music Jukebox)
Shift-F10: Mute/Unmute
Shift-F11: Volume Down
Shift-F12: Volume Up
Windows-s: Open http://www.efsavage.com :)

Here’s the entire script:

#s::Run www.efsavage.com
+F3::Send {PrintScreen}
+F4::Send, {SHIFTDOWN}{CTRLDOWN}{ESC}{SHIFTUP}{CTRLUP}
+F7::
IfWinExist ahk_class Winamp v1.x
{
ControlSend, ahk_parent, z ; Pause/Unpause
return
}
IfWinExist ahk_class YMPFrame
{
SetTitleMatchMode 2
IfWinNotActive, Yahoo! Music Jukebox
WinActivate
WinWaitActive, Yahoo! Music Jukebox
MouseClick, left, 29, 107
Sleep, 100
MouseClick, left, 112, 76
WinMinimize
return
}
return
+F8::
IfWinExist ahk_class Winamp v1.x
{
ControlSend, ahk_parent, c ; Pause/Unpause
return
}
IfWinExist ahk_class YMPFrame
{
SetTitleMatchMode 2
IfWinNotActive, Yahoo! Music Jukebox
WinActivate
WinWaitActive, Yahoo! Music Jukebox
MouseClick, left, 29, 107
Sleep, 100
MouseClick, left, 30, 77
WinMinimize
return
}
return
+F9::
IfWinExist ahk_class Winamp v1.x
{
ControlSend, ahk_parent, b ; Pause/Unpause
return
}
IfWinExist ahk_class YMPFrame
{
SetTitleMatchMode 2
IfWinNotActive, Yahoo! Music Jukebox
WinActivate
WinWaitActive, Yahoo! Music Jukebox
MouseClick, left, 29, 107
Sleep, 100
MouseClick, left, 148, 79
WinMinimize
return
}
return
+F10::Send {Volume_Mute}
+F11::Send {Volume_Down 3}
+F12::Send {Volume_Up}

Safari for Windows: No Thanks

Thursday, June 14th, 2007

I’m with many others, including Yuval, in saying that Apple porting Safari to Windows is unfortunate. Web developers have basically got 3 main browsers to deal with right now, and adding a 4th isn’t going to help. IE6 is dying, but still prevalent. IE7 isn’t great, but is obviously a force to be reckoned with. Firefox is bloated and slow, but comfy and relatively painless to develop against. Safari is outdated, buggy and less standards-compatible than IE7 or Firefox, often intentionally so (try styling a submit button).

The big claim Apple makes is page rendering performance. Firstly, I hope nobody takes Apple’s performance numbers seriously, they’ve been flat out lying about them across the board for a decade or more. Even if the stats are legit, picking a browser based on page rendering speed is silly, it’s like buying a car that goes 200mph instead of 150mph, when you live in Los Angeles and spend most of the day in slow traffic anyways.

I think Apple ported Safari to force people to support it, since it’s often sidelined due to low usage and its quirky behaviors. I’m really loathe to support a browser that offers no new features yet has a unique set of drawbacks. The solution here is for Apple to abandon the KHTML core and put it’s overstated development resources into the Gecko engine, giving them the ability to Mac-ify and brand a browser, but not impose increased costs on web developers. They should look to their own successful Airport line for how you can drive adoption, leverage/strengthen a standard, and maintain a strong brand at the same time.

Macintosh Gripes: Poor Usability

Thursday, December 28th, 2006

I’ve had many computers over the years, and many of those have been Apple Macintoshes. I’ve had an SE, PowerMac 7200/75, iBook, Mini, and currently a MacBook Pro. Up through about 1997 I considered myself to primarily be a Mac user, but I switched because I was using and developing for the web more and more, and Mac web browsers were slow and poor, to put it kindly. I was also developing on Microsoft Access quite a bit, and there was no Mac version (and there still isn’t). When I started at StyleFeeder I had a choice and opted for Mac because that’s what the other developers were using, and I have to admit I regret that decision.

Macintosh OSes, especially OS X, is often praised for it’s quality and usability. Back in the old days, I’d agree. System 7 was hands-down better than Windows 3.1 in pretty much every way I can think of. These days, I’d say the tables have turned and can’t think of any way that OS X is better than Windows XP. They both crash infrequently, but I’d give a slight advantage to XP as it only crashes for me once or twice per year, while the Mac has done so at least twice since August. The Mac came with some decent software for dealing with movies and making music, but I don’t do much of that stuff and if I did, I’m sure I could find similar Windows software.

My main cause for regret is the overall usability of the OS. There are three main issues here. The lack of keyboard access to commands, the antiquated menu bar and the MDI.

As a full-time developer, I’m in the power user caste. I am constantly trying to find the shortest and easiest way to get things done. Nobody with half-a-clue about usability would argue that the mouse is an efficient command tool. It’s obviously the ideal way to select things and navigate spatially, but once you’ve gotten where you need to go, you are ready to start issuing commands. On Windows, every command is accessible via the keyboard. Common operations have simple key-combinations, more obscure ones will have more complex combinations. Control-P prints, Control-S saves, and so on. For tasks that are more specialized or used rarely you will likely have to use things like Alt-F-W-F (makes a new folder in explorer) or Shift-Control-F (formats code in Eclipse). These don’t need to be easy, but they are there and every user will find themselves learning a few of them depending on what they do often.

On a mac, no such luck. Some things like printing and saving are common, but after that it’s seemingly random and left to the application developer to implement commands, and most don’t. So I have to stop what I’m doing and reach for the mouse all the time. In usability terms, this is a fairly significant hurdle and has a high cost which I find unacceptable. Apple reluctantly introduced “universal keyboard access”, but it’s really bad and clearly a begrudged afterthought that makes you use the arrow keys to navigate menus.

The second gripe is the way OS X sticks the menu/command bar at the top of the screen. The logic here is that it’s easier to target something thats at the top of the screen because the mouse won’t go past it, and also that it’s always in the same place. That makes sense in theory, but fails in practice. As mentioned above, the mouse is a last resort for issuing commands, so by the time you’ve reached for it you’ve already incurred significant expense. Spending the extra 50ms target it is a minor addition to this.

Where the fixed menu bar really fails is when you use more than one monitor, because it sticks it to the top of the primary monitor. If you’re working in the second monitor you now need to grab the mouse, and drag it all the way to the second screen, then drag it back.

Also, when working in more than one program, which most people do, you can’t select commands from an inactive program. You need to find a safe place to click to activate it, which is expensive and varies widely, then you can access the menu bar. In windows you can click on an inactive menu bar and it will open with that same click.

Thirdly, almost all Mac programs use what is called an MDI, or Multiple Document Interface. This means that all the windows for a program are linked together as opposed to a Single Document Interface (SDI). Microsoft realized that MDI was a poor design in many cases, and fixed this in XP. MDI makes sense for some things, such as dialog boxes and the many windows that Photoshop uses to show things like layers and pallettes. This does not make sense for things email and word processing. Just because I have two documents open in the same word processor doesn’t mean there is any relation between the two. I should be able to alt-tab to a specific document and keep the other one minimized. A minor annoyance related to this is that you can have programs running with no windows at all, which ties up resources and is just plain confusing.

Perhaps the worst part of these problems is that they could be built into the OS and be optional behaviors, but they aren’t. Apple’s stance has always been that they know best, and that options are confusing. Unfortunately they compound this defect with the fact that they are extremely slow to change things even when they are clearly wrong. For proof of this you need only to see that they still put one-button trackpads on their frighteningly hot, overpriced laptops.