The new Google Hangouts app: How it makes the same mistake that Facebook did (and fixed) years ago

talk_hangoutsGoogle Talk has long been ignored by Google — unlike many of their services, it doesn’t get regular updates on Android, there’s no iOS app, and the web version hasn’t undergone any major changes for the past several years.  Naturally, I’ve been eager for an upgrade, and recently, I got one: Hangouts.  Hangouts is a complete redesign of Google Talk from the ground-up, which finally includes an upgraded Android app, as well as an iOS app and an improved web version.

While Hangouts is, visually, a huge improvement, there is an issue with its design: there is no way to see which of your contacts are online.  This very same issue plagued Facebook in the summer of 2011, shortly after they performed a similar redesign of their chat system.  To describe why this is a problem, we must delve into a bit of history.

Both Google Talk and Facebook messenger began their existences as “instant messaging” style apps, in the mold of software such as AOL Instant Messenger, MSN/Live Messenger and Yahoo Messenger.  In these applications, the most prominently displayed element in the user interface is people who are online right now:

Screenshot of AOL Instant Messenger. Source:

Screenshot of AOL Instant Messenger. (source)

To use these apps, you’d typically check which friends are currently online, and then have a conversation with them, lasting while you’re both online.  These conversations were generally ephemeral — they would begin when one online user messaged another, and then would end when one person had to leave.

However, with the advent of more powerful phones, the notion of someone being “online” has become increasingly muddled.  For example, on the classic Google Talk, the majority of the so-called “online” contacts in my list are noted as being mobile users, meaning that they’re not really “online” in the traditional sense.  Rather, their phones are simply turned on, in their pocket, and if you send a message, they can respond when it’s convenient.

In the summer of 2011, Facebook decided to combat this shifting landscape by modifying their chat system.  Previously, it would show all online friends in the style of an instant messaging app, but after the change, it would only show a selection of your most-contacted friends, regardless of their online status.  The idea of this was to move Facebook messenger to a more conversation-oriented system, in which conversations are ongoing, and can continue regardless of a user’s online status (similar to how texting works on mobile phones).  Of course, like many changes on Facebook, this was not well-received by users, who were presumably confused by the sudden inability to see who was online.

Not long afterward, Facebook realized their error, and rolled out a change that added a “more friends” section that showed all of your online friends, thus allowing Facebook messenger to support both the instant messenger style of use as well as the texting style of use.

With their Hangouts rebranding, Google has done a redesign similar to what Facebook did at that time.  Strangely enough, they made the exact same mistake. To illustrate, let’s have a look at the older “Talk”-branded version of the app — it appears like a classic “instant-messaging” app would look, with online contacts displayed the most prominently:

Classic "Talk" app, showing online contacts

Classic “Talk” app, main screen

Next,  let’s look at the Android version of “Hangouts”, which, when installed, completely replaces the “Talk” app.  In this app, recent conversations are displayed the most prominently, similar to how texting works on phones, or to the current version of Facebook messenger:

New "Hangouts" app, main screen

New “Hangouts” app, main screen.  There is no way to see which people are currently online.

Facebook messenger main screen

Facebook messenger main screen. Note the green dots representing online status.

At its core, I feel that this style is an improvement, especially for the mobile apps, since it better reflects how people use messaging on smartphones.  However, Hangouts doesn’t support the older “instant messenger” style at all, while Facebook messenger does:
Starting a new conversation in "Hangouts"

When starting a new conversation in “Hangouts”, there is no way to see who is online

Facebook messenger showing all online friends

Facebook messenger, showing all online friends at the bottom of the frequently contacted list

So while Facebook messenger (eventually) adopted a hybrid approach, Google neglected to heed this lesson. Combined with the fact that Hangouts is billed as the replacement for Google Talk, this presents a major issue for certain users (particularly long-time users like me) who often use Google Talk like an instant messenger.  This is evidenced in part by the quantity of 1-star reviews on the Google Play store:
Reviews of the new Hangouts app on Google Play.

Reviews of the new Hangouts app on Google Play.

The amount of satisfied users is understandable, since the new style of messaging is nicely suited to mobile devices.  However, there is also a large contingent of dissatified ones.  Some selected quotes from these reviews that emphasize the particular problem I’ve discussed include:

“No online indicators, which is needed IMHO”

“Puts ALL contacts in list even if their[sic] not in hangouts”

“You can’t see who’s online!  I can’t believe Google removed this basic function!”

