The blog & portfolio of Matthew J. Rogers

Blog: Software RSS for this category

Flow

I’ve been meaning to regain control of my email for quite awhile, but for some reason I had just never gotten around it until a few weeks ago. For years, I’ve had at least a half dozen primary email accounts that I need to check daily. I didn’t do any sorting — everything just came into each account’s inbox and stayed there forever. Clearly, this is not ideal.

The problem

You can imagine what that looks like when you’re trying to find something — an endless list of messages with no organization at all. I would most often use my mail client’s search function to find something, but that wasn’t always reliable and tended to result in a lot of hits I didn’t want. I often found myself sitting down to complete a project and wanting a series of emails that were spread over the past few weeks with various questions, concerns, and feedback from the client/stakeholder for that project. Finding those messages in an unclassified inbox was a nightmare. In addition, if I had near-term action-required emails (bring something to work from home tomorrow, pay a bill within the next couple days, or anything that required a response), they would get lost in the noise of less important emails. If I didn’t (or for some reason couldn’t) act on those emails right when I read them, I was at risk of forgetting about them.

The solution

The core of a solution was some kind of sorting methodology, clearly. But what to do? I needed something flexible, powerful, and mostly automatic — because if I have to manually sort a hundred emails every day, it will never happen. Most importantly: the Inbox is a sacred place. The only time a message should be in the Inbox is if it is unread or if it requires me to take further action.

Put it all in one place
The first thing I decided was that I wanted all my email going to one place so I could more easily parse it — I forwarded it all to my main GMail account, and configured that account to be able to send mail as those other accounts, so I can still send out messages under my various addresses from one place. I also moved from a desktop mail client — Apple Mail — and decided to work solely out of the GMail web interface, because of the way GMail’s labels and archiving work (not to mention that Mail and most other desktop clients I’ve used start falling on their face when you get tens of thousands of messages in them).

Filter it out
Next, I setup a whole bunch of filters — automated rules within GMail that perform various actions based on criteria you specify. They’re very powerful — I have various rules applying labels (GMail’s version of folders) to emails depending on such conditions as who they’re from, what keywords are in the subject or body, which of my various accounts the messages was originally sent to, or any combination thereof. I spent quite awhile setting up my filters and occasionally still add to them, but for the most part I’m happy with my filter setup.

Archive it
However, having all my mail in one place and applying those great labels still doesn’t solve one big problem — all my messages are still just listed in my GMail inbox. Important messages, despite being labeled, are still going to be surrounded by tons of noise. This does not jive with the Sacred Inbox directive.

One huge feature that most GMail users overlook is the “Archive” command. When you archive a message, it no longer appears in your Inbox — it’s still accessible via “All mail” or by viewing any label with which that message is tagged (or just by searching), it simply doesn’t show up in the Inbox anymore.

So what I’ve started doing is archiving messages when I’m done with them — anything that doesn’t require a response or to which I have already responded gets archived. When reading a message from the Inbox, the Archive button is right up there next to the “Back to Inbox” link…and it also takes you back to your inbox after it archives the email. So it takes no additional clicks, no additional work. I read the email, I respond if necessary, and if I’m done with it, I hit Archive and go to the next message.

I’ve also worked the archive command into some of my filters for emails I don’t need to see immediately. For example, notifications from Twitter get tagged “Notifications” and archived automatically. I like to peruse these emails a couple times a week to see who started following me on Twitter, but I don’t need them cluttering up my Inbox.

Results and observations

I’ve been operating this way (sort of my own version of Inbox Zero) for a few weeks now, and the difference has been amazing. I feel less overwhelmed by my email, it’s easier to find relevant messages when I sit down to accomplish a task, and I don’t forget to take action on messages that require it.

I was hesitant at first about switching from a desktop app to a web interface, but since GMail does a good job with keyboard shortcuts it makes the experience quite a bit more palatable. I also use Fluid to setup a dedicated GMail “application” on my Mac which always runs in its own window, separate from my regular web browser, and has a few niceties like an unread count on the dock icon and additional keyboard shortcuts.

If your inbox is an unorganized disaster and it stresses you out sometimes, consider some of these methods to reach Inbox Zero. It’s made all the difference for me.

More power

About six months ago I laid out my opinions on home-based backup solutions. As my some commenters quickly pointed out, you’re not really backed up until your data resides in more than one place, geographically speaking. That is to say: using scheduled nightly backups to an external hard drive or something like Time Machine is great, but if your house burns down, so does your data.
Read the rest of this entry »

Yesterday, Google unveiled a new service called (simply) Sync that updates your contacts and calendars between your wireless phone and the Google servers instantly and over the air. And guess what: it works! Guess what else: it’s free!

That’s more than can be said for Apple’s $99 per year MobileMe service. I tried MobileMe for three months, and it just never worked. I don’t care about the 10GB of web space (have my own servers, or something like DropBox), I don’t care about the email account (uh, GMail), and I don’t care about the fancy photo galleries (I’ve got Flickr and my own gallery). The biggest thing I need is my contacts and calendar data everywhere, on every computer I use, and on my iPhone. MobileMe failed spectacularly in that respect — syncs were inconsistent, would sometimes replicate data, and just could never be depended upon to replicate data reliably from one device to another.

Google Sync works on the iPhone, Windows Mobile, BlackBerry, S60, and a handful of other devices. It utilizes the broadly adapted Microsoft Exchange wireless sync protocols (thank you, Microsoft) and is relatively easy to setup (Google has basic instructions for all devices). And after more than 24 hours on my iPhone, I’m quite happy with it.
Read the rest of this entry »

Living in Harmony with Plex

January 11, 2009

Harmony 500

Plex, the fantastic media center software I’ve written about before, added some icing on the cake recently: out-of-the-box support for Logitech Harmony universal remotes.

Logitech Harmony remotes are great because Logitech maintains a massive database of all the codes for pretty much every consumer electronics device ever made (the Harmony 550 was my pick for the best gadget gift under $100). You (usually) don’t have to sit there “training” the Harmony with your original remotes — you just hook it up to your computer, type in the model numbers of your TV, receiver, game console, etc, and you’re off. It vastly improves (and simplifies) control of your home entertainment center.

However, while Logitech did have remote codes for the Mac Mini (which is what I’m using to run Plex), the six buttons of the Apple remote aren’t enough to control a full-featured software suite like Plex. So I wound up buying a piece of software called Remote Buddy that interprets signals from remote controls and turns them into keystrokes. Basically, I spent 2 hours having my Harmony learn IR codes from 7 “virtual” Apple remotes (7 distinct sets of 6 IR codes) to give me 42 effective buttons, but then I had to create keystrokes for each of those 42 IR codes in Remote Buddy so that the proper commands would be sent to Plex (as keystrokes). It was extremely tedious, and I wound up having to do most of it over again because one of the learned IR commands was corrupted (resulting in double-presses).
Read the rest of this entry »

Controlling spending

November 27, 2008

This is Part 1 of a three-part series, Navigating the Financiapocoalypse. It’s intended as a get-started guide for people just starting down the path of actively managing their money.

Before you can do any saving, you need to get your spending under control. As I said in my intro to this series, however, this isn’t going to be a guide on how to be a total cheapskate. I’m not going to be the one advocating use of a coffee shop for Internet access and the sports bar to watch TV, or putting on six sweatshirts so you don’t have to turn the heat above 50. But there’s plenty of smart decisions you can make to reduce expenses while still maintaining a lifestyle you enjoy.

My thoughts on budgets

Lots of financial types insist that you have to have a strict budget. Maybe this is starting off on the wrong foot in a lecture about controlling spending, but I have a confession to make: I don’t keep a budget. (I have a guideline that I call a “reverse budget,” but we’ll talk about that in part 2). I do keep rough numbers in my head, but I’m not going to agonize over every dollar — it’s too time-consuming and too much micromanaging. I know what our typical monthly expenses are, and I try to keep them low. Beyond that, my energy is better spent on doing more active things to control our money. Besides, many of the people I’ve met who do dollar-by-dollar budgets are usually so obsessed with recording that last receipt in Quicken that they forget to enjoy life.
Read the rest of this entry »

