I have been mainly working on FocusGTD2 the last couple of days since google decided that it would no longer accept / distribute apps targeted for < Android Oreo.
At the time I didn’t think about it much so I told myself, „targetting Android Oreo can’t be that hard, eh?“. Man, I was so wrong.
New features of Android Oreo such as Doze mode and notification channels basically required me to rewrite much of the alarm notification system. So the last couple of days were consisting of setting many many alarms, waiting for them to go off and then curse at google when they didnt (which was far too often the case).
If you want to know more details you can head over to http://pguardiola.com/blog/darealfragmentation-alarms/ to see the madness. Basically, I now need to have 3 different code paths when I want to schedule an alarm based on the android version. Fragmentation FTW!
I am now slowly rolling out this release (first to testers and then perform a staged rollout and watch if there are unforeseen problems). After this intermezzo, I will go back to FocusGTD3.
Here is a short status update for how its going with FocusGTD3.
I started working on a new Omnifocus 3 feature which lets you show all tasks of a specific tag on the „today“ view.
Overall I completed the backend for ordering tasks within a tag, but there is no UI to surface this functionality yet. Since FGTD3 implementation is taking longer than anticipated I will probably push some UI updates out to get a first version done sooner.
A short update on how its going. I have finally resolved most of the questions regarding tag ordering and most of it is now implemented.
The only missing piece for tag related backend stuff is being able to move tasks within a tag to a new position. Once this is done, I will move on to one of my last open backend features which is „custom alarms“ support.
I managed to implement basic tagging support in my database backend and was just about to finalize one of my last automatic integration tests (these are programmatic tests that simulate various actions such as various ways to tag / untag / change order of tags, etc.) when I realized that some of my basic assumptions on how tag ordering works was wrong.
I wont bore you to death with the technical details but suffice it to say that I will need to rework portions of my tag ordering logic to accomodate my new findings.
So from an overall status perspective it looks like this
new database: ✅
downward sync: ✅
upward sync (minus task ordering in context): ✅
task tag support: ✅
tag ordering in tasks: ✅
task ordering in tags: in progress
custom alarms: ○
automatic database cleanups: ○
project/folder list: ✅
context list: ✅
Forecast view: ✅
tags popup for task editor: ○
order tasks within tag screen: ○
task reordering within project: ○
complete UI overhaul: ○
dark mode: ○
So as you can see there is still a bunch more work open. I apologize for the long wait but reverse engineering two years of work by Omni is no small task.
I will post updates again once I have finished one of these tasks. So stay tuned.
Since Android 6.0 is out finally it seems that a lot of people are using FocusGTD with it. Unfortunately the HTTP stack that I am using (apache-http-client) seems to have problems with the latest OS update.
Due to this fact and since google is deprecating apache-http-client, I decided to move over to okhttp.
Unfortunately, this means that I have to rewrite most of the networking code including the WEBDAV stack.
As part of this re-write, I have already released a bit of code as open source
After a lot of work I have finally published the first public version of FocusGTD. It is now live on the Google Play Store.
FocusGTD is a GTD application on Android that synchronizes with Omnifocus(*) and Omnifocus2(*) on the Mac and iOS. It will manage your tasks, projects, contexts in your pocket and remind you when actions become due.
Manage your tasks in Projects and process them based on Contexts.
Get reminded on tasks when they are due
Synchronize with Omnifocus(*) on Mac or iOS using OmniSync Server (*) or your own WebDAV share.
Quickly create tasks into your inbox and process them later when you have time.
If you are already in the testers group and like FocusGTD I would be grateful about constructive reviews on the Play Store. I plan to continue enhancing the application with new features. Also please use the community to provide feedback and get support in case you run into problems.