What I learned from reading the Android user manual

I love my Nexus One Android phone and, in general, I’ve found the user interface to be very intuitive. However, I recently discovered that there’s a 340-page [user manual](http://www.google.com/support/android/bin/answer.py?hl=en&answer=182077) for Android. I decided to read the whole damn thing and find out if there were any great hard-to-find features or tricks in there. I learned a bunch of stuff that probably should have been obvious but I also made some nice discoveries.

### It’s easier to use the trackball to position the text cursor and select text.

I had been trying to use my finger on the screen to position the text cursor, that usually required extreme accuracy and multiple tries. The manual points out that the trackball is much better for this.

### International dialing: touch and hold 0 to enter a “+”.

I’m probably the only idiot who didn’t know this.

### That scroll icon on the bottom left corner of the Phone app is the access voicemail button.

Again, this is probably a universal symbol that only I hadn’t figured out.

### Touch a contact’s picture to bring up the quick contact menu.

Wherever you see a contact’s picture or icon, such as a shortcut on your home screen or in the contacts list itself, you can touch it to bring up a neat quick contact menu with icons for each contact method for that person.

### Compass Mode in Street View is really cool.

This seems like a pretty buried feature to me so here’s how to get to it. Open Maps, then long-touch a point on the map you are interested in. A balloon will appear with the address and place name. If Street View is available at that location, there will be a photo thumbnail next to the address. Now touch the balloon to open an info screen for the location. On that screen you’ll see a Street View icon which you can touch to open Street View. Just this much was new to me, I hadn’t realized you could access Street View from Maps. It get’s cooler though, touch menu and select Compass Mode. Now you can tilt, pan, or turn your phone to look around.

### In Gallery, you can peek into an album stack by touching it with two fingers and spreading them apart.

This doesn’t seem terribly useful to me but it’s kind of a neat effect.

### In album view, touch Menu twice to enter batch mode.

I never would have figured this out on my own. Very useful for photo management.

### Hello, augmented reality.

I haven’t seen this work yet but the manual claims that Goggles will display nearby locations once it has a GPS lock.

### The rest are self-explanatory:

  • In Music Playback, touch and hold track information to search for it with various apps.
  • In Weather, touch the screen for details and then touch the hour of the day for the forecast for that time.
  • Drag the Calculator screen right to left to access advanced functions.
  • In Calculator, roll the trackball down to access previous operations.

Memory will be the real performance bottleneck on your VPS

This well-done benchmark comparison of several Virtual Private Server vendors gives me warm and fuzzies that I chose Linode for my new hosting provider. However, the benchmarks chosen mostly test CPU performance and the bottleneck when hosting a dynamic web site is likely to be memory capacity.

The number of requests per second that your server can handle is determined by the maximum concurrent requests possible divided by the time in seconds to handle each request. Each Apache process running WordPress PHP scripts via mod_php consumes about 20 MB on my Linode. This means I can only run about 10 Apache processes and therefore handle 10 concurrent requests. If each request takes 150 milliseconds to process, 50 milliseconds transfer time and 100 milliseconds processing time, my server can handle 10 / .15 = 66.67 requests per second. Let’s assume another VPS vendor provides the same 360 MB as my Linode account but the CPU is half as fast. The requests might take 250 milliseconds so the server could handle 10 / .25 = 40 requests per second. In this situation, the faster CPU is a clear win. But several of the vendors in the review provide significantly more memory than my Linode account. If that slower processor came with 1024 MB memory, it could maybe run 45 Apache processes and serve 45 / .25 = 180 requests per second, far outstripping my supposedly faster Linode.

As you add memory to a server, CPU will eventually become the bottleneck again, but my Linode rarely goes above 1% CPU utilization while serving 66 requests per second, so I think that number is probably quite high. There are also other web servers and Apache configurations that are a bit more memory efficient than what I am talking about, but with all of them you will still be limited by the number of 10-20 MB PHP processes you can fit in memory.

I don’t regret choosing Linode as my VPS provider, they have great support and nice management tools. I also don’t expect to get anywhere near the traffic levels I talked about above. But if you are evaluating VPS vendors based on how much traffic you handle for the money you are paying, be sure to consider memory capacity.