User Tools

Site Tools


android:track:trackstories

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
android:track:trackstories [2013/10/21 19:54]
mikeclapp [Information Flow & Requirements]
android:track:trackstories [2014/03/28 00:29] (current)
mikeclapp [Identifying the machine at startup]
Line 21: Line 21:
 ==== New Functionality Required ==== ==== New Functionality Required ====
  
-SmartTrack will require a deferred uploader service, tracking, cycle line input. (This to be refined and amended)+SmartTrack will require a [[android:​access:​accessstories|deferred uploader service]], tracking, cycle line input. (This to be refined and amended)
  
  
-The deferred upload service is an independent program that runs in the background when installed. It's initial purpose is to handle uploads regardless of whether the originating program is running. It will be a key to SmartTrack being able to upload tracks at any time the device is on. Features may include:+The [[android:​access:​accessstories|deferred upload service]] is an independent program that runs in the background when installed. It's initial purpose is to handle uploads regardless of whether the originating program is running. It will be a key to SmartTrack being able to upload tracks at any time the device is on. Features may include:
  
   * A WiFi only setting that wait until the device has a wifi connection before uploading.   * A WiFi only setting that wait until the device has a wifi connection before uploading.
   * It gives us a separate program to manipulate data when we need maximum memory. First example is rotating Samsung pictures based on EXIF data. They currently don't handle portrait correctly when uploaded as KMZ tracks.   * It gives us a separate program to manipulate data when we need maximum memory. First example is rotating Samsung pictures based on EXIF data. They currently don't handle portrait correctly when uploaded as KMZ tracks.
   * The ability to handle video at some point. The shear size of video means it isn't a viable option until we have the uploader.   * The ability to handle video at some point. The shear size of video means it isn't a viable option until we have the uploader.
-  * An Android AGTEK Access program. I'm not sure we'll have time to implement on the first release. ​+  * An [[android:​access:​accessstories|Android AGTEK Access]] program. I'm not sure we'll have time to implement on the first release. ​
 ==== Screens ==== ==== Screens ====
  
