Moyase Roadmap

Planned features

Better localization support

The biggest thing preventing Moyase’s translation into other languages is the way that pluralization works in various languages. While my code does already take this into consideration, the goal creation process becomes unrealistically verbose for languages like Russian that have more complicated plurality rules.

Eliminating the free-text field and replacing it with a drop-down list that can be populated with user-defined (and preconfigured) unit types would go a long way to solving this issue.

Linked goals

It might be nice to allow certain goals to apply to others. For example, each unit logged for “pages this month” could also apply to “pages this year”, or finishing a goal for a single book could log one unit to a “books this year” goal. This might not be worth the effort (and configuration might be needlessly fiddly) but it’s something I’ve thought about.

Optimization

The app is pretty snappy in most cases, but the data should probably be normalized. Dependent data is evaluated a bit too greedily in some cases, which can lead to UI lag. Saving data to app storage has yet to be a problem but it’s possible that a big enough backlog will lead to slowdown. It may be worth using SQLite directly instead of Ionic Storage.

Time tracking

I frequently find myself wishing I could track time rather than the types of units that Moyase was built for. While it’s possible to make a unit called “minutes” and check in as normal, it’s clunky and unintuitive. Implementing a special “time” unit type (perhaps even with an optional stopwatch in the checkin pane) would make time-based goals much more convenient.

Calendar improvements

The activity calendar struggles with long-spanning goals, and the date-picker could be more intuitive. Ideally I’d like to use a Material Design calendar, but calendars are notoriously tricky to program so I haven’t been able to prioritize this.

iOS support

Currently in progress using Codemagic.

Zoomable graph

Currently disabled to improve scrolling, but it would be relatively simple to allow the user to tap on the graph to open it in a separate page, which could have enhanced controls for zooming, panning, filtering etc.

Pausing goals

Sometimes you miss a day but don’t want to deal with an increased workload, but you also don’t want to reschedule the end date and deal with the pace adjustment. It would be nice to instead be able to pause a goal, pushing out the end date one day at a time and essentially hiding the paused time on the graph.


Past versions:

  • 1.0.2 – Initial release
  • 1.0.3 – QOL + Bugfixes
    • Added “+1” button to quickly increase today’s work by one
    • Fixed error where pace calculation was off by one day
    • Fixed error where goals that were not yet active would needlessly display an adjusted pace
    • Date range selection for goal creation now uses a calendar instead of two date pickers
    • Added menu item to delete all app storage
  • 1.0.4 – QOL + Bugfixes
    • Fixed bug where goals with a stride of one day would be off by one in the chart
    • Long-press on the activity calendar to edit individual days
    • Storage driver now uses SQLite; app data is no longer in danger of being deleted at low device space
    • Various QoL improvements
  • 1.0.6 – The localization update
    • Added internationalization support, including Japanese language pack.
    • Better input validation for goal editing
    • Fixed issue where certain dates outside the current month could not be clicked
    • More information on calendar display
  • 1.0.7 – Hotfix
    • Fixed issue where en-US was not correctly selected as a fallback locale
  • 1.0.8 – Bugfixes
    • Fix for dates sometimes being one day off depending on local timezones
    • Fix for checkin prompt popping up when scrolling with an initial touch on the activity calendar
    • When creating or editing a goal, Units Due is a number again
    • No longer show current day line when outside of goal term
    • Goal chart will now be expanded for overdue goals
  • 1.0.9 – Bugfixes
    • Fix issue where goals set up for the future would not display a chart
  • 1.0.11 – The dark theme update
    • Added a proper dark theme
    • Added option to force dark mode on (android support for auto-detection in webview apps is flaky it seems)
  • 1.0.12 – The notes update
    • Improved checkin popup and implemented per-day notes and “total work” field
    • Goal edit page now displays the projected pace for the given values
    • Added confirm prompt when deleting goals
    • Major optimization when updating work with +1 button
    • Improved dark mode styling
  • 1.0.13 – Bugfixes
    • Fixed pace display in item edit mode
    • Fixed incorrect pace color on list screen
    • Tapping on a number field in the checkin modal will now select all text
    • Fixed selected day work not updating in certain cases