August 14, 2011

an introduction to the google android app store, aka the "market"

the google android app store (aka the "market" application) allows you to download android applications to your phone.  amazon also has an android app store (and to access it you have to download the amazon app store program) but i'm going to focus on the google app store here.

first off, you can see all the applications you have installed from the app store by starting up the "market" application, hitting the menu button, and then selecting "my apps". note that this isn't a list of all the apps on your device, it's just the apps that were installed via the app store.

not only can you download apps from the market, but updates to apps are also delivered via the "market".  to make sure that you always have the latest version of an application, after you finish installing an application you should go the "my apps" list, select the app, and select the "allow automatic updating" option.

to find new apps you can search for them via the "market", or you can do it online at https://market.android.com/ (make sure to login with the google account your phone is connected to).  the online web market will allow you to browse and install apps directly onto you phone.

in general, one thing to keep in mind when installing apps is that there is really not much quality control for apps before they get added to the market.  so there really is nothing to prevent malicious or dangerous apps from being added to the app store that can steal your personal information.  so when searching for and installing new apps, you should be cautious and pay attention to a few different things, for example:
  • does the app get good reviews from lots of people?
  • how long has the app been around?
  • does the developer of the app have other applications in the market or just one?
  • does the developer of the app have lots of other small stupid apps?
  • does the developer name/company sound suspicious? (if an app said it was by "g00gle inc", i'd be suspicious that they want to trick people into thinking it's an app made by google.)
  • what permissions does the app require, and does the app want access to any of your online accounts.
the last point about permissions is important.  before you install an app, the market will show you information about what permissions the application wants once it's installed on your phone.  this can include access to things like like: location information, the phone book, making calls, sending txts, the sd card, etc.  pay attention to what the application wants to do.  if you're installing a calculator application that wants the ability to send sms text messages, you should be wary.  lastly, once you've installed an app, it may request access to accounts that you have registered on your phone. (you can see these accounts by going to Home -> Menu -> Accounts & Sync).  once again, if a calculator is asking you for permission to access your gmail account, you might consider uninstalling it and finding a different calculator app.

also worth noting is that after you install an application and select "allow automatic updating,” an app which changes the permissions it requires in an update will not automatically update.  instead the market will notify you that is a new update available and that you have to explicitly say "yes" to updating it again because the permissions have changed (and once again it will show you the new permissions required by the app).

now, before jumping into the apps themselves, there an important and REALLY STUPID item i have to mention.  as you've probably already noticed, android phones come pre-loaded with a bunch of apps.  (think google maps, facebook, etc.)  the stupid thing though is that there are usually newer versions of these apps available in the app store, but until you download them they won't automatically update to the latest versions.  so essentially, before downloading any new apps, the first thing you want to do is go to the app store and re-install a bunch of apps that you already have.  once you do this you'll get updated version of them as they are made available.  to make this doubly annoying, if you ever get an full android OS upgrade, that upgrade will undo these updates so that you have to go back and re-install the bundled apps.  it's an incredibly stupid bug.  so here's a list of apps that were pre-installed on my phone for which the market has newer versions:
  • Books - by Google
  • Car Home - by Google
  • Facebook for Android - by Facebook
  • Gmail - by Google
  • Google Goggles - by Google
  • Google Maps - by Google
  • Google Search - by Google
  • Google Voice - by Google
  • KickBack - by Google
  • Music - by Google
  • SoundBack - by Google
  • Street View on Google Maps - by Google
  • TalkBack - by Google
  • Voice Search - by Google
  • YouTube - by Google
so, when it comes to apps, i'd recommend trying out the following apps which are publisher by google:
  • Earth - by Google
  • Google Sky Map - by Google
  • My Tracks (by Google) - by Google
  • Shopper - by Google
if you use the online google reader as your RSS reader, then i'd also recommend:
  • Google Reader - by Google
then, i'd recommend the following application that allows you to set phone preferences based on location. For example, you can set your phone to enable wi-fi at home and at the office, but to be disabled in between thereby saving battery life.
  • Locale - by two forty four a.m. LLC - $9.99
another fun app that allows you to scan barcodes (and works with other apps like google shopper) is:
  • Barcode Scanner - by ZXing Team
if you have a limited data plan on your phone, then it's handy to keep track of how much data your applications are downloading/uploading.  you can track this with:
  • Traffic Counter Extended - by Carl Hopf
if you want to access maps when you don't have any cell phone coverage, try out:
  • MapDroyd - by OneStepAhead AG
