Tuesday, June 19, 2012

Not Road Ready

Game Dev Gone Rogue was on the road last week (sorry for the late post!), and I discovered that I was not ready for it.

I didn't expect to do much work on the road, so it wasn't a big setback. It was a big surprise, though. I thought I might share some of those shortfalls for other indies looking to do a lot of dev on the road.

Public Wi-Fi
One afternoon, with a couple hours free until I was meeting someone, I settled down in a Starbucks, ready to partake in free wi-fi and get some business done.

Not so fast! It was free public wi-fi, and had no encryption. Huh, I thought cafes usually doled out access passwords at the counter, or had them up on the specials board. Nope!

Unfortunately, that put a damper on my internet usage. I wasn't really prepared for the wild world of unprotected surfing. Some things worth considering if you're looking to prepare your kit for public surfing:

  • Network Settings - Check your computer's network settings, and ensure you're not open to attack. Switch off file and printer sharing, network discovery, and consider enabling your firewall (if it isn't already). My laptop rarely (if ever) left the house, so it was completely unprepared for the rigors of public security.
  • SSL/https - In general, you're probably better off not using sensitive services while on a public network. But if you must, be sure to use their secure login options (preceded by an https:// instead of http://).
  • VPN - If you're planning to do a lot of working on the road, you may want to setup a VPN. Services like HotSpot VPN offer by-the-day or by-the-month service, which you can use to connect to the web securely, even in public spaces. Another developer I talked to setup his own company VPN, and uses that.

Lastly, you could just turn off your wi-fi. In the end, this is what I did. It cramped my ability to do anything online, such as monitoring forum posts, email, and cloud documentation, but it also guaranteed wi-fi security. Plus, the lack of internet always boosts my coding productivity!

Customer Relations
While on the road, I didn't expect I'd have much time to deal with customer concerns, so I let my customers know I would be on the road for a bit. I still checked mail periodically, but I wasn't always-on.

Notifying customers like this is a courtesy I think they appreciate, and can plan for if they had questions or were waiting for an upcoming feature.

I also re-learned a lesson in reading customer comments: don't do it unless you're ready to deal with it. Unfortunately, just before heading out to meet some friends, I read a comment that was fairly negative about NEO Scavenger. This left me distracted and anxious for quite a while afterward, eating into my enjoyment of the evening.

I learned this lesson once before when reading feedback on a somewhat controversial blog post I made. In that case, I checked the comments just before heading to bed. As above, the lingering thoughts I had after reading negative comments stuck with me, keeping me awake for some time.

I always welcome valid feedback, and the above cases are no different, but I make it a rule never to read feedback until I have time to address it.

Spambot Defense
If you have forums, you've had to deal with spambots: automated software that posts spam on your forums, clogging threads and sucking the life out of them. It's an on-going battle, and warrants constant vigilance.

Unfortunately, my battle was just ramping up before I left on holiday. Dealing with spambots required a few minutes of my time each morning, and I overlooked that. By the time I had been on the road a few days, those spambots had free reign and were starting to become a real issue.

I had a few chances to login and snipe them, but I really should have squared away some better defenses before taking off.

This list isn't comprehensive. There are additional things to consider, such as password-locking your OS, using a data stick or phone to connect via 3G, etc. However, the above are some very basic things I should've dealt with before heading out.