The long-awaited (for Xbox fans, anyway) system overhaul for the Xbox 360, known as the New Xbox Experience, was rolled out this morning. The NXE is a completely new interface for the 360, and along with the eye candy brings some cool new features to Microsoft’s venerable gaming platform. More significant than the changes themselves, I think, is the fact that such a complete system upgrade is possible — it’s almost like getting a new system without paying a dime or lifting a finger. No one has ever done such a complete revamp of a large installed base of “set top boxes”, which are generally considered static devices once they roll off the factory.

Let’s take a look at the major improvements in the NXE.

Interface

I’ve always felt that the previous Xbox 360 “blade” interface, while visually interesting in certain respects, lacked quite a bit in the user interface department. It was kind of clunky feeling, and there were times I wasn’t sure what I could click on (or how to get the cursor there) and what I couldn’t. So the first and most obvious improvement in the NXE is the look and feel. It’s slicker, more open feeling, and more modern, bringing it in line with the PS3 interface. It also seems a bit snappier when transitioning from screen to screen — although some interface niggles remain. For example, it takes way too many clicks to delete a game (and I download a lot of trial games, so I am frequently deleting things). However, on the whole it is a very welcome improvement, and makes navigating the dashboard a much more pleasant experience.
Read the rest of this entry »

Plex - Band of Brothers episode list

Plex - Band of Brothers episode list

A couple months ago I wrote my initial impressions of Plex, a Mac-centric fork of the venerable XBMC software that was originally written for hacked 1st-generation Xboxes. In early September I bought a Mac Mini to run Plex, and have been using it exclusively as my living-room media streamer since then. The original post got a number of comments, and I’ve received a lot of emails as well so I wanted to follow up now that I’m more familiar with the software.

My original endorsement of Plex stands: it’s a beautiful piece of software, and is being actively developed so improvements are constantly forthcoming. It has taken our interaction with the terabytes of video I keep on hand to a whole new level. It’s so slick and easy to use, as a matter of fact, that sometimes I’ll pick something to watch through Plex even though I have the DVD right there on the shelf next to the TV. I hate physical media, I find it to be a nuisance, and Plex delivers a much richer way of experiencing your video library.
Read the rest of this entry »

During a London event pimping the upcoming military/monster/undead bloodbath game Gears of War 2, developer Rod Fergusson from Epic made a remark about the Xbox 360 having reached its graphical limit. Some thought he meant that nothing else could be done with the platform, but what he was really referring to (as clarified later by Epic colleague Cliff Bleszinski) was that developers had to find creative new ways of taking advantage of what the 360 provides, because they’re not going to get any more processing power or memory. Bleszinski cited the Super Nintendo’s life cycle, during which game graphics continually improved despite a series of apparent plateaus.

The point is that a fixed platform, like the Super Nintendo, Xbox 360, and every other console, forces developers to work within their hardware restrictions with no expectation of any flexibility or improvement. While this may be obvious, the contrast between development for game platforms and PCs makes for some interesting observations.
Read the rest of this entry »

Mac Mini as a media center

September 12, 2008

Plex on Mac Mini

I have a lot of video media stored on my server (almost 2 terabytes), and I need a way to stream it to my television so we can watch the stuff from a couch instead of a desk chair. Years ago I started with a basic PC running Windows, then moved to a hacked original Xbox with Xbox Media Center, then to a hacked Apple TV. Today, I replaced my hacked Apple TV with a Mac Mini running the excellent Plex media center software.

The Plex interfacePlex is a fork of the original XBMC software that I used way back with my original Xbox. It has been updated and beautified, and definitely sports one of the sexiest user interfaces you’ll ever see gracing your screen. One of its greatest strengths is gathering information about your videos. You point it to your media, and as long as the files are named in a sane way it will go out and fetch all the metadata from online movie and TV databases — it downloads the episode/movie names, descriptions, and even cover art. This makes for a fantastic experience as you’re browsing through your media. You can see in the image here an example of this as I look at the movie “300″.

All in all, it’s fantastic using the Mini has a media center. I have full control over my huge media library using just my Logitech Harmony remote, but I can surf the web or do anything else I want with the computer just by pulling out the bluetooth keyboard and mouse from under the coffee table. Plex is a great piece of software already, and lots of improvements are planned. For digital media junkies, I think this is about as good as it gets right now.

Mac Mini

NERD ALERT: This one’s going to be pretty bad. If you aren’t interested in servers, file protocols, and the geeky ability to access your files anywhere, turn away now.

