We have an android application that needs to be replicated for blackberry OS (and iPhone there is another project).
It is a panic button app that uses rest services to handle all requests. Basically the user can activate panics by repeatedly pressing the power button.
1) The user signs in to the app (Login service on the server).
2) If the user credentials are ok, the app gets all needed configurations from another service.
3) The user has a problem so he/she repeatedly presses the power button (can be any other key combination) and a panic is activated through another service.
4) The app starts (silently) sending location updates and listening to server responses.
5) The app receives a panic ended response from the server and displays the panic resolved screen.
6) The app stops polling location updates and everything goes back to normal.
The app consists of 5 very simple screens:
Login: Has three components (Username, Password, remember me checkbox and sign in button)
Main screen: Has a simple checklist of the systems state (if the gps is activated, if the network location is activated and if the server is active)
Configuration screen: Has tree options (Test mode checkbox, change password, change user phone number)
The test mode lasts 30 seconds and in this time if the user activates a panic it simply executes a test service on the server instead of actually starting a real panic.
Change password screen: Has 4 components, current password, new password, repeat password and save button.
Change user phone screen: Has 3 components, Home phone, cellphone, save button.
Panic resolved screen: Has 1 component an OK button.