I have big problems waking up when using regular alarm clocks.

I will press the snooze button forever, and ever, and ever more.

I will gladly snooze for two hours. The snooze button is the devil.

When I do get up, out of bed, out of my bedroom, it does not take that long until my brain wakes up though.

So, I figured. what if I can have an alarm system that makes me have to get out of bed? I also realized that because of my manic abuse of the snooze button, I really did not have a regular morning routine. The idea of the solution to this problem, has been with me for a while, but it wasn’t until I found something called zxing, that I could start making it into reality.

zxing is a bar coding scanner library for mobile devices. Being quite lucky, I got access to an android phone to expirement with. The great thing about the zxing lib, is that it integrates into android apps within minutes.

So what is the solution?

Quite simply, the solution is to make you have to leave the bedroom by making scanning a specific symbol the only way to turn off the alarm. This symbol can be printed and put up anywhere you like.

Wait, there is more. The “symbol”, is actually a 2d barcode, containing information about how much time of peace and quiet you get until the alarm starts nagging again. There is of course one of these bar codes which will be the last one, which will turn off the alarm in entirety. I hang my last bar code at the front door, scan it when leaving the house.

Scanning the last bar code will also trigger the application to automatically start playing a playlist I’ve set up on my phone. This gives me the pleasure of leaving for work with awesome music to kickstart my morning.

A morning with “morning routine”

After setting the alarm at night to go off at 7 am, I go to sleep. At 7 AM the alarm starts beeping. I wake up, and I realize I have to go to the bathroom to scan the code. The bathroom gives me 20 minutes of quiet, and I take a shower and get dressed.

The alarm starts ringing at 7:20 , and I scan it at the breakfast table while watching the morning news. This time, the bar code placed in the living room, gives me 30 minutes. I finish my breakfast early though, so I get dressed for work, scan the bar code at front door early, because I did not let the 3o minutes pass.. And off I go to work with some uplifting music to start my day.

The release plan

Unfortunately, I do not have time to make the “morning routine” application into the best it can be, but it’s going to be released at The Gathering 2010, free and open source. This is because I believe the basis of the application is something that can help people who have the same problem of waking up as I do.

It will probably be released through Tumbleweed Interactive, which is a company that my friends and I have started up. Tumbleweed Interactive is really a indie game dev company, so we’re just giving out because we wanted to see if it would be of any use to our fellow geeks.

At this moment though, there is an android version which is not yet 100% release ready, but I’m going to offer a link to the unsigned android apk file. You can download and install it on your android phone and test it out if you want to. Here is the apk .

And here is a guide on how to install unsigned apps on your android phone

And last but not least, here is how to generate the codes the program needs to scan:

First, go to this site, a bar code generator

Select the contents to be text.

For the first bar code that you have to scan in the morning, write: 1:h:m , where you replace h and m with how many hours and minutes you want the alarm to be quiet for.

Following the example earlier, you could write 1:0:20 to indicate 20 minutes of silence , then hang it up in the bathroom.

For the next bar code in your morning routine, write 2:h:m , again replacing h and m with hour and time of your choice  (would be 2:0:30 in our example).

You can have as many, or as few bar codes as you want, but they must always have a sequence to them.

For the last bar code which switches off the alarm, simply write “last” , into the bar code generator (without the quotes).

Print these bar codes, hang them up somewhere there’s a decent amount of light, then give it a go!

For the time being, the bar codes has to be scanned in sequence. That is, you have to scan barcode 1 before you can scan barcode 2. The last bar code which turns the alarm off completely, can be scanned at any time though.

Oh and a little dependancy

The application uses zxing’s bar code program to perform the bar code scanning. This can be installed by searching for “barcode scanner” on the android market. This application has to be installed before using the program.

Wow, this was a lengthy post.

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks

15 comments so far

Add Your Comment
  1. This could probably be used to help people who are unable to structure their days because of ADD or similar disorders. You should seriously consider that as a possible avenue of commercial development.

  2. This is a great idea ! Is there a way to make a code that simply turns the alarm off, without turning it on later ?

  3. @Holten . heh, cool video, I should send that woman a mail when the program is released through the android market.

    @Matthijs , I haven’t thought about that possibility. This being released as open source, and it actually being a very simple program once the bar code scanning is in place, makes it possible for anyone who wants to do that to make it happen.

    @ak , Yeah. the bar code with “last” encoded, will turn off the alarm. In the current version, it will also automatically start playing a music playlist. That feature would be easy to remove though.

  4. Thanks :) I don’t have any playlist on my phone so i’m wondering what it’ll do. I’m gonna try.

    Maybe adding support for a barcode simply encoded with “off” would not be too hard ?

  5. Weird, i can’t install the apk on my phone (Htc G2 running latest Cyanogen rom, unknown sources enabled).

  6. hmm. what error message do you get from the adb command?


  8. hmm. Seems like I’ve been a slacker with signing stuff properly. I’ll have a look at it after work.

  9. Allright. yeah, I _had_ been a slacker. If you redownload the app, it should work. Sorry about that. Awesome to hear you are interested in testing the app.

    If you don’t have any playlist set, it will try and load up with a default playlist which is “all songs”, and that should be empty.

    I will make it handle an “off”-tag before I release it to the market and release source, thanks for the suggestion.

  10. hi !! I can understand you are using Intents from the barcode scanning app which we have to install on phone to run your app. I am a newbie with no phone and want to make a simple barcode decoding app. Can you plz guide me how to install barcode scanning app on emulator and develop a similar app on emulator?? I am really stuck up. plz help

  11. I’m not sure if it’s possible to use the lib on the emulator. I haven’t tried actually.
    The people at zxing might know.

    The source for the program and a market release is going to happen very soon, so then you’ll have source to look at.

    Did you try the Morning Routine program? If so, how did you like it? :)

  12. Weird, i can’t install the apk on my phone (Htc G2 running latest Cyanogen rom, unknown sources enabled).

  13. Yo, the app is now available on the market, so just do a search for morning routine. :)

  14. Every time my world falls apart a little bit, I always come back to this app. I consider you one of my favorite internet-people.