Skip to content
BobDickinson edited this page Apr 5, 2014 · 5 revisions

Ability to configure and manage separate Maaas apps

  • Each app may have multiple targets (test, staging, production, etc)
  • How do version control branches factor in to this?
  • Ability to spin up individual app sandbox for testing
  • Server -> App -> Target (default target is production)
  • Possibly use notation: appName for default or appName{target} for a specific target

Team / Source control

  • Full version control (diff, change tracking, integration, rollback, etc)

Unit test

  • App modules expose unit tests
  • Test running in dev environment
  • Automated testing on check in and/or deployment (or by policy)
  • Model fixtures/mock support (more explicit view-model/model separation?)

UX test

  • Would be cool to have a web client (Knockout.JS style), which could also be used for UX test

Metrics/Analytics

Logging

  • Provide client with logging APIs
  • Integrate into debugger console
  • Log viewing / log management tools?

Push notification / Badges

Resources

  • Some mechanism to share static values between Maaas user modules
  • Perhaps more sophisticated, like template fragments?
  • Styles? - a set of attributes to be applied to a control, or all applicable descendant controls?

Asset management

  • Primarily images (what else?)
  • Provide facility for uploading/managing application assets
  • At runtime, select proper asset instance based on locale and/or client metrics (including resolution/scale)

Localization

  • Provide simple mechanism to maintain localized resources (strings, string templates, images)
  • Use locale reported from client when mapping

Client builder

  • Look at how Adobe does this
  • User selects an app target
  • User supplies details (app name, etc) and resources (icons, splash screens, etc)
  • User optionally specifies capabilities (network access, location services, etc)
  • Client builder produces built images for download
  • Option to sign as Maaas.io or prepare to be signed by client (any way to sign as client or streamline this?)

Clone this wiki locally