A decade of Mac

In 2006 I switched to the Mac after being a Windows user for about 10 years. December this year marks my 10-year anniversary as a Mac user. When I realized that, it got me to thinking about what it is that I have loved so much about the Mac, and why I’m still just as excited about it now as I was on the day I switched.

My first Mac

My first Mac

But to talk about my decade with Mac requires a look back at my decade of PCs1. Like many people my age I was a kid when my family got its first personal computer. It was a classic beige behemoth with a weighty CRT monitor and the computing power of a cheap flip phone2. And it was spectacular. I spent hours just playing with the stuff on the Windows 95 disk – you know, the one that had that Weezer music video on it.

It wasn’t long before we got America Online and experienced the Internet for the very first time. After that, I went through a series of desktops and then laptops.

The worst one I had was a Gateway laptop that came with the worst operating system in the history of operating systems: Windows ME. It was the most unreliable computer I’ve ever had. Luckily, I was able to get a pretty good Dell laptop for college. That’s when the seed was planted. It had not been long since I bought this little MP3 player. The one that could “fit a thousand songs in your pocket.” The one with the click wheel. The Apple iPod.

After my web browser (Firefox at the time), my favorite program on my computer was the one made by Apple: iTunes. I used it to manage my iPod of course but I also used it regularly to listen to music on my computer. I was fascinated by its ease-of-use and its stability. It was just nice. It’s easy to take that for granted now, in a world of well-designed apps for an array of various devices. But at the time my expectations of what it meant for a program to be “nice” was established entirely by programs like Microsoft Word, EditPad Pro, and Macromedia Fireworks. I’m not even saying these programs are bad (Winamp was awesome), just that they worked under a different philosophy of user experience.

Me at An Event Apart, MacBook open and ready for the next talk to start.

An Event Apart, 2008, with my MacBook

The thing about PCs was that it seemed you needed to be tech savvy in order to do anything cool with them. Even when purchasing one, you needed to know all about computer specs to make sure you got something good and you weren’t paying too much. For people like me – people who enjoy tinkering and figuring things out – that was fine, even fun. But for a lot of people, dealing with a crappy PC was a crappy time.

So when it came time to upgrade my computer for grad school, I decided just for kicks to take a look at Apple. Coming from the PC world my instinct was to go straight to the tech specs and start crunching the numbers to analyze the bang-to-buck ratio. But Apple’s marketing folks are good at their jobs and I started realizing that a computer was more than the sum of its parts – it’s about what you can do with it and the experience that you have while using it. More and more I became convinced that I wanted to try the Mac.

In December 2006 I booted up for the very first time my 20-inch Apple iMac running Mac OS X Tiger. It took me about two weeks to get use to just moving around the system and doing basic tasks. But once I got the hang of it I realized that the effort was really in unlearning the bad habits from my PC days. I realized that the Mac was easier. The Apple-made apps that came with the Mac are powerful and gorgeous. My creativity exploded as I began using the iLife suite and stunning third-party apps to make art of all kinds – musical, visual, and written.

A very messy pair of tables in the living room, each with a Mac. The top of my head is just visible above my Apple Cinema Display.

Sometimes creation is messy

On the Mississippi State campus I started to see MacBooks popping up all over the place. The Starbucks in the student union was full of them. We were all having the same idea. The Mac was taking over. As a web designer and developer I began to see a move to the Mac as the new dev machine. Incredible web authoring tools like Panic’s Transmit and Coda brought the high standard of Apple user experience to development tools. The standard of quality I so frequently encounter in Mac apps has made me notice the difference between good and bad design - a skill I now employ regularly as an interactive designer.

This user experience was not an accident. This was years of research and work by the folks at Apple to prioritize and make the decisions that would lead to that experience. A classic example of Apple’s philosophy on user experience is their original Human Interface Guidelines from 1987.

