Ads in Notification Bar in Android

I recently started to get some ads in the notification bar on my Nexus One.   It turns out it was from an app I don't remember installing called Gtalk Updater and that it was using a framework called Airpush.   I didn't like them one bit.  In addition to just being annoying by pushing to the notification bar, they also caused my phone to vibrate.

Luckily someone has created an App called Airpush Detector which will find apps that are causing this update and take you to the uninstall screen for them.

If you are noticing ads in your notification bar on your Android phone, you may want to check this app out.

Response to Twig 37 - Why users want apps.

I just finished listening to this week's TWIG. They were talking about how users prefer apps over web based applications.  It seems fairly obvious to me why this is but they didn't talk about it at all.  I think there are a few reasons that web based apps didn't take off.  

First is discoverability.  Apps in a marketplace or iTunes store are easy to find.  Sure, you could use "the Google" to find web based apps but finding web based applications that were specifically designed for a mobile phone was not an easy task against the background of the entire internet.   If google or apple had made an interface to help discover web based tools that worked well for mobile phones, then those apps would get discovered and used.  Even now, I know there are plenty of websites that use smart phone styles that would look good on my phone but finding them and knowing what they are is still difficult.

The next reason is that the network still sucks. I can't be in my office now without dropping off of 3g down to the edge network.  Leaving the city is a disaster for my data connection.  I think users would rather start an app, have limited functionality without network, or at least a friendlier error message indicating that the app can't connect to the server.  In many cases, the app doesn't need to be internet connected and so having a reliance on a terrible network would be bad for that app.   If the US had some decent wireless internet infrastructure, then web based apps would always be available and the need to be offline wouldn't exist as much.

One final reason I will talk about that apps became more popular than web pages is that the functionality of HTML5 was not as well known 2 years ago and even now I don't know how much access there is to phone based hardware systems.  Certainly any app that deals with local hardware would always be more preferable as an app than a web page.  Anything dealing with the camera, video, audio, file systems (ring tones, etc.) will need to be an app on the phone.  That being said, it would be nice to see some good functionality and libraries available for common tasks dealing with phone multimedia on the web server side.   Some common things like cropping a photo to a face, uploading pictures and video, should be very easy and hopefully as HTML 5 develops, this sort of thing will be more prevalent.  The phone browser can already detect location and use that.  The Gowalla web app is really very good, but without a presence in the marketplace, they ended up getting missed.

All this being said, although Google has certainly jumped on the app bandwagon, I don't think they are moving away from web based stuff.  They tend to have some of the better web interfaces for their applications such as gmail, google reader, calendar, etc.   I think they should get some sort of optimized search for phone web apps so that people searching for apps will see these web based options in the list.  In the long term, I do think it is better for developers and users to have web based applications available.  It brings instant interoperability making development easier across multiple platforms.  But until there is fast internet everywhere, decent toolsets for making web based apps, and a good search for them, this development will languish.

 

Exercise Increase

For the last couple of weeks I have been focusing on tracking my calories, in and out.  Much of it has been with the help of a great app my wife found called Calorie Counter on the Android.    Calorie counter links to fatsecret.com which has a database of foods and exercise that you can enter in to keep track of your progress.  A great feature of the app on my G1 is that I can scan a barcode and more likely than not, the food is in the database already.  This makes it very easy to keep track of during the day.   Although I have been trying to eat balanced with not too much of anything, I am not trying a low carb diet at this point.  Just trying to keep the calories I am eating less than the calories my body is comsuming.  You can see my progress at the fatsecret site.  

Yesterday after walking my three miles in the morning (at about 3 mph). I was feeling pretty good and decided that today I would try to move up to jogging.  Although I was able to run/jog down the street, I felt a lot impact on my legs and on my body in general.  I decided that I would just try to increase the speed I was walking until I could lose more wieght and try to run again.   So I completed 2 miles this morning in just over 30 minutes and could definately feel some muscle pain/soreness in my calves shins.  So I will try to work on that speed for the next while until I feel pretty comfortable doing that for one hour or more.  

Rooted G1 For the Win

I rooted my G1 this weekend after being convinced by an article on Lifehacker.  I think it was a good decision.  I installed the latest Cyanogen Mod, which was just released this weekend.  I really like the new camera, the power widget and most of all the snappyness of the phone now.   Cyanogen says it uses more battery than the standard ROM, but honestly I feel like I was spending so much time waiting for the phone to respond to what I wanted it to do, I suspect that the real trade off in time is very little.

The thing that took the longest was backing up my 8GB SD card.  I also found the MyBackup app to be very handy in quickly getting all of my apps and shortcuts back quickly. (Although I did have to set each one back up... ).   DoggCatcher has a very handy back up capability but a non-obvious way of restoring.    I was able to short circuit the way described in the FAQ by using taskiller to kill the doggcatcher task and then the Lynda File Manager to delete the done.txt.

 

MotoRokr T505 + T-Mobile G1 = meh

