TagTime in the Cloud Android App

Hello everyone! I am proud to share with you a fully finished android app for my new version of TagTime. Fully integrated with Beeminder and Google Cloud.

Instructions to Install TagTime

Download: tagtime.apk

To install the Android app, download it from an Android device, allow installation of apps from “Unknown sources” in :gear: Settings > Security and install the app by opening the .apk file.

Info

Please let me know if you have any problems installing it, or with the app itself. I’ve tested everything myself thoroughly for the past month, but I wouldn’t be surprised if there are still things that need to be tweaked. This is my first android app after all, but I did spent a good amount of time learning Kotlin before I started working on it.

Examples / Graphics

In case you were interested in how this app functions and looks, I will be providing a bunch of screenshots here, explaining what everything does. I’m not exactly a graphics designer, but I’ve done my best!

Home Screen


TagTime Notification

Log Viewer

You can click on each ping, and edit its tags like so:

Manage Data Page

Export Log

allows you to send your log file to an email or anything else that android allows you to send it via.

Download Log

allows you to save the log file to your SD as a txt file. (android can’t naturally read log files)

Remove Unused Tags

Allows you to select which tags should be removed from the “quick tag” buttons

Delete Log Data

Does what it says, clears your log history.

Reset Config to Default

Resets saved settings back to their default, this includes saved tags, and anything in the preferences page

Preferences

Test Ping

Sends you a TagTime notification

Edit Tag Order

Allows you to drag tags to a different place in order to change the order that you see them.

Edit Tasks

Allows you to set a one word shortcut. Entering the task name in a ping or when editing logs will replace that task name with the tags associated with it.

Change Ping Frequency

Allows you to change how frequently you get pinged.

Choose Ringtone

Allows you to change the ringtone sound of the notification, also lets you mute it. (if you keep your ringer on)

The rest of these settings are self-explanatory, but they just change how the notification is sent.

Cloud Page
Sign in with your google account (for saved log history) or with your beeminder account (to track progress towards goals)

Edit Goals

Allows you to set tags for a specific goal. Answering a ping with any of these tags will count as progress towards your goal.

Once again, please let me know if anything is wrong, or on any suggestions I should add, any feedback is appreciated, still very interested in getting the tagtime domain so if anything is not “pareto-dominating” as per the original version of the app, please let me know!

If you are interested in the computer application of this new version of TagTime, please refer to this thread: TagTime In The Cloud

4 Likes

Awesome work on the Android app! Feature request: show the exact time that each ping is for in the notification. Related possible bug report: I don’t know if it was from using the “test ping” feature when I first installed it but it seemed to not be matching the universal schedule despite leaving the gap set to 45 minutes.

1 Like

I made it so the notification shows the exact time.

It not sending on the universal schedule was not due to a bug from using test ping. I was using a notification scheduler called workManager, which is optimized for battery saving, meaning that notifications can come in at a later time if you aren’t currently in the app or the phone screen is turned off.

I have changed the notification scheduling from workManager to AlarmManager, which will send the ping right on time no matter what state your phone is in, off, in another app, etc. It should send the ping right on the universal schedule.

Updated apk:
tagtime.apk

I would uninstall your current version, and reinstall using this new apk. Let me know how it goes.

Updated to 1.2 to address some small issues I noticed while running the app for a bit.

  • When clearing a TagTime notification from your notification tray, it automatically tags the ping with “afk RETRO”, but this was also adding afk and RETRO to your saved tags, which I have now prevented from happening.

  • Fixed an issue where sometimes it would display your gmail address as a bunch of numbers right after signing in.

All current links I have to the apk file still work and will download the most up-to-date version (1.2).

I am starting the process of adding TagTime to the Google Play Store. Before publishing, I need to complete a closed test with at least 12 different test users.

Would anyone be willing to be apart of the test to help me release it publicly on the Play Store?

2 Likes

Only need 8 more now.

2 Likes

need 4 more testers!

1 Like

How do we join the test?

1 Like

Please DM me the email you use for the play store, and I can add you to the list

1 Like

It would be nice if the app specified if tags should be entered comma or space separated or whatever.

1 Like

They should be seperated by spaces, do you think I should just add a text box where you input any tags that says it should be seperated by spaces?

1 Like

Updated to 1.4 to fix a few things with some additional features.

  • Fixed some google sign-in issues

  • Pings now get saved when your device isn’t connected to the Internet. Once connected again, the stored pings will be sent automatically. Before if you answered pings while not connected to the internet, the pings would be lost as soon as you reconnected, this has been fixed.

  • Added previous and next log buttons to change pages when viewing the Log. This allows for quick editing inside of the Log Viewer. Also added the exact date and time of each Log when you go to edit one.

  • Added the time of the ping to the prompt screen.

  • Added additional tips to the prompt screen (says that tags should be seperated by spaces).

  • Added Australia support

2 Likes

Been trying to release this publicly on the play store, but Google keeps saying that my testers aren’t engaged / using the app at all. Realistically I probably only have 1-2 testers actually using it daily, maybe less.

If you’re a tester and stopped using it, any ideas on why? or what I could do to improve?
Other than that, if anyone else is still interested I’m in need of some active testers.

I am wondering if it is counting me - probably it is because I am constantly running the app in the background to sound the pings, though I mostly respond the pings on desktop.
So I don’t often respond the pings on the android, but when I do, I noticed a repeat bug that for one of the tags when it’s the first ping of the day for these tags it does increase last yesterday’s datapoint instead of adding a new one. It adds the new datapoints for the other tags in the same ping all right. Any idea what internal logic can lead to this? I didn’t notice this when I was using both android and desktop more extensively (before the last update of Mar 12), but it can happen that I simply didn’t really enter the first ping of the day from Android back then.

1 Like

Sorry for the late reply, yeah you were one of the testers I was mentioning that most likely is getting counted. You’re saying that the first ping of the day from the android app adds to the previous day’s datapoint in beeminder?

Yes, that was my experience a couple of times now. I can try to replicate the use case but in both cases I was adding 3 tags, each of which leads to its own beeminder goal and while 2 behaved normally (new datapoint for the new day), for one of the goals, yesterday’s datapoint was increased instead of a new one added. I guess if a person just cares about the datapoint being added (to get above the graph), it’s not a problem, but I have a complicated QS system around these three tags.

Hmm, not really seeing anything that would cause this. Could you do me a favor, when you go to enter a “first of the day” ping, do it on android, and if it updates the previous day’s beeminder datapoint, send over the entire ping from the TagTime log, including the unix timestamp, and the date. You don’t have to include the tags, they don’t matter for this. Also if you could give me the time zone you are in that’d be great too.

Yes, I will try to simulate that upon the next ping and will send you the detail in DM.

1 Like

In regards to this as well, @dreev do you know how Beeminder sets the “Date” of a datapoint if it’s only given a unix timestamp, which doesn’t change based on time zones? I’d assume it’s using the Time Zone set in account settings on Beeminder.

One quick question, is your time zone that is set in your beeminder account settings different to the one you are currently in?