Golden Age

December 17th, 2012

Things were different back when the PC was young. Video games were barely an industry and the PC itself was a mess of devices with bad driver support, incompatibilities, arcane configuration files and very little in the way of help. Yet despite these crippling limitations some of the most unforgettable games were made that endure to this day.

The games were simple at first, abstract. Pixels and beeps somehow built entire worlds for us to play in. But while the visual and aural presentation was primitive, mastery of the game required much higher levels of skill, intelligence and perseverance than today’s average AAA title. I believe this is where I fell in love.

These games were almost always from small independent companies. They had to be, there was no industry to speak of. From this primordial soup emerged companies like Microprose, Sierra On-line, Bullfrog Productions, Westwood Studios, Origin Systems, Brøderbund Software, Codemasters, The Bitmap Brothers and Maxis. Every single one of these was established in the ’80s. Entire genres were born overnight. Strategy games, puzzle games, platform games, side-scrolling shooters, vertical-scrolling shooters, racing games, sports games, adventure games, RTS games, flight sims, space sims, 4X games, sandbox games, the list goes on forever. The sheer creativity and innovation shown during these years is astounding.

And the best was yet to come. We witnessed the golden age of PC gaming in the mid-’90s. Every game seemed to push the limits of what our primitive equipment could do, every title a triumph of engineering, innovation and art.

Slowly though the industry became a business and the indie developer was edged out. The corporate monoliths bought up the talent and the small studios. They started using words like ‘deadline’, ‘console port’, ‘target demographic’, ‘paid review’, ‘franchise’, ‘mainstream’ and ‘holiday season’ with alarming regularity. It was the end of the golden age.

Focus shifted to the consoles in the intervening years, budgets swelled to eclipse even big Hollywood movies and innovation slowed to a couch potato crawl. The industry became a slave to the game reviewer’s 10 point scale. A crude attempt at quantifying the value of a work of art.

But then, seemingly out of nowhere, indie developers got a new lease of life. In the span of three short years XBox Live Arcade, PlayStation Network, Steam and the App Store were all launched. In the case of the app store, the limitations of the medium once again became a source of innovation. All that creativity and innovation came storming back onto our desks, living rooms and pockets. New companies we’d never heard of and solo developers were once again building new things. Minecraft, Journey, Frozen Synapse, World of Goo and yes even Angry Birds are proof of the return of the indie.

But building games is an expensive business. Gamers are fickle and the need for big explosions, photo-realism and celebrity cameos runs deep. For an indie developer to compete with a big name studio they need big money too. And that’s where crowd-funding comes in. Kickstarter and other independent versions of it are allowing fans to pre-pay developers to build the games they’ve always wanted to play.

It feels like a perfect storm. A conducive environment for the sort of games we know are possible but haven’t been made for lack of corporate sponsorship.

I have a soft spot for science fiction and space-based games. This year has seen such an enormous variety of games in that vein that it is difficult for me to see it as anything but a resurgence in quality PC gaming. From FTL to X-COM Enemy Unknown. From Endless Space to Star Citizen. Even the venerable David Braben has thrown his hat into the ring with Elite Dangerous.

I have been playing games on the PC for 25 years. Nostalgia paints those early years in vivid colors of excitement and wonder. I am once again filled with the same emotions when thinking about the future. We are once again, at the cusp of a golden age.

I can’t wait to see what’s next.

Get Google Maps back on iOS 6

September 20th, 2012

I’m not going to beat a dead horse, iOS 6′s maps are a travesty. If you have already updated (like me) or are holding off upgrading because you can’t do without Google’s amazing maps, there is a way forward. Google offers a very respectable mobile web version of Google Maps. Just follow these simple steps and you’ll have the web version of Google Maps on your home screen.

Step 1

Go to http://google.com/maps from Safari on your iPhone.

Step 2

Tap on the arrow like the little bubble helpfully suggests.

Google Maps