While there are several approaches Google could take to remedy this issue, my personal view is that they should simply do what Facebook did years ago: include a list of all online users somewhere, and prominently display the online status of each user where applicable.  By making these changes, Google would allow Hangouts to support both the “instant messaging” style of use and the “texting” style of use, thus allowing it to better act as a improved version of Google Talk, and not a completely different application billed as an successor.

Sacrificing Usability for Aesthetics: Thoughts on Windows 8

I’ll be honest: I actually like Windows.  (Disclaimer: I also like Macs, and I use Linux on a daily basis.  Really, no OS is perfect.)

I even liked the oft-maligned Vista!  (Sure it regressed in more ways than it should have, but the Aero UI did look nice.)  However, in my view, Windows’s real moment of glory came in 2009 with the release of Windows 7.  With Windows 7, Microsoft had finally, it seemed, realized the value of customer feedback, and released a version of Windows improved in almost every way.  The results were apparent: reviews were nearly universally positive, and the number of Windows 7 installs surpassed the total number of Vista installs in less than a year — more than double Vista’s adoption rate.  Clearly, Microsoft had finally gotten Windows figured out!

Given how well-done Windows 7 was, when I saw the first screenshots of Windows 8 “start screen”, I was naturally pretty excited.  Not only was Microsoft going to freshen up the increasingly tired Aero UI, but it would also take on the refined visual styling of Windows Phone.  (I used a Windows Phone for about a year, and it really does look nicer than the other mobile operating systems.)  As a fan of the Office 2007/2010 “ribbon” interface, I had a lot of faith in Microsoft’s ability to take an old UI and turn it into something new while improving it.

Unfortunately, this excitement would prove short-lived; after trying the first few beta versions of Windows 8, I became increasingly disappointed.  In order to be fair, I decided that I would refrain from passing judgment until I had tried the final version.  Now that the final version of Windows 8 is out, I can finally discuss the problems that I found with it.  First off, let’s discuss what is frequently cited as the primary issue with Windows 8:

Two User Interfaces, One Operating System (Not the Main Problem)

This is, by, far, the most common complaint you may have seen about Windows 8.  For example, this article notes “Windows 8 still feels as if it’s two different operating systems bolted together” and Engadget says “Windows 8 still feels like two very different operating systems trying to be one.”

Indeed, in Windows 8, there are two disparate UIs: a classic “desktop” UI which looks much like Windows 7, and a new “modern” UI that looks like Windows Phone.  To illustrate, the two pictures below show Internet Explorer 10 having been opened from the desktop ui and the modern ui:

Internet Explorer when started in the “desktop” ui.

Internet Explorer when started from the “modern” ui

Not only do the two user interfaces function in very different ways, but the interaction between the two is minimal — in fact, there are many features duplicated in Windows 8 because of this separation.  (For example, the Windows “Control Panel” is still present, but it is now joined by the modern-UI “PC Settings”: a second control panel that, in addition to some new settings, also duplicates some of the ones already found in the desktop-UI Control Panel.)

While I do think this is a problem, it is not my main complaint about Windows 8.  Certainly, the two user interfaces don’t really complement one another at all, but that’s fairly secondary: after all, basic functions such as copy+paste and Alt+Tab still work between modern-ui and desktop-ui apps, and the modern-ui does indeed look very slick with all its cool animations and colorful minimalist aesthetic.  So what has got me so disappointed with Windows 8, then?

The Real Problem: The Sacrifice of Usability for Aesthetics

Let me state again: I think Windows Phone 7 is very pleasant to use — while I currently use Android as my primary phone, I think that Windows Phone 7 feels much smoother and more pleasant.  Likewise, I should find Windows 8 similarly pleasant.  However, while Windows 8 may look just like Windows Phone 7, it doesn’t act like it — in fact, I argue that Windows 8 misses a key design value that, in part, makes Windows Phone 7 great: visibility.

Visibility, in the sense of UI design, can be defined as:

“the prompts and cues…available to lead users through an interaction, guide them through the accomplishment of specific tasks, indicate the possible actions that can be taken or just inform them about their context.” [source]

To illustrate how Windows 8′s UI lacks visibility compared to Windows Phone 7, let’s have a look at the Windows Phone 7 “Start Screen” (left), compared to Windows 8′s version (right):


Aside from there being a lot more screen space, the Windows 8 version features a notable difference: it lacks the prominent arrow image () at the top right found in the Windows Phone version.  What does that arrow do?  It animates all the tiles to the left, revealing a list of all installed applications.  If you look very closely at the Windows 8 screen the only similar control in the is a small minus sign icon in the bottom right corner ():