To be in charge, the user must be informed. When, for example, the user initiates an operation, immediate feedback confirms that the operation is being carried out, and (eventually) then it’s finished… This communication should be brief, direct, and expressed in the user’s vocabulary rather than the programmer’s.

— Apple’s Human Interface Guidelines, 1987, pg. 7

The Mac has given me new expectations of what a computer is. Do I still look at the tech specs? Of course I do. Once a nerd, always a nerd. But now I expect my computer to be friendly. I expect it to be fun. I expect, as a user and a customer, to be treated with respect. I expect for the details to be right. For the hardware to be as beautiful as the software. I expect a perfect balance of form and function. I expect there to be no such thing as a “bad computer.”

An over-the-shoulder shot of my screen, the blank page of a novel staring back at me.

Distraction-free writing during NaNoWriMo.

Obviously, the Mac versus Windows versus Linux debate can never be settled. There is no winner. Your choice of computer is going to depend on your individual requirements and preferences. But for me, the Mac is the highest form of personal computing available. As I sit here and write this on a 27-inch retina iMac, I’m amazed by how far the computer has come from its days as a glorified calculator occupying entire rooms. And that’s not to mention the tablet and pocket-sized computers that (I suppose) are even more popular than their desk-suited counterparts.

Despite frequent claims that mobile devices are going to kill the computer as we know it, that iPhones and iPads will kill the Mac, I’m excited for the future of the Mac. I think it’s going to continue to carve itself out a place for power users and people who use it to get stuff done — whether work or play. Despite Windows’ recent improvements (and Ubuntu in the Linux world) I haven’t seen a machine I would rather use than the Mac. And I suspect it’s going to be that way for a long time.

My decade of Mac saw many historic moments, a few of which include the iPhone launch, the iPad launch, and the death of Steve Jobs. It saw the switch to Intel, the introduction of the App Stores, the birth of retina. It saw my first novel draft and my first paying website gig. It’s been a wild, weird ten years for me and my Mac, but I wouldn’t trade them for anything.

Here’s to the next ten.

A photo of my new retina iMac with a draft of this article on screen.

Writing this article on the 27-inch retina iMac


  1. I’m kind of guesstimating that we got our first household computer in 1996. Feels right, anyway. 

  2. Actually, our first computer had a 90 MHz processor, which is less than half the power of the LG 450 flip phone I just bought which has a 230 MHz processor. 

How to lessen your exposure to Google

I’ll occasionally mention in passing the various alternatives to Google that I use for web browsing, search, and email, but I haven’t talked about it in much detail. I sometimes get funny looks from people when they hear me say that I try to avoid using Google services — like I’m some kind of internet conspiracy theorist. But it’s really not about Google being some kind of big evil company. And it’s not about getting rid of Google altogether. And it’s not even really all about Google. The services and social networks we use every day (e.g., Facebook, Twitter, etc.) collect data about us and use it to target ads at us as well as to inform the development of their own platforms.

This isn’t necessarily an inherently bad thing, but I prefer to take some measures to maintain my personal privacy. What follows is not some kind of idealist manifesto, but rather a measured response to the data collection and user tracking practices that have become an industry standard.

Aside from privacy, I think it’s always good to foster competition. Instead of just defaulting to Google for whatever it is you’re trying to do, consider the other options available.

Search

Perhaps the easiest way to lessen your exposure to Google is to use a different search engine. All major web browsers that I know of allow you to set the default search engine – even Google Chrome. My personal favorite is DuckDuckGo. DuckDuckGo labels itself as the search engine that doesn’t track you. The folks at DuckDuckGo go out of their way to protect your privacy. Unlike many services, reading their privacy policy does not give you that icky, deal-with-the-devil feeling.

In addition to helping you preserve your anonymity in search, it also has some pretty cool features. Like Google, it will often provide answers to your search directly at the top of the page in the form of Instant Answers. There’s some cool stuff here (a stopwatch!) and if you’re the tinkering type, you can even contribute your own Instant Answers.

