Android PDA based, camera system control app
Budget: $8 – $15 USD
The app is a launching pad for an embedded browser based application which provides most of the photography control. The android app will be automatically run on an android PDA. This app will not be placed in the app store. The PDA will be “locked down” in kiosk mode to prevent the photographer from accessing any other android feature. The app has three basic modes, image download, image upload and service configuration.
During image download the app will host an embedded browser and URL which will coordinate the camera. At the conclusion of the image capture, the app will automatically download the image from the remote camera host to local PDA storage. The remote host will provide a download API which the app will need to access to pull down the image without any other operator interaction. The app will need to keep track of the number of images downloaded to provide status to the photographer.
During image upload the app will host an embedded browser and URL which will coordinate with a backend data management system to move images from the PDA to the back end. The remote host will provide an image upload API which the app will need to access to move images to the backend system. The PDA will provide progress status and delete each image successfully transferred.
The app will also include a hidden “service mode” feature to configure the URLs and other specific app features.
Facts & Requirements
1) All data transfers will be over Wi-Fi
2) A method must be provided to access the Wi-Fi SSID selector from inside the app to choose Wi-Fi networks.
3) Wi-Fi SSID may or may not be connected to the internet.
4) The PDA will run Android 11+
5) Camera images are expected to be ~10MB each
6) The PDA is expected to store a minimum of 100 photographs per shift. (~ 1GB)
7) The app shall support multiple languages, initially English and French.
8) Language will default to the android device setting
9) The app shall provide a mechanism to switch app language at the initial screen
10) The app shall pass a language selection parameter to the connection URL’s
11) All graphic and text resources shall be provided by Kodak Alaris
12) The app shall be developed in Android Studio using the Kotlin language.
13) Source code shall be stored in Azure DevOps Git.
14) Kodak Alaris shall provide developer access to the Azure DevOps Git repository
15) The app shall be delivered in functional stages
16) The app shall provide 3 basic modes:
a) Image download
b) Image upload
c) Service mode
17) The app shall auto start on PDA power up
18) The app shall NOT exit unless in service mode
19) Kodak Alaris shall provide a detailed UI specification clearly identifying the app UI and the web service UI.
20) Kodak Alaris shall provide a detailed API image service download and upload specification.
21) Kodak Alaris shall provide test download and upload Docker containers to facilitate testing.
22) Kodak Alaris shall provide the mechanism to auto launch the app upon PDA powerup.
System Workflow – from the photographers point of view
1) At the start of a shift, the photographer will take the 360 photo system equipment and PDA to a designated site.
2) The photographer will power on the PDA at which point it will automatically start the app in kiosk mode.
3) The photographer will power the photo system which will publish a pre-known SSID.
4) The PDA will automatically connect to the pre-known SSID and the app will offer the ability to change the SSID if necessary.
5) The app will provide two visible modes “image download” and “image upload”.
6) The photographer will select “image download” and the embedded browser will start with the image download URL and language flag
7) After the photographer takes a picture, the web service will automatically download the photo to the PDA and increment the local image counter.
8) After the conclusion of the shift, the photographer will “exit” the URL and return to the app home screen.
9) The photographer will then return to the back office with the PDA.
10) The PDA will automatically connect to the pre-known SSID and the app will offer the ability to change the SSID if necessary.
11) The photographer will select “image upload” and the embedded browser will start with the image upload URL and language flag.
12) The app and back end service will communicate and images will be uploaded to the back end data repository under the control of the backend web service.
13) The backend web service will communicate the status of each transfer and the app will display progress.
14) Images on the PDA will be erased after successful data transfer.
15) After the conclusion of the upload , the photographer will “exit” the URL and return to the app home screen.
During image download the app will host an embedded browser and URL which will coordinate the camera. At the conclusion of the image capture, the app will automatically download the image from the remote camera host to local PDA storage. The remote host will provide a download API which the app will need to access to pull down the image without any other operator interaction. The app will need to keep track of the number of images downloaded to provide status to the photographer.
During image upload the app will host an embedded browser and URL which will coordinate with a backend data management system to move images from the PDA to the back end. The remote host will provide an image upload API which the app will need to access to move images to the backend system. The PDA will provide progress status and delete each image successfully transferred.
The app will also include a hidden “service mode” feature to configure the URLs and other specific app features.
Facts & Requirements
1) All data transfers will be over Wi-Fi
2) A method must be provided to access the Wi-Fi SSID selector from inside the app to choose Wi-Fi networks.
3) Wi-Fi SSID may or may not be connected to the internet.
4) The PDA will run Android 11+
5) Camera images are expected to be ~10MB each
6) The PDA is expected to store a minimum of 100 photographs per shift. (~ 1GB)
7) The app shall support multiple languages, initially English and French.
8) Language will default to the android device setting
9) The app shall provide a mechanism to switch app language at the initial screen
10) The app shall pass a language selection parameter to the connection URL’s
11) All graphic and text resources shall be provided by Kodak Alaris
12) The app shall be developed in Android Studio using the Kotlin language.
13) Source code shall be stored in Azure DevOps Git.
14) Kodak Alaris shall provide developer access to the Azure DevOps Git repository
15) The app shall be delivered in functional stages
16) The app shall provide 3 basic modes:
a) Image download
b) Image upload
c) Service mode
17) The app shall auto start on PDA power up
18) The app shall NOT exit unless in service mode
19) Kodak Alaris shall provide a detailed UI specification clearly identifying the app UI and the web service UI.
20) Kodak Alaris shall provide a detailed API image service download and upload specification.
21) Kodak Alaris shall provide test download and upload Docker containers to facilitate testing.
22) Kodak Alaris shall provide the mechanism to auto launch the app upon PDA powerup.
System Workflow – from the photographers point of view
1) At the start of a shift, the photographer will take the 360 photo system equipment and PDA to a designated site.
2) The photographer will power on the PDA at which point it will automatically start the app in kiosk mode.
3) The photographer will power the photo system which will publish a pre-known SSID.
4) The PDA will automatically connect to the pre-known SSID and the app will offer the ability to change the SSID if necessary.
5) The app will provide two visible modes “image download” and “image upload”.
6) The photographer will select “image download” and the embedded browser will start with the image download URL and language flag
7) After the photographer takes a picture, the web service will automatically download the photo to the PDA and increment the local image counter.
8) After the conclusion of the shift, the photographer will “exit” the URL and return to the app home screen.
9) The photographer will then return to the back office with the PDA.
10) The PDA will automatically connect to the pre-known SSID and the app will offer the ability to change the SSID if necessary.
11) The photographer will select “image upload” and the embedded browser will start with the image upload URL and language flag.
12) The app and back end service will communicate and images will be uploaded to the back end data repository under the control of the backend web service.
13) The backend web service will communicate the status of each transfer and the app will display progress.
14) Images on the PDA will be erased after successful data transfer.
15) After the conclusion of the upload , the photographer will “exit” the URL and return to the app home screen.