My Strategy for the FlightControl Game for iPhone

May 8th, 2009

I want to blog more, and this is something that wouldn’t fit in a tweet, so here it goes. These are my tips and tricks for playing the FlightControl game for iPhone. I recently landed over 500 planes in a single game. That puts me in the 99th percentile of players according to their statistics. So… I know what I’m talking about.

I’m going to assume you know the basics of the game. It’s pretty easy. If you don’t, you should just buy the game and give it a try. It is dead simple to learn, a lot of fun, and addicting.

Try to set up flight paths which won’t collide with anything that already has a flight path as soon as possible. If you aren’t certain whether a collision will happen or not, just keep the plane out of trouble temporarily and make a flight plane later.

Don’t think too long on any one thing. Make a decision quickly, and move on. Always keep a watch on the big picture, especially the edges where new planes come in. Don’t focus on one plane, or group of planes for too long because you won’t see the new planes coming in, and they will crash because you haven’t given them a collision-free flight plan.

After playing for a while, you will realize that the slower, non-pink aircraft usually won’t have very much flexibility in their flight plans. Because they are slow, they stay on the screen longer, taking up valuable airspace. So, you usually want to put the slower planes on a straight path to their landing locations, and make the faster ones take less direct routes if they need to go around the slower ones.

I find that the pink airplanes are the main ones I have trouble with. The key is to get them to land as soon as possible. What that means is that you should get the planes to be as close together as possible.

Remember what I said about getting a collision-free flight plan in place for each aircraft as soon as possible? Well, if you do that, it can be difficult to pack them in tightly. So, what you do is adjust. Start from the airplane closest to the runway and adjust its path so that it goes straight in. Take the next closest airplane and make its flight plan shorter, but not so short as to bump into anything.

Since the larger pink planes move faster than the smaller ones, sometimes you can get into trouble where a larger plane and a smaller plane share the same flight path, and the larger catches up with the smaller and crashes. You have to take this into account. It can be helpful to group planes. So, land all the large pink planes one after another, then land the smaller ones. There’s a contradiction here that you have to keep balanced. On the one hand, you want the slower planes to have straighter paths to get them off the screen faster. On the other hand, you want the faster planes to go in before the slower planes since you might have the faster planes run into the slower planes if you did things the other way around. Which strategy you take at which time depends on the positions of the planes and how many planes are currently on the screen.

There you go. There are my tips and tricks for the FlightControl app for iPhone. Hopefully you found these tips useful in your air traffic controling.

The Next Chapter

April 16th, 2009

Dear family, friends, colleagues, blog subscribers, twitter followers, facebook friends, acquaintances, Jeff Bezos, and random internet stalkers,

Here’s the short version of this for people who don’t like to read a lot, and just want the facts:

  • I’m quitting Amazon.
  • April 17th is my last day
  • May 12th I will be moving to Ann Arbor, Michigan
  • I’m starting a software company initially employing me, myself, and I
  • I plan to launch a web app at the first Twitter conference on May 26th
  • I estimate I have more than a year’s worth of personal runway to figure things out

I’d like to tell you all about the start of the next chapter in my life. But, before I do that, a condensed history. I don’t want to spend too much time on the past, so I’ll just say this… I was born, raised, and went to college in Michigan. Go Blue! I studied computer science, and one summer decided to learn web development. That led me to an internship and then a full time position at in Seattle, WA. The thing is though, I want to build my own software products. Basically, I was doing the type of work on wanted to do (namely web development) but not building the type of software that I wanted to see exist in the world.

Amazon is a great company. They are going to do just fine. I’m actually going to keep my stock, and maybe even buy more. Although, if I’m going to do serious investing in the stock market, I’ll have to look at the companies and pick ones I really believe in. Palm may actually be one of those. Their new Web OS on the Palm Pre looks pretty darn impressive.

