At this point I am sure that you have heard about cell phone companies trying to limit data use (at least in the US). Sure I’m not a huge fan of this move but I understand why the change is underway. Some providers (like T-Mobile) still offer unlimited plans. However, to limit use even for these user T-Mobile supposedly reduces transfer rates once you exceed 5GB of data use. This shouldn’t bother too many people since getting close to that limit is very hard.

When I read that last bit of info about T-Mobile it got me to thinking, why not charge for speed and not amount? The strain on the networks is coming from the large bandwidth demand which is slightly related to the amount of data a person uses. If instead of partitioning individuals based on amount of data used, instead do so based on how much they are willing to pay for speed. Cable and DSL providers have been doing this and it seems to be working just fine. Furthermore, with capped speeds you in some ways have also set a theoretical limit on data usage. Plus I don’t think you’ll lose money if you use a reasonable pricing model. Most of the high data users will want the faster/fastest speeds, as it will be the only way they can continue doing what they have been doing. The real bonus is that some more moderate users will be willing to pay for higher speeds resulting in a gain for the company. This won’t put anymore strain on a network since as things are, everyone is getting “premium” speed. So why not cut some “dead weight”?

This post was typed on my Nexus One so please excuse any spelling errors. I have tried my best to eliminate as many as possibe.

Well I’m not the first person to buy a Nexus One in America, but I’m one of the last to do so. As a responsible consumer it is my duty to share my experiences with you readers. I’ve had the phone for a little more than a week and thus think I know how I will be using it for the most part. Before I start I would like to mention that the biggest problem I have with the phone is my phone number. This has nothing to do with Google/HTC, but rather T-mobile, so this little issue won’t be making it into the review.

At first I thought about just having this review be another pros/cons list. But when I started there were many things that fell into both categories. So I realized it would be easier, and a little more organized if I just commented on each aspect one at a time.

OPERATING SYSTEM: This is a big plus. The Nexus One is the only phone currently on the market running a legitimate version of Android 2.2. Although the phone ships with version 2.1 it starts to download the update soon after activation. There is a noticeable speed difference between the two versions. Also the ability to use the phone as a wireless hot-spot is wonderful (in my case it doesn’t cost me any extra for this feature). The added flash support doesn’t hurt either. For more information about the update just look on any tech website/blog, or even do a quick search for ‘Android 2.2’.

USER INTERFACE: The screen is usually quick to react to all of touch commands. When this isn’t the case, it is almost always do to an application freezing, something the phone can’t take all the blame for (I’m looking at you app developer). The phone comes with 5 screens for you to place icons, for me this is a bit much since I only really use 4. For those of you that are used to using the HTC Sense UI that comes with 7 screens (or so I have read) this might feel like a downgrade. Another thing that matters is screen brightness. You are able to choose between 3 screen brightness levels. Obviously the brighter the screen the more strain you will be putting on the battery. I find that the dimmest level is more than good enough when you are inside and the second level (out of 3) is fine when you are in obstructed sunlight. I don’t know how well the screen manages when you are in direct sunlight but my guess is that even on the brightest setting you will still need to cup your hands over the phone if you want to see more than just large icons (you know…things like text).

KEYBOARD: You should know that I would have preferred the Nexus One to have had a physical keyboard as an option instead of only the on-screen keyboard that is provided. Since there isn’t much I can do about this (though I think there might be ways to connect to an external keyboard, probably through bluetooth is my guess) I have gotten used to the set up. If you ever need to type something that is longer than 2 words I suggest that you use the keyboard in landscape mode. Otherwise your thumbs will accidentally hit wrong keys and increase the number of typos. The only problem with typing in the landscape mode is that the keyboard takes up most of the screen. Thus if you need to enter text into more than one area you will have to close the keyboard after each entry. When using the portrait version you don’t have this problem, but as mentioned before you are more typo prone.

SOFT KEYS and TRACKBALL: I refer to the four keys located right above the track ball as the soft keys. The trackball is quite useful when the area you need to click is too small for you to accurately do so by touch. I would prefer that instead of a physical ball it was laser operated, similar to the Droid Incredible. However, both versions do have their downfalls. If something goes wrong with the laster/hardware or you damage the physical trackball then you are just SOL in both cases. As for the soft keys they work well most of the time. The only time I have a problem is when the phone is parallel to the ground. When this happens you have to press a button repeatedly for it to perform is designated action. Sometimes even that isn’t enough if you aren’t pushing the button in the right place (near the top close to the screen edge). Some other reviews claim that the back button is confusing, but I find it rather intuitive; it will always take you to the previously viewed screen, so this isn’t a problem unless you have horrible short term memory.