personally, i think that the built-in android music player isn't that great.  if you are going to store and play music on your phone, you should probably try out this music manager:
  • Cubed - by Filipe Abrantes
here's a list of games i have installed on my phone:
  • Angry Birds - by Rovio Mobile
  • Shortyz Crosswords - by Robert "kebernet" Cooper
  • Wordfued FREE - by hbwares
  • WordUp! - by Anthrological
here's some other applications i have installed on my phone that you could check out:
  • Adobe Flash Player - by Adobe Systems
  • Advanced Task Killer - by ReChild - utility to kill processes
  • AK Notepad - by Snaptic - create files with notes
  • Android Agenda Widget - by Everybody all the time - home screen agenda widgit
  • Astrid (task manager) - by we <3 astrid - todo lists
  • ASTRO File Manager - by Metago
  • DoggCatcher Podcast Player - by DoggCatcher - $6.99
  • Fandango Movies - by Fandango - movie reviews and times
  • GPS Status - by EclipSim - gps data
  • GPS Test - by Chartcross Limited - gps data
  • IMDb Movies & TV - by IMDb - lookup movies on imdb
  • Mobile Banking - by Bank of America - find an atm nearby
  • Movies - by Flixster - movie reviews and times
  • NetQFree - Ads - Netflix Queue - by SporadicSoftware - manage your netflix queue (better than the netflix app)
  • OpenTable - by OpenTable - make resturant reservations
  • RealCalc Scientific Calculator - by Brain Overspill
  • Speedtest.net Speed Test - by Ookla - test your download bandwidth
  • Twitter - by Twitter, Inc
  • UltraChron Stopwatch Lite - by The Spinning Head
  • WeatherBug - by WeatherBug Mobile - get weather forecasts
  • Wifi OnOff - by CurveFish - home screen widgit to turn wifi on and off
  • Wikipedia Encyclopedia - by Wiki Apps - search wikipedia
  • Yelp - by Yelp

June 18, 2011

Comcast "business class" internet FAIL, when static IPs aren't

I have Comcast business class internet service (with a static IP) at home, and I've been pretty happy with that service up till now. But yesterday, my wife (who works from home) texted me saying our internet connection was down. From work I discovered that my server (which is hosted at my home using a static IP) was no longer accessible. Also, I was unable to ping the next hop Comcast router normally used by my internet connection.

Since I couldn't ping the next hop gateway for my normal connection I figured this must be a connectivity problem with Comcast. I told my wife to call tech support and she spoke to some very less than helpful person (that's my description, hers was more colorful). They told her there were no problems with our internet connection. When my wife insisted that things weren't working, he replied, "I am not saying you're lying, but I've refreshed my screen three times and your internet is working fine on my end." He then said he'd be happy to "roll a truck" for a business account customer, but since the problem was obviously on our end, they would likely charge us for it. He also stated that they had many people in the queue waiting for help and maybe she should call back when she knew what the problem was. She hung up.

When I got home, I logged into our cable modem and discovered that it did indeed seem like we had an internet connection. The cable modem had negotiated an upstream connection and could ping other hosts on the internet. Digging further into it, I discovered that the modem was indicating that we were hosted on a different subnet block, with a different static IP address. As mentioned before, I have a static IP address (which I pay extra for) because I run a server at home. In general, when you run a server you want to have an static IP address so that you can configure services to use that address. (For those not familiar with IPs, the easiest way to think of them is as phone numbers.  You give them out your number and people know that they can use those numbers to contact you.) But in this case Comcast changed my IP (which I had been using for the past two years) without notifying me.

I called Comcast support, pointed out the problem, and the support folks spent about 30 minutes taking me on and off hold while they confirmed that:
  • Yes, my static IP block had been changed earlier in the day.
  • No, there was no attempt to notify me that the change had been made.
  • No, there weren't any notes on my account indicating that this change had been made. So, had I not diagnosed the problem myself, their tech support would have had no way to see that there was any problem at all. This kinda explains (but does not justify) my wife's wonderful support experience with them.
  • No, they couldn't restore my IPs because they had already been re-assigned to someone else.
The speculation from Comcast tech support folks was that my previous IPs had been taken back for consolidation into a larger subnet block. I can understand this technical justification. (Having been a network administrator I'm well aware that larger network blocks require contiguous addresses.) And had I been contacted in advance, I would have been more than happy to plan to update all my router settings, server configurations, DNS servers, etc. But instead, no notifications were made and I had to diagnose the situation myself. This really doesn't seem like "business class" service to me.