Roadmap


Introduction

All features that were identified as critical for the first public release (“Minimum Viable Product”) have been implemented as part of release 0.15.0. The app is now in alpha testing, to determine if it is ready to move into the beta version phase.

Additional features have been added. The 0.20.0 release was tested and I feel comfortable moving to the beta phase. The version number has been updated to 0.90.0.

When internal testing concludes, a first beta release will be created with release number 0.90, in a lead-up to a 1.0 release. I will invite friends and family to help me test the app on a variety of devices, and solicit both bug reports and enhancement requests.


Requested Features

The following list is keeping a backlog of enhancements for after the initial 1.0.0 version has been released. Once implemented, the item will be moved to the Implemented Features section.

  1. Handle videos in the archive. Currently, the thumbnail of a video is shown as if it is a photo, which is confusing in a search (the video may match the search criteria, but the thumbnail doesn’t).
  2. Being able to login (to register, for that matter).
  3. Download button, only for logged-in users.
  4. Access to higher resolutions of the photos (only for logged-in users).
  5. Full search functionality, using the additional fields (quality etc.) and providing a lookup for the “persons.”
  6. Preferences: turn off the display of the question and copyright mark on photo pages (only for logged-in users).
  7. Preferences: select what information to display on photos (possibly different on regular photo pages versus random photos). Ability to have an album and/or slideshow with selected photos, and captions for the photos (other than the photo title and description).
  8. Show content (photos, sets, years) in an infinite scroll.
  9. Preference to always show photo in the optimal orientation (this would force the user to rotate between portrait and landscape for the photos, but would automatically provide the highest resolution display).
  10. Preference to limit the amount of data cached (for users who prefer to wait a little bit longer but use less memory). Probably want to limit the cache to something like 500 Mb by default...
  11. Preference to set the time expiration for image cache.
  12. Get notifications when there are new photos in the archive (only for logged-in users).
  13. Integration with Photo of the Day, get notification when new Photo of the Day is posted, see Photos of the Day with the PotD caption, browse them (only for logged-in users).
  14. Set minimum quality of random photos in preferences (allowing to show only “good” or “great” photos in the random sequence).
  15. Support left, right, and up swiping on _all_ pages to go previous, next, and back.
  16. Include all server-provided data in cache, including thumbnails, set lists, year lists, etc.
  17. Ability to comment on photos, give likes, etc. (only for logged-in users).
  18. Be alerted to new comments and likes on photos (only for logged-in users).
  19. Being able to monitor the available memory (not supported by Expo Go).
  20. Handle native exception (not supported by Expo Go).

Implemented features

See the Releases page for details.

  • When viewing random photos, ability to look back (keep history of random photos). (Implemented in 0.20.0.)
  • Ability to cycle through a subset of photos other than a set (prev/next on photo in the subset works like currently prev/next photo). (Implemented for search results in 0.20.0.)
  • When doing a slideshow of search results, there doesn't seem to be an image prefetch of the next photo. (Implemented in 0.20.0.)
  • Pagination of search results. Being able to search and only see the first one hundred results is not really acceptable for a 1.0.0 version of an app. (Implemented in 0.20.0.)
  • Debug options (controlled by preferences) to figure our why the app ends (crashes) after a while. (Implemented in 0.18.0.)
  • Top-level error boundary ("catch") to handle exceptions and give a message when an exception happens. (Implemented in 0.18.0.)
  • Adding a preference to not go to sleep, at least when displaying photos. (Implemented in 0.17.2.)
  • Copyright information. (Implemented in 0.16.0.)
  • Basic search of the archive, including browsing (prev/next) through the search result. Limit search results to the first 100 results. (Implemented in 0.15.0.)
  • Handling of server and connection issues. (Implemented in 0.14.0.)
  • When the menu bar is visible, render photos centered in the remaining screen space. (Implemented in 0.14.0.)
  • Error handling for inputs. (Implemented in 0.13.0.)
  • Browsing specials. (Implemented in 0.13.0.)
  • Support server-side announcements, with minimum and maximum version setting. (Implemented in 0.12.0.)
  • Interactions on the photo display must be discoverable, or so intuitive that they are obvious. (Implemented in 0.11.0.)
  • Pause random photo display when photo information is being displayed. (Implemented in 0.11.0.)
  • Ability to pause / stop random photo slideshow to get a better look at a particular photo. (Implemented in 0.11.0.)
  • Preferences. (Implemented in 0.10.0.)
  • Set how fast to change random photos in preferences. (Implemented in 0.10.0.)
  • Themes, in particular a “dark” and a “light” theme. (Implemented in 0.10.0.)
  • Handle prev/next reaching the end of the sequence more gracefully (also in tapping/sliding). (Implemented in 0.9.0.)
  • When entering the Set page through the "Latest" menu option, "Up" goes back to the home screen. Same for browser back button. (Implemented in 0.9.0.)
  • Display of photo information. (Implemented in 0.8.0.)
  • Support handling the device “Back” button (currently, it exits). (Implemented in 0.7.0.)
  • Support for zooming in on photo display (pinch). (Partially implemented in 0.5.2, completed in 0.6.0.)
  • Random photo. (Implemented: 0.5.0.)
  • Include a menu option on all pages that offers access to the navigation on that page, as well as global navigation. (Implemented: 0.4.0.)
  • Pre-cache photos to reduce load times. (Partially implemented in 0.3.0, caching the “next” photo only. May want to cache additional photos.)
  • Caching with time expiration (memory management). (Implemented: 0.3.0.)
  • Showing a "loading" indicator. (Implemented: 0.2.0.)