BATTERY: Depending on use I can get anywhere between half a day and two days from a full battery. Removing the batter is rather simple…once you are able to remove the back of the phone, which isn’t quite as simple.

OVERALL: I’ll keep this short, 4/5. The reason for a 4 and not anything higher is because of the keyboard, screen in the sun, and the fact that there are more “advanced” phones out there. Though the Nexus One is “old”, it is by no means irrelevant. It is still the phone that the Google developers use to do testing (I’m sure it’s not the only phone but it is certainly one they make sure their product works on. Which is part of the reason this is the only phone running Android 2.2).

FINALLY! It only took about 2-3 days for me to get this thing working. This post is going to outline what I did. The reason being that I might have to go through this process again sometime in the future and also finding help online was not that easy.

STEP 1: Get the right version of Eclipse. At the time of this post Eclipse 3.6 is out, well you don’t want this version since Google has said that there are problems with this version and their SDK. Instead you want to get Eclipse 3.5.2, just to the download page and select to see older versions of Eclipse, then fine 3.5.2 and download. Depending on your connection this shouldn’t take too long.

STEP 2: Install Eclipse. For this step just see my previous post, all the steps are exactly the same even though you are installing Eclipse 3.5.2 and not Eclipse 3.6.

STEP 3: Download the Android SDK. Just enter Android SDK into Google and the page you want should be the first link. Download the Linux version (I assume you are using Linux, though Mac users might also be able to find some help in this post). It’s a pretty “small” file so it shouldn’t take that long to download. Unpack the file with tar -xzf <filename>. Then save the extracted directory somewhere, we shall refer to this location as SDK_HOME.

STEP 4: Install the SDK. First you will want to add SDK_HOME/tools to you PATH. To do this just open up a terminal and enter, PATH=$PATH:SDK_HOME/tools.
Remember that SDK_HOME is the full path of where you saved the extracted directory. Now while you are still in the terminal run;cd SDK_HOME/tools
./android
This will open up and SDK manager UI. Select available Software (or something along those lines) and then select everything in the right column. You don’t need to select everything but it doesn’t hurt, since I’m not sure exactly what you need since I didn’t read all the options. Once you have done this click install and then wait a while for everything to be downloaded and installed. At the end of this process you will get a window prompting you to restart the manager, please do so.

STEP 5: Open Eclipse. This step might not be necessary for some people but it was for me and I figure that it will be for others. So as to avoid any potential future problem please do as instructed.
Go to Help > Install New Software…, then click the Add button to the right of the drop down menu. In the box that appears enter Galileo Software Repository as the name and http://download.eclipse.org/releases/galileo/ as the location, and then hit OK. Then in the filter box (the text box below the drop down menu) enter “server”. You should see an item called “WST Server Adapters…“, select this item (or everything in the same group if you want) and then press next. Agree to the license and then hit finish. If at any point you are asked if you trust the source of the software say yes (or whatever the appropriate option is).

STEP 6: Integrate the Android SDK into Eclipse. Once again go to Help > Install New Software…, and click the Add button as before. This time in the name field enter Android Development Plugin (or any appropriate name), and in the location enter https://dl-ssl.google.com/android/eclipse or http://dl-ssl.google.com/android/eclipse. Now select everything and click next. Agree to the license and say that you trust the software source if asked at any point.

STEP 7: Tell Eclipse where to find the Android SDK. Go to Window > Preferences. In the left column select Android, if you don’t see Android then a previous step did not work as intended and I’m not sure how to help you (I suggest removing everything relating to Android and Eclipse from you system and starting over). Now select the text box for the location of the SDK, enter SDK_HOME (hopefully you remember where it is).

STEP 8: Create an Android emulator. Go to Window > Android SDK and AVD Manager. On the right select New and enter a desired name for your emulator and size for the virtual SD card.

If everything went as planned you should now be able to start development. For tutorials just search Google or the Android SDK site.