Thursday, September 30, 2010

JavaOne 2010

JavaOne turned out to be better than I'd hoped. I found the layout in multiple hotels confusing at 1st, but finally got the hang of it. Here's hoping Oracle keeps it separate from Open World next year.

The session quality was good and there were food & drinks everywhere if you knew where to look.

The Complete Photo Set on Flickr

Ironman had a presence.

As did Exadata.

Concurrency Discussions were everywhere.

Best Session was by Adam Bien

Agile too.

My coworker asks Mark Reinhold a Question

I guess I wasn't paying attention and couldn't believe it when Ray Kurzweil walked on stage.

He even had a Mandelbrot picture.

MLB was there and gave Richard Bair a Hat

And also demoed their Draft Software (Go Rangers!)

General Silliness for the Laser Scanning Demo.

And remember, don't feed the pigeons.


Saturday, September 18, 2010

Todo Q Forums

Todo Q now has official support forums at, which is also the future home of the web client. A FAQ has been posted and we are monitoring the forum.

A new landing page, video tutorial, and more information is coming soon.


Saturday, August 28, 2010

Google drops out of JavaOne

Very disappointed to hear that google has cancelled all their talks at JavaOne. Kinda has that "I'm going to take my football and go home" feeling to it.

In the post, Josh Bloch says:
Like many of you, every year we look forward to the workshops, conferences and events related to open source software. In our view, these are among the best ways we can engage the community, by sharing our experiences and learning from yours. So we’re sad to announce that we won't be able to present at JavaOne this year. We wish that we could, but Oracle’s recent lawsuit against Google and open source has made it impossible for us to freely share our thoughts about the future of Java and open source generally. This is a painful realization for us, as we've participated in every JavaOne since 2004, and I personally have spoken at all but the first in 1996.

We understand that this may disappoint and inconvenience many of you, but we look forward to presenting at other venues soon. We’re proud to participate in the open source Java community, and look forward to finding additional ways to engage and contribute.

By Joshua Bloch, Google Open Source Programs Office

I'm aware of the patent infringement action, but don't remember Oracle suing the open source community. A little whiny.

I have seen Josh speak many times at JavaOne and his talks will definitely be missed. The puzzlers talk was great. I also see that Crazy Bob Lee dropped out in support. A quick twitter search shows a lot of activity.

For the record, I will be at JavaOne.


Thursday, August 5, 2010

Todo Q now compatible with DroidX

Apparently there is a bug in the DroidX maps implementation. Recently I started getting bug reports in the maps area of my app, which is usually very stable. The app would crash, but w/o a FC dialog.

Luckily I was able find an article by another developer and release a patch as v1.1.21.

Hard to believe this basic class in Android is broken in the DroidX. I heard this is a leftover from 1.6 that didn't get ported, but have no proof.

Thanks go to Jonathan W. for helping me find & debug this issue.

Here's the stacktrace. Maybe it will help some other poor developer looking for this bug.$1@45e159c0
08-05 08:50:44.839  4493  4493 W dalvikvm: threadid=3: thread exiting with uncaught exception (group=0x4001e278)
08-05 08:50:44.847  4493  4493 E AndroidRuntime: java.lang.ClassCastException:
08-05 08:50:44.847  4493  4493 E AndroidRuntime:  at

Todo Q is only $1.99 on the android market.

Sunday, July 11, 2010

Repeating Tasks Use Case

Repeating Tasks are a common request for Todo Q & something I've been working on for a while. The implementation will allow the easy addition new or custom repeat rules. The following is a raw document I created and just decided to release. I welcome input on alternate repeat rules and or strategies that I might have missed.

Use Case: Repeating Tasks

Tasks can be marked as repeatable with a custom time period.

The user can select one of the following values in the dropdown:
Every Day
Every Week
Every Month
Every Year

The application will then store this value & use it when a task is completed
to schedule the next one. Custom repeating tasks require additional user input.

Custom Repeating Tasks

D1-Every day
D2-Every weekday
D3-Every N days

W1-Every Sun/Mon/etc
W2-Every N weeks on {d1, d2, ..., dN}

M1-Day X of every N months
M2-The first/second/etc Sun/Mon/etc of every N months

Y1-Every year on MM/DD
Y2-The first/second/etc/ Sun/Mon/etc of Jan/Feb/etc

No end date
End after N occurrences
End by X date

Repeat Rules

D1 - no inputs
D2 - no inputs
D3 - how many days

W1 - which day of week Sun/Mon/etc
W2 - how many week apart, which days of week

M1 - which day of month, how many months apart
M2 - which one, which day of week, how many months apart

Y1 - which date MM/DD
Y2 - which on, which day of week, what month


String ruleType
String ruleValue

DateTime calculateNext(RepeatRule rule, DateTime time)


Please comment below or email me if you have suggestions for the repeating tasks implementation.

Todo Q is available for $1.99 on the android market.


Thursday, June 17, 2010

Todo Q for Android is now available in French and German

Todo Q for Android has been localized to French and German. The screenshots below are from my eclipse development environment. Comments and better translations welcome.


Editor in French


Editor in German

Todo Q is available on the android market for $1.99.


Sunday, June 13, 2010

Todo Q now runs on Froyo

Todo Q v1.1.18 was just released supports the "unofficial" Froyo build. I used the MyDroidWorld instructions to update a spare droid for testing. (thanks for the link Nathan!)

Todo Q is available for $1.99 on the android market.


Tuesday, May 25, 2010

Android Market Crash Reports, Release Info, and Froyo

Just a quick update.

The android market crash reports have already helped me find a bug in Todo Q.

Recent releases have also fixed a couple of bugs in address lookup and added features to control the custom icons and category assignment.

The only other thing on my mind right now is Froyo. Seems the Calendar provider changes are breaking applications everywhere. Time to go back to gdata. Ugh. (bug on google code)

Todo Q is only $1.99 on the android market. Give it a try today.


Update 1:

This bug comment says the provider URI was updated.
Content provider URI
Old (2.1 and before): content://calendar/
New (2.2): content://

Sunday, May 9, 2010

New Features in Todo Q for Android

Todo Q was updated recently to make entering & reviewing tasks easier. The new button bar has buttons to quickly add tasks, toggle the display of completed tasks, open settings, and open maps.

New Button Bar

The widget was also updated to a 3x2 and displays up to 4 items.

Todo Q has a 3x2 widget

Todo Q is available for only $1.99 on the market.


Sunday, May 2, 2010

Todo Q v.1.1.11 for Android has Faster Task Completion

Todo Q v1.1.11 was recently released to the android market. The main enhancement was the addition of star-style checkboxes on the task list that can be used to complete a task. The long-click menu still exists, but the star-style checkboxes make it much more intuitive.

List Update

Currently working on a button bar for the list with common functions such as add task, show completed tasks, settings, and filter by location. On a longer term, trying to rework the location services to support additional location providers and improve battery life. These are harder problems, but definitely worth solving.

Todo Q is available for only $1.99 on the android market.

Follow billybobbain on Twitter

Saturday, April 17, 2010

Todo Q v1.1.10 for Android Released with Widget

Todo Q v1.1.10 includes several new features designed to make managing tasks easier.

  • improved help with new content and screenshots
  • new widget showing next task with time and location
  • improved foursquare venue lookup provider (beta) (see video)

My first task this morning is to replace my video card. It looks like I'm late already.

Todo Q Widget

Clicking the widget opens the task list. (principle of least astonishment)

List of Tasks

Todo Q is available for only $1.99 on the android market.


Friday, April 16, 2010

Todo Q Screencast

Just ran across this really cool androidscreencast project on google code. Only a few frames a second, but I sort of like the effect.

Here's a capture of me walking through the app.


This uses the beta foursquare lookup to find the grocery store. What do you want to see me demo next?

Sorry, no audio at this time. Ya'll don't wanna hear my Texas twang anyway.


Wednesday, April 14, 2010

As the World Turns

Eek! It looks like I let my frustration leak onto the blog. Sorry.

