To Do - Jenuma/bias GitHub Wiki

I don't feel like making a kanban board for this yet, so I'm making another to do list.

  • Bugs

    • The first time you add something to the cart, it replaces the first item. After than nextId is set correctly.
    • Cart list needs loading indicator for when database change is detected
      • This might also solve issue where cart can't tell if it's empty or fetching for the first time
    • Adding items rapidly breaks the app with ConcurrentModificationException.
      • This is probably because the items list in Bias is the reference for all the other lists.
      • I think I need to somehow decouple these lists from each other to prevent the race condition.
  • Offline mode?

    • Would obviously have no sharing or automatic updating
    • Would have to give user choice to use offline at login screen
    • Syncing options, but would require logging in without authentication, too complex
    • Not sure if even worth it, honestly, maybe future update if interest
  • Facebook/Twitter integration

    • Probably a good idea to increase visibility
    • Get profile picture for nav drawer and to show up to user's you're sharing with
    • What to do when user logged in as plain old email/pass user?
    • Allow multiple accounts with same email? Probably shouldn't...
  • Login Page

    • This needs to be designed
    • Option to login or signup with email/pass, maybe other methods
    • No nav drawer here
    • Login probably mandatory unless I add offline mode, which now is unlikely
  • Main/Home/Dashboard

    • This needs to be designed
    • Maybe instructions to swipe right for nav drawer to open?
    • Interesting image buttons for accessing other app activities like list, etc?
      • Grid of icon links like Walmart app
    • Link to user guide on GitHub?
    • Possibly more, like privacy policy etc.
  • Cart Editor

    • Probably needs redesigned
    • Need support for quantities
      • Can't include quantity in item name because it screws with mapping
      • Can turn quantity into badge next to item name
      • Might be an all or nothing as far as crossing goes; no idea how to "cross" multiple times
    • ✔️ List of items, updated in real-time
    • ✔️ Touching items toggles crossing, updated in real-time
    • ✔️ Form for adding new items
    • Ability to edit items
    • Ability to remove items more intuitively (red x's by item?)
    • Ability to remove all items more intuitively (trash icon somewhere?)
  • Navigation Drawer

    • Home
    • My List (X of Y items crossed.) ⬇️
      • Change list functionality? Where? In place of current profile switcher?
    • Item Locator (name of map)
    • Manage Sharing
    • Edit Cart
    • Edit Map
    • Settings
    • Sign Out
  • Item Locator

    • Ability to change maps here (should be very small; toolbar menu option?)
    • Option to edit map here as well as in nav drawer (also should be very small)
    • Map view most prominent to avoid having to zoom if possible
      • Map needs to be user-friendly, zoom-able but not able to "lose" map, etc.
      • Aisles should be highlighted if they have an item on the list
      • Highlight should zoom with the map to remain accurate
      • Highlight next closes item when checking one off? What about subtle sounds?
    • If user's screen large enough, also include list fragment here for seamless item crossing
  • Map Editor

    • How to edit maps locally if your sharers need it too?
      • Maybe have some generic layouts that can't be edited without copying them first
      • Or other sharers may not need your exact map file anyways
      • Ability to manually share map file? Maybe option when going to share?
    • Not where you make new maps from scratch, at least not at first
    • This is where the user can assign items to aisles
    • Can also create new maps by copying an existing one and assigning items to asiles
    • User can edit name of maps here, if they created them
    • Option to share map files via Facebook, etc?
  • Manage Sharing

    • Where users will add/edit/remove sharers
    • Might include this in the Edit Cart activity if screen big enough
    • If manual map sharing, this is where that behavior can live also
  • Settings

    • Right now, only setting I can think of is theme
    • If that's all I can come up with, may not include it until needed

Play Store Adaptation

  1. Biggest problem: everybody's store is different.
    • Could make several maps to cover as much area as possible, and apologize for not having them all
    • Could ask community to make maps and submit them to me for review, adding them if okay
    • Could make tools to allow users to make their own maps (potentially too much data, and would alienate)
  2. Freemium model with $.99 version and ad-enabled free version
  3. Database management - lists would need to eventually expire, or have max size
    • Could potentially increase allowed item size for another $.99