Contextual Dimension | Contextual Aspects | Implementation |
---|---|---|
Personal Context | Users should only give their personal information, if necessary. | Request login only if the user is a location representative. |
Social Context | Multiple clients should be able to order in the same session, e.g. if they come together. | Join clients together in a WebSocket order session. |
Contextual Dimension | Contextual Aspects | Implementation |
---|---|---|
Operational Context | There are two roles: the location representative and the customer. Both have different use cases but are interleaved operationally. | Implement a separation between client and manager, which interleaves both where necessary, for example order placement. |
Technical Context | Devices: browser (manager) and app (client), potentially low bandwidth. Devices can run multiple operating systems (preferably Android or iOS). | Sense available network bandwidth and adapt application data accordingly. Notify the user when a network outage occurs. |
Adaption Concept: reduce the amount of data with attribute based server side query filtering.
Adaption Concept: Use lazy loading to reduce number of items send to client apps at once.
Adaption Concept: transform data from a server side internal representation to the compact JSON format. JSON gives use smaller message size than other representations.
Adaption Concept: Store data persistent in database on server side where we can ensure a stable environment.
Adaption Concept: use HTTP response codes and reason identifiers and handle failed actions respectively.
Adaption Concept: use queuing and forward the actions when possible. Regarding the UX, the user should get an indicator of the network outage, though.
Adaption Concept: prioritize frequently used services. Use a load balancer and dynamically scalable microservices.