Removing Ads From the Android Notification Bar

March 4th, 2012

Recently, my Android phone began to display ads in the notification bar at the top of the phone. These were of the garden-variety “Win a free iPad2″ type. Some even claimed to be ads generated by Sprint, our carrier. The people at the Sprint store claimed never to have heard of the problem, and were no help at all.

Turns out there’s an easy solution when you’ve got ads in your notification window. Several apps now include an advertising service called Airpush, which generates these fake notifications. Luckily, there’s also an app which fights back; just download Airpush Detector from the Android market, run it, and get a list of all the apps on your phone which might be serving Airpush ads.

For me, it turned out to be a Google Calendar app that was causing the problem. Airpush Detector found it, and removing it killed the ads.

App Reviews

The G1: A Retrospective

October 12th, 2011

g1Last week, I reluctantly traded in my 2.5-year-old T-Mobile G1 for a brand-new Samsung Galaxy 2. Why did I spend so long using a phone with a hideously outdated version of Android, a bezel the size of my thumb, and hardware straight out of 2004?

Partially, it was for fear of T-Mobile’s hefty early termination fee.  But it was also more than that. After all these years, the G1 is still a pretty decent phone. It makes phone calls. Its camera, despite my earlier rants, takes halfway decent pictures. And it’s robust enough to have survived over a quarter decade of almost constant use, in an age where most electronic gadgets are supposed to be replaced the instant something new comes along.

Of course, this is a somewhat melancholy moment. Looking back, though, it’s amazing to see how far Android has come. When I first got my G1, I was a rogue early adopter, stubbornly choosing an early-stage Google product (and we know how long those normally last…Google Wave, anyone?) over the sleek and sexy iPhone which seemed guaranteed to eventually crush it.

Today, Android has a market share to rival Apple’s, and normal people are buying the phones in drogues! A Linux-based product, gone mainstream? Who’d a thunk it!

Looking at my shiny new Galaxy 2, it’s also amazing to see how far we’ve come in the last couple years in terms of hardware. My G1, especially near the end, was molasses-slow and had a screen that, in comparison to the Galaxy, looks a bit like a postage stamp. The new phone is pretty much all screen and has a faster processor than my laptop. I can watch movies on it, the GPS actually works, and the long-promised Flash player functions brilliantly.

Time, however, actually treated by little G1 pretty well. It survived (mostly) a fall down a few flights of stairs, suffering only a small crack in the screen which didn’t even affect the capacitive touch properties. And the original factory-shipped screen cover sticker remains on the phone to this day; tell that to the guy at the Sprint store next time he tries to sell you a $15 screen protector! Battery life suffered after a couple years, of course, but I could still get a day’s worth of normal use out of the G1 if I charged it fully.

All in all, I’m happy to have a new phone. But you have to hand it to the G1; it managed to launch a whole new sector of the mobile industry, pose a real threat to Cupertino, and not completely suck after almost 3 years of use. Not bad Google guys, not bad.

Other Stuff

Sprint: The “Now We’re Gonna Put You on Hold” Network

October 9th, 2011

So maybe you’ve heard that Sprint has the new iPhone 4S, or that it consistently has the best selection of Android phones, or that it doesn’t cap/throttle your bandwidth like the other guys. And maybe now you’re thinking “Maybe I ought to switch over to Sprint. $200 early termination fee from my current carrier, be damned; Sprint sounds great!”

But perhaps you’re also thinking “Being treated like a human being when you call in to customer service is nice. And having competent sales reps would be good too! Oh, and I value my time; I wonder if Sprint would do the same?”

Here’s your answer: No.

About I week ago, I reluctantly chose to part with my Tmobile G1, which I’ve had for about 2.5 years (more on that later). My wife and I went to our friendly neighborhood Sprint store and picked up a lovely new Evo 4g and Samsung Epic (rebranded Galaxy 2). The sales rep confidently assured us that they could port our numbers from our old carriers in 3-4 hours, well before our next billing cycle for our current phones began.