I REALLY want Todo Q to sync with google tasks, but need a reliable method.

I appreciate the input & haven't given up on it.


Monday, April 12, 2010

Blame Google, Not Me

I'm getting beat up over the lack of google task sync. Flames for me instead of the software missing the API. If there was an API for google tasks, it would be integrated. I refuse to resort to screen scraping or use a backdoor that might end up in lost customer data.

Sorry, that's just the way I am.



Sunday, April 11, 2010

Todo Q v1.1.9 for Android Released

Todo Q v1.1.9 for Android adds a few new features to the the task editor. A new "All Day?" checkbox was added to allow the creation of all day events. The task editor also replaced the "Add to Calendar?" checkbox with a dropdown listing the calendars known to the account. You can now assign a task to any of your calendars, instead of only the default defined in settings. The default still affects the imported calendar. (for now)

Here's a shot of the task editor showing the "All Day?" checkbox is selected. This hides the normally visible start & end time buttons. The calendar dropdown is visible at the bottom showing the Billy Bain calendar is selected.

Since the last blog update, Todo v1.1.8 was also released with the following features.
  • using a contact address on a task to avoid retyping
  • a new preference to force use of the gps to autofilter the list
  • a very beta foursquare lookup enabled via a new global preference
  • and a few bug fixes

Todo Q is available for only $1.99 on the android market. BBB

Friday, April 2, 2010

Droid 2.1 update makes Todo Q maps say pinch me!

My droid was updated to 2.1-update 1 this morning. I ran a quick test of Todo Q and everything seems to work normally. When testing the maps in Todo Q, I was surprised to find that "pinch to zoom" worked flawlessly. (!) I figured it would require additional work, but I guess they built it right into the component. Good job Google.

Todo Q is available for 1.99 in the android market.

Tuesday, March 30, 2010

Todo Q v1.1.7 for Android Released

A weekend full of work resulted in a few bug fixes and enhancements released as Todo Q v1.1.7.

Todo Q is smart to do list that filters based on your current location. Todo Q unifies the calendar, contacts, and navigation functions seamlessly into a single interface. This integration plus advanced sorting & filtering, time & location alarms, gps/nav integration, gui configuration, send via sms, custom icons, backup to SD, and much more make for a full-featured application.

Here's a summary of the new features in 1.1.7.
  • New "Notify" field with Vibrate, + Audible, + Repeating Audible values is a dropdown located just above the priority dropdown that allows task level control of notifications.
  • Reminder field can now be a dropdown or slider and is controlled by a setting. The default is still a slider for now, but I like the dropdown.
  • Categories can now have custom labels which are established in the settings.
  • Fixed the bug where the task contents weren't being autoselected in the editor, causing extra keystrokes. This still seems to be acting differently since upgrading development kits.
Things I'm working on for upcoming releases that will hopefully see the light of day.
  • Foursquare integration, with other location providers coming in the future. (testing now, very nice)
  • Use a contact address with task for navigation, etc.
  • Better battery/power management for location alarms.
  • Google tasks integration (this is hard!)
  • Multiple gmail accounts (even harder!)
  • Usability
All of these features were requested by customers. I am too clueless to come up with this stuff on my own. ;)

Todo Q is available in the android market for only $1.99.

Droid 2.1 rollout

Engadget says it's finally coming. Todo Q has been tested on 2.1 before, but not on a Droid. I bought mine day one & hope this all goes smoothly. They've had enough time to get it right.

If there are issues, please email me at


Sunday, March 28, 2010

Plasma Fractal Generator source added to github

The plasma fractal generator project has been added to github at Maybe I'll find some time, but I really wish someone would add color cycling using a 256 color palette ala Fractint.

Plasma Fractal on Droid


Saturday, March 20, 2010

Todo Q v1.1.5 for Android released

Todo Q v1.1.5 was just released to the android market and includes many new customer requested features.

Backup to SD Card
The Todo Q database can now be backed up to the SD card. If something bad happens to your phone and you have to reinstall your applications, Todo Q will automatically restore from the backup database.

Usability Enhancements
We added new save and revert menu items on the Todo Q Editor menu for users that prefer a direct command to save or cancel changes instead of the automatic save. Plus we added confirmation messages for anytime we save or cancel an update to a tasks to give you more feedback.

Clear Filter Button with Task Counts
The Todo Q list sports a new button adjacent to the filter field that displays the count of visible tasks vs total tasks as a label. When clicked, this button clears the filter and refreshes the list to show all tasks.

Here's a screenshot of the task list unfiltered...

... and filtered based on the string "3141".

Each item is visible for a different reason:

  • Find Me 3141 has "3141" in the description
  • Find Me Too has "3141" in the custom field
  • Find Me Three has "3141" as part of the address / location field.

Todo Q searches across multiple fields when filtering and updates the list and task counts dynamically as you type in the filter field.

Todo Q is available for only $1.99 on the Android Market. Give it a try today.

Follow me on twitter here.

Friday, March 12, 2010

Stealing Time with Todo Q

A few years ago I met a guy at work named John that just had his hands in everything. He had  more than a full-time job, did outside consulting, wrote papers, was on forums & expert groups and anything else that interested him. I once asked him how he found the time and he said it was really simple. You have to learn to "steal time." I'm like, WTF does "steal time" mean? He says, "You know those moments when you had a breakthrough, were interrupted, or maybe a meeting ended early?" View those as opportunities to "steal time" and work on something else. I started trying to do this and I do find it to be effective. Everyone does it... when you are paying a bill standing in line at the market, or even while supposedly listening to your wife. He just advocated taking it to the extreme. I'm not as good as John, but I've learned to apply this technique and it seems to have helped my career and life in general. Not sure wife would agree.

One of the other things I heard about a couple years ago on TED was the cognitive surplus that is wasted in the world by idle time, mainly watching TV. I especially like the comparison of TV to Gin in the past. (John would like that too) I've started apply stealing time to TV... so if I sit down to watch TV, I ask myself does this show suck? If so, then turn off the TV and do something else. Or if a (insert your favorite sport here) game blows out, steal that time and do something else.

The ultimate question becomes, what to do with all the extra time? So I made a list, which turned into a to do list or queue, which is now Todo Q. Available for $1.99 on android market.

Hope you enjoyed my little story. I stole the time to write it because the smoke alarm started a low-battery beep this morning and after that, I was up. Steal some time today.

Billy Bob Bain

P.S. - Here's John in the past with book and some trophy. Like I said, it was always something.

John Reilly

Saturday, March 6, 2010

Todo Q v1.1.2 for Android adds Custom Icon Support and Send over SMS

Todo Q v1.1.2 adds the following user-requested features.

  • send todo & location over SMS as plaintext
  • custom icons can be assigned to a todo or location
  • added preference to define custom icon folder
  • ability to delete a location and optionally todos from location editor
Below is a screen shot showing both custom and built-in icons in the list.

Todo Q with Custom Icons

Todo Q is available for 2.0+ devices such as droid and nexus on the android market for only $1.99. 


Friday, March 5, 2010

Five Great Applications for Android

I am a developer with a Droid. Here are my five favorite android applications that don't have the word google in them.

Thinking Space is a mind mapping tool that is fun to use.


RealCalc is a multifunction calculator with the RPN I crave.

Minishot Basketball is one of my 6 yr old son's favorite games.

Solo Guitar makes even me sound pretty good.

Chess is great and looks better on my droid with each release.

That's my five. What are yours?


Tuesday, March 2, 2010

Mixing it up with Android and Google App Engine

In my opinion, Google has solved the mobile development puzzle when it comes to networking and security. A handset only application is fine, but a secure networked application is much more fun.

I've been theorizing a "Send to Friend" feature for Todo Q for a little while. I have more than one user (ok, just one) who wanted the ability to send tasks to their spouse and/or kids. (we too are an all droid family)

I really liked this customer's idea, but had trouble deciding how to implement the feature. A few of the ways to implement:
  1. a "break-it-up-over-SMS" idea
  2. some kind of email kludge
  3. shared calendar with auto import
  4. or some kind of server-based solution