My favorite feature is what DuckDuckGo calls bangs. Let’s say you’re on DuckDuckGo but what you really intend to do is click the first Wikipedia result that shows up. Simply add !w to the end of your search query and you will be automatically sent over to Wikipedia’s search page. DuckDuckGo has bangs for many other services – including Google (!g) and Google Images (!gi), for those times that you really just need Google. Other favorites include YouTube (!yt), Amazon (!a), and Creative Commons (!cc).

Here’s some more features of DuckDuckGo in a more illustrated format:

Web browsing

I catch a lot of flak for this sometimes, but I like to use Apple’s Safari (instead of Google Chrome) for general web browsing as well as web development. I don’t have any kind of smoking gun regarding Google Chrome and the data it collects. And I’m pretty sure Safari also collects a good bit of information that it sends to Apple. To me the difference is that Google is primarily an advertising company and Apple is primarily a device manufacturer. I feel like Google has a higher incentive than Apple to collect my personal information and use it in ways that I might not be okay with. I do still install Google Chrome on my system as it is an excellent web browser and sometimes I do need it in the course of my job, but my default browser is Safari.

Since I use several Apple devices, I like using Safari to sync my browsing history in order to reduce the amount of typing and searching I have to do to find things like articles I’ve read previously, etc. Again, I know I’m sending a lot of information to Apple, but I just trust Apple more than Google.

And if you don’t really trust Google or Apple, you can always go with Mozilla Firefox.

Ad blocking and browsing privacy

Ads are not all bad, but many websites will run ads and third-party JavaScript that can collect a lot of data, track you, and make web pages bloated and sluggish. Instead of opting in by default to any arbitrary ad or script, I like to turn on ad blocking and then whitelist the services or third-party scripts that I don’t mind running. I install two browser extensions to make this happen: AdBlock and Ghostery. AdBlock does exactly what it says on the tin. Ghostery goes a bit further and blocks all those annoying social widgets and things that tend to slow web pages down. If there’s a widget I really want to see, I can tell Ghostery to allow it on every website or just the one I’m currently viewing. Using ad blockers is not all about getting rid of ads. It’s about protecting your privacy and browsing the web more securely.

Be warned, though, that some websites will put up a wall if they detect that you are using an ad blocker. They may ask you to pay up or otherwise disable the ad blocker on their site if you want to continue browsing. I’ve never hit one of these walls on a website that I wasn’t willing to give up. So when I encounter this practice I usually just leave and get my information elsewhere. I realize that people who run these websites need to make money, but the onus is on them to figure out how to do that in a way acceptable to the consumer. If I choose to go elsewhere, that’s my choice to make. It’s no different than going to the car lot across the street because the one you’re at isn’t giving you a good deal.

Email

I’m saving the best for last because one of the biggest switches I’ve made — and the one I’m probably most excited about – is my email provider. Most people probably don’t give much thought to who their email provider is. And it’s most likely going to be Google or Apple (or maybe Yahoo or one’s ISP). The upside to these services is that they don’t cost you anything. Well, you know, other than your privacy. And not to mention the fact that these services can block you from your account at any time making it impossible for you to access your email. This has happened to people.

You might not think about it, but email is critical to your online identity. I worked briefly in customer support for a well-known tech company and we would get so many requests from people who had forgotten their passwords or had otherwise lost access to their accounts. We would tell them that if they could email us from the email address they joined our service with, then that would be enough verification for us to believe that they were who they professed to be and we could help them reset their passwords. But not everyone would have access to the email address that they had initially signed up with. Because of that we had to tell many people that we could not give them access to the accounts they wanted.

That was just one service. But think about it. Your email is the hub for every online service that you’ve ever registered with. That’s a lot of responsibility, and a lot of trust that you need to put in your email provider.