Amazon is no longer a start up. Too much friction to get certain things done. My guess is that this problem is not unique at all to Amazon… any big company has issues like this to deal with. Once you have a lot of revenue, any change could have a big impact in the business. Since a startup, by definition, doesn’t make a lot of money, changes to the business or the software won’t have as big of impact in absolute terms. It’s all about risk verses reward. In a large company, you can spread risk across many different projects and people in the company. This is one reason why Amazon is able to do so many innovative things. They can take risks in certain areas like Kindle, AWS, AmazonFresh, etc, and even if those projects fail (which I actually doubt they will) Amazon itself will be fine as a company.

When I was an intern at Amazon, Jeff Bezos (the CEO) gave a short talk, and then left most of the time for Q&A. The question I asked was why he thinks Amazon was able to survive the dot com bust. The answer he gave was basically that the business metric graphs had very little relationship to the stock price. Even though the stock price tanked, Amazon as a business was still growing. Also, Amazon has very long term view of things. There is little to no change in strategy in tough times. It’s always lower prices, more selection, and relentless focus on the customer. I think that is as much true today as we go through this recession, as it was during the dot com bust.

I’ve wanted to do a startup for a long time, but didn’t want to spend the time looking for funding. I’d rather spend the time building the software instead. People have told me that it is generally a good idea to build it first, before you start looking for funding. I still would rather not have to spend the time seeking out funding for a startup. So, I’m going to start by bootstrapping instead. This means that I will have to have revenue very early on, ideally on day one. So, I’ll be doing some experiementing with that model over the next few months.

Why am I moving back to Michigan? Well… my family lives there. I have some friends there. There is a small, but growing tech community in Ann Arbor. It is much cheaper than Seattle.

I’ve just jumped off a cliff, and I’ll be building the airplane on the way down. I estimate that I have more than a year’s worth of falling before I hit the ground. Wish me luck!

Gmap Uploader now supports DeepZoom/Seadragon

December 14th, 2008

Now, all images that have and will be uploaded with Gmap Uploader will be available via the Deep Zoom URL format which means you will be able to view your images with Seadragon AJAX in your browser, and Seadragon Mobile on the iPhone.

So, either upload your image to Gmap Uploader, or go to the URL of a Gmap Uploader map you already have. After its done processing, at the bottom there will be a Deep Zoom URL. You can use this URL with either Seadragon AJAX, or Seadragon Mobile.

For Seadragon AJAX, I recommend putting this URL in the Embed The Viewer tool.

Once you’ve downloaded Seadragon Mobile to your iPhone, and opened it, follow these steps:

  1. Press the plus button in the bottom right of Seadragon Mobile.
  2. Select “Deep Zoom Content”.
  3. Pick a name, for example, “Awesomeness”.
  4. Enter the Deep Zoom URL from Gmap Uploader.
  5. Press the “Done” button.
  6. Be amazed.

Adding this feature probably means I need to change the name of Gmap Uploader. Any suggestions?

Welcome to the Era of Cloud Computing

November 18th, 2008


I declare that we have officially entered the era of cloud computing. Instead of programming directly to operating systems that run on a single machine, we write code that runs on any number of machines. This is a huge shift. Even the web era was usually about a single machine. You had one web server, unless you were a large website, in which case you would have more than one web server behind a load balancer. Even if you had a handful of web servers, you probably still only had one database… as big a machine as you needed to fit your data. Only a few companies needed more than one database. Most companies don’t necessarily need more than one database, but if they suddenly do, there was a lot of work to be done.

Now, with Google App Engine, and (I think) Microsoft’s Azure, you write code, but then don’t know (or care) how many physical machines it actually runs on. This is great because no longer do application developers have to worry about how many machines their are. No longer do developers have to worry about how to scale. Even with Amazon EC2, you have to care about how many machines you have. If you don’t have enough, either you or your software has to detect that and get more machines. You pay per machine per hour, whether or not you are actually using the compute cycles. At least with Google App Engine, the level of granularity is dropped down to the number of compute cycles you use, instead of the number of machines you have.

