Create a mobile-first app for the signs & markings work orders process
- Technicians in the field using 8" tablets
- Project Manager?
- Other staff?
- Public/Unauthenticated user?
These objectives I'm taking from what the exisiting Knack app offers. Some (hopefully many) of these features may not be required for our identified user personas.
Each of these bullet points should be elaborated to be a full user story(ies). See below
- Create a new work order [Example]
- Review an exisiting work order [Example]
- Edit Work Order [Example]
- Cancel Work Order
- Close Work Order
- Comment
- Add attachment
- others?
- View index of work orders related to current user (My Work Orders)
- Table (or list view layout) of work orders [Example]
- Various filters
- Markings vs Signs
- Need to be Issued
- Issued
- On Hold
- GIS QA
- Final Review
- Closed
- All Work Orders
- Various filters
- Jobs
- Reports
- Search
Example: As a < type of user >, I want < some goal > so that < some reason >
-As a [User type, Business type, Persona] : Who? Define the user.
-I Want [Objectives, Actions, Tasks] : What? Define the actions the user will accomplish.
-So that…[Benefit, Result, Value] : Why? Define the benefits for the user.
Resources:
- https://www.mountaingoatsoftware.com/agile/user-stories
- https://blog.prototypr.io/user-story-template-for-product-managers-829ad7baba50
- https://www.atlassian.com/agile/project-management/user-stories
- https://codingsans.com/blog/user-stories-with-templates
- Compared to exisiting Knack frontend
- improve app view for mobile, aka mobile-first/responsive layout
- improve app "snappiness". The app should be reactive with native feel
- Considerations for repeatable patterns in architecture for similar user cases for other business processes
- CURRENT: Markings Work Order
- Signals Work Order
- Signals Preventative Maintainence (currently happening in Fulcrum)
- doesn't exisit in Knack yet
-
- Pros:
- Native app, no frontend code
- Interactive "snapiness" of a native app
- spatial first, strong support for geoapps
- tested against other apps with skip location (conditional/skip logic). used for inspections
- quick to setup a prototype to show to stakeholders
- Cons:
- Much of the benefit of the product overlaps with exisiting workflows and data management in Knack
- Duplicate backend workflow means we have to write backend scripts to keep Fulcrum data synced with Knack. This could lead to data leaking, source of truth conflicts, extra system maintenance/monitoring
- Change in requirements (updated schema, new fields, new workflows) requires updates in two places. Fulcrum + Knack. Each change introduces potenital bugs in data integration
- Pros:
-
React web app
- Pros:
- Modern javascript web app where we could write custom UI code and leverage exisiting open source libraries in React ecosystem
- Development of components for web which could potentially port to native app via React-Native one future day
- Connection between React form data and requests to Knack REST API, could be a powerful pattern for extending use of Knack on other projects
- Single Page App (SPA) would provide responsive/snappy experience on mobile
- ODD team at CTM using React, (alpha,austin.gov, CTXFloods)
- Cons:
- Time & dev resources to complete
- Is the difference between a web app designed for mobile have a big difference between a native app.
- learning curve for other members of the team to be able to support and maintain
- Pros:
-
Custom CSS on top of vendor Knack CSS 2.0
-
Pros:
- Smallest change using existing code and Knack frontend
-
Cons:
- The code would by nature be hard to manage/maintain over time. CSS code would be filled with hacky overwrites (Ex:
!important
) - doesn't solve the issue of having slow response time between page loads, not "snappy" on mobile
- The code would by nature be hard to manage/maintain over time. CSS code would be filled with hacky overwrites (Ex:
-
-
Other vendor tools to convert web UIs to native
- Create user personas, identify users
- Write user stories with given template, add these to Github as Issues for product managment/prioritization
- Discuss potential solutions pros & cons
- Set sprint schedule and prioritize tasks