So several years ago I switched to Pobox, a service that is only about email1. There’s no ads because you pay a yearly fee for your email service. At the time of this writing the cost is just $50 a year (which is about $4 a month). This makes you the customer — not some advertiser that wants your data. If you need help with anything, you can get very timely and helpful support (try getting that from Google – unless you’re an advertiser they’re not going to help you much). You can set up your email account with your own domain name if you choose. This is nice because once you have an email address like name@yoursite.com, you can keep that email address forever, even if you decide to use a different email service in the future. You’ll be able to take that name with you because it’s your own domain name2.

Making a choice

These are just a few of the areas in which I’ve moved away from Google and taken steps to assert some control over my online assets. It’s worth mentioning that I’m not boycotting Google and I still use them at various times for various things. What I’m saying is make a choice — any choice, even Google — over using Google services by default without thought.


  1. Pobox was recently acquired by FastMail, another independent email provider. I’m usually wary of such acquisitions, but in this case it was a good move and it helps ensure that there will be a solid alternative to Big Data email providers for years to come. 

  2. If you’ve been handing out an “@gmail.com” address to people, it can be hard to switch email services when you suddenly decide you don’t want Google bots reading your email. I recommend switching to an email address you control and forwarding your GMail to it. 

Better UI components with KnockoutJS

I used to be a vanilla JavaScript guy, mainly because I took an excellent JavaScript course at Mississippi State. I put off learning jQuery until I couldn’t ignore it any more. And I’m glad I finally did learn it. It became my standard way of adding interactivity and various enhancements to my websites. But when a friend of mine asked me to help him write a smartphone app, I knew I needed something more powerful. New to the world of JavaScript libraries, I chose the one that looked like the easiest to learn—KnockoutJS.

Beyond jQuery

For a lot of people, JavaScript is jQuery. And it’s no wonder, what with its ability to easily target multiple elements and change them to your heart’s content. Even today, that covers enough ground for most projects I work on.

That said, there are times when your UI relies heavily on a changing data set—a filterable product list, for instance. In those cases you could use jQuery (or even vanilla JavaScript). But you would likely be better served by a JavaScript library that offers some form of data binding.

Conceptually, data binding refers to your data set being connected to your interface on a deep level. To continue our example of the filterable product list, imagine that you select a product category from a dropdown and the product list automatically knows how to adjust to your selection. Libraries that feature data binding can help you achieve this effect with less code than you might write with jQuery or vanilla JavaScript.

Knockout vs Angular vs React

I’m sure there are myriad articles out there that go in depth on the pros and cons of the various popular JavaScript libraries. I’m not going to do that here, partly because I don’t know enough about them all. But I have used Angular to make a single-page application. In my experience, Angular needs to control everything. I’m sure that’s not necessarily the case, but I found it easier to drop in Knockout where I needed it. To me, it seemed like Angular had more coding overhead. And you’re constantly trying to figure out the “Angular way” of doing things.

I don’t have experience with React, but from talks and tutorials I’ve seen, it’s verbose and convoluted. Obviously, people use it,1 but if you aren’t a full-blown programmer it’s going to suck for a while as you climb the steep learning curve. And I am not convinced it’s that much better than Knockout.

Knockout and WordPress

Since Knockout is fairly easy to drop in as needed, it makes a good pairing with WordPress. While you could certainly write a completely JavaScript-based WordPress theme, you’ll miss out on all the work that the WordPress templating system does for you. Knockout excels at giving you powerful data binding right where you need it.

Back to our example of a filterable product list. Using either wp_localize_script or a WordPress-flavored AJAX call, you could supply Knockout with the product data it needs and let it loop through and fill out the page for you. That way, you get the data binding magic for speedy front-end filtering, while using standard WordPress template code everywhere else.

A simple demo

Ugh. Don’t you hate when people drone on and on without giving you any code samples. :-) If you have made it this far, I think you deserve a demo.

A simple filterable list

See the Pen Simple list filter with KnockoutJS by Blake Watson (@blakewatson) on CodePen.


In this demo, we’re supplying Knockout with an array of data—a list of people and the categories they belong to.