This is a pretty exciting time. There is a lot of ground to cover still in the area of cloud computing. I think there will be a lot of innovation in the coming years in this area. My next post will talk about the differences between the different clouds. As of now, Amazon has a cloud, Google has a cloud, and Microsoft has a cloud. There are also other less well known companies offering cloud-like services such as Slicehost which was recently bought by Rackspace, Joyent, GoGrid, and Media Temple. There’s even some companies poping up that will offer telephony services in the cloud such as Twilio.

UPDATE: The conversation continues in the comments. Come join us!

Ass Clown Video

September 6th, 2008

WTF is this ass clown video?

Such a waste of money. It’s not funny. It’s not informative. It doesn’t even make sense. I’m sorry, but what the hell is Microsoft up to?

The only reasons I’m re-posting it is so that we can all laugh at it, and so you can form your own opinion of the video if you want.

What’s Great About On-Demand Internet TV

July 7th, 2008

You know what’s great about on-demand internet TV? You can link to it!

I was reading a Twitter blog post, which linked to a TechCrunch post, which linked to an episode of The Daily Show which referenced Twitter. Links… its all about links to more information.

Why Live Search Cashback Won’t Work

June 8th, 2008

Live Search Cashback and why it won’t work.


May 26th, 2008

Announcing My Retirement (From Mapping Projects)

May 12th, 2008

I am officially announcing my retirement from mapping projects as of today. Today coincides with the start of Where 2.0 which I attended last year. Some may know that I decided not to go this year. Along with Where 2.0, there were also two related events, Google Developer Day and WhereCamp which I attended. Google Developer Day which was free at the time has turned into Google I/O which now charges the equivalent of about 1 iPhone. WhereCamp kind of rode on the shoulders of Where 2.0 as a smaller free unconference for people really interested in geo stuff.

I’ve always been interested in maps. When I was a kid, I would always want to be the navigator with map in hand while riding in the car up north with my family. In boy scouts, I was very interested in orienteering… starting from a given point, navigating to other points using a compass and a map, or sometimes only a compass. Once GPS devices got cheap enough I bought a simple, but proven Garmin eTrex and went geocaching with it. When the Google Maps API came out I got really excited and started developing all kinds of different things with it. I even created a maps subdomain and titled the page Kyle Mulka’s Google Maps. While in college, I worked with my good friend Dan Feldman on a site called liveUgli, which was a real-time study buddy finder. We used the Google Maps API, but instead of the typical world map, we used floor plans of the major study locations on campus. In order to make the site more extensible, I developed two offshoot projects. The first, Gmap Uploader, had the goal of making it really easy to get floor plans into the system. The second, Cartiki, which actually uses the Gmap Uploader, was designed to make it really easy for users to edit the locations in the system.

So, why am I doing this you might ask. Well… there’s a few reasons. The mapping projects that I have worked on so far haven’t gotten much usage. When I was playing around with the Google Maps API, I wasn’t really interested in web mapping itself, I think I was more interested in just playing around with new and cool technology. With the liveUgli, I was interested in making the life of college students better. With the Gmap Uploader and Cartiki, I was interested in building reusable components that could not only be used for liveUgli, but could be used by other developers for their projects. So, I get the feeling, I wasn’t really into mapping so much as the technology behind it, and then the applications of it. Now, I feel as though I have exhausted the interesting and useful stuff (at least to me) in the mapping space, I’m going to move on to other, more interesting things. Hopefully nothing too revolutionary (like the Google Maps API when it came out) gets released at Where 2.0 that will cause me to change my mind.

What am I going to do if I’m not going to be working on mapping projects? Well… I’ve got a few other things up my sleeve, which I will tell you about in more about in upcoming blog entries. Also, don’t forget that my day job at Amazon doesn’t have anything to do with maps, and they disbanded A9 Maps, the only mapping project they had, a while back.

So, if the only reason you are subscribed to this blog is because of your interest in Google Maps, maybe now is a good time to leave. Or, you could stay and read about my new adventures in the next phase of my life.

Snowing in April?

April 20th, 2008

It really shouldn’t be this cold in Seattle this time of year. I guess I wouldn’t know since I’ve never been in Seattle this time of year… but it has only been this cold a couple times this winter. It even snowed a little the other day.