Step 3

Choose Add to Home Screen.

Share Options

Step 4

Tap the Add button on the top right.

Add to Homescreen

That’s it. You now have Google Maps back. It runs in Safari and it isn’t nearly as nice as the old app but it’ll have to do until Google releases a native client.

The Fear

November 12th, 2011

I heard that Steve Jobs had died on the morning of October 6th. My mum, also suffering from cancer, died the same morning. They were the same age. The outpouring of grief over Steve’s death washed over the internet with tidal force, but I was dealing with a far more personal loss. As a result, I am much less emotional about his death than I might have been. I appreciate the loss his family have suffered with the clarity that only shared experience can provide, but the only thing I feel is a selfish fear that Apple has lost it’s rudder.

There are two reasons why I use Apple products. The first is because they, more than any other company in this industry, are sweating the details. A hundred little things that would seem superfluous, insignificant or “good enough” are lovingly implemented, refined and polished until they shine. Apple places high value in craftsmanship. As someone that earns their living with these products I really appreciate that effort.

The second is difficult to describe but is perhaps just another facet of that craftsmanship. Apple’s products are infused with a design sensibility and aesthetic that is hard to articulate. It’s in the feel of a Mac keyboard or in the heft of an iPhone. It’s the way everything, hardware and software, works in concert for a better user experience. That stuff is really hard to get right. It requires vision, focus and taste. As anyone that works in design will tell you, the vision of a design very rarely gets better when subjected to a committee. Focus requires discipline, ruthlessness and judgement to know what is indispensable and what is inconsequential. Taste cannot be taught, you either have it or you don’t. All this and so much more flowed from Steve.

Therein lies the rub. I don’t believe these traits can be institutionalized. It takes a dictator, not a parliament, to create these products.

There are many incredibly talented people at Apple. Tim Cook is a man that epitomizes the role a CEO should play. Apple under Steve always built products that people loved using, but Cook made them cheaper and at a scale that allowed Apple to flourish. One need look no further than the latest offerings from Dell, Samsung, ASUS and HP for proof that Jony Ive’s designs are the best in the world, worthy of being copied shamelessly. I don’t know what Phil Schiller does, but Gruber assures me he is indispensable. These employees and hundreds of others are undoubtedly the ones responsible for 99% of the work that goes into the shiny new objects that Apple builds. All of them have been given stewardship of Apple. But I fear Apple doesn’t need stewards. Apple needs a king.

We will not be able to gauge the impact right away. By all accounts (including Isaacson’s biography of Steve) there are at least 5 years’ worth of amazing products already in development. Obviously Steve will have had a declining influence on the final output, but they were still conceived while he was around. What happens after that is anyone’s guess.

If anyone ever had the capacity, the personality and the sheer unmitigated gall to build a company in their own image, that person was Steve. Alas, only time will tell if he succeeded.

Social Editors

April 27th, 2010

Computers are crap at figuring out what I want to read. Half the reason I subscribe to blogs and follow people on Twitter is to discover new things that I would otherwise never find. This list of trusted subscriptions/follows has been built over time, lovingly maintained and brutally culled to distill what I consider to be the highest quality hyperlinks from a sea of unworthy impostors. There is nothing special about this, everyone I have met that understands how this stuff works has some similar index of people they trust to provide grade-A content for daily consumption. We are in effect selecting editors for our own personal web digest.

Several very smart people and many smart companies (Google included) have been trying to build an engine capable of discerning the quality of digital content. At it’s heart this is what Google’s search engine does. It identifies content that is of the highest quality in relation to a specific set of keywords (your search query). As I’ve written in the past, knowing how to search is a real skill and one that must be taught. Google probably has the perfect answer to your question but you have to be able to phrase it right and Google has to have it indexed right. Clearly this does not always work out and it is the reason sites like Mahalo exist. Mahalo attempts to throw humans at the problem (and does a pretty good job of it) but you still need to know what you’re looking for. Discovery is difficult on sites like Mahalo and damned near impossible on Google.

