Skip to content

Instantly share code, notes, and snippets.

@mateoclarke
Last active September 19, 2018 17:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mateoclarke/8a16b1a212d390c00b01b7fdc33c2b94 to your computer and use it in GitHub Desktop.
Save mateoclarke/8a16b1a212d390c00b01b7fdc33c2b94 to your computer and use it in GitHub Desktop.
Data Tracker Mobile --- Scope of Work

Data Tracker Mobile --- Scope of Work

Description

Create a mobile-first app for the signs & markings work orders process

Users + Personas

  • Technicians in the field using 8" tablets
  • Project Manager?
  • Other staff?
  • Public/Unauthenticated user?

User Objectives

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
  • Jobs
  • Reports
  • Search

User Stories

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:

Techincal Objectives

  • 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

Potential Solutions

  1. Fulcrum

    • 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
  2. 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
  3. 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
  4. Other vendor tools to convert web UIs to native

Todo

  • 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment