In my first installment, I discussed the experience of getting Windows 7 up and running on my MacBook. In short, other than the extreme headaches of spending three hours of my Thursday afternoon on a fruitless quest for assistance from Microsoft’s telephone technical support, and a lack of reasonable explanation for the seemingly arbitrary solution to my problem once I did discover it (something so common with Microsoft’s software that I scarcely question it anymore), the overall process went pretty smoothly. Windows 7 is without a doubt the most polished OS Microsoft has ever delivered. And, dare I say it, I actually think it has the most attractive GUI of any OS out there. Yes, I like its looks better than Mac OS X — if only because it actually has some personality, whereas Apple deliberately makes its OS as unobtrusive as possible — and it looks way better than the diarrhea color scheme and ugly Verdana knockoff font of the default theme on Ubuntu Linux.
That said, it’s still Windows, and as soon as you scratch the dazzling glassy Aero surface (which runs just fine on my MacBook, by the way, despite Windows 7 Upgrade Advisor claiming otherwise), you find the same old Windows tools. Or, more specifically, several generations of them. There are tabbed panels that look like Windows NT 4.0 with a fresh, glossy coat of paint. There are Windows 2000-era quasi-website interfaces. And so on and so on — remnants of every past ill-considered usability “streamlining” concept Microsoft has entertained.
This is ultimately the biggest downfall of Windows 7 — the legacy of earlier, poorer versions of the OS that Microsoft just can’t shake off. They’re trying hard to take this OS into the future, but they’re too shackled to their past, even with fading support for older applications.
I’ve been using Windows 7, not as my main OS, but fairly frequently, over the past few days. I’ve grabbed a number of freeware applications that will allow me to do my essential work within Windows 7, when necessary — Firefox, Safari and Chrome for browser testing; iTunes so I can listen to music (yeah, I could use Windows Media Player, but iTunes came as part of the Apple Software Update); Notepad++ for code editing; the GIMP for image editing; and FileZilla for FTP. I may grab OpenOffice too… but I think WordPad will probably suffice if I need to edit any documents. I’m not really going to be making Windows my main environment, but with this set of tools I can get by in it without having to reboot into Mac OS X, just in case some actual work comes my way while I’m tinkering around with Microsoft’s new operating system. (Yes, ultimately at this point it’s really just a toy for me. I could have bought a new Nintendo DS Lite, but I decided to buy Windows 7 instead.)
There are little quirks that take getting used to — the feel of the keyboard and mouse is slightly different; I have to remember to press the Ctrl key instead of the Command key; widgets are gadgets, etc. Ultimately, my biggest complaint about Windows is what I hinted at above with the legacy of different window interfaces all coexisting: Microsoft is too beholden to its past, and to the many players to whom it has to appeal. For all its weight in the software industry, Microsoft has a surprising lack of control over, or cohesive vision for, its products. Windows 7 has a very nice layer of polish on its surface, and the adventurous designs are refreshingly appealing in comparison to Apple’s vanilla interfaces. But below the surface layer, Windows still has a severe case of multiple personality disorder.
I’ve been talking a lot about my experience trying to get Windows 7 up and running on my MacBook, and now that it is, I thought it might be good to give some of my first impressions, both of the OS overall, and of my experience of using it on a MacBook.
A few notes: first, this is not really my first experience with Windows 7. I’ve been running the Release Candidate (Windows 7 RC) in a Parallels Desktop virtual machine on my Mac for several months. But this is my first experience with the commercial release, and the first time I’ve been able to boot into it directly, via Boot Camp. And second, while I howled to the moon about my problems installing Windows 7 yesterday, the issue was really strictly one of poor technical support. I’m not sure why the product key problem was happening, or why an “in-place upgrade” fixed it. But I do know that Microsoft’s technical support was not only no help to me, they also wasted three hours of my time by proving utterly incompetent at addressing my problem. But telephone technical support is a separate matter. Today I’m looking strictly at the experience of installing and using Windows 7, on a Mac… specifically, a late-2008 aluminum unibody MacBook.
Purchasing Windows 7
Let’s start at the beginning. It was very easy to purchase Windows 7. I walked into Best Buy, picked up a copy on a display near the checkout, gave the cashier my credit card, etc. OK, that’s not really what I meant. Windows 7 comes in three versions: Home Premium, Professional, and Ultimate. While I think the distinction is unnecessary (and is purely a sales and marketing gimmick — features were arbitrarily omitted from the non-Ultimate versions), and is something Apple wouldn’t do, the three tiers make reasonable sense, and allow Microsoft to charge a premium to corporate clients who need the features of Ultimate and won’t balk at paying an extra $100 per seat to do it. Microsoft provides a handy comparison chart listing the differences. This actually was useful to me, as I might have been inclined to purchase Professional, but the comparison proved to me that there was nothing I needed that wasn’t included in Home Premium.
The prices being most heavily promoted are the upgrade prices, Home Premium coming in at $119.99. There’s not really any reason to buy a full version, however, as the upgrade is valid for any PC already running Vista or XP, and most new computers will come with Windows 7 anyway. I suppose if you’re building a new machine on your own, technically you need to buy a full version, but in that case you should just head over to Newegg and buy the OEM version. It’s legit and it will save you money. You just don’t get the fancy box with one rounded corner.
Invalid product key nightmares aside, the installation process was pretty painless. If you’re upgrading from XP, like I was, you need to do a clean install. But I’d recommend a clean install anyway, unless you’ve been too lazy to back up any of your data, or you’re in too much of a hurry to take the time to reinstall your software (assuming it even works with Windows 7, since Home Premium doesn’t come with XP virtualization). We Mac users are used to more frequent OS updates, and they’re always a good time to get a fresh start with a clean install. You’re much less likely to run into problems down the line. Plus, won’t it be nice to scrape off that patina of quarantined malware?
In order to do as clean an install as possible, I went back to the very beginning, and used Boot Camp Assistant in Mac OS X to remove and recreate my Boot Camp partition. I took the opportunity to increase it from 32 GB to 64 GB. One word of warning: at this point Boot Camp hasn’t been updated to support Windows 7. As far as I can tell, this means two things: 1) some Apple hardware may not yet have drivers, and 2) Boot Camp is going to format the partition as FAT32, which isn’t supported by Windows 7. I can’t speak much to the former (although I’ll address Bluetooth keyboard and mouse problems in a minute), but as for the latter, the problem is easily solved: Windows 7 has the least complicated installation process I’ve ever seen on a version of Windows. At one point fairly early in the installation process, you have to pick the partition you want to install on. Pick the Boot Camp partition, but before going on, format it first. There’s nothing arcane here. Not even any choices. It has to be NTFS period, so you won’t even see “NTFS.” Just format it. Once you’ve formatted it, you won’t see BOOTCAMP in the partition name anymore. Just make sure you’ve still got the correct partition selected (it will be the last one in the list), and continue.
Now, assuming you run into the same problem I had, here’s the solution: if you get to the point where it asks you to enter the product key, and upon doing so you’re told “The product key is invalid,” just reboot from the installer DVD and start the installation process again. Do not reformat the drive this time. Installing again over the existing installation is what is meant by “in-place upgrade.” Everything I read last night when I learned about this trick made the whole thing seem a lot more complicated, but really, that’s it. Once I did that, when I got to the product key, it took it, and the installation proceeded just fine from there.
One more thing I need to mention for those installing on a Mac using Boot Camp: Windows 7 reboots the computer automatically a few times during the installation process, and unless you’ve configured your Mac to boot directly into Windows (which you probably haven’t), you’ll find that each time this happens, it restarts in Mac OS X. The solution is to be holding down the Option key when you reboot, which lets you pick which OS to start up. If you’re already at the Mac login screen or desktop, don’t worry. Just restart, and this time hold down the Option key as soon as you hear the chime, until the startup disks appear. Click the Windows icon (the hard drive, not the DVD) and you’re in business.
Using Windows 7 on a MacBook
How does Windows 7 run on the Mac? Just fine. Remember, Intel Macs are PCs, with solid hardware specs comparable to midrange and high-end systems from the major PC manufacturers. Macs run Windows just great. The one situation where you may run into problems, though, is with components of the Mac hardware that may require drivers that aren’t supplied with Windows. In particular, on the MacBook, this means you may have issues with the all-in-one trackpad. Multitouch is missing, and most frustratingly, Windows doesn’t know how to treat the bottom portion of the trackpad as a button if you’re using two fingers. So if, like me, you usually rest your thumb on the bottom of the trackpad and click with it (the way the old MacBook trackpads worked when there was an actual button), you’ll find your cursor slipping away from you just as you click. You need to train yourself to use the new method of clicking by just pushing down with the finger you’re using on the trackpad.
That said, I think there’s an additional step I could take but just haven’t yet: Boot Camp Assistant allows you to create a CD of drivers to install in Windows. It’s quite likely that most of those drivers will work with Windows 7, since the latest versions work with Vista. I recommend giving this a try (as I likely will once I finish this and reboot into Mac OS — yes, I’m in Windows right now).
One thing Windows is notorious for that we Mac users just aren’t used to is malware. Viruses, trojans, etc. Bad stuff that makes your computer suck (even worse than it would otherwise). As far as I’m concerned, OSes in principle should be impervious to that crap, but if they aren’t, then the OS maker ought to build anti-virus right into the system. Unfortunately anti-virus software is a huge industry, and Microsoft can’t very well go running them out of business. (Would there be an anti-trust suit?) Fortunately, though, Microsoft does offer a free basic anti-virus application you can download called Microsoft Security Essentials. I’m not sure how it compares in quality to the others, but it seems to do the job, the price is right, and say what you will about the quality of Microsoft’s software, it’s still better than a lot of third-party Windows applications. So, I installed it, and I recommend that anyone else who’s installing Windows 7 and doesn’t already own other anti-virus software, do this as your first step after installing Windows. Well, maybe run Windows Update first. And download Firefox.
Networking and Printers and External Displays, Oh My!
It’s all good here. Getting connected to my Wi-Fi network was a snap, and Windows 7 supports WPA2 out-of-the-box, which I appreciated. I suppose Vista probably did too, but it was frustrating to me to have to plug XP into Ethernet to download WPA2 support so I could get it to connect to my Wi-Fi. Windows 7 also automatically detected my Wi-Fi connected printer and I was able to easily set it up. Same goes for my external LCD. Just plug it in and it works. Mirrored, by default, but the Control Panel for displays includes a lot of fairly easy-to-configure options for dual-display configuration and now I have it working just like it does under Mac OS X.
Here’s where I run into trouble. I suspect it may just be a driver thing, and once I get those Apple drivers in place, everything will work, but right now I can’t get Windows 7 to connect to my Apple-branded Bluetooth keyboard and mouse. It detects them just fine, but trying to connect to them bombs out immediately. I can get it to display a passkey for me to type on the keyboard, but then it immediately displays a “could not connect” error before I even have time to type it. The mouse, no luck at all. It says it’s connecting… but never does.
I’ll get more into the day-to-day experience of working with Windows in a subsequent post, but to sum up my experience so far in getting Windows 7 up and running on my MacBook, I would say: yes. This is without a doubt the best Windows experience I’ve ever had. (And, lest you think I’m just a Microsoft-bashing Steve Jobs worshipper, I did use Windows as my primary OS at work for much of the time from 1998 to 2003, and I even owned a Dell PC, in addition to a Mac, for about a year in there.) I can’t compare it to Vista, since I’ve never really used it (other than to help set up my father-in-law’s Dell laptop, and the only nightmare there came in dealing with his DSL provider’s tech support), but it is a vast improvement over XP and 2000, the versions of Windows I know best. Most processes are significantly streamlined, the interface looks great, and overall it still feels like Windows. Just, Windows done right.
Is it going to make me a convert? No. I still think Windows has a long way to go to challenge Mac OS X on overall usability and elegance. But I think desktop Linux might be in trouble.
Update: Just a point of clarification with Boot Camp and the Apple drivers: it’s been so long since I’ve done this that I had forgotten; the Boot Camp driver CD was part of the original Boot Camp beta. As of Boot Camp’s official release with Mac OS X 10.5 Leopard, and continuing with 10.6 Snow Leopard, the Boot Camp drivers are on the Mac OS X installer DVD itself. Simply insert your original Leopard/Snow Leopard DVD in the drive while booted into Windows to install the Windows portion of Boot Camp, which includes the drivers, Apple Software Update, and a tool for setting the startup volume.
Update #2: Regarding Bluetooth keyboards and mice: there’s a bit of a convoluted process here, but I got them working. First, pairing the keyboard: the big trick here is that you have to remove the pairings in Mac OS X first, then follow these steps. You also have to have the Windows Boot Camp drivers installed before beginning (as described above). These instructions are also a bit out of date for Windows 7, so you can’t follow them word-for-word, but if you get the gist, it’s easy enough to do. Once you’ve done that, you can pair the mouse as well, no problems. Well, one problem. What’s the pairing key? According to this, try 0000. It worked for me.
Anyone who follows me on Twitter or Facebook has probably seen my rants throughout the course of the day. But 140 characters at a time are not enough to temper my rage.
As I wrote earlier today, I picked up a copy of Windows 7 Home Premium at Best Buy this morning, and pessimistically (or so I thought) reserved my afternoon for the installation process. If only I had known.
I started installing at around 12:15. First I reformatted my Boot Camp partition and got everything ready to roll. Nice clean install on a new NTFS partition. Everything chugged along for about 45 minutes or so, until I got to the part where I was supposed to enter the product key. Users of Apple products may not be familiar with this concept (although most of us have encountered it with Adobe), but Microsoft ships every copy of every software product it makes with a product key — a registration number — usually 30 characters long, that must be typed in before you can use the software.
I carefully typed in the 30 characters, and clicked the Next button. But nothing happened. Then an alert appeared “The product key is invalid. Please re-type it and try again.” So I did. Three times, in fact. No dice.
I checked the manual, located a support number, and called it at 1:06 PM. Upon being confronted with an automated system, I decided to try online first. I checked the online help, hoping for a live chat option, but was steered back to the same phone number. So I called again at 1:22 PM. I spent the majority of the next 13 minutes on hold, before having to hang up because the connection was too bad. I moved to a better location and called again at 1:51 PM. After waiting on hold for about 6 minutes, the line went completely dead. The call wasn’t disconnected though, so I sat for another 15 minutes before deciding something must have gone wrong. So I hung up and called again at 2:15. I spent the next 54 minutes, mostly on hold, interrupted briefly on several occasions by the same person asking me for the same basic pieces of information and then telling me to please hold again. Eventually I was connected to someone else, who sent me through the same process a few times before giving me a new number to call.
At 3:13 I called the new number. But this wasn’t tech support, it was the activation hotline. And I wasn’t at activation yet. (Entering your product key isn’t enough. After that, the computer has to go online within 30 days to verify that you’re not using a stolen product key… or whatever.) I grumbled a bit, forced the rep to go off script, and eventually got her to give me another number to call.
At 3:18 I called this new number — the Windows 7 Launch Party support hotline. Lord have mercy. Unfortunately, this line did not even offer me the option of waiting on hold for an hour… I had to leave a message and hope something comes of it. Ugh.
All told, I now have 3 1/2 hours of my day invested in this bullshit. Windows 7 is installed on my computer, but I can’t use it. I give Microsoft customer support an F-minus.
I suppose at this point someone might come to Microsoft’s defense, and it’s true that I don’t really know what Apple’s telephone tech support is like, since I haven’t called it in probably at least 8 years. But that’s the point… I would never have to call Apple about something like this because Apple doesn’t use freaking product keys. This is supposed to deter illegal copying of Windows, but all it’s really doing is making Microsoft’s honest customers jump through ridiculous hoops. I went out of my way to be first in line (what line?) to buy the new version of Windows the day it was released. Me! I hate Microsoft (other than the XBOX 360) and I still did this, because I think Windows 7 is a good product… and I am honest.
Heck, I wouldn’t have even had to torrent it to get it for free… I already had an authorized copy of Windows 7 RC installed. I could have ridden that out until June of next year before dropping a penny on the new version of Windows. But I went out and bought it, and now I’ve wasted my afternoon and reaffirmed all of my negative predisposition towards Microsoft… and then some.
Update: Having given up on Microsoft’s tech support, I called the Best Buy at Mall of America, asking if I could exchange my copy of Windows 7 for a new one. I could. And I did. But it still didn’t work. Then @biggsjm came to my rescue on Twitter. I Googled (not Binged) “in-place upgrade” and found this. I still had to infer a few things, but eventually I did the in-place upgrade, and it fixed the problem. No thanks to Microsoft’s tech support.
I had a simple objective when I set out for the Mall of America at 9:00 this morning. I was going to go to Best Buy to purchase the Windows 7 Home Premium Upgrade along with the new Porcupine Tree CD. Yes, I am a frequent Microsoft basher, but I will admit I do harbor genuine enthusiasm for Windows 7. I think Vista was a joke, but after having tried out Windows 7 RC for the past several months, I was convinced it was (finally) a solid replacement for the ancient Windows XP.
Now, it’s true that the stores at Mall of America officially open at 10 AM, but I’ve learned from previous big product launches earlier this year — Apple’s Snow Leopard release and the Beatles boxed set/Beatles Rock Band extravaganza on 9/9/09 — that when there’s a hot new product out, the stores will often open early. At least half of my interest in heading out to buy Windows 7 this morning was to see whether there would be an enthusiastic crowd queued up outside Best Buy, or milling around inside Best Buy. Would there be huge Windows 7 banners? Would there be a live video feed of Steve Ballmer on all of the HDTVs?
As it turned out, no. Best Buy was still closed, and no one was visibly waiting for it to open. So I figured that as long as I had (probably) an hour, I’d head to Starbucks — which had to be open for all of those mall walkers who were already out in force — and then stop by the Apple Store, to deal with… my problem.
Yes, as I described in excruciating detail, and with photographic evidence, a couple weeks ago, I had a problem with my MacBook: the Mini DisplayPort adapter was… well… jacked up. I had broken the cardinal rule of not using undue pressure to jam a plug into a jack. If it doesn’t fit, don’t force it. Well, I had forced it. And pretty seriously screwed up the adapter plug in the process.
So, as I said, this morning when I found Best Buy deserted, I headed down to the Apple Store. I didn’t have a Genius Bar appointment, but I decided to take my chances. When I entered, I was asked if I had an appointment. I said no, and described my situation. I was told the Genius Bar was booked up until 2:30, but they’d put me on standby, and I should have a seat at the bar. So I did. About 15 minutes later, a “genius” came over to attend to me. I explained the situation, he tried the port himself, and determined that the pin that is supposed to hold the plug in place was bent up. (For some reason, that possibility had not occurred to me — I was convinced all along that the pin was too big.)
He took my MacBook in the back room for a minute to use “dental tools” to straighten the pin, then brought it back out and tried some new adapters in the port — and they worked perfectly. Problem solved. But… there was still the matter of my damaged Mini DisplayPort-to-DVI adapter, which I hadn’t brought with me. No worries, he grabbed a new one off the shelf and gave it to me as a replacement (a $29 value); no need to return the old damaged one. I walked out of the Apple Store 20 minutes after I arrived, with a fixed MacBook and a new replacement adapter. And how much did all of this cost me? Nothing.
Make dubious arguments about Apple’s high prices all you want (though the fact remains that Apple simply isn’t trying to compete in the low end of the market, and other PC manufacturers’ mid-range and high-end computers, comparable in specs to Apple’s, usually cost the same or slightly more), but I challenge you to walk into any other computer store in the land and get that kind of customer service. I didn’t have to buy an extended warranty or a bogus service plan or any other B.S. All I had to do was buy an Apple product in the first place… lifetime Genius Bar support included at no extra charge.
OK, it’s not really deadly at all… other than that it will kill your CakePHP session and log you out.
My CakePHP-based CMS uses YUI Uploader, a Flash-based file uploader utility. It’s much better than the default HTML file uploader, because it supports a fully CSS-customizable progress bar and multiple file uploads.
It’s pretty slick, even though I did tear some hair out earlier in the year trying to get it integrated into the CMS. All went well for several months, until one particular client, using Windows Vista and Internet Explorer 8, discovered a showstopper of a problem: whenever you uploaded a file, all would seem well until you went to save your changes and you’d get kicked back to the login screen, without the changes being saved. Bad news!
I did some diagnostics and determined that, yes indeed, the CakePHP session was in fact being dropped as soon as the Flash process finished queuing the file uploads (an AJAX-based process), before you actually click the “Save” button… but since there’s nothing else happening dynamically on the page, it wasn’t obvious that the session had been killed in the background.
Anyway, some research led me to a perfect explanation of the problem, and an equally perfect solution: Flash is sending a different user agent string, which was resetting the CakePHP session. I’m still not sure why it was only affecting Internet Explorer, but at any rate, a simple change to the app/config/core.php file solved the problem in a snap. The critical line:
I suppose by removing this line, the application is ever-so-slightly less secure, but there should be enough other precautions in place that removing the user agent check as part of the process of validating a session should not pose a significant security risk.