I recently purchased a Motorola MOTOROKR T505 to enable bluetooth in my car (Honda Civic Hybrid).  I previously used a connector for my phone that let me connect power and a headphone jack to the car.  The audio went to an auxillary jack that was built  in to the car.  There are a couple of downsides for this.  There are a bunch of wires all over the place making the care look a little messy and when I talked to people with the power plugged in, they heard loud static and "screaching".

So when my Android phone got the new cupcake update that had stereo bluetooth, I wanted one of these fancy blue toot car sets that would let me just hop in my car, hit play on my phone, and head off down the road.  If only it had worked so well.  The first issue is that one of the things it says in the manual is that the T505 was not designed to stay in a hot car all day.  I don't know who didn't put that requirement in, but I already carry a big phone around, I'm not going carry around this garage door opener sized thing with me too.  It also ran on battery so that would eventually run out and I'd have to plug it in to the provided charger.  I just left the thing plugged in so I wouldn't have to worry about it running out of battery at some unfortunate time.  This mean that I really couldn't have it on my sunvisor though without having a power cord dangling around.   The next downside was pretty annoying, when I got in the car, it was a lot more than just hitting play on my phone and driving down the road.  I had to get in, turn on the T505, wait for it to turn on, hit the FM button, (meanwhile listening to my car spew static from the station the T505 is supposed to broadcast to), hope that I didn't accidently hit the FM button twice because then the T505 would go find another station to broadcast on, wait for the blue tooth to sync with my phone, then finally hit play and go.

This was all really too much for me.  I brought the T505 back to Best Buy and got a refund.  I will try out some other connectors for my wired solution that hopefully don't require me to unplug the power when I talk on the phone.

Podcatching with Android

One of the things I love best about my T-Mobile G1 and Android is the application called DoggCatcher.  Doggcatcher is a podcatcher which means that it is able to subscibe to podcasts.   Podcasts are like radio shows but on the internet.  They can be about anything that anyone wants to put up.  In fact, some of the podcasts I listen to ARE radio shows.  Doggcatcher lets me set up podcasts in such a way that they basically are my own personal radio station... with Tivo.

Now I may not come from a background of a lot of knowledge of other ways that people listen to podcasts as this phone is really my first smart phone, but I am pretty happy with the results.

Doggcatcher gets set up with RSS feeds of podcasts.  I put the different feeds in order I like to hear them first.  My current feed list looks like this:

I have several more, but I rarely get down through the others to listen to them. I could pick any one of them randomly but I have a routine I am pretty happy with for my 45 minute commute to work.  I have a connector for my G1 that lets me charge it and hook the audio output into the auxilary input of my car.  So I listen to my podcasts with my car's speakers.  Each morning I connect the phone and download the hourly NPR news, this usually takes about 30-60 seconds.  Once I start listening, DoggCatcher will go down my list and any podcasts that have downloaded will play in the order  have them set.   So I get to listen to the ones I like the best first and  then down the line.   If I get a call, the podcast pauses and I can talk hands free, with my caller's voice on my speakers.  The podcast will pick up where it left off when I hang up.   Another feature Doggcatcher has (one that I asked for) is that when the phone no longer is under power, the podcast will pause.  This allows me to turn off my car and not worry that I am missing some of my podcast with the speakers off.  Its paused and ready to go again when I plug back in for the ride home.

 

Sort your Gmail with Popfile

Background

I get a lot of email.  I am on many mailing lists and I do a lot of volunteer work for the SCA which means a lot of email.   I also get a lot of bacn, catalogs and newsletters that I signed up for and don't mind getting.  I get notifications from FriendFeed, Facebook, Flickr, Twitter, and other online applications, which is also bacn I suppose.  Of course, in addition to all that, I get spam. If you want an indication of how much spam I get, check this out.  Even though GMail claims to clear my spam folder for things older than thirty days, I have spam since Feb 25th, 2009 in there right now a total of 19,060 items.  Since today is 4/25/2009 this will give me a good estimate of my spam per month of 9,500 (across two months).  All in all its fairly easy to estimate that 10,000 items come to me every month, yet I haven't gone insane.  Why?   Well Google does a decent job of catching much of the spam but I have something else in my pocket called Popfile

POPFile has been around for a while (their download archive page puts the first release in October of 2002)  and I first heard about it on the ScreenSavers, about 6 years ago.  So you might understand why I was yelling at Leo Laporte in my car as I was listening to a recent podcast when he said that he had too many email's in his inbox.  He was the one who introduced me to POPFile! POPFile is not just a spam killer, but it classifies your email into any number of buckets that you want.  It took care of my bacn, before there was a term for bacn.  It was able to distinguish my SCA email from my personal email, I could categorize responses from forums I participated in as different from newsletters and other notifications.