You can probably guess where this is going. A week later, no sign of any activity. We’re still calling people with temporary numbers, doing the little “Hello? Who is this? Oh, you have a temporary number? Ok, I’ll fail to write that down and then forget it, and be unable to reach you with important calls!” dance with anyone we tried to contact.

So I call Sprint, and figure they probably had the wrong password or something. Should be easy, right?

Turns out there was no record of the original port request. Fine, forty five minutes reading out digits, forking over the SSNs for our entire extended family, etc. and it should be solved!

And it was; both numbers came over…to the wrong phones. So now I was, as far as Sprint was concerned, my wife.

Another call: naturally, the representative needed a non-Sprint callback number in order to reach me if we got disconnected when she tried to flip the numbers. Except, now Sprint had both our numbers, and we didn’t have any other numbers for them to call us on! Such fun! Let’s get a supervisor! Our hold music is really great, and this should give you time to memorize all the lyrics!

Back on; turns out they can do without the callback number. They’ll just flip the numbers on our two phones, and in ten minutes, everything will restart and we’ll be good to go. Ten minutes later, they restart! They authenticate to the network! And…I’m still my wife.

Another lovely chance to make sure I  remember every bar of that hold music! This time, another 20 minutes later, I hang up again, ten minutes pass, and…it worked!

At this point, though, I’ve wasted 2.5 hours of my time, as well as a week of waiting for the numbers to port. And we’re stuck with three phonebills, because naturally our other plans didn’t get canceled  in time, due to our first Sprint friend’s failure to set up the port correctly.

So I called customer service to lodge a complaint. Now, I’m pretty reasonable. I didn’t want six months free, a credit back on my phone, the right to let our dog come to the next Sprint shareholder meeting and pee on some executives, etc. All I wanted was a measley credit on our bill for the first week of our service, when we were essentially without phones.

Surely, any company would be absolutely willing to give me a measly 30 bucks to keep me around, especially given that we’re still within our 14 day return window, and could march right back to the Sprint store and return everything, then write nasty blog posts about them. Right?

Another hour on the phone and four (count ‘em, four) escalations later, I finally had my $30. I only had to tell my story to each new rep I encountered, listen to the same lovely hold music for another 30 minutes or so, and defend the fact that I had (gasp) made a couple calls using my temporary phone number!

So there you have it: Sprint has the best selection of phones, a great data plan, some healthy discounts, and the worst customer service staff ever to insult our planet with its presence.

Verizon, anyone?

/rant

UPDATE: Sprint has gotten a whole lot better, right? Nope. Part of our plan was a 23% employee discount, which on a data plan for two smartphones amounts to a hefty sum each month. This credit was one of the reasons we chose Sprint in the first place. When we signed up in the Sprint store, the rep told us that the credit would normally apply after two billing cycles, but that if we signed up that day, he would add it from day 1.

First bill arrived, and naturally the credit wasn’t there. Another lovely jaunt up the Sprint phone tree got me nothing but the stock response “The credit applies after the second billing cycle, sir.” Finally, I called the Sprint store where we got the phones, and spoke to their manager. They admitted their error and added a credit to our first bill. They also made a note on the account about the trouble we had getting the credit, and assured us that the credit would apply from now on.

FOUR billing cycles later, and EVERY time Sprint has failed to apply the credit. Every month, I have my little chat with the Sprint billing people, during which they pull up our account info (”I see that there’s a note on your account about your billing troubles…”), give us the credit we were supposed to have from Day 1 and assure me that the credit will apply from now on. I have spent enough time in Sprint’s phone system that I’ve almost developed a taste for smooth jazz. Their hold music may well end up being a candidate for our future childrens’ wedding songs.

Really Sprint? One simple data entry step, and you screw it up every month for FOUR months? Really?

Other Stuff

MTG Familiar; An Android App For Magic the Gathering

September 6th, 2011