Which brings me to the App Store and Apple’s recent hire: Matt Casamassina (IGN’s veteran Nintendo editor). His role is to manage the editorial content on the App Store. I gather this amounts to drawing your attention to the gems that are otherwise buried at the bottom of the pile. As anyone who has tried to use the App Store to discover content will tell you, it’s like searching for a needle in a haystack. Having an editor whose job it is to review and rate games with a presumably unbiased and highly trained eye is exactly what the App Store needs. But is it any different for the web at large?

I consider an unedited App Store to be analogous to sites like Digg and Reddit. The App Store (and Amazon as well) has a rating system that roughly equates to the voting system on Digg and Reddit, ditto for the comments. The point is it’s democratic, so every idiot on the internet has the same say. What we need is to be able to pull over our editors from Twitter/Facebook/RSS and only see votes from them. What we need is a reputation bias that skews all these votes and comments so I only see the ones that I (or people I know) care about. It effectively edits the web and adds a new dimension to relevance. Oddly enough I think Google is the most likely place for something like this to work. Google already knows who your friends are and what pages/feeds you are reading. Getting more data is only a couple of Twitter API/Facebook Connect calls away. We could have search results that tell you if your friends/follows clicked on any of the links on the page, or better yet only show you links that they interacted with.

Imagine the live feed on that thing. That’s the real social web.

How to deal with Terror

February 14th, 2010

I’ve been to the German Bakery with old friends many times over the course of my time in Pune. I haven’t been there recently but I drive past it virtually every day. Yesterday terrorists planted a bomb there and it killed (at last count) 8 people, and injured several more. So, this is terrorism close to home. Reactions from the social networks (which always have the drama dialed up a couple of notches) are along the lines of “I can’t believe this would happen in my city” or “The cops failed miserably”.

Really? This is the reality of living in the world today. While you’re not so likely to be killed by, oh I don’t know, the Bubonic Plague, you could be attacked by a terrorist. If you expect the police to catch every terror plot that some sick mind dreams up, you would live in a police state. You would lose the freedoms you hold dear and the same people clamoring for the police to do more would be the ones screaming that they have too much power. The balance between security and freedom is precarious and swings both ways. I think we (India) do a pretty good job of balancing those two ideals. The cops were there quickly and seem to be far better prepared than we give them credit for. The government has moved swiftly and clearly the lessons of the Taj have not been forgotten. I call that progress.

Any place in the world worth living in is a place worth targeting. The reason these places are worth living in is because they value an individual’s freedoms. Removing those freedoms makes the people sad and hands victory to the terrorists.

The other prevalent sentiment in everything I have read on the TwitBook (or Faceter, if you prefer) is one of helplessness. “Is there anything we can do besides post empty words on social networks?”. Yeah, you could go out and celebrate Valentine’s Day. If you genuinely want to help defeat terror and terrorism the answer is simple. Don’t get terrorized. For a terrorist to succeed, he must deliver terror. If you don’t get scared he is impotent. By being afraid we are all willing contributors to terrorism.

The likelihood of dying (especially in Pune) from a road accident is several orders of magnitude higher than getting blown up by a bomb. One could even argue that a few bus drivers have malicious intent. Yet we don’t call them terrorists, because we don’t get terrorized. The unfortunate truth is that if you’re unlucky enough to be there when this sort of thing happens, you will die. Is your need for safety greater than your need to enjoy your life?

A life you don’t live is still lost.

Windows 7

December 13th, 2009

After a couple of years without a dedicated Windows box (I used my previous MacBook Pro for everything) I got a new PC when Microsoft released the public Windows 7 release candidate ultimate evaluation download version thingamabob doohickey. The rig was built primarily so I could catch up on all the games I missed out on during my self-imposed sabbatical from the platform (thanks, in no small part, to the terrors of Windows Vista). Secondary applications include it being my .NET development environment which barely sees any use any more and more recently it has also morphed into a file-server/RAID. For the next couple of months the days were full of work on the new MacBook Pro and the nights were a flurry of Fallout 3, Mass Effect and Team Fortress 2.

