Tuesday, March 27, 2012

Setting Keys Based on Build Type

One thing I've been doing for a while is using a different key for Google Analytics based on whether I'm developing the application or deploying it to the market.  The concept is simple enough, but it does result in a manual step of swapping the keys at deploy time.

The latest release of the ADT includes a new constant that gets set for you depending on the type of build!  Now you can query BuildConfig.DEBUG to determine if your build is for development (DEBUG = true) or deployment (DEBUG = false).

I'm using it successfully as follows:

UACODE = (BuildConfig.DEBUG) ? "UA-12345678-1" : "UA-12345678-2"; // Test : Production


Monday, March 12, 2012

Note to self ...

I just thought I'd take a minute to share something I've been doing recently.  There's always data you want to quickly capture for later or maybe you just want to get something from your mom's PC to yours.

Compose a gmail message with a subject and no recipient!  It gets saved as a draft and you have access to the mesage from any device that can get to gmail!

You're welcome :)

Tuesday, February 14, 2012

App Lock! Finally.

Everyone wants to use your tablet?  Until they become as ubiquitous as our personal communication devices (unlikely) they're going to be a novelty for many and that "many" are going to want to play around with them.

Lock screens are pretty pointless in that regard ... enter App Lock!  Thank you and you're welcome.  This app allows you to apply a lock screen on an app-by-app basis freeing me to unbegrudgingly hand my HP TouchPad loaded with CyanogenMod 9 v0.6a over to whomever asks without worrying about them getting into my financial app, e-mail, Facebook or anything else I choose.

I have it on my phone too but I don't often get asked to hand over my phone for someone else's entertainment.  I would love to have unique user profiles accompanied by a login and password, but until then this app should fit the bill.


Sunday, February 12, 2012

Screen Timeout Toggle

I recently switched carriers and upgraded to a new phone.  I've been pretty impressed with the Samsung Galaxy S II on T-Mobile's service so far with 3 glaring exceptions:

1. It's all or nothing in my area with T-Mobiles service.  I either have 4G or 2G (Edge?).  2G is pretty dang pointless.

2. The lock screen is simply ridiculous.  You touch and swipe the whole screen as one big panel?  Looks like a highschool beginning Mobile Development Computer Science project.

3. This phone doesn't have the 'always on' option while USB connected.  As a developer I've found that to be very irritating.  My default screen timeout is 15 seconds.  When you're tweaking something and in a quick back and forth between the code and the phone it's nothing short of infuriating.

Today I started searching the market for a 1-touch solution.  I found it: Screen Timeout Toggle.  You put the shortcut or 1 of the 2 widgets (see below) on your desktop and it does 1 thing; it toggles between keeping your screen always on and back to the pre-defined system setting.  Of course, the beauty of the widgets is that they provide an indication of the current state.

I tested the app using a power control widget to adjust the screen timeout setting and by my testing the app does exactly what it claims to do.  I do very much enjoy the complete utilitarian approach this app takes.  It doesn't try to be the end-all-be-all for your power, screen and connectivity management.

https://market.android.com/details?id=com.chemdroid.screentimeouttoggle


Saturday, February 4, 2012

Did you Floss today?

Floss App (http://flossapp.com/) is a habit helper.  It has an amazingly simple, clean interface and has served as the simple reminder "did you run today."  Of course you can fill in any verb you like to complete the reminder sentence.

You can see by the images below that lots of effort was put into the interface and the user experience (UX).  The app author has, on many occasions, watched how people interact with his application.  He is always interested in "why'd you do 'that'" or "what did you expect to happen when you did 'that'?"  Many of the UX tweaks have been a direct result of those interactions.

As you'll see by a sampling of my data below the app has done beautifully reminding me to run but I haven't necessarily done so well ;)


Floss

Notifications

Achievements / Awards / Badges

Graph Your Progress

Share Your Success

Share Your Success

Quickly see your success and identify days you need to answer

The first thing you see.  Yeah, last ... you're going to see this as soon as you click the icon ;)  Might as well show you the less obvious pieces of the app first!

Wednesday, January 25, 2012

Eclipse throws the error "Debug Certificate Expired" when you launch your app

So today I sat down at our Cincinnati Android Users Group Social Coding Meetup.com Event http://www.meetup.com/cincy-android/events/48627332/ and when I launch my app I was presented with the following error:

Description: Resource Path Location Type Error generating final archive: Debug Certificate expired on 1/18/12 7:14 PM SHOUT Unknown Android Packaging Problem

Turns out I've been doing Android development for about 1 year now.  Happy Anniversary to me :)  To correct this issue you need to delete the "debug.keystore" file.  On Linux that file can be found in ~/.android.

Monday, January 2, 2012

New Interface Sneak Peak

Below you can see where the new interface is headed.  A new logo and a new app name are also in the works.
New UI