One of our teammates is taking a course about object-oriented program design that discussed Agile software development. This approach to development focuses on a project's backlog, prioritized by the time remaining on each task.
He found that he organized his own work in a similar manner, prioritizing his tasks not simply by when they are due, but by a litany of other factors. These factors include the tasks' importance levels, their firm due dates (or lack thereof), and the amount of work he still needs to put into them before they can be completed.
What it does
To resolve this aforementioned ever-present productivity issue, Agile Tasker sorts users' tasks according to not only the time by which they must be completed, but also by their relative importance (as determined by the user) and by the amount of time required to complete them.
For example: Let's say I have to send an email to my intern today; however, tomorrow, I have a report due to my boss at noon. Conventional "to-do list" apps would prioritize the email to the Intern before the report to my boss because it is due first. However, we all know that I really _ italics_ should be working on that report. With the nuance provided by Agile Tasker, I would be guided more prudently through my work. With Agile Tasker, rather than setting alarms (that I will inevitably ignore) to send emails, I'll simply get my work done in a more appropriate order.
Although the benefits of Agile Tasker are immediately apparent in its use by a single person, they become must more impactful when the application is used to guide a team of people. Let's examine it's potential uses in a software development team. These developers will likely have scores of individual tasks to complete in a day. Rather than spending an hour a day delegating tasks out to each member of the team, Agile Tasker could quickly rank the importance of these tasks. Thus, Agile Tasker minimizes the amount of time you or your organization spends planning and maximizes the amount of time you spend doing.
How I built
We built a cross platform mobile application that uses ionic and Cordova to produce a native-looking experience on what is, in reality, a web application. Ionic is driven primarily by Angularjs, which was a bit of a project to learn, but in the end allowed us to avoid writing code to manipulate the DOM. We packaged the application for Android only, as none of us had either a windows phone or an Apple developer license.
Challenges I ran into
None of the members of our team had ever used Angular, Ionic, or Cordova, and one member of our team had never attempted a software project before, so spun our wheels against several bugs due to our inexperience with the platform. The software stack we used is very extensible and approachable, but this often left us having trouble figuring out the best way to create a consistent ui using disparate plugins.
Accomplishments that I'm proud of
We are satisfied that we jumped into a technology that we didn't know, and yet finished the core application.
What I learned
What's next for Agile Tasker
We will continue to flesh out the app by adding features and integrating it with other productivity applications.