I had changed my email a couple of times because it was just awash in spam.  Now I had Popfile and was able to use my jeffmartin.com as a mail address without worrying about getting overloaded by the 95% noise I would get over my 5% signal.  This worked great for about 6 years because I was using a POP email account and outlook email client.  But I had just got my G1 Android Phone and it had Gmail built in.  I wanted to join the crowd and get my email on my phone, but I was stuck on the pop account and had used Popfile for so long, I didn't want to give it up.  Luckily, Google and Popfile conspired to help me out.  GMail recently started supporting IMAP and Popfile added an IMAP module to its core installation.  Now I have the power of email anywhere I can log into the Internet and its all sorted for me when I get there so I can focus on what I want to work on.

Why is Popfile so Awesome?

You may be saying, "But Jeff,  my email is already pretty well sorted. I use GMail filters and stuff goes where it needs to."  You might be right, and filters may be enough for the light email user, but you have to spend time setting up each filter and its possible that stuff may slip through that you don't expect.  For instance, if you support a product or service, or have a website that you get email from, you might want all that email sorted into different categories.  You don't know the email address of the people who will be sending to and you can't guarantee the subject will have particular words in it even if you ask people to do it that way.    Maybe you participate in a lot of forums and you have email notifications turned on so that you can see when someone responded to your post.  With Popfile, you can start posting at a new forum and have pretty high confidence that response notices will be correctly sorted without having to set up a new filter for that particular forum.   Here is the really killer feature: Popfile learns from its mistakes (and you can change your mind and reteach it new tricks).  When a piece of email goes to the wrong place (or if Popfile is unsure, it will put it in an Unclassified bucket), you can direct the email to the right place and Popfile will learn from that. (This is a feature of the IMAP module, the normal method of training Popfile is to use the interface to "teach it").   It learns through an algorithm developed by Thomas Bayes around 1720, which appeals to the bit of history buff I have.  This Bayesian algorithm is now the basis for many "learning" computer software programs.

Setup

So here is how you set it up.

What you need to start

  1. First you obviously need a GMail account. I use a Google Apps account so I can have GMail delivered to my own domain. 
    (As an aside, I also have a GMail email that I use for Google services that don't support a google apps login, this GMail just forwards to my main account).
  2. A computer that can run Popfile. Popfile runs as a service in the background and has a web interface. Popfile runs on windows but has cross platform versions.  I am not a Mac guy or a Linux guy but I don't see any reason why it wouldn't run on those OS's.
    I use my desktop for this task.  Its pretty much always on and connected to the Internet, so it can have my email sorted and ready to go when I want to access GMail.  I don't see why this wouldn't work with a laptop that ran Popfile too but it may take a little time to sort your email if you hadn't been connected to the Internet for a while, so you could potentially log in to GMail and still be waiting for POPFile to sort your inbox.  Also, if you hit the Internet from another computer and your laptop isn't connected from somewhere else, your email won't be sorted.

Directions

  1. Set up IMAP in your Gmail account using these instructions.
  2. Download and Install Popfile.
  3. Setting up Popfile:
    1. Enable the IMAP module by following the directions here.
    2. Once the IMAP module is turned on, you need to configure it with your gmail information.
    3. You also need to have labels already created in Gmail, you can then match buckets in Popfile to Labels in Gmail (you need to create buckets).  Make sure you match your spam bucket to the standard spam label in GMail.
  4. You will need to now train POPFile to know what types of email you want in your labels.  Initially all of your incoming email will be delivered to the Unclassified bucket.  After you start training POPFile, you should be pretty happy with the results. According to POPFile's stats, the average accuracy of the sorting is over 98% after 500 emails.

Conclusion

Hopefully you can stop being afraid to leave your email address out in the open now.  Hopefully people can stop going from one free email to another when the spam gets too bad.  Hopefully you found this article helpful.   POPFile is a great way to not only filter out your spam but help you get things done by pre-sorting your mail into the buckets you want.

Saving MMS files in Android

So my friend Will chats me up asking me how to save a MMS file on the Android.  Hmm- good question, no one ever sent me one so I never had that problem, seems odd that it wouldn't be obvious.  I ask Will to send me an MMS so I can check it out.

The first thing I figure is that Will is probably not using anything out of the ordinary as far as SMS applications go but when I get the message, my ChompSMS tells me that I need to turn on AutoDownload in the default messaging app.  So I bring up the default messaging app (from the application tray), download the attachment he sent, and also enable AutoDownload from the settings screen.

While I am in the default Messaging App, I try to save the MMS attachment or get info about it or anything.  The default app gives you nothing.  I go to ChompSMS and long press it, viola, "Save attached to SD card".  This works perfectly.

Other suggestions I found suggested that you could forward the message to an email account or if you have root access you can find the file on your sim card and copy it.  There was also a suggestion about an app called SaveSMS.

I think ChompSMS is the easiest way to go, its a really nice app as far as making the SMS messages look nice.  They offer a different carrier for sending SMS if you need to send some cheap messages and obviously they can save the attachments you get sent to your SD card.