First, we’re writing a PeopleViewModel object. Then, on line 41, we’re instantiating it and passing it to Knockout for processing.

PeopleViewModel has three properties. The first, people, is just a standard array of objects that we’re passing in.

selectedCategory is a Knockout observable, which means that Knockout watches it for changes and updates our UI accordingly. We’re using this property to tell us which radio button is checked at any given point. In the HTML, we’ve declared that we want the radio buttons bound to this observable. So when a radio button is checked, Knockout automatically updates selectedCategory.

filteredPeople is a computed observable. It uses our selectedCategory observable, but adds some logic. In this case, it checks the selected category and then returns an array of people objects based on that value. In other words, it does the filtering for us. Why didn’t we just use a regular function? Well, since we used an observable, Knockout watches it for changes. Here comes the magic: Knockout knows that if selectedCategory changes, then filteredPeople also changes. This is called dependency tracking, and when we use observables, Knockout handles all of that tracking for us.

If you flip back over to the HTML, you’ll see that we’re using a foreach binding to loop through the array we get from filteredPeople. Inside our loop, each list item has access to the name and category of the current people object. We’re setting the text of the list item to be the value of name.

Hopefully, you can see where this is going. Since our HTML elements are bound to our observables, and since Knockout watches observables for changes, we get a UI that reacts (heh) to the changes in our data, as well as data that reacts to changes in our UI—like when you select a different radio button. This is called two-way data binding and it’s what puts the punch in Knockout.

For complex UI components, try Knockout

Like any library, there’s a learning curve to Knockout. But I argue that its learning curve is easier than that of Angular and React. It’s easy to plop it into a WordPress theme when you need some front-end magic, without it taking over everything. If you enjoyed this article and want more, the Knockout website has some nice interactive tutorials and easy-to-follow documentation. If you would like to see more Knockout tutorials on this site, then get in touch and let me know.


  1. People including developers at Facebook, who created it. 

A geek’s defense of Monopoly

Monopoly gets a bad rap. Though many gaming enthusiasts will turn their noses at the “Property trading game from Parker Brothers,” it remains one of the best-selling board games of all time. Don’t get me wrong, I like a good game of Settlers of Catan or Ticket to Ride, but Monopoly is a classic. It’s an oddball that is misunderstood and underrated by many gaming geeks. Its seemingly all-chance mechanics, excruciating length, and reputation for ending in a slow bleed or a rage quit leave many gamers unimpressed.

Maybe you feel the same way. In which case, permit me to offer some counterarguments to common gripes people have about Monopoly.

It’s all luck

Negative, Ghost Rider. People who believe this probably lose a lot. Sure, chance is a major factor. I mean, every turn requires a roll of the dice. But that doesn’t mean you as a player are powerless. In fact, you can use the knowledge of this chance to your advantage. Consider this: the highest trafficked property set on the board are the Oranges. Why? Several reasons, not the least of which is that they are aproximately one dice roll away from the Jail square, which itself is the most frequently landed on space on the entire board. If you know this, and especially if your opponents don’t, then you have an advantage.

Monopoly is a game of decisions. Every turn (not just yours) presents new ones. Crucially, Monopoly allows trading. You can trade, buy, and sell with your opponents. This is the single most important gameplay mechanic of Monopoly—so much so that it’s right there on the front of the box—and it involves zero luck. This is where you get to use your knowledge of the game and your charisma to bargain with your friends (or enemies!) and enhance your position in the game. No one ever trades with you? Every player wants something. Sometimes people even irrationally favor some properties over others. Figure out what other players want, and make sure that they get it—all while not realizing what valuables they are giving to you in the process.

It takes a long time to play

I’m biased because I enjoy long games. One summer, some friends and I spent three days playing a game of Axis and Allies. But Monopoly needn’t take an inordinate amount of time. One of the main reasons the game can go long is because people don’t play by the rules. Either they don’t know the rules, or they add their own house rules to the game. House rules are Monopoly’s downfall. Tournament player Ken Koury, in his book “Monopoly Strategy,” wrote of house rules:

Of all of the different rule variations I have seen, I have never seen one that makes Monopoly any better. Most of them just make the game longer. These rule changes also have the effect of removing skill from the game and increasing the luck factor. In other words they reduce the skill level needed to win the game. This will only make it easier for lesser players to win. For example, when there is no money on Free Parking, it requires you to develop important skills in managing your assets that people who play house rules will never acquire.

As another example, many players do not follow the rule that governs what happens when you land on an unowned property. The official rules state, “If you do not wish to buy the property, the Bank sells it at auction to the highest bidder.” I was guilty of not following this rule for a long time as well. But by not following it, your game will take longer because A) it will take more time to get all the properties in play, and B) it will take some of the skill out of the game (knowing if and how much you should bid).

House rules and the misunderstanding of the official rules are at the root of why so many people don’t like Monopoly.

The slow bleed of your opponents gets boring

This happens sometimes in Monopoly—a scenario in which one player has just enough of a leg up on the others such that this person is almost certainly going to win while the other players slowly lose their wealth.

But it needn’t be this way. Most likely, one or more of the following problems are causing this scenario:

No one is trading

This is your opportunity to disrupt the field. Convince the other players that action must be taken to ensure survival against the clear winner. Remember, they want something. Help them get it while helping yourself. Don’t be afraid to give other players monopolies. Most people expect to get a monopoly out of a trade. If your strategy in trading is to never let anyone else have a monopoly, then people are going to stop trading with you. You want to be involved in all trading if you can help it. But you have to give to receive.

The players don’t understand the object of the game

The point of Monopoly isn’t to gain wealth. The object of the game is to bankrupt your opponents.1 To do that, you need to develop property to bankruptcy-inducing levels. I once played with a guy would only spend his starting cash, and not his “profit stack”—money which he earned during the course of play. Fortunately, he valued his cash so much that he was willing to sell you properties for cash-only, even if it gave you a monopoly.

If you look at the rent prices on any property’s title deed, you’ll notice that the price jumps significantly once a third house is built on the property. That should be a goal to guide your decisions. Work toward getting one or more monopolies developed with at least three houses on each property (more for the really cheap properties). It’s not about what you have, it’s about the damage you can do.

Players aren’t playing by the rules

I’ve already mentioned how rule variants can ruin a good game of Monopoly, but it’s worth mentioning again in the context of the slow bleed. Rules like the Free Parking jackpot increase the money supply in the game and if a losing player gets it, that can artificially extend their life. If you allow trading of immunity, then you are extending the game by making it harder for the immune player to go bankrupt.2 Read the official rules before playing and make sure everyone agrees to play by the them—with no added house rules.

Give Monopoly a chance

Monopoly is a brilliant game. It affords you an environment where your wit and charm can help you get ahead. Your intellect and sharp thinking can help you make quick decisions that can make or break you. It’s a game of structure, skill, and luck with a healthy dash of creative gameplay built right in.

If this article has made you want to take a walk on the Boardwalk, then I highly recommend Ken Koury’s book “Monopoly Strategy.” Ken’s book was my main inspiration for this article. Ken discusses in depth the strategy of Monopoly, including the pros and cons of every property set on the board, trading strategies, and much more. Just don’t tell people that you have read it, because they might not want to play with you.


  1. Though the official rules say, “The object of the game is to become the wealthiest player through buying, renting and selling of property,” you will note that the rules also state, “The last player left in the game wins.” 

  2. Immunity is the only issue that isn’t really covered by the rules in a clear way. There is a rule that states, “No player may borrow from or lend money to another player.” If you construe immunity as a loan, then offering immunities in trades would be prohibited. This argument doesn’t satisfy some people, so the other argument you can make is that tournaments don’t allow immunity. 

Why Darth Vader can’t be a barista

Why Darth Vader can't be a barista

Previously, on blakewatson.com →