The "break-it-up-over-SMS" idea was workable, but looked ugly and cluttered the users SMS inbox. Maybe there is a way to send it to an application "port", but it wasn't documented well enough to figure out and you still had the multiple message issue. The email kludge was also possible, but I didn't like that solution really even though Mailinator would have made it easy. The shared calendar solution would get most of it, but Todo Q carries location data and mangling that into the google calendar would have resulted in ugly calendar entries. When I 1st wrote Todo Q, it didn't have its own database and just piggybacked on the google calendar. I didn't really want to go back that direction, so it fell to the server-based solution.

The server-based solution was a bit daunting due to security concerns. Was I going to have to write a whole security framework just to support this feature? Seemed like more trouble than it might be worth. I had written a couple of applications on Google App Engine (GAE) before and knew I wanted to use it again for this feature due to the minimal cost and maximum scalability. Amazon EC2 was another option, but the cost is just too high for a micro-isv like me. (I do have experience with EC2 costs)

Turns out that others, such as Gast Studios, have already been down this road with Android and GAE. Todo Q supports only 2.0 devices and higher, so my solution was a little easier than the Gast solution. His post at had all the details necessary to implement the security feature. Instead of inventing my own security, Todo Q could use the google account associated with the device. No username & password prompting, credential caching or anything nasty was involved. The final solution uses the device AccountManager to get the "authorization token" and perform an HttpGet to appengine which returns a cookie that identifies the user. Subsequent requests to app engine will automatically use this cookie and be authenticated as the app engine user. Once again Google let me focus on my application and not build another framework.

Todo Q for 1.1.0 has support for "Send to Friend" and is available for $1.99 from the android market.

Follow me on twitter here.


Sunday, February 28, 2010

Todo Q for Android has Send To Friend

Todo Q v1.1.0 is released to the android market with the new Send to Friend feature. This feature enables tasks to be sent from one Todo Q user to another. My wife loves this new feature.

Below is a summary of the new functions.
  • Task detail including description, location, start date, due date, reminder date, category & subcategory
  • Location details including icon, location text, and gps coordinates
  • Remembers last user to a quick send
  • Can receive one, many or all at once
  • Currently a manual pull function, but will be automated in a future release if demanded
  • Secured via google account for both sender & receiver

Send To Friend

Todo Q is only $1.99 on the android market. Give it a try.

Follow me on twitter here.


Friday, February 26, 2010

A Little Can Be A Lot in Todo Q

Recently we added a custom field at the request of a user. We labeled it identifier, and it is located below the priority field in the editor. The label for this field is customizable via the settings menu. This is why I love this model. In my day job, I NEVER talk to customers.

Here' a shot of the editor and the new custom field.

Edit with Custom Field

This field is indexed and you can filter on it from the task list.

Todo Q is available on the Android Market.


Todo Q on Droid Forums

We will be monitoring the application forum on for Todo Q related questions.

If you have questions, or just want to talk about possible future enhancements, this is the place to do it. I have no ties to this forum, but have been chatting with the admin & can tell you he's a droid fanatic.


Thursday, February 25, 2010

Todo Q v1.0.21 for Android Links Contacts, Calendar, And GPS

Todo Q v1.0.21 for Android merges the Contacts, Calendar and Navigation functions of your phone into one application. This latest release adds a searchable, customizable field to the task entry screen. Very useful if you have a piece of "identifying information" on a client, etc. We've also recently added due date and a high priority indicator to the task list, plus even more sorting and filtering options.

Here's a shot of the task list showing location icons, contact icons, and the new mm/dd due date display and "!" indicator for high priority tasks.

List with Priority

Here we see the editor screen with the Quick Contact Badge enabled after we've selected a contact from the phone. The "Add to Calendar" checkbox will add the task to your phone calendar & sync with the online calendar.

Quick Contact Badge

The locations associated with tasks are mapped & available as navigation destinations from the task list, location list, and location editor.

Todo Q Sat with Traffic

Here are a few of the many preferences that allow you to customize the application.