Clicking this button does the following:

The start screen seems to zoom out, presumably providing an overview of all the icons you haven’t added yet.  If you do want a list of all installed applications, it is a two-step process, as shown below:

1. Right clicking on the start screen slides in a small orange bar from the bottom, which provides an “all applications” button:


2. Pressing that button then brings up the list of all apps:

Simple enough — but unlike the Windows Phone 7 version, the user interface provides no cue to the user to indicate that this action is possible, therefore making the necessary actions much less clear.  Now, Microsoft isn’t stupid — they wouldn’t do something like this for no reason.  After all, there is plenty of empty space on the start screen — certainly enough to include that “all applications” button.  So why didn’t they?  There is only one reason that makes any sense: the button didn’t look nice.  It interfered with the minimalism that makes the modern-ui so slick-looking, and so, it had to go.

The consequences of this attitude pervade Windows 8.  As it turns out, right clicking an empty area to make things appear from off-screen is ubiquitous throughout modern-ui apps.  (And, just as in the start screen, there is no indication of this — anywhere.)  For example, when opening a new tab in the modern-ui version of Internet Explorer, the “tab” thumbnails slide in from the top, and quickly slide back into the top of the screen.

Modern-UI Internet Explorer showing open tabs

Given that they slide upward into the top of the screen, one might expect that they would slide back in if the mouse were moved to the top.  However, only a right-click on an unmarked area of the webpage will bring up the tabs.  While this is, in practice, easy enough to memorize, it makes no sense to me, as a user of the software (I discovered it by accident.)

Even the desktop UI is not exempt from the “minimalism first” attitude.  Take, for example, the start button that has been found in the bottom left corner of Windows since it was introduced in Windows 95:

It’s gone!  Or is it?  Move the mouse pointer to where it would have been, and…

…there it is!  Even the venerable start button, it seems, couldn’t escape from the march of minimalism.  The problem with this?  The start button provides users with something visible to click on — hot corners are certainly useful (I’ve had custom ones set up on my Mac since 2005), but they don’t provide any indication that there’s anything there in the first place.  In fact, even major corporations have taken issue with this; recently Samsung, a major PC manufacturer, announced, “in an effort to minimize the potential frustration caused by Windows 8′s new look”, the company will be installing a visible start button on their Windows 8 computers.

There are, of course, other similar problems found throughout the OS, but there’s no need to continue listing them here.  On the other hand, I’ve been using Windows 8 to write this article and I really haven’t had any problems at all, once I got past some of the initial quirks.  Why is this?  Because…

The task manager redesign found in Windows 8

Beneath the Insanity, Windows 8 is the Greatest Windows Yet

While there are many problems that I have talked about (and far more that I haven’t), there are some really nice improvements in Windows 8!  Searching from the start screen goes faster, the whole OS runs and boots very quickly even on my ancient hardware, there is a new wonderfully designed task manager based on user feedback, the new version of explorer finally has abilities like being able to open powershell windows in your current folder as administrator, having the taskbar on multiple monitors is finally supported, and so on.  Furthermore, I’ve talked with people who use Windows 8 on a day-to-day basis and love it.  If my criticisms are correct, then how could this be the case?  There’s a simple answer: it’s perfectly usable once you’ve memorized it.

For example, take my earlier example about how difficult it is to pull up a list of all installed applications.  Now, how often do I really pull up a list of my applications?  Almost never!  Usually, I just hit the start key and type the first few letters of the program I want.  This is still present in Windows 8 (opening the start screen and typing starts searching), and it is faster than ever (but once again, it’s completely hidden.)  Furthermore, all the keyboard shortcuts from Windows 7 continue to work in both the desktop and modern ui, so heavy users of keyboard shortcuts will require even less adjustment.  This, to me, makes it more of a shame than anything — Windows 8 easily could have been the best version of Windows ever — but somehow, in addition to some very great decisions, it ended up being saddled with some very poor ones.

To Conclude

