I’m saddened so few people got my joke earlier on Twitter, so much so that I feel it necessary to explain it because it involves two excellent dramas that everyone needs to have watched in their lifetime.
First, Matt Santos was a character on the West Wing played by Jimmy Smits. Santos was a Democratic senator from Texas who ascended to the presidency on the show. Writers on the West Wing noted that Santos’ character was based on upstart Illinois senator and President-elect Barack Obama.
Jimmy Smits has a recurring role as Miguel Prado on the Showtime drama Dexter. He plays a District Attorney who has become quite fond of Dexter Morgan, a serial killer who only kills those who kill others. Next, Sarah Palin, running mate of John McCain, stated in the final weeks of the election that “[Obama] pals around with terrorists”.
Therefore, “Matt Santos pals around with serial killers” is funny.
Four days ago, Microsoft unveiled the pre-beta of Windows 7 at PDC and offered up quite a few user interface changes meant to streamline the aging operating system. What they came up with was a taskbar that mimics the styling of the KDE on Linux and further extends the broken window preview concept introduced in Vista. Needless transparency is at every corner, another UI metaphor taken the the extreme since the introduction of Vista; and of course, more ideas from OS X have made their way into Windows, although implemented less intuitively.
I want to take a bit of time to really nail down the problems that Windows has with usability and UI design that seem to never be addressed, or just seem to get worse with each revision. This is not meant to be the usual Windows v. Mac argument that happens so often — rather, it’s a summation of the fundamental interface issues that plague Windows and prevent it from being a truly usable operating system.
One thing that OS X, and iPhone in particular, have demonstrated is a full understanding of the spatial relationships that must exist in computing. While the animations and visual effects present in Mac OS make for a great in-store demo, they serve a greater purpose - they’re visual cues that show where windows emerge from and move away to, as well as establish relationships between the windows themselves. Perhaps the quintessential example of this is Exposé. When using Exposé, you can easily view the desktop, all application windows, or just the windows related to the foremost application. It’s a useful feature that is implemented perfectly. When invoking the ‘view desktop’ key, all windows visually slide to the corners of the screen and the corners dim to reflect the temporary view scenario.
Viewing all windows or a single application’s windows dims the background, bringing focus to the windows you called upon. Each window slides into view so you know where it came from and where each will return once you’ve completed the interaction. Exposé takes a difficult UI design issue and offers an elegant and simple solution that works better than in any other OS I’ve seen to date. Minimizing and maximizing windows to and from the dock illustrate the same concept of spatial relationships and managing lots of individual windows in a graceful manner.
In the same vein, Windows suffers from one key UI design flaw - it is incapable of hiding applications. Windows offers no way to simply “hide” an application and its windows, nor does it offer a simple way to minimize a single window. This is crucial to being able to use more than a handful of applications at once and maintaining an uncluttered workflow. For example, say I’m using three Microsoft Office programs, Firefox, iTunes and Skype. In this scenario, each application has two windows open, so we have twelve windows in total. I want all of these applications open, but not all of them are relevant to the task at hand, so I’d generally have to minimize everything in Windows and rely on Alt+Tab to let me work. The taskbar would be full of individual windows squished together and navigating around is just plain cumbersome. Vista made this slightly easier by adding window previews into the application switcher, but the UI problem remains. Mac OS and other desktop environments have solved this long ago by allowing one to simply hide an application and all related windows, via menu item or keyboard shortcut, such that they aren’t visible until called upon from the dock and won’t show up in Exposé. It’s a simple idea that makes using ten to fifteen applications at a time extremely easy. Without this, Windows remains particularly unwieldy when the information you need is scattered in different programs and you have five or more Explorer windows open.
Which leads us to the culmination of the problem: Windows wasn’t originally designed to multitask effectively. As it stands, Windows retains the antiquated taskbar that lives at the bottom of the screen which becomes nearly unusable once you amass more then six windows open at a time. Some developers have tried to get around this problem by offering the option to minimize to the system tray, but it still reflects a generally poor and ill-conceived interface design. The answer to this is not increasing screen real estate as many suggest - this only encourages continuing a poor design paradigm from Microsoft. Windows has never had a great way to organize and present multiple windows. When Windows 95 came out, the taskbar and Start menu were revolutionary as a way to keep different processes in check and accessible quickly, but the flaw in the ultimate utility of this was exposed when protected memory and powerful computers made multitasking possible and painless. In its current form, the threshold of how many applications one can use at a time quickly is rather low. Some may argue it’s that there isn’t a need to keep programs open, but that is an idea borne of the usability limitations inherent in Windows.
And this speaks to the general problem that Microsoft faces today - they’re unwilling to innovate. Microsoft has such a large install base worldwide that breaking compatibility and instituting a more functional UI would draw ire from business customers and users that are set in their ways. Apple faced this same issue with the transition from OS 9 to OS X but they solved it in the most logical way they could which was allowing users to continue to boot the older OS for legacy applications. The reason that I feel this isn’t such a big problem for Microsoft is their success in the virtualization market. With Windows Server 2008, they included Hyper-V which is their superb virtualization environment where you can create virtual machines and run any x86 or x64 OS you wish. If Microsoft truly wanted to fix Windows and create a 21st century OS, they would redesign Windows and offer virtualization of Windows XP and Vista environments for older applications that haven’t been updated. This is the way enterprise has dealt with the interfacing with older database systems that don’t fit in their current infrastructure and it’s why Citrix is company with yearly revenue measured in the billions of dollars. Microsoft has demonstrated that they try to keep backwards compatibility when they can, but programs still break between revisions of Windows yet and there is little payoff in terms of security and usability. To put it plainly, Microsoft needs to quit ‘half-assing’ change and pull an Apple.
Photo Credit: randomtruth on Flickr - used under CC license
Well, after three weeks, I’m back in Santa Barbara and have returned to UCSB just in time for two back-to-back midterms and a paper due on Thursday. The time in San Francisco was fun, but I’m glad to be home. While there, I registered as a communist, bought a Prius and was forced to marry Clay Aiken - I guess there’s some new law? In all seriousness, I saw more people wearing Barack Obama shirts in five minutes downtown than I have in Santa Barbara in the past twenty months. I’ll add a few photos to Flickr when I have a spare moment and sort out all the things I’m behind on.
Posting should return with some semblance of regularity later on this week.
For those wondering about my whereabouts recently, I’ve been in San Francisco and its surrounding areas for the past week. I’ll be here for at least another week and a half for obligations I couldn’t get out of or complete closer to home. Keeping up with school work remotely isn’t too difficult and I, luckily, am keeping up with the reading and notes for my other courses. On the upside, I’m wandering around a city I haven’t been to in many years and am enjoying the cooler weather. It’s an opportunity to be in a place with some history and places to see, although there hasn’t been much time for that just yet. On the plus side, I have only been accosted by two hippies, but I escaped with my political ideologies and virtue intact. I’ve posted a few photos to Flickr and I plan to take a few more at more scenic locations before I head back to Santa Barbara. So, I just wanted to update on why posting has been infrequent as of late and why I might be harder to reach. The Flickr set is embedded below, if you can’t see it, click onto the static set.
Drupal limits the character length of a node title to 128-characters for a old and antiquated limitations of early versions of MySQL. There is a way to get around this by modifying part of the MySQL tables used for nodes and increasing the value a title can contain to the limit of 255-characters. This is extremely useful if you’re also using the “Events” module and you’re posting lectures and talks with lengthy names. You will also need to hook-into the Drupal installation through a module to alter how long the Drupal core-software will allows a title to be.
Through resources on the Drupal developer site and code posted by user “foxtrotcharlie”, I’ve created a module you can place in /modules that works with Drupal 5 and can be modified to work with Drupal 4 and 6.
To start out, you’ll need to gain access to phpmyadmin or your tool of choice to alter your site’s SQL database. Edit the string length of “title” to 255 characters in DB table “node” and “node_revision” or any value you wish, but might as well go for the biggest you can.
Once you do this, add the module I supply at the bottom of this post which is all set to go for Drupal 5 installations and should survive new updates of Drupal.
Continuing with the recent string of laptop related posts, I thought I should post a few of the disassembly photos I took of the Lenovo X200. Taking the laptop apart is rather simple - just remove the screws on the the laptop (depending on what you want to remove, you only have to unscrew certain ones) and carefully pull off the lower top casing. After that, remove the keyboard (be careful of the ribbon cable to snaps onto the motherboard for the keyboard/TrackPoint. From here, you can swap out the WiFi card or just have a quick look around. For replacing the RAM or HDD/SSD, you don’t need to take apart the laptop. Just remove the side drive bay cover (one screw) or remove the two that secure the RAM bay cover on the bottom. I should have a full review of the laptop up sometime this week, but I hope these photos are useful. If you’re unable to view the slideshow, check out the image set on Flickr.
I’m disappointed with Apple. I’ve been using their machines since I was four years old and have been buying them personally for the past seven. It has been my preferred platform of choice and I’ve never been unhappy with the hardware choices available to me until now. I see a glaring hole in their portable line-up, a small prosumer notebook. This void had been previously filled with the 12″ PowerBook but has never been replaced since its discontinuation in early 2006. One might suggest the MacBook Air as it’s successor, but that’s not paying attention to what the 12″ PowerBook was - a small, lightweight notebook that made almost no compromises in performance and connectivity to achieve it’s minuscule footprint. I do not mean to suggest that there is not a spot in the marketplace for a thin and light MacBook Air, however it’s clear that Apple is leaving money on the table from consumers like myself searching for that elusive perfect computer in a perfect size.
But I have a dream. A dream where there is a speedy and capable notebook running Mac OS X that fulfills these wants and needs. All Apple needs to do is build it. I’ve taken the liberty of drawing up spec. sheet of what this computer should be. I give you, the perfect laptop…
MacBook Pro (13″) - Coming Soon from Apple
13″ 1440×900 LCD (LED-backlight)
Discreet Graphics (Dual-Link DVI)
Intel Core 2 Duo (Montevina)
2-4GB DDR3 1066MHz RAM
64-128GB Solid-State Disk
Gigabit Ethernet Networking
802.11N Wireless Networking
Integrated Sprint/AT&T WWAN
Bluetooth 2.1 + EDR
iSight Webcamera
Backlit Keyboard
9-Cell Battery*
SDHC Reader
This would not require a feat of engineering, although I’m certain that Apple could work their usual magic and include some tremendously innovative features in this notebook. These features exist in many notebooks available today (such as the Sony VAIO SZ, ThinkPad X200/300) but prove to be flawed choices as they do not run OS X and lack the polish I expect from a laptop, which is why I’m an Apple buyer in the first place. An optical drive? Who cares about an optical drive? The world’s thinnest notebook? I don’t need it. Simply put, I want a small and powerful laptop that can handle a long day of on-the-go use and be backed by the operating system I can’t live without.
* To keep with the svelte and clean design of Apple notebooks, a smaller battery can be included and the larger 9-cell high-capacity battery would be left as a CTO option.
There has been a huge amount of hype and misinformation in the solid-state drive debate as of late and whether it’s a technology that’s ready for primetime; I recently purchased one with my newest computer and want to offer some real-world tests. The drive in question is a Samsung 64GB SATA SSD (1.8″, Model No. MCCOE64G8MPP) which came along with my ThinkPad X200, surplus from the thin-and-light X300 I’m sure. It’s a SLC (single-level cell) drive which offers faster transfers and a longer lifespan than the cheaper MLC drives that are coming onto the market, but I’ll delve into those differences a bit more later on. First, let’s see how the drive performs…
In some basic testing with the HDTune benchmarking utility, the Samsung drive performed admirably. With an average read speed of 67MB/s and a peak speed of 88MB/s, the drive offers about twice the performance of a standard 5400RPM SATA laptop hard disk. Where the drive really shines is the almost non-existent access times on your data. In this test, the average seek time was 0.3ms where a traditional notebook is comes in at 15-20ms (or about 50-60x slower). Read/write performance also does not suffer from the pitfall that platter-based drives do, which is that information reads at the same speed regardless of where the data is physically on the drive.
The file read/write benchmarks told the same story as the standard read test. When using the 64MB file size, the drive offered consistent performance peaking at about 100MB/s reading data and 90MB/s writing. Comparing this to the tests of the reference Seagate hard-disk drive, it was consistently more than twice as fast as the traditional drive peaked at 40MB/s (HDD benchmark charts are provided at the end of the article). Boot times are not a terribly relevant or accurate way to gauge a computer’s performance, but since gamers/nerds are always clamoring for them, I’ll include them anyways. With the SSD, a the laptop booted to the Windows login screen in 34 seconds and at the desktop with all startup items loaded in a total of 39 seconds. With the HDD, those same tasks were completed in 46 seconds and 58 seconds respectively. Both of these tests were with the same drive image running Windows Vista on an Intel Core 2 Duo 2.4Ghz notebook computer.
As for the SLC vs. MLC debate referenced earlier, it’s all a matter of cost. The best performing SSDs on the market are SLC drives. SLC drives offer better performance, lower power consumption and a longer-lifespan (100,000 write/erase cycles per sector as compared to 10,000 cycles on an MLC drive). MLC (multi-level cell) drives are cheaper to manufacture and are quickly becoming popular because of the lower price point. The lifespan argument loses its utility when one takes into account that 10,000 write/erase cycles is averaged/leveled out through the drive’s own firmware so the same cells aren’t constantly being rewritten (and since SSDs have a near-instant access time, there is no ill-effect on performance). Also, the useful life of a consumer notebook computer is surely less than that of the drive. In either case, a solid-state disk can greatly enhance the performance and battery life of a notebook, but it does come at a hefty cost.
Have you ever needed to install Windows on a computer that doesn’t have an optical drive? I ran into this issue recently when I needed to install Windows Vista on my newest laptop, a Lenovo ThinkPad X200, and thought it would be useful to share the rather simple process here. You can do it from either a USB 2.0 flash drive or a USB hard-drive (the ideal way).
What do you need? A 4GB or larger USB flash drive or hard-drive and a computer with a BIOS that supports booting from a USB device. Almost every computer made in the past three years or so supports this feature. Also, you’ll need your Windows Vista or Windows Server 2008 install disc or ISO (for this, I used a licensed copy from my MSDN subscription).
Open the Disk Management console (run “diskmgmt.msc”)
Format your flash drive as FAT32 and set the partition as active/primary.
Copy the entire Windows disc to the USB storage device - the easiest way is by running “xcopy D:\*.* /s/e/f E:\” at the command prompt (where D: is your optical drive/mounted ISO and E: is the USB flash drive.).
Note: If you are using a large external hard-drive, you’ll want to create a partition smaller than the drive itself since FAT32 has certain size limitations. In my case, I chose to make a 6GB active partition and left the rest unpartitioned.
Remember, this is not only useful for computers with defunct or non-existant optical drives - you can also use this for installing Windows on multiple machines quickly as you’ll find it significantly quicker than reading off a DVD.
I have not tested this with Windows XP, however I see no reason why it would not work. If you encounter issues where you cannot boot successfully from the USB drive after the copy, you might need to run the “bootsect.exe” from the command line. Check MS Knowledgebase for more detailed information on this.
I’ve been a customer of Sprint’s Mobile Broadband service for quite a while and have wanted to whip up a how-to on getting it to work well on OS X for a while but never got around to it. However, since I’ve gotten intrigued with the idea of GPS, I thought it was time to detail how Sprint/Verizon EV-DO works with OS X, and how you can use it as a nifty global positioning device.
While OS X 10.4 and 10.5 have built-in support for ExpressCard and USB 3G networking devices, it does not give you all the features of the card nor the ability to complete the initial service activation. Earlier this year, Sprint began to offer companion software and drivers for their EV-DO equipment for OS X users called “Sprint SmartView”. The software gives you access to more detail about your usage, what network you’re connected to, and GPS services (which we’ll get into later). With this software, you can now complete data card firmware updates and activate service obviating the use of virtualization of Windows or borrowing a friend’s computer for that. My only real issue with it is that doesn’t act like a Mac application, as you can tell immediately when it installing a desktop shortcut (not a dock shortcut, a desktop shortcut) and by the various interface inconsistencies. Otherwise, it’s a pretty good step by Sprint - you can download the SmartView software here - Sprint Downloads.
However, GPS is the main point of this post. With the new connection manager comes the ability to use the A-GPS functionality of all Sprint EV-DO cards to locate yourself. To use the basic location function, launch the SmartView software and click on the “GPS” drop-down and it will acquire a signal and locate you. You can click the shortcuts there to find yourself on Google Maps and each icon will take you to a different search such as restaurants and Sprint locations near you. Neato. But the most useful function of this would be to get directions and track yourself. Since the software will create a NMEA port on your device that will pipe the location data into another program that can use it. For this tutorial, we’ll use Google Earth since everyone loves Google Earth. The only sticking point here is that to use GPS, you’ll have to subscribe to “Google Earth Plus” which is $20 a year - $1.67 a month, don’t be cheap, pay for it.
To enable NMEA output, click the icon that resembles a ‘play button’. Now, launch Google Earth Plus and wait for it to load completely and log-in. Now go to the “Tools” menu and and select “GPS”. This will bring up a settings window like the one pictured on the right. Click on the “Realtime” tab and select “NMEA”. From here, you will want to check the “Automatically follow the path” radio box and choose how often you want to poll the card for new location coordinates (six to ten seconds works well). Click “Start” and you’ll see Google Earth pan to your current location and follow you as you move in your car and of course this works on the go as your EV-DO service is more than sufficient to pull down the maps/satellite imagery on the fly.
Google Earth Plus with Realtime GPS
Now you’re ready to use this to get directions and find businesses around you based on your current location anywhere you go with your Mac laptop. Don’t forget that you can also track a trip by saving your path in the “Places” menu. The GPS function does not eat much of your battery, however, Google Earth can be CPU intensive at times, so it might be advantageous to bring a charger or second battery along with you.
Have questions? Leave them in the comments and I’ll try update the post.
Many years and many software updates ago, the iTunes visualizer was a very prominent feature of the application. It was used in television ads to illustrate the power of the iMac G3 coupled with the the iTunes jukebox/CD-burning application that was miles ahead of MusicMatch and Windows Media Player. However, as the version number climbs for iTunes, the visualizer has declined in importance, cast away and buried in the ‘View’ drop-down.
When using the visualizer on a current Intel-based machine, the visualizer operates fine (ignoring the fact that it hasn’t changed since 3.0) and is mesmerizing as always. However, could somebody give me a reason why a task that was a cake-walk for a 500Mhz G3 from seven years ago is consuming 126% of the available CPU cycles from a Core 2 Duo portable?
(click to view full-size)
Are they running the old visualization code from the PowerPC version in emulation? What on earth can make this so taxing on the CPU? For reference, I’ve embedded the thirty-second spot Apple ran in 2001 for the iMac G3 - great ad by the way.