Development Roadmap

These notes primarily serve my personal reference, but I see no harm in sharing my thoughts. If you happen to possess a good idea for a running website feature, I encourage you to reach out and get in touch.

Private Beta β

Crucial features before allowing any external users:

  1. User Accounts:

    • UIX: signup/login journey. Redirect to a welcome page with tips for clean signup, but keep context when signing up to comment/like.

    • Finish heatmap form.

  2. Events:

    • UIX: interface for adding Events (done for activity edit).

    • Integrate event detail page (as well as participation history) on activity detail page.

    • UIX: finish calendar/bookmarks.

    • Content: detail pages for Events.

  3. Notifications:

    • Add more sendable notifications in settings, ensure they all have a message defined.

  4. Content:

    • Blog: finish beta release blog update.

  5. Upload/Edit Activity:

    • Allow custom name for activities (for feed and detail). Still suggest from generateName() and especially eventRunId() in overview. Also for city names.

  6. Security:

    • Double-check all _POST _GET _FILES _REQUEST variables plus their journey toward database and output.

    • Ensure all GETs are idempotent (done: notifications) (/settings/admin, /shoes/retire, activities, events, etc).

Public Beta β

  1. Showcase gallery page:

    • UIX: Media favourites functionality for inclusion in future showcase galleries.

  2. Ticket&Issues tracker.

  3. User Accounts:

    • User display preferences: timezone, miles/km.

    • Enable the Google app for production and re-enable its button.

    • GDPR: allow deletion of account and download of account data.

    • Keep invitation methods, but remove invitation code requirement: open for all.

    • UIX: expand authentication page with connect/disconnect button (and expand user table to store whether user has a password, changing Update to Set if not)

  4. Activities:

    • Handle DNF situations. Take into account that the activity will mismatch distance and might suggest the wrong event or none. Allow a checkbox to specify DNF (showing longer events as well), also very important to make sure distance is not adjusted.

      Insert some sort of dummy special split for the final distance or just add DNF (and DNS, I guess) to the bottom of views from a separate query based on registrations and DNF-marked activities?

  5. Profiles:

    • Badges. Finish pre-launch to give beta users something special.

    • Improve shareImage: use starred/highlighted or even make a page to configure more elements.

Launch

  1. Legal: DPIA, when large scale.

  2. Extend the admin interface for Events to something organisers can use to promote their event (as a suggestion or self-managed).

  3. SEO/Content:

    • Enable i18n/l10n and have a focused .nl

    • Schema.org for Event pages.

    • Add IndexNow POST after upload/curation

    • Support seo_name.ext format for Thumbnails.

    • Tools (pace calculator, pace charts).

  4. Allow uploading multiple activities at once.

  5. Finish the 'curate' page when allowing multiple activities.

  6. Support more file types, from different watches.

  7. Upgrade to Chartist 1.3.0 where possible.

Post-Launch Planned Features

Or at least imagined.

  1. Scrapers for results.

    • uitslagen.nl

    • mylaps

    • racetimer

    • athlinks

    • everything else... some races only have PDFs

  2. Bring race goals back, but pretty unsure how and what I want...

    • Link to event or distance? Allow both? (distance is then for the first next race without explicit goals)

    • Preferably multiple goals allowed per event (a,b,c or custom amount?)

    • Allow specific times and paces, but also PR, PR3, PR10, "finish", "don't walk" and "don't finish last".

  3. Extra charts?

    • Pace distribution chart

    • Add race/type average to activity detail pages for comparison

  4. Garmin API Connect: unfortunately business only, so might require going corporate and removing all 'hobby project' branding.

  5. Collage generator for sharing:

    • With attribution (small watermark/logo, maybe short URI?). Removable as a perk?

    • Use share APIs beyond navigator.share (Mastodon, Twitter, Facebook, Instagram...

User Contributed Ideas

There's no guarantee whatsoever these will make the backlog to be implemented, but never say never.

  1. Marketplace to offer/exchange entry registrations.