I have had to run OS X and Windows side by side and shuffle between them before. It is jarring when I switch from one to the other: things are in the wrong place, I keep trying to trigger Expose or get to the desktop by using Active Screen Corners, finding applications in the goddamn Start menu takes an age, I stare blankly at the Control Panel trying to figure out what the hell the icons mean (they renamed Add/Remove Programs for God’s sake), the hideous system tray stretching out to infinity chills my very soul. You get the point.

What I realized during this heavy-duty play is that much of this annoying nonsense that Windows XP humbly began and Windows Vista took to unfathomable depths was magically fixed in Windows 7. In my view the last good operating system out of Redmond, WA was Windows 2000. That is until, they switched back to actual version numbers.

Microsoft, true to form, fixed Vista by flat out copying OS X. Now, contrary to the traditional Mac fanboy’s reaction to this, I am a a firm believer in stealing everything you can get away with. After all, Apple is no stranger to this sort of “borrowing” of ideas. Remember when they ripped the still-beating heart out of Xerox PARC and sold it as Mac OS back in 1984?

So the new Taskbar in Windows 7 looks more like the Mac OS Dock than the old Taskbar. You can even rearrange the icons while the program is running ala OS X. I don’t use the Start menu any more, and even then I’ve taken to using it like I do Spotlight on the Mac. Even the system tray has monochrome icons now, I wonder which other OS uses monochrome icons in the tray? And look! moving your mouse into the bottom right corner shows the desktop just like Active Corners! You don’t quite get Expose but hovering over an application icon in the Taskbar allows you to see the windows that are open in the app. It’s a nice touch (that Snow Leopard promptly copied, by the way).

It is also stable. Sure apps crash and I’ve seen a couple of blue screens, but really I’ve seen about the same number of grey screens on my Mac. Compatibility with older apps hasn’t been much of a problem for me. Games have all worked really well. I can’t remember having downloaded any drivers other than the usual video card stuff. UAC is still a little annoying but it seems to behave itself and doesn’t constantly ask you incredibly stupid questions. In other words, Windows 7 is what Windows Vista should have been in the first place.

It is the first time since Windows 2000 that I have enjoyed using a Microsoft OS. And that boys and girls, is what a good operating system is all about. Making your computer fun to use by being easy, intuitive and responsive. I’m not giving up my Mac any time soon but at least I don’t cringe if I have to work in Windows any more.

Add Movies and TV shows to iTunes

September 17th, 2009

Everywhere I looked people were recommending the use of either Handbrake, VisualHub or iSquint to make videos iTunes compatible. They all work but require fiddling with settings, iTunes hackery and obviously aren’t from Apple. One would be forgiven for thinking that Apple didn’t approve of this sort of importing given that these tools existed for this very purpose. Little did I know QuickTime has been exporting to iTunes forever, making it possible to convert downloaded movies into iTunes compatible formats so you can load them onto your favorite Apple device. However, this export option has always required the Pro license of QuickTime. At least that was the case until Snow Leopard and QuickTime X.

In Snow Leopard the plain old QuickTime Player has a Share menu which lets you export any video that QuickTime can read into iTunes formats for iPod/iPhone, Apple TV and “Computer”. The shared videos are added to your media library and can then be synced with whatever device you choose.

Three easy steps:

  1. Open the video you downloaded in QuickTime X
  2. Click on the Share menu and select iTunes…
    Where to find the Share with iTunes link in QuickTime X
  3. Choose the output format of your choice, keep in mind QuickTime will not scale your movie up, so your choices are limited based on the current resolution of the movie. You’ll find that only True HD movies (1080p+) can be exported to Computer format. Don’t worry about it, just choose the best option it gives you.
    The dialog that shows options for Exporting to iTunes