The problem is not that Microsoft tried to make an operating system that would be well-suited to both iPad-like tablets and traditional keyboard and mouse desktop computers — that idea is not, I believe, inherently flawed (though I realize that many would disagree with me).  The problem is, quite simply, that Windows 8′s designers chose to sacrifice too much when it came to making controls visible.  This is a sacrifice that, I believe, will come to haunt Windows 8 when it is finally released to consumers.  If history tells us anything, it’s that the first impression an operating system makes tends to cement its reputation — for example, while Windows Vista hardware support had improved a year after it was released, it never was able to shake off its reputation of not being compatible with anything [source].  In this way, will Windows 8 also find itself saddled with a similarly negative reputation based on users first impressions of its initially inexplicable UI?

I, unfortunately, suspect that it might.

Disabling pinch-to-zoom in Google Chrome (or any other app) for Mac OS X

Screenshot of Google Docs showing a "zoom level not supported" error

Even Google Docs gets offended.

If you’ve used a Mac within the last 3 or 4 years, you’ll probably have experienced Apple’s “multitouch trackpad”.  With one, you can perform a variety of gestures on the trackpad surface, such as pinch-to-zoom, two finger rotation, and many more.  However, while pinch-to-zoom is is great for some apps (such as zooming into images in preview), it isn’t so great for, say, a web browser, where zooming can be characterized as “that thing that messes up the page layout that you shouldn’t ever do unless the web designer was insane and used 8pt font everywhere”.  In addition, since Mac OS 10.7 (Lion), the default multitouch gesture for “back” is a two finger swipe to the left — something that the gesture recognizer has a habit of mistaking for a pinch.  As such, it’s fairly easy to accidently zoom the page in or out.

Unfortunately, the Google Chrome developers seem to have a “configurability is for losers” mentality, which means that they have repeatedly denied calls for a hidden switch somewhere to disable pinch-to-zoom.  In the quest to disable pinch to zoom, someone even made a Mac OS hack that would supposedly disable the function for Firefox, Chrome, and Safari (it didn’t work for me).

Luckily, there is a way to banish pinch-to-zoom!  The trick is to use BetterTouchTool; if you haven’t heard of it, it’s a program that lets one add new multitouch gestures with actions.  Here’s how you do it:

  1. Download and install BetterTouchTool from here.
  2. Once you have it installed, open the preferences, and click the “+” button next to “app specific”.
    Better touch tool preferences window with plus button highlighted
  3. Select Google Chrome in the window that appears.
  4. Making sure that Google Chrome is highlighted on the left side, click “add new gesture”.Add new gesture button in BTT preferences
  5. Click the dropdown labeled “Please Select a Gesture”, and select “Pinch In”
  6. Now, repeat steps 4 & 5 again, only this time, pick “Pinch Out”.

…and that’s it!  After doing this, Chrome will no longer respond to the pinch in or out gestures!   As an added bonus, this process also works with any other app.


[No longer works] MMS on the Samsung Focus S with T-Mobile Prepaid

Note: this technique no longer works, thanks to an update to the “Wireless Manager” app.

I no longer use T-Mobile so I can’t test anything new! I’m keeping this post up for archival purposes, but as far as I know, the steps described won’t work.

I recently acquired a Samsung Focus S with Windows Phone 7 (the best phone OS), and I’m using with with T-Mobile prepaid because I’m a cheapskate!  It works satisfactorily, though the Focus S only works on AT&T’s 3G and 4G bands, so with T-Mobile I get EDGE, a “2G” (read: slow) technology!  (AT&T is just too much of a ripoff to even consider!)

Anyway, so, here’s how to get MMS working on your phone:

  1. Go to the Marketplace, tap “Samsung Zone”, and download “Wireless Manager”
  2. Once that’s installed, open the Wireless Manager app
  3. Go to the “apn” screen, and tap “edit apn”
  4. Push the “+” button at the bottom
  5. Fill out the data as follows: (any fields that I didn’t mention should be left at the defaults)
    APN Name: MMS
    Profile Category: MMS
    Auth type: none
    Proxy address:
    Proxy port:8080
  6. Click the checkmark button on the toolbar

Now, try to send an MMS message…it should work!  If not, make sure that “cellular data” is set to ON in the “cellular” section of settings.


Calculating GMT Offset from Local Time (PHP)

For a project I’m working on, I needed to calculate local sunrise and sunset times for a user, based on a timestamp.  Because this was a “web application”, it was a mix between server-side and client-side programming.  As such, I had the client providing its local time to the server, which would then choose a suitable background image based on the user’s location.

Initially, I used the hour at face value — but once I started calculating sunrise and sunset times (using the php date_sunrise and date_sunset functions), I needed to specify a GMT offset.  I initially implemented it this way:

$gmt_offset = $hour - intval(date('H'));