MTG Familiar IconI should point out from the beginning that I do not, in fact, play Magic: The Gathering. For those of you who do enjoy dead trees over pixels, however, here’s an app to check out.

MTG Familiar provides a variety of tools and utilities for Magic: The Gathering players, packaged into one lightweight, open source app. The core of the app is a master list of MTG cards, which automatically updates from time to time (whether you like it or not), ensuring that you always have the most up-to-date info about the cards in your deck. The card list is stored in a local database, so after a long unzip on your first run, you can search through it at blazing fast speeds.

When you first open the app, you’re greeted with a no-nonsense home screen.

MTG Familiar homescreen

MTG Familiar homescreen

Hitting “Card Search” brings up a full-featured search interface with options to search by all kinds of parameters I know nothing about (but you probably understand, if you’re reading this review).

Search Interface

Search Interface

Performing a search brings up a list of all cards matching your criteria. Clicking on a card name gives you a description and some other useful info.

Info about a card

Info about a card

Here is where the app really shines, text formatting aside. Hit the Menu key, and you get a bunch of useful options. Selecting “Card Image”, for example,  grabs and displays an image of the card.

Author Gelakinetic was kind enough to make this an optional function, rather than including the image with the card info by default. This saves you bandwidth if you’re on one of those infernal capped-data plans, and ensures that the text-only info loads extra fast (since it’s all you’ll need 99% of the time).

Full card images

Full card images

Another option is “Card Price”, which loads up a browser and gives you live info on how much the card costs.

Live MTG card prices

Finally, hitting “Legality” gets you info about where you can play the card.

Card legality info

Card legality info

In addition to the card-related info, the app includes several useful Magic: The Gathering related utilities. These include a life counter:

Life counter

Life counter

And a random number generator which simulates rolling dies of various sided-ness.

Random number generator

Random number generator

MTG Familiar already provides a lot of great functionality, but the app is only in its infancy. The good news, again, is that it’s open source, so if it’s missing something you’d like to see, you can dive right in and tweak it. Full access to the source is available at Google Code: http://code.google.com/p/mtg-familiar/

Hate the white-on-black aesthetic? Have mad Java-spider-writing skills and want to find a way to integrate the pricing data directly into the card info screen (my first thought, personally)? Want to integrate streaming video of matches (are they called that?) directly into the app? Grab the code and play around!

For the non developer types, MTG Familar is not yet available in the Android market, but you can grab an APK here: http://code.google.com/p/mtg-familiar/downloads/detail?name=mtg-familiar-a0.2.apk and install it yourself. It’s already a very useful app, and with the conspicuous overlaps between the MTG and Open Source communities, my guess is that it will only get better.

UPDATE: MTG Familiar is now available in the Android market https://market.android.com/details?id=com.gelakinetic.mtgfam

App Reviews

Voice Recording on Android: Recordroid Dictaphone

July 25th, 2011

recordoid_white_icon

Recording sound seems like the sort of thing that everybody would have to do at some point, so it’s surprising that Android doesn’t come with a really great voice recorder built-in. Luckily Recordroid Dictaphone provides an elegant and neat-looking solution to the problem.

Recordroid takes the metaphor of the 1980s tape recorder to the extreme; when you first open the app you have to press on a virtual “tape deck” in order to “insert a new tape” before you can start doing anything. Annoying? Yes! Kind of neat at the same time? Also yes!

After the initial graphical silliness, Recordroid is an amazingly simple and intuitive app to use. The settings menu gives you access to detailed settings for audio quality (again, annoyingly expressed as “tape capacity”), geocoding, file formats, and automatic backup settings.

Hitting record allows you to start speaking into your Android’s microphone, creating a recording. When you’re finished, you enter a title for the recording, which becomes the filename for the Wav or 3GP file which the app creates on your phone’s SD card.

Hitting play gives you access to all of your prior recordings, which you can play back, send via e-mail, or see on a map. If you have a lot of recordings, there is also a search function which allows you to locate the one you’re looking for.

