One of the hardest things to do is to know what not to add to an app. To know how to get to the essence of a piece of functionality, and not add more than that. When you put it the feature in the hands of users, they will tell you what is missing, but you will rarely get specific feedback on the things that aren’t needed. Instead you get feedback like “it is too complicated”.
In my case I have received feedback about Trackle both in person, and through feedback in the App Store. Trackle needs a reporting feature, and some way to let me export my data.
Is that one feature, or two? How should export work? As a consultant for Neudesic, I am required to track my time to be able to bill our clients. We have a time and billing system where I have to put my time every day. For me personally, Export might mean “Put my time into Neudesic’s time and billing system”, but such a feature would be very user-specific (though I’m sure my co-workers would be super happy!)
And how about Reporting? Do I just dump the data into a CSV file and let you pull it into a spreadsheet? That would be flexible, but not much fun for the user, as it puts it on them to query data for even the most basic need. However, it does meet the “Export” requirement.
I felt like I needed to be able to pull data out in a way that let you go back in time. To see summaries of what had been captured, but without making the feature too complex. I had to retain the simplicity that gives Trackle its flavor.
In the end I put in a fairly simple reporting view that let me see roll ups of my time in various date ranges. Rather than have the user provide start/end dates (those picker wheels aren’t much fun), I chose to offer a fixed set of date window sizes in multiples of weeks or months. You can swipe to go back through time.
To make the view more useful, I allow categories to now be marked as Billable vs. Non-billable, which makes it easier to see whether you have met your billable target in a given week.
As for Exporting, I decided to start simple. For version 1 of this feature I integrated the LibXL library, which allowed me to create an Excel spreadsheet (for Excel® 2007 and later). This spreadsheet contains the same report data you see on screen, but also includes separate sheets for all of the daily total and planned hours in the given date range. With this I felt the end user could get to the data they needed, but without me making it super specific to any one use-case.
I chose Excel format, as it is widely supported, including by Apple’s own Numbers® app, as you can see on the screenshot on the left.
Of course, I am open to feedback, and I’m sure I will get it. I deliberately left a space in the toolbar at the top-left for me to add settings and customizations. It would be interesting to allow for a custom date range. I would like to make it so that if you click on a row in the report, you get a full-screen graph plotting how your total and planned hours changed over the time period. I could probably add both of these without cluttering the app too much. I also considered letting you click on the hours shown to switch between total and planned hours.
One last thing I had to consider was how to monetize Trackle so I could make something back for all of the time I have invested in it. Rather than charge for the app itself, I decided to make the more advanced parts of the reporting only available to users that paid to unlock those features through an in-app purchase, which includes the Export feature. This will let me keep the app itself totally free, and only monetize the features that cost me money to add (the LibXL library is sadly not free).
Trackle 3.1 will be available in the App Store in the next week or so, once approved by Apple. Let’s hope I got the balance right.