Line 156: Line 156:
   * **Total CY** - Total Cubic yards(meters) moved. Requires cycles and yards per machine specified to be non-zero.   * **Total CY** - Total Cubic yards(meters) moved. Requires cycles and yards per machine specified to be non-zero.
   * **Avg Speed** (##.#) - Uses moving hours for calculation,​ not total hours. ​   * **Avg Speed** (##.#) - Uses moving hours for calculation,​ not total hours. ​
-  * **Minutes per Hour** - This is the ratio moving time vs total time in an hour specified in minutes. I believe we need to support showing it but the problem is that the times spent warming up the machine can distort this although it's easy enough for the Trackwork user to cull the time range to give a corrected value.+  * **Moving ​Minutes per Hour** - This is the ratio moving time vs total time in an hour specified in minutes. I believe we need to support showing it but the problem is that the times spent warming up the machine can distort this although it's easy enough for the Trackwork user to cull the time range to give a corrected value.
  
  
Line 167: Line 167:
   * Moving Hours   * Moving Hours
   * Average Speed   * Average Speed
-  * Minutes per hour+  * Moving ​Minutes per hour
   * Total Cycles (this always starts at 1. It just never increases without a cycle line)   * Total Cycles (this always starts at 1. It just never increases without a cycle line)
   * Total Hours   * Total Hours
  
-**With a Cycle Line**+**With a Cycle Line** ​includes all statistics of without a cycle line
  
   * Moving Hours   * Moving Hours
Line 224: Line 224:
  
 ==== Settings ==== ==== Settings ====
-Settings in SmartTrack are very different than the other Android programs. The chief reason for this is that we wish to submerge more interface like logins, keys, and even the File system ​further below the main screen interface. I don't want operators accidentally choosing the file interface off the menu for example. The intention is to push this information from a management interface but not to completely preclude a smart operator like Donnie Lebon from having complete control.+Settings in SmartTrack are very different than the other Android programs. The chief reason for this is that we wish to submerge more interface like logins, keys, and even the File selection ​further below the main screen interface. I don't want operators accidentally choosing the file interface off the menu for example. The intention is to push this information from a management interface but not to completely preclude a smart operator like Donnie Lebon from having complete control.
  
-Things I imagine in setting are these: (I will be adding as discovered) 
  
-  * File - the standard ​File menu +{{:​android:​track:​smarttrack_-_settings-files.png?​400|}}  
-  * GPS - Mostly like what we have now although we have no way of doing put me here (no pick). I don't know if it's required. + 
-  * Authentication (name?, Login?) +I've reworked ​the File dialog to be better suited to tablets and landscape orientations. My best guess right now is it should be the default first screen when Settings is chosen from the menu. Key features are a more email like organization. In either local files or Access the tree list is expanded to show projects on the left and the corresponding files on the right. If I tap the Access line it collapses the Local project structure and expands the Access one. Also note that we still have menu three dots for this tab only. This is a big change obviously from our current file implementation. 
-    * For keys and track upload + 
-    Include user, password, and an identifier for the tablet+ 
-  * Characteristics ​(need a better nameMachine? +{{:​android:​track:​smarttrack_-_settings-gps.png?​400|}} 
-    What kind of vehicle ​is it. Types I can think of right now are Scraper, Excavator, Truck, Blade, Dozer, Paver. ​These type help us both segregate data but also require different methods of collecting statistics+ 
-    Yards per cycle (used to show volumes) +Mostly like what we have now although we have no way of doing put me here (no pick). I don't know if it's required ​and have eliminated it for now. We might leave in the capability in Dev mode and turn on pick in those situations
-    Icon color (?color coding + 
-  * Preferences (could be combined ​with above) +{{:​android:​track:​smarttrack_-_settings-preference.png?400|}} 
-    * Show Cut/Fill (default off+ 
-  ​* About+Preferences uses a similar method as file with the email like left hand side. The advantage is that we can scale this pretty easily as necessary ​and drop some little used functionality down even one more level. Some of this stuff may be automatically populated by the server or only chosen once (login). We need it accessible but don't really want operators messing with it by accident. 
 + 
 +The first screen is screen controls They are: 
 + 
 +  ​Show cut/fill number on screen - this controls ​the visibility of the cut/fill numbersThe default is off 
 +  * Track Cycles displayed - A full day of tracks makes it both hard to see and could present a problem drawing all of those tracks. By default we only show the last 3 cycles or the last 20 minutes ​(WAG) if no cycle line is entered. (It does make me wonder if I need a time control as well on the same line.
 +  Display units - Although we know the units of the file we have measurements like mph that we display. Even if the job is in metric in the US, it's likely the operator is going to want mph instead of km/h 
 + 
 +The second screen is the machine description. The controls are: 
 + 
 +  * Name - this is the friendly name of the machine. 
 +  * Type - Construction vehicles have different tracking characteristics both in measurement and track behaviour. Types I can think of right now are Compactor, ​Scraper, Excavator, Truck, Blade, Dozer, Paver. ​Having a type helps with setting up the proper analysis and in segregating volumes by vehicle ​type. 
 +  Color - One of the previous issues was the lack of standardization of machine colors. It caused two problems. The first is that it was difficult ​to analyze more than a single day because the same machine may show as a different color. The second is that it makes it harder to quickly recognize patterns. This is the first step for standardization 
 +  Average CY (M3per cycle - a default number for approximating the volume of dirt moved per cycle 
 +  * Select from List - Queries the track server and displays a list of previously entered equipment. Simply and easy way to populate this tab. 
 +  * Scan Machine - Use bar code scanning to identify the machine from the server and populate this tab. I could easily see us having an option when the program is started to go automatically to a bar code scanning function. Not necessarily something we need in V 1.0.  
 + 
 +{{:​android:​track:​smarttrack_-_settings-preference-machine.png?​400|}} 
 + 
 +The login screen has a single button, Deauthorize. What it does is prompt the user "Are you sure you wish to Deauthorize this device and exit the program?"​ Pressing yes attempts to checkin the key and upon success clears the user's login data including token. Upon success of both of those operations, the program exits. In cases where the key is not successfully checked in, display the following message and return to the same screen up on pressing Ok. "The device is unable to check in the key. Please verify you have internet connectivity and try again."​ 
 + 
 +After this done, any subsequent attempt to start SmartTrack will present the user with the standard login dialog identical to the first time it was set up. In the event the authentication token is invalid, the user deleted, or the password changed, the program should display the login dialog to give the user and opportunity to fix the problem. 
 + 
 +<​del>​The standard Key/Access Login. Hopefully this is setup as a longterm/​onetime key and the only time a user would see it is on the very first time the program is opened or is the user/​password is changed for some reason. Suppressing any login view that is not absolutely necessary on this program is desirable.</​del>​ 
 + 
 + 
 +{{:​android:​track:​smarttrack_-_settings-preference-login.png?​400|}} 
 + 
 +About is our standard about screen with whatever device ID we choose to use on the server in case of a mystery that needs solving. 
 + 
 +{{:​android:​track:​smarttrack_-_settings-about.png?​400|}} 
 + 
 + 
 +==== Identifying the machine at startup ==== 
 + 
 +The key to deeper statistics and analysis is machine identification. Without some sort of identification the tracks are more difficult to analyze and don't as easily lend themselves to mobile analysis. We need to have the capability to edit the machine to tracker association in many places but perhaps the easiest place is at the tracker and machine itself. 
 + 
 +The simplest path is inputting nothing ​(pressing cancelat the Vehicle selection window. All we can do in this case is log a unique identifier and attach the tracks to it. 
 + 
 +The second simplest path is picking a predefined machine the first time and confirming that vehicle choice at the start of every session. This is probably the desired first release behaviour. 
 + 
 +For a more dynamic environment where machine-tracker associations change frequently, implementing a bar code scanning function could be more desirable than picking from a list. 
 + 
 +The startup selection screen might look something like this: 
 + 
 +{{:​android:​track:​startupmachineselection.png?​300|}} 
 + 
 + 
 +The imagined flow is this: 
 + 
 +  ​- Start SmartTrack and background login occurs. Do we have to scan for new vehicles and download them here?  
 +  - Display the Vehicle selection. Pressing select assigns the machine in the combo box. Picking from the combo box displays the vehicle characteristics. Pressing Cancel bypasses machine assignment and then all we have is a tracker id. 
 +  - After vehicle selection SmartTrack needs to check with the server for configuration and/or configuration changes and load them. 
 + 
 +Other future options may include bar codes or RFID tags. RFID would be fairly unobtrusive to the user but dependent on mounting that I'm not sure we can rely on. Scanning requires user action in scanning the codes and also limits devices to those with cameras. 
  
  
Line 258: Line 312:
   * Trackwork   * Trackwork
   * Web? (eventually) ​   * Web? (eventually) ​
 +
 +=== SmartTrack Outputs - new in bold ===
 +  * Tracks (Lat, Long, Time, elevation?, **compass reading**, **stops (time range, label)** ​
 +  * **Cycle lines** (coordinates (NE or LL?)
 +  * **Hourly statistics ** - Moving hours, total hours, avg cycle time, cycles, cy(m3)
 +  * **Cumulative statistics ** - Moving hours, total hours, avg cycle time, cycles, cy(m3)
 +  * **Device name, machine name/id, machine type,** color,​default capacity
 +
 +=== SmartTrack Inputs ===
 +  * Job File to use
 +  * Cycle line(s)
 +  * Machine name, capacity
 +  * Suggested haul route
 +  * Warning Areas (encircled areas with a label of "​Warning - *")
 +
 +=== Deferred Uploader ===
 +SmartTrack itself does none of the actual uploading but instead passes that data to the deferred uploader service that runs at all times on the tablet.
 +
 +
 ===== Story 4 - New View Control ===== ===== Story 4 - New View Control =====
  
android/track/trackstories.1382385279.txt.gz · Last modified: 2013/10/21 19:54 by mikeclapp