Recording quality is pretty good, and seems to be limited only by the hardware capabilities of the Android phone itself. The ability to e-mail recordings is a great feature, and makes it easy to store things in your e-mail so you can search for them later.

The app doesn’t do MP3 recording, which would be nice. Another annoying problem with Recordroid Dictaphone is the fact that it’s only available as a free light version in the Android app store. Apparently, you can buy the app for four dollars from a few other app stores, but none of these are especially easy to register for. The light version limits you to shorter recordings, but otherwise it’s fully featured; for the price, I’d say grab it and try it out. You’ll feel like it’s 1983 all over again!

http://www.somyac.com/recordoid/recordoid.html

App Reviews

G1 + Android As Microscope

October 12th, 2009

So after reading this article in Technology Review, I started wondering whether there was an easy way to use the T-Mobile G1 as a remote microscope. I wanted to be able to build something and use it, along with my G1, to take some extremely close-up photos, which I could then send quickly and easily over email.

The catch is this: I wanted to do this with only stuff I could find around my home. There seems to already be a lot of buzz about remote microscopy, to the point at which companies are actually selling (expensive!) microscope adapters for your camera phone. I didn’t want any of these–if someone is cobbling together a cellphone microscope, I’m assuming they don’t have $375 to spend on a lens. If they did, they could probably buy…a microscope.

So I started to think about what around the house would contain a lens with enough magnification to produce useful images. I wasn’t trying to look at blood cells and whatnot just yet–I just wanted something which could be used for looking at materials, things of forensic interest, cuts and other little traumas, etc.

The solution I arrived at was using the lens from a CD player. These lenses are everywhere–you could even grab one from an old optical drive. They’re generally easy to get at (I plucked mine out of the CD player with needle-nose pliers), and they provide good magnification.

The rest of the build was equally simple–I just took the back off of my G1 and taped the lens over the aperature for the G1’s camera.

Here are some of the resulting photos:

Human hairs imaged by the G1 microscope

Human hairs imaged by the G1 microscope

A 12 point letter 'e'

A 12 point letter 'e'

A small cut on my thumb...gross, yes?

A small cut on my thumb...gross, yes?

The metallic end of a USB cable

The metallic end of a USB cable

A millimeter ruler...anyone know how to use this to calculate magnification?

A millimeter ruler...anyone know how to use this to calculate magnification?

Next step would be to incorporate a second lens to get higher magnification, since at the moment this is really more of a glorified loupe than an actual microscope.

Please share your thoughts!

Other Stuff , , , , , , , ,

Hacking the Android Unlock Pattern

February 3rd, 2009

Ever since I discovered the Android Unlock Pattern, I’ve been trying to come up with a creative way to get around it. I’m sure there are plently of snazzy software ways to do this, but there’s an even easier one–use smudges.

Especially after you’ve made a call and held the G1 up to your face, some grime inevitably builds up on the screen (eww!). When you run your finger over the screen to unlock the phone, it ends up leaving a surprisingly clear fingerprint trail behind. If you hold the phone up to a light or a window and tilt it around enough, you can generally see the patterns of fingerprints on the screen. Unless the person using the phone did a lot of scrolling around after entering their unlock pattern, it’s also usually possible to clearly see their pattern as a nice little trail of disrupted grime on the screen.

Several people have pointed this out in forums, but I wanted to get a clear picture of the problem. Given the reflectiveness of the G1’s screen, however, this proved surprisingly hard to do. Eventually, I ended up placing the phone under a bright light and then photographing it with an SLR, which allowed me to selectively focus on the screen, and not focus on the reflection on the screen, as my point-and-shoot inevitably chose to do. I then made the resulting image negative in Photoshop, ran it through a high pass filter, and messed around a bit with the brightness and contrast.

The result is an image, on which I’ve overlayed the unlock “dots”:

Overlay of smudges on Android screen with Unlock Pattern

It’s not hugely obvious at first, but if you look closely, you can see a line connecting the dots from the lower left to upper right corners (forming an L rotated clockwise), the correct pattern. It’s a lot of hassle to show something which is really obvious when you’re actually looking at the phone under a light, but you can see the idea.