That’s it! Nice and easy.

For those interested in the actual output resolutions, the answer is it depends on the source resolution. By and large the iPhone/iPod size will try to constrain the width to 640 pixels. Apple TV will attempt to get close to 720p and Computer will attempt to get close to 1080p.

WebGL

September 15th, 2009

Somehow this slipped under my radar. Apparently both Mozilla and Webkit have gained experimental support for WebGL. WebGL is going to expose OpenGL ES 2.0 (the same version of OpenGL you find in an iPhone) in JavaScript to be rendered inside a canvas tag. This is without a doubt, the most exciting thing to happen for web-based games ever. It ends up being a standards based, platform agnostic, hardware accelerated rendering method bundled as an extension to JavaScript, using a tag that is already part of the HTML 5 standard.

This is a huge piece of the puzzle that is going to allow the creation of web-based 3D games that can take advantage of hardware acceleration. So which pieces are missing? Not too many as it turns out. New implementations of JavaScript in both Firefox and Safari are very fast, making render loops and input capture entirely possible within the browser window. Video and audio have both got standards support in HTML 5. The only thing I can think of that’s missing is server initiated communication and peer to peer networking that would be necessary for real-time multiplayer games. Yeah you can poll a server making it possible to have multiplayer turn-based games or even real-time games where latency isn’t an issue. For 3D shooters and MMOs however, I would wager the networking piece is still mighty important.

Can’t wait to get my hands dirty with this stuff.

Convert SSL Certificates from Apache to IIS

September 9th, 2009

I’m posting this so I don’t need to go hunting on Google (which was surprisingly tight-lipped about the right solution) the next time I have to do this. If you want to convert a certificate issued in the .crt & .key formats for Apache to the .p12 format favored by IIS you need to run this command in linux:

openssl pkcs12 -export -out iis.p12 -inkey apache.key -in apache.crt

Replace IIS / Apache with the appropriate filenames and you’re done. The .p12 file can be directly imported into the Certificates MMC Snap-In on Windows for use in IIS. The command works on any system that can run openssl, including Mac OS X.

On Internet Explorer 8

August 23rd, 2009

Internet Explorer 8 comes with two different rendering engines. “Standards Mode” (they use the term loosely) and “Compatibility Mode”. I’m not going to debate the reasoning behind their choice to ship the browser in this form, smarter people than I have already beaten that horse to death. The problem I have with it is that by default IE ships with a setting that makes anything on your LAN show up in compatibility mode. The button to switch to standards mode isn’t displayed, and worst of all, there is nothing that tells you it is IN compatibility mode.

I recently discovered this when, after carefully testing a site in Internet Explorers 6, 7 and 8, I committed the release to the SVN repo and published it to the staging server. A quick test showed IE8 issues that weren’t there on my local version. Turns out the problem was this default compatibility mode setting. You can turn it off by going to “Tools > Compatibility View Settings” and unchecking the “Display intranet sites in Compatibility View” option. They did this to ensure old intranets are compatible with IE8 out the box, but in the process put every web designer in the awkward position of not knowing their site is broken until they upload.

Internet Explorer 8 isn’t all that bad. It does a pretty good job of fixing the (not so) little things that drove us crazy in previous incarnations, but it’s far from perfect. In the very likely event that you need to code some IE8 specific styles I recommend using conditional comments. In this case I needed one set of modifications for IE6, 7 and compatibility mode 8 (which mostly behaves like IE7) and another for IE8 specifically. To achieve this I used the following code:

<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="css/ie.css" /><![endif]-->
<!--[if IE 8]><link rel="stylesheet" type="text/css" href="css/ie8.css" /><![endif]-->

It uses one stylesheet for everything less than 7 and another for IE8 specifically. Works like a charm, hopefully until IE9 comes along.