However, I found that, while this worked for some situations, it came up with wrong answers if one of the times had rolled over into a different day.  After some experimentation, I found that, for GMT+ time zones, adding 24 to the value (only if the sum would not exceed 24) returned the correct offset.  Likeise, for GMT- time zones, subtracting 24 from the value (only if the difference would not be less than -23) would produce the correct offset.

// works for all GMT+ times
if($offset + 24 < 24) { 
  $offset += 24; 

// works for all GMT- times 
if($offset - 24 > -24) {
  $offset -= 24;

Eventually, I realized that the program could tell whether we were looking for a GMT+ or GMT- time zone by examining the date and checking whether it was before or after the specified timestamp. (In effect, checking if the day differential was due to GMT being the next day or previous day.)  As such, we finally get this code, which works for all times and time zones:

$gmt_offset = intval(date('H', $timestamp)) - intval(date('H'));

//correct for anomalies that appear when it's the next or previous day in GMT
if(time() < $timestamp) { // then we're in GMT+
    if($gmt_offset + 24 < 24) {
      $gmt_offset += 24;
  } else if(time() > $timestamp) { //then we're in GMT-
    if($gmt_offset - 24 > -24) {
      $gmt_offset -= 24;

How to Stop iTunes from Opening Automatically When You Press the Play/Pause Key on your Mac

Picture showing media keys on a macbook pro

So, way back in 2009, I bought myself a Macbook Pro, mainly because I liked the all-metal case and backlit keyboard.  (Seriously, it’s surprisingly difficult to find a Windows laptop with a backlit keyboard — go on, try it.  It was even harder in 2009.)  Now, as you probably are aware, Apple loves iTunes, their music management application.  I, however, do not love iTunes, and much prefer crazy-customizable music-playing apps on Windows, like Foobar2000 and Winamp.  I tried installing Cog, the closest thing I could find to Foobar2000.  Now, I’m also a huge fan of the media keys (play/pause, next/prev track) on the keyboard, and so compatibility with those is a must.  While Cog was indeed compatiable with the media keys, I found that Apple had implemented a convenient “feature” in Mac OS 10.6 and newer– if you press play/pause when iTunes is not running, iTunes will start itself and start playing.  Needless to say, if you’re trying to use any other music player, including Spotify and VLC, this can be very irritating.

Luckily, someone managed to fix the issue!

  1. Download the fix from here – credit goes to NoMitsu, who created this (you can read the original forum post here).  Also, thanks to this guy for finding it!
  2. Open the DMG file.
  3. Inside, run “MMFix” (I’ve tested it on Snow Leopard (Mac OS 10.6) and Lion (Mac OS 10.7), and it works correctly on both.)
  4. Enjoy pressing the play/pause button on your keyboard without iTunes ruining your day!
If, at some point, you want to undo this fix, simply run “MMFix” again, and it will restore things to the way they were originally.
Finally, if you liked the fix, you can donate to NoMitsu, the person who created it, via Paypal.  The donation link can be found on the author’s original form post.

Creating Google Chrome Web Application Shortcuts on the Mac

Screenshot of Google Chrome, showing grayed-out "create application shortcut" menu item

Why, Google?

Google Chrome, Google’s foray into the browser market, started on Windows, leaving Mac OS and Linux users wondering what happened to them.  Luckily, about a year later, the first beta versions of Chrome for Mac started to appear.  However, one feature that had been in the Windows version since the beginning was missing — the ability to create desktop shortcuts to open your favorite web applications in their own window.   Even more strangely, the “File” menu still contaned a menu item for “Create Application Shortcut…”, but it was grayed out.  One would think that this implied an eventual implementation of this feature…

Fast forward to the present day — about two years have passed, and Chrome for Mac OS has progressed from version “5.0″ (the first Mac version) to version “15″.  However, that menu item remains as grayed-out as it ever was!  This, of course, makes one wonder if Google has any plans to enable the feature.  Luckily, even if they don’t, there is now a way to create Chrome web application shortcuts on your mac!  These shortcuts act just like “real” applications, can run alongside Chrome without interference and are even compatible with Mission Control/Exposé and Spaces!

The Procedure

  1. Grab the tool from this page – the download link is where is says “(download the updated version from here)”
  2. Run the tool, specify the name and URL of the web app, and select a square PNG file as an icon
  3. The application will be created in your Applications folder.  Drag it to your dock, if you’d like.
  4. …and you’re done!

Google Chrome, running alongside apps for Remember the Milk, Gmail, and Google Calendar!

Need to count something using TECHNOLOGY?

Now you can! Thanks to my new Web 2.0 HTML5 Web App, you can count anything you want! Any time!

Check it out here!:

Countmaster 3000

But wait! There’s more! The count is saved on your computer, using delicious, delicious cookies, so you can come back to counting anytime! And remember…

With the Countmaster™ counting system, It’s your count that counts!™

Some restrictions apply. Any time only includes time spent online. Times not at your computer not included in calculation. Your results may vary. No purchase necessary.

Getting rid of the ugly “pause” icon in Parallels

Parallels Logo

Yes, that is a logo.

This has been confirmed to work in Parallels 6, 7, and 8, thanks to commenters Gary and Cobus!  If it works in another version, let me know in the comments.

I installed Parallels on my mac so I could run OneNote. (Why won’t you release a native port already, Microsoft?? It runs pretty well — in fact, with “Coherence” mode I can even make Windows apps run as if they were real Mac apps, complete with a Dock icon, drop shadows, and Exposé support!

However, there was one visual thing that constantly bothered me: every dock icon had what appeared to be a red pause icon. After some internet searching, I found that it was, in fact, not a pause icon at all, but was, in fact, the Parallels logo.

Luckily, it turns out to be pretty easy to remove!

  1. First: In “Configure…” under the “Virtual Machine” menu, go to your virtual machine options, and disable “share windows applications with mac”.
  2. Quit Parallels
  3. Open Finder, and navigate to the Applications folder on your hard drive.
  4. Find the Parallels Desktop icon, right click, and select “Show package contents”
  5. Once there, under the Contents/Resources folder, select the following files:
    • SharedAppDocumentIcon.icns
    • SharedAppIconMask_128.png
    • SharedAppIconOverlay.icns
  6. Move those files to somewhere as a backup.
  7. Now, download this set of replacement icons that I’ve created.
  8. Unzip those files and copy them to that Contents/Resources from before.
  9. Finally, start Parallels again, go back to the virtual machine configuration, and re-enable the “share windows applications with mac” checkbox.

And congratulations! You’ve just removed Parallels’s horrifying abomination of a logo from your Windows programs and file associations. The best part is, they probably paid a graphic design firm thousands of dollars for that logo!

But enough rambling — go enjoy running Windows programs on your mac!

Firesheep and the Advent of Usable Hacking

So apparently this is old news for some, but I only recently learned about Firesheep in a web security class. If you’re unfamiliar with the program, it’s a Firefox extension that allows you to steal the accounts (on many popular websites) of other users on your network! Of course, it only works if the network and website are unencrypted — in fact, the program’s primary purpose is ostensibly to raise awareness of the dangers of unencrypted network communication.

To use it, all you need to do is install it into Firefox. You then have the option of opening the Firesheep sidebar. Once the “Start Capturing” button is clicked, anyone else on your network who is accessing Facebook, Twitter, Yahoo! Mail, or any number of other sites will appear in the sidebar. From there, just double click on that entry, and congratulations, you’re now that person!

Even a child could do it!

Watch as I magically become the administrator of this blog! Oh, wait...

And yes, it’s that simple. Since it works best on unencrypted wireless networks, you could wreak havoc pretty easily if you felt like it.

So how does it work? When your computer is connected to a network, a lot of information reaches your computer that isn’t meant for you, but for other people on the network. This is especially common in wireless networks, since everyone’s data is flying everywhere. Because of this, it’s possible to simply “listen in” on the information hitting your computer that isn’t targeted at you, thereby grabbing raw data “packets” from other people.

However, what does one do with the packets? Several programs (such as WireShark) exist that allow you to graphically view the packets, but if you wanted to, say, log onto someone else’s Facebook account, you’d have to do a lot of extra work.

See, websites like Facebook are encrypted when you log on (to protect your password), but once you’re logged in, encryption is no longer enabled, and your identity is verified by a random number that Facebook hands your web browser each time you log in. In theory, no one else knows the number, so I can’t just say I’m you and defriend everyone. However, with packet sniffing, I can figure out the number, thus tricking Facebook into thinking that my computer is your computer.

The magic of Firesheep is that it automates this entire process, so I can just click and go, without poking through any lists packets and analyzing them. Perhaps I’m wrong, but this strikes me as the very first example of usable hacking — a hacking tool so easy to use that anyone who knows how to browse the internet could use it.