This begs the question of how to protect your phone. The most obvious solution would be to wipe the screen after each use (or shower/wash your hands more often), but who wants to do that? Another idea is to create a pattern where you double back over lines you’ve already drawn, thus obscuring the actual pattern, even if someone should see its basic layout. The ease of doing this, however, suggests that maybe the unlock pattern isn’t all it’s cracked up to be–how about adding support for PIN entry in a future release, Google?

Other Stuff , , , ,

Mobile Blogging On the G1

February 3rd, 2009

I’m currently writing this on my G1, while waiting at a Jiffy Lube for my headlight to be fixed. Since this blog runs on Wordpress, I decided to test one of two Wordpress apps available from the Android Market.

If you’re reading this post, that bodes well for wpToGo, an app that promises to add posts to any Wordpress blog which has xmlRpc enabled.

The app seems relatively straightforward–there’s a title line, a body line, and some basic formatting options (Bold, Italic, linked, and quoted). For some reason, you have to type text and then select it in order to apply formatting, which is somewhat iritating.

Other options, too, are sparse–there’s a place to add pictures, and a dropdown which loads categories from the blog.

Overall, though, the program seems quite usable, if a bit utilitarian. Again, assuming you’re reading this…

App Reviews

The Best Technology 2005 Had to Offer: The G1’s Camera

January 14th, 2009

At 3.2 megapixels, the G1’s camera certainly doesn’t set any records–the Samsung Omnia gets 5 megapixels, and apparently 10mp models are on the way. However, 3.2mp is not half bad for a phone which doesn’t cater to the avid photographer. Besides, I remember when 3.2mp was the state of the art for digital cameras. My Nikon Coolpix 3100 still takes great pictures, dammit!

So far, I’ve found the quality of the G1’s photos to be excellent. Since the phone has no flash, the shutter slows down a lot in low-light conditions, but the colors stay true and there’s almost no grain. Outdoors or with good light, the camera performs even better.

Using the G1's camera

Using the G1's camera

Getting photos from the G1 to a computer is relatively easy as well–since the pictures are stored on the microSD card, you just have to connect the USB cord to your computer, mount the phone by going to the Notifications screen, and navigate to the resulting removable drive on your operating system of choice. Photos are in the “dcim” folder, just like with a digital camera.

My one gripe with the phone is that the photos are saved as 72 dpi by default–too low for a good quality print. Changing the resolution to a more realistic 300 dpi in Photoshop, however, still yields a 6.8′ by 5.1′ image–certainly big enough for a good 4 X 6 print. Thus far, my images average 357kb, certainly small enough to email or send using MMS.

Features/Basics , , ,

Security Through Pretty Pictures: The Unlock Pattern

January 13th, 2009

Once you’ve got all your contacts, personal emails, embarrassing party photos, etc. on the G1, it’s nice to have a way to keep everything nice and secure in case the phone gets lost. Luckily, the G1 has a very Googley solution that allows you to avoid typing a password each time you go to use the phone. It’s called the Unlock Pattern. You enable it by going to Settings–>Security and Location and selecting Require Pattern.

G1 Require Pattern

You’ll be promoted to draw a little pattern by connecting a series of dots. From now on, when your phone is sleeping and you press the Menu button to unlock it, Android will ask you to repeat it.

Draw Pattern to Unlock

You then simply redraw your pattern to get access to the phone. As an aside, I still haven’t worked up the courage to press the Emergency Call button…

If a thief were to find the phone, it’s unlikely that they would be able to guess the pattern. Also, after a few incorrect attempts, the phone shuts you out for 30 seconds, preventing thieves from using brute force to break in.

Draw Picture to Unlock, Wrong

If you’re afraid of your friends seeing the pattern, you can avoid the little green circles by unchecking the Use Visible Pattern box in the menu where you turned the feature on.

Features/Basics , , ,