Todo Q is available for $1.99 on the Android Market. Give it a try.


Wednesday, February 24, 2010

Todo Q v1.0.19 for Android Released

Todo Q v1.0.19 adds additional user requested features to sort by due date, category, and priority, display the due date on the list and fixes an existing sort bug.

Below we see the due date field formatted as mm/dd next to the location name.

List with Due Date

Todo Q is available on the Android Market for $1.99.

Saturday, February 20, 2010

Todo Q v1.0.12 for Android adds animation effects

Instead of an abrupt removal, a completed or deleted task will shrink until it disappears from view. Just a little eye candy to reward you for completing that last task. More to come, but only where it makes sense.

Todo Q for Android is available on the Android Market for $1.99.


Friday, February 19, 2010

Todo Q v1.0.11 for Android has traffic & maps

Todo Q v1.0.11 adds support for a map view in addition to the existing satellite view of locations associated with a task. This, and a traffic layer are all enabled via preference.

Here is a capture of the map with traffic layer enabled.

Todo Q Map with Traffic

And a satellite view with traffic.

Todo Q Sat with Traffic

Todo Q is available on the Android market for only $1.99.


Sunday, February 14, 2010

Todo Q v1.0.10 for Android Released

Release v1.0.10 adds a little more integration with the contacts on the device. The Todo list will optionally display the associated contact's icon, if it is available. Otherwise it will fall back & display the location's icon.

In the screenshot below, the 1st items are using contact icons, while the last two are using the location icons.

Todo Q Showing Contact Icons

Todo Q for Android is available on the market for only $1.99.

Saturday, February 13, 2010

Todo Q v1.0.9 for Android Released

This release adds a user requested preference to control alarm notifications from within Todo Q. This allows for finer control since you can specify audible or vibrate only notifications. The setting takes effect immediately for both time and location based alarms. Alarm related preferences were organized into a separate category to make them easier to find.

Also added a release notes dialog to help users understand what changes are in a release.

Todo Q for Android is available on the market for only $1.99.

Here's a look at the preference screen.

And a shot of the Q.

Balanced Q

Wednesday, February 10, 2010

Todo Q for Android Quick Tutorial in PDF

Here is a copy of the tutorial in PDF format. Maybe I should call it more of an overview, but the point is that you don't need a book to use it.

Tuesday, February 9, 2010

Todo Q for for Android has Rebalance for Categories

One popular time management technique is to assign categories and subcategories to a task.

In Todo Q, categories are represented by letters, such as A, B, C, D, E, F. Subcategories are defined as numbers, 1, 2, 3,..., 10.

When a task is created both category & subcategory can be assigned. The concept is that you ONLY work on each task in its order of importance until completed, or something is blocking the task. Each night you reassign the rankings so that those that become important can move up the list.

Todo Q helps with the reassignment step, we call it rebalancing the list.

Suppose you start with a full Q. Ok, not so full, but enough to demonstrate the technique.

Balanced Q

After a busy day, you look at your list and see there are gaps.

Unbalanced Q

So you open the phone menu and choose Rebalance Categories.

Unbalanced Q with Menu

Now your list is rebalanced. Rebalance keeps tasks within the same category, while adjusting the subcategory to make them sequential.

Rebalanced Q

Todo Q integrates with the calendar, contacts, gps, navigation, maps on your device and makes it easier to use them together. Todo Q is available for Android 2.0+ devices on the Android Market for only $1.99.

Give it a try... and Follow me on twitter here.

Sunday, February 7, 2010

Todo Q for Android Quick Tutorial

I posted a short tutorial on using some of the features of Todo Q.

Plasma Fractal Generator for Droid

Learning about 2d graphics in Android, I decided to convert an old plasma fractal applet to android. It was surprisingly easy. It takes a few seconds to render on my droid.

I've posted the APK and source using google docs new publish anything feature.

A couple of other things I've hacked with lately are a julia set generator and a simple graph demo. Both are written in processing js. The julia set generator is based on another applet, whose link escapes me just now.

Follow me on twitter here.