Those who know me know I run a decently big file server at home. It’s an AMD system running Ubuntu Server with about 1.6 TB of hard drive space (that’s 1,600 GB). I store most of my stuff on that server — personal documents, client projects, web site development code, TV shows, movies, pictures, music, software backups, you name it. None of my Macs actually have any documents stored on them — it’s all on the server, which I depend on having access to wherever I go.

On the road, I typically would use the somewhat klutzy method of downloading files I need via FTP, working on them on my MacBook Pro, and then re-uploading them when I was done or when I got home again, to keep the server up to date (this excludes code, for which I use the Subversion version-tracking system). At home, I have until now used the Samba protocol (the file-sharing system native to Windows) to mount the shared directories and work on them directly over my gigabit network.

I recently had an epiphany about the way I was doing things. My Samba setup was a holdover from when I had all Windows boxes. I continued to use it when I moved to Macs because it pretty much works with everything — Linux, OS X, Windows. However, while compatible with many things, it excels at nothing. It is slow, it is limited to Windows filenaming conventions (UNIX/Linux is much more flexible about file names), it has an extremely limited permissions system, and it can’t really be used over the Internet — hence why I was using FTP while away from home to access my files, because using Samba through the Internet is about as fun as pulling your fingernails out with pliers. It’s just so slow, if you can get it to work at all.

Then I discovered AFP. Despite having had it operational for less than 24 hours, I think it’s safe to say that AFP has changed my life.

As I said, an epiphany: I suddenly realized I was using a Linux server, Mac OS X clients, and a file-sharing protocol that was native to neither of them. Hence, the slow performance. Of course, even on Windows (from whence Samba, in its modern form, hath sprung) most experienced networking engineers will tell you that file-sharing performance sucks. So I started to look at other options: NFS and AFP.

AFP (AppleTalk Filing Protocol) was introduced by Apple in the mid-1990s as a way for people to access shared files and printers over a local network or the Internet. I installed it (with SSL authentication) on my Ubuntu server using this guide and had everything up and running in less than 10 minutes.

File transfer benchmarksPerformance? Freaking awesome. I connected to my home server from work and was able to browse directories and open files incredibly quickly — and all using the native OS X Finder rather than a special program for FTP. The usage is no different from being plugged into my network at home, other than the speed of course, which while not as fast as being at home is still much faster than FTP or SSH over MacFUSE or something. I don’t have any benchmarks, but I’d compare it to using a USB pen drive. Keep in mind I’m accessing the server through 15Mb down/1.5Mb up cable Internet.

It also “just works” when it comes to permissions. With Samba, since it was born of Windows, and Windows doesn’t have a very robust (ok, pretty much nonexistent) file permissions system, there were all sorts of configuration settings you had to define to tell Samba which users could read/write which files. Also, those permission settings got applied to the whole mounted share…there was no way to fine-tune permissions within the share for specific users (as you can natively in Linux). Oh, and speaking of users, with Samba you had to specifically add Samba users on top of the Linux user accounts they already had on the server. It was a real pain. With AFP, after defining where my shares were (which was stupidly simple…two parameters per line: the folder path and the share name) I was able to connect to it with my regular account on that server, and the permissions on all the files were appropriately handled. No special user creation, no special settings. It was fantastically easy.

I’m not a network engineer, and I only took one network programming course in college, but it seems to me that AFP performs so well because:

  • It was designed from the start to work over large network “distances” — i.e., complex networks like the Internet
  • It integrates into TCP/IP at a low level, reducing overhead
  • It integrates into the operating system at a low level — access to files over AFP is handled the same way as local files, without going through a lot of special protocol translations (Samba)

AFP will change the way I work when I’m away from home. If I’m in a location with a decent Internet connection, I can just work on most files directly on the server at home through AFP. Even if I have to copy files to the laptop, because they’re huge or because I might not have Internet where I’m going, it’s still much more convenient (and faster) than using FTP. I left Samba running on the server because I do occasionally need access to those shares with Windows, but that has no impact on AFP performance. If you have a file server and you’re using OS X client computers, I strongly recommend setting up AFP. It’s made things go a lot smoother for me when I’m away from home, and even the performance when I’m directly plugged into my network is noticeably improved.