Interval Trainer v0.1.2

Interval Trainer update v0.1.2 went live on Google Play today. This release addresses bug fixes and minor improvements. Android TV is now fully supported.

Support for Android TV was made available on initial release with v0.1.0, but it became apparent after testing on several devices that it wasn't ready. Android TV support was removed in update v0.1.1. The main goal for this release is to addresses those issues, and restore support for Android TV devices.

Release Notes

Added

  • Support for landscape orientation.
  • Support for Android TV.

Fixed

  • Display is not formatted properly for Android TV.
  • UI buttons are not selectable on Android TV.
  • System Back button doesn't trigger navigation events.

Postmortem

In going over the interface, it occurred to me that this project is still very much a prototype. It needs to be reworked to make changes easier, and make it easier to test. Will be working toward this with the next update.

To support landscape orientations, I adjusted the layout so that it could scale to fit both portrait and landscape formats. Didn't want to spend too much time working on this, because the current interface is only temporary. The plan is to overhaul the interface for the next update, but I haven't decided yet whether to just use a single interface and scale it to fit both portrait and landscape orientations, or build an interface for each orientation and switch between them with device rotation.



The button selection issue wasn't unique to Android TV. The interface wasn't responding to any directional inputs. Apparently when UI elements are toggled on/off, the selected element needs to be reassigned in the event system before it can navigate between selectable UI elements.

To fix the system Back button issue, I wrote some simple logic that basically backs the user out of screens when the back button is pressed based on application state, and ultimately quits out of the application when the back button is pressed while on the START screen. This solution likely won't hold up when I implement the new interface, though. Might be able to replace it with the command pattern to undo navigation events.

Roadmap

Unfortunately I was unable to keep to the schedule for this release. The biggest contributing factor was not having tasks completed on time. I originally planned for this release to go live on Tuesday, April 16, but I didn't get around to starting and completing the tasks for this release until that same day. The release was submitted for review late in the day on Tuesday. It took another three days to be approved and go live.

Thinking I may not have factored in enough time for the submission process when I planned out the release schedule. Even if I submitted the release on the Friday before as originally planned, it's likely that it still may not have been approved by Tuesday.

Submissions through Google Play can potentially take up to a week or longer to be approved. To avoid delays in the release schedule due to the submission process, it might be better to set the release date two weeks out from submission.

I need to go over the roadmap again and adjust the release schedule, or forego having a release schedule altogether. I like having the schedule, though. It motivates me to keep working on this.

Comments