I Finally Updated PoopLog for Android

PoopLog 2.5 running on various Android devices: Clockwise from far-left: HTC Dream (first Android phone), LG Nexus 5, Samsung Galaxy S4, Samsung Galaxy S5 Mini, Samsung Galaxy Note 1, Moto G 1st Gen, HTC Magic, Alcatel Pop7 Tablet

This is the story of a tireless mobile developer meticulously working on a long overdue update to one of his beloved apps, PoopLog for Android.

If you would rather just get the update:

PoopLog for Android on Google Play

Motivation

You read that right.. I’ve been working on this update for over 3 years. Realistically, I only get about a half-dozen hours every week to code, and even less time to get into a zen-like coding state. One of the tricks I used to keep myself on task with PoopLog was to spend at least 15 minutes, every single day, reviewing or researching something related to the app; This helped to keep the project fresh in my mind, allowing me to iterate through thoughts even when I wasn’t actively coding. Doing this daily was not easy, and I lapsed and broke the chain several times citing code fatigue, but luckily I had another motivational trigger that kept me coming back to my IDE: The notification of a new email from one of my fantastic users.

A few of the emails received from my some of my users
PoopLog 0.5 on a Nexus One, PoopLog 2.0 on a Nexus S, & PoopLog 2.5 on a Nexus 5

Redesigned

In January 2012, Google introduced Holo, a new design style to help developers create a cohesive look across all Android apps, rather than the mishmash of customized widgets that was starting to become the norm. This effort leads to a better user experience as users no longer have to guess, or ‘hunt-and-peck’ for their desired action, and instead empowers users to reach for familiar targets in a recognizable layout with confidence. #HOLOYOLO excited me as a passionate supporter of Android and Android development; it was the main reason I started sketching new mock-ups of what a redesigned PoopLog might look like, including support for tablets and large screens.

Evolution of Poop Type Images

Day In, Day Out

In addition to the layout, look and redesign, I wanted to add many of the features requested by my users, so I started a simple TODO list. This TODO list became a massive, living Google Docs document that I placed front-and-center on my bookmarks toolbar, and I used it as a running checklist for everything.. new feature sets, activities/fragments to include, pseudocode for working through complex interactions, known code issues to grep later, a list of people and libraries to credit on release.. essentially anything and everything that I needed to remember, do, finish, or think about.

Snippet of my Google Docs Master TODO List
A few of my “micro todos” that I create at the end of a coding session, telling myself how to start the next session.

Traps

There are plenty of traps I’ve fallen victim to from not releasing early and often, a mantra I try and live by. A very important facet of mobile development that I underestimated is the speed at which the the blazingly fast-paced mobile/Android development landscape moves. Since starting this update 3 years ago, I’ve suffered through an entire IDE change (from Eclipse to Android Studio), a change to multiple libraries, including one of the major libraries building the foundation of my app (from ActionBarSherlock to the Android Support Libraries), and a refinement in visual style which still isn’t complete (from HOLO to Material Design). Each of these changes required numerous hours of research and understanding before implementing, and resulted in several black triangles before being able to successfully compile my app, time and time again.

Feature Creep Kills poster by Android Foundry

Pitfalls

In addition to the daily development traps of a long project timeline, a lot happened in my life outside of the app development that drained my energy and made it harder to continuously come back to code every day. Early on, Something in the Mail still needed some daily love and attention, but eventually this project wound down. Two summers ago, my main development laptop had to be replaced after surviving on it’s last legs for far too long; and during that same summer, I was laid off from my previous employer after they downsized, so I took a position working overnight technical support, a decision I regret since I became a useless zombie during my awake hours. Most recently, I’ve been suffering through what I initially thought was carpal tunnel, but it’s now turning out to be an issue with my cervical spine/nervous system thanks to recent MRIs, and I just found out I’ll be going in for spinal surgery within the next month to have a couple of screws inserted and vertebrae fused. Interestingly enough, during these 3 years while life was happening away from the keyboard, I actually took solace in knowing that my code was always sitting there, waiting for me; A positive constant throughout the tribulations of daily life.

My Nexus 5 is shattered, but it still works!

Beautification

In addition to overhauling and refactoring code, I also worked on updating the graphics (logo, icons, color scheme, hero images, etc..). Now, call me old-school, but I still use my trusty copy of JASC Paint Shop Pro 7.04 from 2001 for anything simple, but for some of the more advanced and prettier designs, I forced myself to take the time to learn GIMP. I also registered a new domain and designed and developed an entirely new website to showcase the app/update (www.pooplog.xyz). Being able to work for only a few hours every week, these components take a lot of time to get just right, especially when learning new tools. Also, graphics have a tendency to become stale in my mind, especially after long periods without change, which prompts me to continuously work on and try new designs and ideas, taking more time away from actual development.

PoopLog icon design throughout the years

Released

I learned my lesson. While I have plenty of features on my roadmap (including logging for multiple users (children, pets, etc..), a map view of all of your poops in the city (or world), custom tags, etc..), I intend to release early and release often going forward. This update took way too long to ship, and I appreciate every one of my users for waiting patiently. I hope it helps. ❤

PoopLog for Android on Google Play

android and full-stack web developer; everyday tech enthusiast; living in beautiful victoria, bc, canada

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store