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 inBias
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.
- This is probably because the
- The first time you add something to the cart, it replaces the first item. After than
-
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?
- How to edit maps locally if your sharers need it too?
-
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
- 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)
- Freemium model with $.99 version and ad-enabled free version
- Database management - lists would need to eventually expire, or have max size
- Could potentially increase allowed item size for another $.99