User Tools

Site Tools


android:smartdirt:android_project_stories

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:smartdirt:android_project_stories [2018/01/09 22:04]
mikeclapp [Displaying Elevation at Measure points]
android:smartdirt:android_project_stories [2019/10/29 20:06] (current)
mikeclapp [Story 17 - Adding Mapping]
Line 1: Line 1:
-{{smartdirticon3.png?​direct}} +====== ​Story 16 - Adding RTK ======
-These stories detail each iteration of the AGTEK android pilot project.  +
- ====== ​SmartDirt Version ​======+
  
  
- Open issues to be assigned to a story: 
-  ​ 
  
- ===== Iteration Story 0 ===== +===== Changes/​addition of Save ===== 
- The programmer's iteration. Provide basic application framework inside ​of Eclipse, checked into SVN +A large part of this story has been written in IOS but we're fundamentally shifting the way save works as part of itSmartGrade previously ​has been the only product ​to actually save .ADF files but the addition of plansheets, orthomosaic backgrounds and large amounts of drone data has highlighted the problem of trying to save too big of a file over mobile. Even previously ok files have swelled.
-  * Basic program layout +
-  * UI has "map view" drawing a simplified symbol on the screen (perhaps AGTEK logo) +
-  * Integrated test to pave the way for //real// development. +
-  * SVN tag == "​Story_0"​ +
-  * Integrate into build structure +
-  * Develop Architectural overview +
-  * Develop task lists for each story+
  
- ===== Iteration Story 1 ===== +The reality is we don't care about most of it because it originated from the desktop ​and much of it is duplicate information. The desired data is the Benchmarkssurvey points ​and lines, and possibly ​the recover dataIn most cases this could be combined with the original data on the desktop easily although I believe we should have a way to upload ​the entire file but not make it the main working path. This also aligns the saving of of these added objects with the method we have to use with IOS and effectively creates an autosave capability.
- The core iteration. A user opens the application ​and loads a design file. Displays a plan showing only the design lines. The user can load the designwalk around ​and have the GPS track the location +
-  * Design read from AGT file +
-    * File may be hand loaded ​on the SD card for this iteration. +
-  * Only show design lines +
-  * Allow user to align the map +
-  * Allow user to scroll manually. +
-  * Zoom and Pan functionality +
-  * Read GPS values, transform to NE/Screen positioning +
-  * Investigate Triangle "​port"​ or find new code.+
  
-{{smartdirt_story1_v1.png?​120x200}}+Currently in SmartDirt, photos, tracks and notes are created as local objects that are not part of the file. The presence of this denoted on the file screen by icons. My proposal is to extend these local objects to also handle the survey data. When a file is saved just this extra survey data is uploaded (deferred uploader) instead of the entire file
  
- ===== Iteration Story 2 ===== +=== Naming conventions ​=== 
- The first "​color"​ iteration. A user loads a plan on his phone and displays ​the siteThe application notices that there is no triangle mesh associated with this data set and prompts the user requesting for permission to produce the mesh (using appropriate user specific terminology). The task, being time intensive is forked as a background thread. When complete the mesh is cached on the local storage to allow for quick startup next time. The mesh is then used to display cut/fill information on the plan with the design lines. Building on story 1, this version will display design surface based on the plan file. This requires the addition of meshing code.  +There are different conventions on naming depending ​on the circumstanceA new job is straightforward ​and already functional ​with "New - Date-Time"
-  * Generate tri-mesh of the plan. +
-  * Display design surface on the plan. +
  
-{{filelistingex.png?​120x200}}+For an existing job we have a couple of 
  
- ===== Iteration Story 3 =====  +  * Not overwrite our existing ADF file 
- The first "​interactive"​ iteration where something interesting (to the user) is being shown. A user loads the plan and displays the site on his screen. He aligns the map, and may zoom in or out to bring interesting detail into view. After interrogating a few points, he decides to make a series of measurements on the screen; line, path, area. Finally he measures a volume from a cut area and from a fill area. Building on story 1, this version will display additional information on the plan (e.g. topo info). Requires the addition of meshing code. +  * Try to keep the file name length reasonable 
-  * Expand the view menu to allow for zooming +  * Create an identifiable file association ​with the base file
-  * Expand ​the UI to allow for pinch zoom +
-  * Display topographic information +
-  * **TBD** ESW replacement +
-  * AGTEK Access upload/​download +
-     * Menu item "​File"​ displays a tab view with two tabs. First tab (default) shows the local files. 2nd tab show the AGTEK Access Projects. +
-     * Within the individual tabs, a separate menu is available for Upload, Delete, Rename, email. (just delete implemented rev 1.) +
-     * In the local tab, tapping a job loads it. +
-     * In AGTEK Access tab, Show last project and files underneath it, then show other projects. The object is to show the most likely project and files you want while allowing the user to change projects easily. When a file is tapped, it downloads to the phone and local storage. Other operations (multiple downloads?) may be needed.+
  
-{{filelistingagtekaccess.png?​120x200}} {{agtekaccesslogin_.png?120x90}}+We have a visible size limitation in the save windowMy initial thought is to prepend "Surv 10-28-19 job-name.adf"​ as the filename leaving off the timestamp. In cases where the filename already exists we can warn of that fact but we also allow the user to edit this name. My thinking is it covers most cases. Within the same day we're likely to be adding data to the existing survey file so overwriting is not an issue. If it is the warning and allowing the user to edit should be sufficient ​(Thoughts?)
  
- ===== Iteration Story 4 ===== 
- The "​completion"​ story. This will add missing features not included in the previous stories. This will also add features required to productize the application. 
-  * Perform measurements (moved from story 3) 
-     * Line measurements (slope and planview length) 
-     * Path measurements (MC, I don't remember what this one is.) 
-     * Area measurements (slope and planview areas) 
-     * Volumetric measurements (this one could be slid back 
-           ​*Reporting,​ emailing reports 
  
-  * Copy protection / access key (technology TBD) (thoughts below) +=== Combining with the ADF file ===
-     * We have the communication and login information incorporated as part of AGTEK Access. +
-     * We extend the AGTEK Access structure to accommodate keys available and a check in/check out mechanism. +
-     * The phones have unique ID's that we can use for checkin/​checkout. +
-     * This also implies some additional interface for internal use to add keys, remove keys, and time monitoring. +
-  * Integration into the production build. +
-  * Obfuscator into the production huild. +
-  * Work with Tech Pubs to craft user's guide+
  
-{{smartdirt_horizontal_v1.png?​200x120}} {{smartdirt_mainscreen_v1.png?​120x200}}+My expectation is that there will be some situation where we will want to upload the entire ADF file including survey dataThe likely situation is it's different person doing the survey or they'​re switching devices. To do that we should use the Upload feature on the file menu. This feature has existed since the beginning but the new wrinkle is that when pressed it takes the survey data, adds it to the ADF file and uploads the combined result.
  
-=== Program Startup flow (accommodating copy protection) === 
-  * Prompt to enter Login and Password 
-  * Show keys available, In use. User selects key and program starts in File tabs (local) 
-  * On program exit, ask if the user wishes to retain the key checkout. 
  
-{{programstartkey.png?​120x200}}{{keycheckout.png?​120x200}}{{keycheckoutinuse.png?​120x200}}+==== Adding Share from Save to Measure screens =====
  
 +We're currently adding a share option under the save for GCP's although we might switch the button to the universal share icon. We could also add this to measure screens with a different context than GCP files. Instead ideally we'd screen capture at the extents of the measure area and then add the text elements from the measure report screen as an addition. Sharing to email or text sends that picture attached with the measure report text. Sharing to dropbox creates the image and (text file, 2nd screenshot?​). Let's think of likely context uses.
  
-=== View Screen === 
  
-Mockups of the View screens. To be implemented when the File replacement is available. You can ignore the PDF/Tiff transparency control (3rd image) for now. 
  
-{{views.png?​120x200}}{{existingviewlist.png?​120x200}}{{otherviewlist.png?​120x200}} 
  
 +====== Story 17 - Adding Mapping ======
  
 +Button for map toggle beneath shoot when in RTK. Otherwise on the right side, even with the camera button on the other side. The map button works as follows (shown from IOS SmartTrack beta 1.4). Default view unless New is off (what should the default for new be, map or satellite?)
  
-===== Iteration Story 5 (Release) =====+IOS interface for example. Button upper right
  
-The "​completion"​ story. Final release features and polish.+{{:​android:​smartdirt:​ios_mapicon.png?200|}}
  
-  ​ 
-=== Summary list (flow-spec details follow as needed)=== 
  
  
-   * Easter Egg statistics on memory usage (or other measures) for optimizing. +Tapping once brings up the map view
-   * Remove Mesh display from non-developer versions  +
-   * 3D view(first implementation) +
-   * Perform measurements  +
-     * Line measurements (slope and planview length) +
-     * Path measurements (MC, I don't remember what this one is.) +
-     * Area measurements (slope and planview areas) +
-     * Volumetric measurements (this one could be slid back +
-           ​*Reporting,​ emailing reports +
-   * View menu polish (shade increment, station offset) +
-   * Memory optimization+
  
-   +{{:​android:​smartdirt:​iosmap.png?200|}}
-=== 3D view, 1st implementation === +
-  * View change is triggered by selecting 3D from Menu. +
-  * Positioning is based on GPS position. 10 feet in back of actual position with the direction matching the GPS arrow. (this may mean that we need to refine the direction to use GPS bearings in some situations.) The head position should be about 6 feet up. +
-  * Exiting 3D view should be done via menu (planview, return to planview?)+
  
  
-=== Measure Mode flow === +Tapping again switches ​to satellite ​view
-  * Measure mode is started by selection on the Main menu. It is exited by selecting "​Map"​ on the Measure mode menu. +
-  * Selecting measure mode changes the main screen views to support showing measurements and changes to menu to reflect the measure functionality. Functions include: Back, Clear, Report, and Map mode (in that order as well). +
-    * Back removes the last point ( I can't figure out a reasonable way to do this with a gesture.) +
-    * Clear removes all the points in a measure area. +
-    * Report displays a detailed report of the measure lengths and area (including slope values) with a different ​view, allows sending of the report in an email along with either a screenshot of the area or a KMZ ([[https://​agtek.s3.amazonaws.com/​Agtek/​AK7iezbjp8yJ]]) of the area and data along with the reports. +
-    * Map exits Measure mode and returns to the main map screen. +
-  * When measure mode is entered, a tap on the screen starts the measure area at that location. the second tap draws a line and shows the length of the line. Subsequent taps show the total length and the length of the last line segment. Also, at the third tap, the end and start points are connected with a white line signifying the closed area. At the third point, the area and cut-fill numbers also are calculated. ​+
  
-{{smartdirtmeasure.png?120x200}}{{smartdirtmeasuremenu.png?​120x200|}}{{smartdirtmeasurereport.png?​120x200}}{{smartdirtmeasurereportmenu.png?​120x200|}}{{savereportwindow.png?​120x200|}}+{{:​android:​smartdirt:​iossatellite.jpg?200|}}
  
-=== View menu polish === 
  
-  * Create interface ​and support for user specified shade increments. +Pressing ​and holding on the map button in satellite displays the opacity control
-  * Add support for COGO line/​Station-Offset to ADF and SmartDirt +
-  * Hook up display of Station-Offset.+
  
-{{otherviewlist.png?120x200}}{{highwayviewlist.png?​120x200}}+{{:​android:​smartdirt:​iostranspar1.png?200|}}
  
  
-===Demo/​Testing Features===+With full opacity set.
  
-Under Settings create a "Put me here" option. It functions like this. I have an open file and pick a point on the screen. I press Menu-Settings and select "Put me here". The transformation of GPS to job coordinates changes to put you on the spot that was picked. A second but probably more common path is to allow reading of files without benchmarks but allow the user to pick a point and do the same "Put me here option"​. The assumption in this case is that North is North for rotation purposes.+{{:​android:​smartdirt:​iostranspar2.png?200|}}
  
-{{SettingsView.png?​120x200|}} 
  
-Note: The bug in the 2.3 version of Android means that we probably have to have an alternative method of determining direction. Unchecking "Use Compass direction"​ means that we'll sample the GPS heading and use that for direction. Not optimal but the bug renders the 3D view virtually unusable for any view other than south. I had hoped this was a bug unique to Sprint but indications is that it's an Android 2.3.3 problem. Since users are pretty much at a carrier'​s mercy, we probably have to accommodate the problem for current and future users. 
  
  
  
  
- ===== Story 6 Post Release ===== 
  
- ​====Track points story==== 
  
-The user wants to do a measure area but doesn'​t have a good idea of where the boundaries are in the file. (Remember this is a big empty field he's staring at). He decides to walk around what he can see has been done (earthmoving). He presses Menu, then Track and the program starts collecting points on the screen but not closer than 3 ft to the last one. He walks around the area of excavation and a line with points shows the path he walks. From that, he can now go into Measure mode and roughly trace his path to generate quantities. At any time he can turn off the tracks by picking Menu-Tracks and turning off the tracking 
  
- ​===Specifics=== 
  
-  * The points and lines are not saved at this time and are strictly screen reference. 
-  * We don't want to use the actual Track for measure, just as reference 
  
- ​===Details ignored=== 
-  * I'm hard-coding the collection distance on points to 3 feet without putting in an interface to change that. SmartSet/​SmartGrade does have that in the spec but I'm not sure it's important here. 
  
-{{smartdirttrack.png?​200|}} 
  
 +====== Story 15 - Revisiting the View Menu ======
  
 +The original SmartDirt view menu was a fixed and relatively inflexible as it was our first mobile product. The desktop software has evolved to support more surfaces and additional layers and we both need to support those and create a more dynamic View experience that reflects these changes. SmartDirt also needs to deviate away from some of the SmartGrade display choices as it's a different product with different optimizations although they may have some of the same data available.
  
 +===== Current View Organization =====
  
 +Our current View organization for products is:
  
 +=== User Field Created objects - Tracks, Photos, Measures, Notes ===
  
- ===== Post Release Story ===== +=== ADF Data ===
- The after released story. These are features we can imagine being there but probably won't make it into the first release. +
-  *3D views (tied to position), (tied to motion sensor on the phone ala skyview?) +
-   +
-=== 3D view, 2nd implementation ​===+
  
-  * Allow user toggle off the GPS using the existing icon. In this mode he can pan the view sideways with a side to side swipe, tilt the view (constrained to not go below ground) with a two finger up and down (ala google maps), Zoom in and out with pinch, and move on the surface using single finger swipe up and down.+=== View Controls ===
  
  
- ​{{smartdirt_landscape3d_v1.png?​200x120}}+===== New View Organization =====
  
-===== Post Release Story 7 ===== 
  
 +=== User Field Created objects ===
 +  * Tracks ​
 +  * Photos
 +  * Measures ​
 +  * Notes
 +
 +
 +=== ADF Data ===
 +
 +  * **Ref** - "Name of Ref surface" ​
 +         * Data Lines (Draw lines in black)
 +         * Annotation
 +         * Perimeters
 +         * Report Regions (sectional areas if subgrade surface)
 +         ​* ​
 +  * **Diff** - "Name of Difference surface" ​
 +         * Data Lines (Draw lines in med/dark green)
 +         * Annotation
 +         * Perimeters
 +         * Report Regions (stripping areas if Stripped surface)
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +**Unassociated with Surface Data**
    
 +  * Benchmarks
 +  * Cut/Fill Lines
 +  * Stake List Points
 +  * Pipelines
 +  * <​del>​Contour Lines
 +</​del>​ Leave out 
  
-==== Saving Tracks ====+ *** Highway** (This does not display if no alignments, torn on whether it goes in View or Data section 
 +        * Alignment ​    
 +        * NE or Station Offset 
 +        * Station Display
  
-SmartDirt currently will create tracks but not save them. Now we have a sales request to save the tracks and my one beta user also requested that ability. The biggest problem is a lack of interface. My proposal is this. When goes to exit and has tracks, ask if he wants to save the tracks. If he says yes, take him to a version of our save dialog (layout and explanation to follow). If he says no, ask if he wants to release the key as it is now. It's a little bit of 20 questions but the best way I can imagine for now. 
  
-On a related note: I'm wondering if long term we want to use GPX instead of LLA as our track format. We can extend it, it automatically is readable into Google Earth, and other products can play it back. The downside is we would need to write a reader for Trackwork. 
  
-Here's a proposed screen. Compared to the other Save windows, here are some thoughts.+=== View Controls ===
  
-  * I can't think of a reason to do Save As so I don't have that interface in here. +  * Skip Cut/Fill model 
-  * A default name could be Track-Date. I thought of throwing job name in there but since we have a project name, I'm not sure it's necessary. +  * Map Background 
-  Upload and Save are defaulted on. These might not be necessary as options but the case of where we don't have cell coverage means there needs to be a way to save it on the phone for later use. +        * None 
-  * I'm thinking that we save LLA and a matching GPX file to bridge the time of switching to just GPX files in Trackwork, Earthwork, etc. Yes it will take more space but it covers the bases. It also points out a missing piece in SmartDirt that I omitted.+        * Cut-fill color 
 +        Image 
 +  * Color Increment 
 +        * Auto
  
  
-{{smartdirttracksave.png?​200|}} 
  
-==== Georeferenced Bitmap/PDF overlay graphical display ​====+====== Story 14 - Measure Area Improvements ======
  
-The user reads and ESW/ESZ file where the desktop software has georeferenced ​PDF or bitmap to a NE type coordinate system. That process usually does a transformation to the PDF to match data or allow digitizing. (Note: Data other than the bitmap ​and benchmarks should not be required to be in the ADFOne use case is that an estimator reads the plans into Sitework prebid/​pretakeoff ​and just georeferences it in Sitework.). +As part of demo we showed Smartdirt ​and the customer was very interestedThey also had some feedback for improvements ​that seemed both reasonable ​and valuableThis story is based on that feedback ​and applies ​to the Measure mode in SmartDirt.
-    +
-After saving the file the user either exports to ADF from Sitework (longer term) or reads the saved file into the ADF creator. Once in ADF Creator, the user exports the file to an ADF that includes the required PDF or bitmap ​and uploads the results ​to AGTEK Access. (Update: it looks like in the short term, converting PDF'​s ​in Android is non-trivial. The ADF creator on the other hand could use our existing PDF solution to write out bitmaps and store them in the ADF file. This seems like the easiest first pass. I'm torn if this belongs here or in the notes below.)+
  
-    +  * Display Elevation for the current Measure points instead of just Cut/Fill 
-Once in AGTEK Access, ​the file is opened and the bitmap with any lines that might be present are displayed on the screen. Situations with no surfaces but a pdf need to be handled gracefully with no isopach/​surface warnings. When both surfaces and bitmap exist, show the cut/​fill ​color (isopach) first but it may be necessary to delete the surface/isopach information if the user loads a pdf backgroud/​bitmap. ​ +  * Add the ability ​to enter compaction fill factor in the Measure Report 
-    +  * Calculate the net cut/​fill ​and display as export/import on the Measure Report 
-The user can now walk over the PDF with an arrow showing his position. If he zooms in we try to show the best reasonable version of that bitmap ​(resampling?​) we can while still being responsive(Thought: if no data lines exist in the file except for benchmarks and the boundary, do we allow them to just pick a point on the screen and show the distance to that? It would be handy and lessen the need to do vector based PDF's as soon)+  * Allow the user to specify ​an elevation plane for a measure area (explanation story below 
  
-**SideNotes:​** 
-    
-There can be more than one PDF per esw but the desktop only allows display of one at time due to memory limitations. The SmartSuite Apps do not need to show more than one PDF at a time either and will require a method of switching pages but for now I'm satisfied with a single page. 
  
-  * I don't need Vector PDF's for first pass +This version ​is based on the release version + recent changes Mike A has made to support site licenses and fix bugsIt does not use the Science Experiment changes ​and these changes will also need to be migrated.
-  * As ugly as it is, we should also allow an emailed ADF file to start up either AGTEK programI believe ​the OS allows for more than one association ​and prompts the user when a choice needs to be made.+
  
-===Requires:​=== 
-  * ADF file support for Georeferenced PDF and bitmap display. 
-  * ADF creator support for ESZ files (zipped .esw with included pdf and bitmaps) 
-  * SmartDirt/​Grade display of PDF/Bitmaps georeferenced by desktop software (via ADF) 
  
-====ADF File Support of Georeferenced Plan Sheets (PDF/​bitmaps)==== 
  
-==== SmartSuite display of PDF/Bitmaps =====+{{:​android:​smartdirt:​measure_-_elevation_display.png?​400|}} ​
  
-==Features==+===== Displaying Elevation at Measure points =====
  
-  * AutoSwitching Sheets? Use the image boundary combined with current ​position ​to loadIn case of overlaps, use the smaller of the twoUse of tags ala' Google maps to allow selection of sheets. +The current ​version displays the Cut/Fill at the last measure point entered or the measure point being edited (dragged). This version turns it into a toggle similar ​to the distance/​slope display when not in measure modeThis makes it easy for the site foreman to look within a bank a pads for example to find the lowest elevation on a fill pad or the highest on a cut padThat gives them a floor that they can move dirt to before using grade setters all the timeThe default ​is to show the elevation of the reference surface with the ability ​to toggle to cut/fill.
-  * In cases where there is no data other than benchmarks and the image, allow the user to pick a pixel for distance feedback.+
  
-==Screen Examples== 
-{{sdimagezoom1.png?​200|}}{{sdimagezoom2.png?​200|}}{{sdmainscreenout.png?​200|}} 
  
-==Manual Sheet Switching Example==+===== Measure Report window changes =====
  
-Don't think you have to match my screen example slavishly. The examples out there are limited as far as knowing what's possible. The idea is that a user can choose the sheet displayed manually by pressing and holding within the sheet. After pressing and holding a bubble pops up with the possible sheets to load based on the location of the press. In this case there'​s a press within two sheet boundaries and we display the names of those two sheets. The one currently displayed is highlighted. Tapping a sheet name, loads the corresponding image. 
  
 +{{:​android:​smartdirt:​measure_compaction-net.png?​400|}}
  
  
  
 +The vast majority of this is interface changes with some simple math. On the android version we'll need to tighten up the vertical spacing compared to now to allow enough room. Also note that although there'​s room allowed for and the cost code dialog is shown, I do not intend to release cost codes in this version. It's simply a placeholder for where it will go upon release.
  
  
-{{sdmainscreenpagepick.png?​200|}}+==== Add compaction fill factor ====
  
 +Added above the cut and fill numbers and in line with the surface comparisons is the compaction fill factor. The compaction fill factor is numeric only (change the keyboard to a numberpad) value that is multiplied with the raw fill volume to reflect compaction. For example, putting in a compaction factor of 1.15 is a 15% swell so a 5000 cubic yard raw fill is actually displayed as 5750 cy in the display and calculation of the net import or export. A value less than 1 actually decreases the fill number.
  
  
 +==== Calculate the net cut/fill and display as export/​import ====
  
 +Displaying the net of the cut and fill numbers is simple subtracting cut from fill for the measure. A negative number shows as an import and a positive number displays as an export.
  
  
  
 +===== Specify an elevation plane for a measure area =====
  
-===== Release Story 8 =====+Part of the value of SmartDirt to the foreman is allow them to do rough operations before staking and grade setting might have arrived. For example, the foreman checks a block of fill pads and finds the lowest one is elevation 248. By knowing that it's possible to start filling and compacting those pads before the grade setter is available (or in the cut) he can turn the machines loose without worrying about moving dirt twice. Currently we only display the total cut/fill in the measure area but this feature would allow him to set a plane to compare against and quantify the volumes to that plane. That 248 elevation may tell him there'​s 22,000 yds of fill which means he fill there for two 10,000 yard days before getting the grade checkers over. 
  
-=== Measure Mode improvements ===+Ideally, we wouldn'​t need to calculate another Isopach with this because of delays and the fact we can have multiple measure areas with different elevation planes means it's less than practical either. When we talked (Bill) the thought that because we were just doing a grid calc it might be possible to avoid an Isopach recalc.
  
-New features Rev 1: +==== Interface ====
-  * Points are marked with different icons for snapped point compared to free entry +
-  * Menu loses Undo, gains snap and Exit Measure. (I'm hoping Exit Measure will fit but it may not) +
-  * Not shown but implied. Back button now removes last entered point+
  
-{{smartdirtmeasuremenunew.png?​200|}}{{smartdirtmeasurenew.png?200|}}+There are several important features of the interface beyond the volume calcThe most important IMO is the feedback that the current measure area has a plane applied to itI think we'll do it two ways (graphics to follow). The first is that instead of displaying Subgrade - Existing for example when a grading plane is applied we'll show the elevation instead. So at the top of the Measure area and on the report and KMZ output we'll show "248 - Existing"​ for that measure area. The second, more subtle difference is to shade those measure areas and boundaries a different color than the current black. My first suggestion would be the purple transparency but I think we'll have to experiment to get the final color and opacity. Removing the measure plane would revert the volumes and color shading
  
-New features Rev 2: 
-  * Point Edit. Point edit is hard to show as a mockup but here's a description of what it does. 
  
-==Interface== +{{:​android:​smartdirt:​measure_plane_feedback.png?400|}}
-Measure points can be long pressedLongpressing generates a sound (chirp, beep, haptic vibration) and puts interface into edit mode. In edit mode, only the selected point can be dragged (change color of selected point?). The point shouldn'​t move with a tap, only a drag. This is to prevent inadvertent edits. To finish and end edit mode I'd like to try just tapping somewhere on the screen and see how that feels. Other options might be a LongPress, or a menu (least preferred). Pressing the back button cancels the edit. +
  
-==Behaviour== 
-If possible, it would be great to update the measure numbers during editing. 
  
 +{{:​android:​smartdirt:​measure_plane_menu.png?​400|}}
  
  
Line 276: Line 215:
  
  
 +{{:​android:​smartdirt:​measure_elevation_limit.png?​400|}}
  
  
 +I'm not sure coming up 0.0 is the correct default but lack a better number. If possible, when not set it should come up with the cursor bar there and the keypad up. Clear is the definitive way to remove the Elevation limit.
  
 +===== Story 13 - SmartDirt Multi-measure + KMZ =====
  
 +SmartDirt is moving back to the mainstream field message. It will share features and catch up with the newer SmartPlan version as well as serve as a template for an IOS version of the product. Emphasis will be put on having the geometry of the job which is a nice barrier to entry that SmartPlan does not possess. These features are:
  
  
 +  * Multi-Measure - Currently prototyped but some interface changes to the new SmartPlan implementation (zoom controller modifications & note taking.
 +  * Layer list support of Photos, Tracks, Notes, & measure areas. See new SmartPlan (1.4) for modeling of interface
 +  * Persistence of documentation objects beyond the session. Documentation objects are (Photos, Tracks, Notes, & measure areas. Smartplan 1.4 has a way of doing it now that doesn'​t save to the file and Mike A says it would work for SmartDirt for Photos, tracks, and notes. Measure areas will take some reconciliation with SmartPlan methods to store.
 +  * Saving of measure areas in the kmz file output
 +  * Grid Volume optimization
 +  * Report Simplification
 +  * Put Me here changed to IOS version (already complete)
  
  
 +====  Multi-Measure ​ ====
  
 +The current prototype of multi-measure is fine as far as function but I used it to evolve what we're currently doing in the 1.4 version of SmartPlan for Android and IOS. Note that the IOS implementation drove some of the Android changes because the desire is to make the two platforms similar within reason.
  
 +The primary change is changing the zoom controller buttons while in Measure mode from tracks (L), Camera (UR), and notes (LR) to Snap (L) and New Measure (R) omitting the Note button entirely in the Android version. In the IOS version the Note button will be a back button in measure mode. Moving these functions to the zoom controller is partially driven by the IOS screen space limitations on the equivalent of the action bar but this is also true of Android phones. It's simply much more convenient to not require the user to go to the menu for snap especially.
  
 +Here's an example of the Measure screen on a phone:
  
-===== Story 9 - Those Things we meant to get to  (now version 1.03) =====+{{:​android:​smartdirt:​measure_screen.png?300|}}
  
-   * File List Enhancements 
-   * Image backgrounds 
-   * Add Distance between points/ slope between points feature (ala RTK) 
-   * Multiple Tracks and note taking 
-  ​ 
-=== File List enhancement === 
-When the file listing was first developed, we were not worried about upload the files back into Access. The saving of IsoPach has changed that. Especially for large files and for demos. Deleting files is also sort of painful. This proposes to create a long press popup on a selected file with the following functions 
  
-  * Check for Updates - polls Access to see there is a newer version ​of the file. If so it asks "There is a newer version of this file, Download and overwrite?"​ with a Yes No button option. +Features ​of note (bottom ​to top):
-  * Upload - Uploads the current file to Access under the same source project. The main use is to save precalced files. +
-  * Rename - Allows file renaming. Use would probably be for retaining current copy on access while uploading calced version. +
-  * Delete - Removes file - Ask for confirmation. ​+
  
 +  * Bottom info bar up and right arrow controls. The up_caret.png displays the name and notes for the measure area. It's a tap control that expands the bottom bar to show the name of the measure area (entry/​editing) and allows notes to be added to the info  (Length, Area, Volumes) that is automatically included in the KMZ file. The right control arrow cycles between the selected measure area (replaces the action bar arrow in the prototype). Note that Mike A is implementing this in SmartPlan 1.4 as this is being written so I suggest leveraging that code.
 +  * The zoom controller buttons for Tracks, Camera, and Note have been replaced with a New Measure button on the right and a Snap button on the left.
 +  * Below the top info bar the area where we display the measure name and file name has a new semi-transparent backdrop that extends across the width of the screen. See SmartPlan 1.4 for an example. It just look better than the block background we currently use.
 +  * The first two action bar icons are now View and Exit Measure. With the use of the zoom controller we have extra space. I don't want clear to be easy to hit accidentally. The menu options left (in order) are:
 +     * Clear
 +     * 3D View
 +     * File
 +     * Settings
 +     * Save
 +  * I'm removing the Report option altogether ​
  
-{{filelisting_popup.png?​200|}}+==== Layer list support of Photos, Tracks, Notes, & Measure areas ====
  
-===Multiple Delete (new delete behaviour) === +Along with persistence of the data objects ​we also want to be able to control visibilityfind and delete individual itemsThe screen below is derived from SmartPlan which has this capability as of 1.4 and it should serve as model for implementation on SmartDirt. These data objects appear at the top of the layer listThey can be hidden with the checkbox and deleted by swiping. Please try this with SmartPlan for an example of how this work. In fact I recommend using that code.
-Delete is not something ​we do often but when we do need to, it's usually more than one fileThis is a proposed change to the way the Delete Menu option worksThe new flow is this:+
  
-  * When a user presses Delete from the File Menu we display the list with checkboxes for multiple selection and have delete and cancels buttons at the bottom. 
  
-{{sdfilemenu.png?​200|}}{{filelisting_multiple_delete.png?​200|}} 
  
-  * Multiple files can be selected and when Delete is pressed, a confirmation appears. +{{:​android:​smartdirt:​databojectlayerslist.png?200|}}
-{{filelisting_multiple_delete_confirm.png?200|}}+
  
-=== Distance/​Slope Readout === 
  
-Distance/​Slope is a feature we had in the GradePilot software. What it does is this. The user picks the first point and then picks a second point as shown in the graphic below. At the top right the distance between the points displays. The triangle denotes that tapping there toggles the value to a slope. Slope is shown as slope percentage (%) until it reaches 10:1 and then it displays as a ratio.+==== Documentation Object Persistence ====
  
 +(Photos, Tracks, Notes, & measure areas) In Android up until Smartplan 1.4 we did not up to this point persist these objects once the program or file was closed. On the Apple version we did due to having no natural save points. This and other changes are moving the mobile products further in the direction of field documentation. Note that SmartPlan 1.4 already has the features very close to completion. When possible I suggest picking up that code whenever possible.
  
-{{sdpointdistance.png?​200|}}+=== File Screen Changes ===
  
-=== Image work completion === +Files with persistent documentation objects display that fact with a glyph to the right of the filenameSee the example below
-Time to complete ​the work on images, started back in story 7The following items need to be completely implemented:​ +
-  * Re-enable images  +
-  * Implement ​the manual sheet selector +
-  * Fix bugs +
-  * Display thumbnails instead of tiles if zoomed out enough. ​+
  
 +{{:​android:​smartdirt:​track_upload_status.png?​50|}}
  
-=== Multiple tracks and Note taking ===+{{:​android:​smartdirt:​databojecticons.png?​200|}}
  
-This expands the use of tracking by adding multiple tracks and the ability to attach notes to track segments. I'm imagining using the long press edit gesture from Measure to select track points and bring up a text box (w/ keyboard and microphone capability) to assign a note to a track. ​ 
  
-The changes are these:+With the ability to persist documentation objects we also need to be able to remove them without deleting the file. We do this with the long press menu that currently exists by adding a "​Clear"​ option.
  
-  * We allow multiple tracks. Turning Track off/on no longer removes the last track from the screen. 
-  * Those track lines can have lines assigned by long-pressing on the track line. When this happens we display this: 
  
-{{smlabeltrcktxt2.png?200|}}+{{:​android:​smartdirt:​filemenuclear.png?200|}}
  
-The first time the text is blank. The second time we leave the last label highlighted so any change overwrites it but if you're just marking power lines, you can just press save without reentering the label. We also want to support the microphone/ Google speech to text. Pressing Save, saves the label to the track. Pressing back exits without saving the label. 
  
-On saving the tracks we need to put the label and the separate tracks in the GPX. This is supported within GPX and I believe the track will be named by it when read into Google Earth. I don't believe LLA supports multiple tracks and labels. We will be transitioning the desktop software from lla to GPX in the very near term 
  
 +==== Saving of Measure areas in the KMZ file output ====
  
 +We currently save photos, tracks and notes in the KMZ output. We're just adding measure areas as well. The measure area is described as a polygon area and the property sheet contains the surfaces compared, the Area, LF, cut and fill for that measure area.
  
 +See the sample KMZ file here ([[https://​agtek.s3.amazonaws.com/​Agtek/​3RJgIjCQbgUI|example KMZ link]]). Note that this is the same sample file I used for saving in SmartPlan and the property sheet does not include the Surfaces compared, cut and fill but should for a SmartDirt based Measure area.
  
 +==== Measure View Layout Changes ====
  
 +Currently the Measure View upper information bar is present but not used for anything. I'd like to change that and both reclaim some space at the top of the screen and display more relevant information. Here are some proposed screen shots but they can be summarized as removing the N,E, Z, Point and Line labeling and replacing them with the surfaces (ie; Subgrade vs Existing) in the upper left that pressing and holding on displays the surface selection and a Cut/Fill number with arrow on the right. This should enable us to shrink the upper bar by at roughly half. The cut/fill number reflects the cut or fill at the current measure point. One of the desired uses is to allow a user to put down a single measure point and then edit and drag it around to examine the cut/fill rather than having to walk over to it in the main screen mode.
  
 +{{:​android:​smartdirt:​measuretoppanel.png?​200|}}
  
  
-The more complex part is probably how someone plays back or shows the note. I'm not sure the current label functionality in earthwork is right for the job. +==== 3D View Layout Changes ====
  
 +The current 3D View only shows the a Northing and Easting value if picked on the previous screen and the point and line label are not particularly useful either. In the new screen shown below the Northing and Easting values are actively tied to the user's gps position instead being based on a point picked on the main screen. I've also shortened them to just tenths to not imply any great accuracy since SmartDirt is based on autonomous GPS. The layout they are on is shortened vertically at the top but extended vertically at the bottom to accommodate a little larger text at the bottom. I've also changed the Cut/Fill number to be larger still and moved the arrow to one side. There is some experimentation required on size.
  
 +{{:​android:​smartdirt:​3dview_layout.png?​200|}}
  
  
-===== Story 10 - I hope this thing is finally finished (now version 1.04) =====+==== 2D View Layout Changes ​====
  
  
-   * Add surface switching/3D view switching. +The 2D View changes are simply increasing the size of the bottom info panel to match the new 3D view. The idea is to make the numbers easier to read.
-   * Station & Offset support+
  
  
-=== Station/​Offset Display === 
-The Highway tab was in early versions of SmartDirt but was never implemented to due to time. This version has been modified to allow selection of more than one alignment. 
  
-What it does is this: 
  
-  * The user can toggle the top info panel to display Northing/​Easting or Station offset. NE is already implemented and does not change. +==== Grid Volume optimization ====
-  * With NE selected the Alignment combo box is grayed. If Station Offset is selected it becomes selectable. +
-  * The default Alignment selected is the longest line. Station and Offset displayed is relative to the selected COGO Alignment. Naturally, Station and offset is less precise when on the inside of curves as the user moves further away from the alignment due to converging station lines. +
-  * The design perimeter clips the display of station and offset. +
-  * The selected polyline of highway data is bolded in the display.+
  
  
-{{highwayviewlist.png?​200|}}+==== Put Me here changed to IOS version ==== 
  
- * Add surface switching/​3D view switching. +(already complete)
-   * Station & Offset support+
  
 +This is for documentation purposes. IOS lacks a Setting page accessible from the program where we had the Put-Me-Here functionality in Android. Instead we made the GPS icon on the main screen have a long-press capability. Long-Pressing on the GPS icon with a point selected now asks the user whether they want to move the GPS position to the selected point. Pressing Ok acts as a Put-me-here. Subsequent long presses allow the user to clear the Put-me-here unlike previous versions which required reloading the file.
  
 +====== Story 12 ======
  
 +  * Deferred Uploader support
 +  * Save Dialog changes due to Deferred Uploader
 +  * Add Access Uploader to the About tab
  
-=== Surface Switching === +This is a small update mainly ​to add to Deferred Uploader to SmartDirt and other Android appsThe addition of the uploader means that we can clean up the Save dialog and also remove ​potential issue for customers who don't select upload
-We currently have surface switching in SmartGrade although we need to verify the 3D view is correct (it differs from 4D). SmartDirt presents another problem as well. In Grade we only have single surface ​to compare ​to the survey shotPicking ​the tiny arrow for each surface is unrealistic so we need to do new selection window ​for the View and Compare to surfaces.+
  
-{{sdchangeview.png?​200|}}{{sdchangeviewdialog.png?200|}}+The deferred uploader is already completeIn the past we could not exit the program and upload our tracks and pictures if we did not have an internet connectionUpload could continue once the program was restarted but this is hidden from the user. To reflect the new ability, the save window should now look like this:
  
-(There are updates to these pictures but overwriting is failing) 
  
-**Behaviour**+{{:​android:​smartdirt:​savedialogsd.png?​300|}}
  
-Pressing on the surfaces text displays the surfaces dialog where the user can select their view surface and their compare surface. The dialog does not need to be followed slavishly. The key features are radio button next to any selectable surface. It's likely that the lists may need to be scrollable due to the number of choices. Please suggest any other interface that may make sense for exclusively selecting the two surfaces. ​ 
  
-Note: Feature not shown. ​The triangle that denotes ​selectable item should point sideways (graphic won't update) and point at the view surface ​being shown for feedbackI thought about swapping surface order and always placing ​the view surface on top but I think that make the cut/fill indicator more confusing.+The Upload, Save As, KMZ, and LLA options have been eliminated. Saving the file will automatically send the files to the uploader which will upload when network connection is present. We're going to remove ​the LLA file option due to other tracking options ​being available so the export format automatically becomes KMZ and removes the need for those two optionsAlso, the default file name is highlighted (minus the .kmz extension) ​and the keyboard raised when the user enters the screen. If the user just wants to save he can hit the save button and use the default name and upload.
  
 +Also notice that the file extension is added to the right of the filename and is not editable.
  
-== View Item Defaults == 
  
-My original idea was to make the view items independent of the view surface but SmartDirt has evolved past my original simple idea. We need to create some automatic switching of certain view settings when a job is opened based on the View surface. For example, if Design is the View surface then we turn on Design Lines and turn off Existing lines and Annotation. If Existing is chosen, turn off the Design lines and Annotation. The user should be able to override this during their session but the behavior reverts to automatic if the program is quit and restarted. +**Access Upload status**
- +
-Addition 9-13-12: When a file is loaded, if there is no Isopach but there are images, automatically switch the Other view and turn on images. Likewise, if the file loaded has no images but does have an Isopach, automatically set the Other view to show Cut/Fill despite prior settings.+
  
 +The Access Upload status pages are something we on look at when something has gone wrong. It doesn'​t need to be on the menu and it's preferable that it be out the way. For lack of a better location I propose we add a button to Settings-About that takes upload status pages.
  
 ===== Story 11 - Final Stop, Maybe ===== ===== Story 11 - Final Stop, Maybe =====
Line 483: Line 424:
 Optional - Now that we have KMZ writing we should think about enabling the KMZ Measure Report export. We don't need cut/fill color but we should export the measure perimeter and put the report data as the properties. Mockup to follow. Optional - Now that we have KMZ writing we should think about enabling the KMZ Measure Report export. We don't need cut/fill color but we should export the measure perimeter and put the report data as the properties. Mockup to follow.
  
 +===== Story 10 - I hope this thing is finally finished (now version 1.04) =====
  
  
 +   * Add surface switching/​3D view switching.
 +   * Station & Offset support
  
  
 +=== Station/​Offset Display ===
 +The Highway tab was in early versions of SmartDirt but was never implemented to due to time. This version has been modified to allow selection of more than one alignment.
  
 +What it does is this:
  
-====== Story 12 ======+  * The user can toggle the top info panel to display Northing/​Easting or Station offset. NE is already implemented and does not change. 
 +  * With NE selected the Alignment combo box is grayed. If Station Offset is selected it becomes selectable. 
 +  * The default Alignment selected is the longest line. Station and Offset displayed is relative to the selected COGO Alignment. Naturally, Station and offset is less precise when on the inside of curves as the user moves further away from the alignment due to converging station lines. 
 +  * The design perimeter clips the display of station and offset. 
 +  * The selected polyline of highway data is bolded in the display.
  
-  * Deferred Uploader support 
-  * Save Dialog changes due to Deferred Uploader 
-  * Add Access Uploader to the About tab 
  
-This is a small update mainly to add to Deferred Uploader to SmartDirt and other Android appsThe addition of the uploader means that we can clean up the Save dialog and also remove a potential issue for customers who don't select upload+{{highwayviewlist.png?200|}}
  
-The deferred uploader is already completeIn the past we could not exit the program and upload our tracks and pictures if we did not have an internet connection. Upload could continue once the program was restarted but this is hidden from the user. To reflect the new ability, the save window should now look like this:+ * Add surface switching/​3D view switching. 
 +   * Station & Offset support
  
  
-{{:​android:​smartdirt:​savedialogsd.png?​300|}} 
  
  
-The Upload, Save As, KMZ, and LLA options ​have been eliminated. Saving the file will automatically send the files to the uploader which will upload when a network connection ​is presentWe're going to remove the LLA file option due to other tracking options being available so the export format automatically becomes KMZ and removes ​the need for those two options. Also, the default file name is highlighted (minus the .kmz extension) ​and the keyboard raised when the user enters the screen. If the user just wants to save he can hit the save button and use the default name and upload.+=== Surface Switching === 
 +We currently ​have surface switching in SmartGrade although we need to verify ​the 3D view is correct (it differs from 4D)SmartDirt presents another problem as well. In Grade we only have a single surface ​to compare ​to the survey shot. Picking ​the tiny arrow for each surface is unrealistic so we need to do a new selection window ​for the View and Compare ​to surfaces.
  
-Also notice that the file extension is added to the right of the filename and is not editable.+{{sdchangeview.png?​200|}}{{sdchangeviewdialog.png?​200|}}
  
 +(There are updates to these pictures but overwriting is failing)
  
-**Access Upload status**+**Behaviour**
  
-The Access Upload status pages are something we on look at when something has gone wrongIt doesn'​t ​need to be on the menu and it'​s ​preferable ​that it be out the way. For lack of a better location I propose we add a button to Settings-About ​that takes upload status pages.+Pressing ​on the surfaces text displays the surfaces dialog where the user can select their view surface and their compare surfaceThe dialog does not need to be followed slavishly. The key features are radio button next to any selectable surface. It'​s ​likely ​that the lists may need to be scrollable due to the number ​of choices. Please suggest any other interface ​that may make sense for exclusively selecting the two surfaces
  
 +Note: Feature not shown. The triangle that denotes a selectable item should point sideways (graphic won't update) and point at the view surface being shown for feedback. I thought about swapping surface order and always placing the view surface on top but I think that make the cut/fill indicator more confusing.
  
  
 +== View Item Defaults ==
  
 +My original idea was to make the view items independent of the view surface but SmartDirt has evolved past my original simple idea. We need to create some automatic switching of certain view settings when a job is opened based on the View surface. For example, if Design is the View surface then we turn on Design Lines and turn off Existing lines and Annotation. If Existing is chosen, turn off the Design lines and Annotation. The user should be able to override this during their session but the behavior reverts to automatic if the program is quit and restarted.
  
 +Addition 9-13-12: When a file is loaded, if there is no Isopach but there are images, automatically switch the Other view and turn on images. Likewise, if the file loaded has no images but does have an Isopach, automatically set the Other view to show Cut/Fill despite prior settings.
  
-===== Story 13 - SmartDirt Multi-measure + KMZ ===== 
  
-SmartDirt is moving back to the mainstream field message. It will share features and catch up with the newer SmartPlan ​version ​as well as serve as a template for an IOS version of the product. Emphasis will be put on having the geometry of the job which is a nice barrier to entry that SmartPlan does not possessThese features are:+===== Story 9 - Those Things we meant to get to  (now version ​1.03) =====
  
 +   * File List Enhancements
 +   * Image backgrounds
 +   * Add Distance between points/ slope between points feature (ala RTK)
 +   * Multiple Tracks and note taking
 +  ​
 +=== File List enhancement ===
 +When the file listing was first developed, we were not worried about upload the files back into Access. The saving of IsoPach has changed that. Especially for large files and for demos. Deleting files is also sort of painful. This proposes to create a long press popup on a selected file with the following functions
  
-  * Multi-Measure - Currently prototyped but some interface changes ​to the new SmartPlan implementation (zoom controller modifications & note taking. +  * Check for Updates ​polls Access ​to see there is a newer version of the fileIf so it asks "There is a newer version ​of this fileDownload and overwrite?"​ with a Yes No button option
-  * Layer list support ​of PhotosTracks, Notes, & measure areasSee new SmartPlan (1.4) for modeling of interface +  * Upload - Uploads ​the current file to Access under the same source projectThe main use is to save precalced files
-  * Persistence of documentation objects beyond ​the session. Documentation objects are (Photos, Tracks, Notes, & measure areas. Smartplan 1.4 has a way of doing it now that doesn'​t save to the file and Mike A says it would work for SmartDirt for Photos, tracks, and notesMeasure areas will take some reconciliation with SmartPlan methods ​to store+  * Rename - Allows ​file renaming. Use would probably be for retaining current copy on access while uploading calced version. 
-  * Saving of measure areas in the kmz file output +  * Delete - Removes file - Ask for confirmation. ​
-  * Grid Volume optimization +
-  * Report Simplification +
-  * Put Me here changed to IOS version (already complete)+
  
  
-====  Multi-Measure ​ ====+{{filelisting_popup.png?​200|}}
  
-The current prototype of multi-measure ​is fine as far as function ​but I used it to evolve what we're currently doing in the 1.4 version of SmartPlan for Android and IOS. Note that the IOS implementation drove some of the Android changes because the desire ​is to make the two platforms similar within reason.+===Multiple Delete (new delete behaviour) === 
 +Delete ​is not something we do often but when we do need to, it's usually more than one fileThis is a proposed change ​to the way the Delete Menu option worksThe new flow is this:
  
-The primary change is changing ​the zoom controller buttons while in Measure mode from tracks (L), Camera (UR), and notes (LR) to Snap (L) and New Measure (R) omitting ​the Note button entirely in the Android version. In the IOS version the Note button will be a back button in measure mode. Moving these functions to the zoom controller is partially driven by the IOS screen space limitations on the equivalent of the action bar but this is also true of Android phones. It's simply much more convenient to not require the user to go to the menu for snap especially.+  * When a user presses Delete from the File Menu we display the list with checkboxes for multiple selection ​and have delete ​and cancels buttons at the bottom.
  
-Here's an example of the Measure screen on a phone:+{{sdfilemenu.png?​200|}}{{filelisting_multiple_delete.png?​200|}}
  
-{{:​android:​smartdirt:​measure_screen.png?300|}}+  * Multiple files can be selected and when Delete is pressed, a confirmation appears. 
 +{{filelisting_multiple_delete_confirm.png?200|}}
  
 +=== Distance/​Slope Readout ===
  
-Features of note (bottom to top):+Distance/​Slope is a feature we had in the GradePilot software. What it does is this. The user picks the first point and then picks a second point as shown in the graphic below. At the top right the distance between the points displays. The triangle denotes that tapping there toggles the value to a slope. Slope is shown as slope percentage (%until it reaches 10:1 and then it displays as a ratio.
  
-  * Bottom info bar up and right arrow controls. The up_caret.png displays the name and notes for the measure area. It's a tap control that expands the bottom bar to show the name of the measure area (entry/​editing) and allows notes to be added to the info  (Length, Area, Volumes) that is automatically included in the KMZ file. The right control arrow cycles between the selected measure area (replaces the action bar arrow in the prototype). Note that Mike A is implementing this in SmartPlan 1.4 as this is being written so I suggest leveraging that code. 
-  * The zoom controller buttons for Tracks, Camera, and Note have been replaced with a New Measure button on the right and a Snap button on the left. 
-  * Below the top info bar the area where we display the measure name and file name has a new semi-transparent backdrop that extends across the width of the screen. See SmartPlan 1.4 for an example. It just look better than the block background we currently use. 
-  * The first two action bar icons are now View and Exit Measure. With the use of the zoom controller we have extra space. I don't want clear to be easy to hit accidentally. The menu options left (in order) are: 
-     * Clear 
-     * 3D View 
-     * File 
-     * Settings 
-     * Save 
-  * I'm removing the Report option altogether ​ 
  
-==== Layer list support of Photos, Tracks, Notes, & Measure areas ====+{{sdpointdistance.png?​200|}}
  
-Along with persistence of the data objects we also want to be able to control visibilityfind and delete individual items. The screen below is derived from SmartPlan which has this capability as of 1.4 and it should serve as a model for implementation on SmartDirt. These data objects appear at the top of the layer list. They can be hidden with the checkbox and deleted by swiping. Please try this with SmartPlan for an example ​of how this work. In fact I recommend using that code.+=== Image work completion === 
 +Time to complete ​the work on imagesstarted back in story 7. The following items need to be completely implemented:​ 
 +  * Re-enable images  
 +  * Implement ​the manual sheet selector 
 +  * Fix bugs 
 +  * Display thumbnails instead ​of tiles if zoomed out enough
  
  
 +=== Multiple tracks and Note taking ===
  
-{{:​android:​smartdirt:​databojectlayerslist.png?200|}}+This expands the use of tracking by adding multiple tracks and the ability to attach notes to track segments. I'm imagining using the long press edit gesture from Measure to select track points and bring up a text box (w/ keyboard and microphone capability) to assign a note to a track
  
 +The changes are these:
  
-==== Documentation Object Persistence ====+  * We allow multiple tracks. Turning Track off/on no longer removes the last track from the screen. 
 +  * Those track lines can have lines assigned by long-pressing on the track line. When this happens we display this:
  
-(Photos, Tracks, Notes, & measure areas) In Android up until Smartplan 1.4 we did not up to this point persist these objects once the program or file was closed. On the Apple version we did due to having no natural save points. This and other changes are moving the mobile products further in the direction of field documentation. Note that SmartPlan 1.4 already has the features very close to completion. When possible I suggest picking up that code whenever possible.+{{smlabeltrcktxt2.png?200|}}
  
-=== File Screen Changes ===+The first time the text is blank. The second time we leave the last label highlighted so any change overwrites it but if you're just marking power lines, you can just press save without reentering the label. We also want to support the microphone/ Google speech to text. Pressing Save, saves the label to the track. Pressing back exits without saving the label.
  
-Files with persistent documentation objects display that fact with a glyph to the right of the filenameSee the example below+On saving the tracks we need to put the label and the separate tracks in the GPXThis is supported within GPX and I believe the track will be named by it when read into Google Earth. I don't believe LLA supports multiple tracks and labels. We will be transitioning the desktop software from lla to GPX in the very near term
  
-{{:​android:​smartdirt:​track_upload_status.png?​50|}} 
  
-{{:​android:​smartdirt:​databojecticons.png?​200|}} 
  
  
-With the ability to persist documentation objects we also need to be able to remove them without deleting the file. We do this with the long press menu that currently exists by adding a "​Clear"​ option. 
  
  
-{{:​android:​smartdirt:​filemenuclear.png?​200|}} 
  
  
 +The more complex part is probably how someone plays back or shows the note. I'm not sure the current label functionality in earthwork is right for the job. 
  
-==== Saving of Measure areas in the KMZ file output ==== 
  
-We currently save photos, tracks and notes in the KMZ output. We're just adding measure areas as well. The measure area is described as a polygon area and the property sheet contains the surfaces compared, the Area, LF, cut and fill for that measure area. 
  
-See the sample KMZ file here ([[https://​agtek.s3.amazonaws.com/​Agtek/​3RJgIjCQbgUI|example KMZ link]]). Note that this is the same sample file I used for saving in SmartPlan and the property sheet does not include the Surfaces compared, cut and fill but should for a SmartDirt based Measure area. 
  
-==== Measure View Layout Changes ==== 
  
-Currently the Measure View upper information bar is present but not used for anything. I'd like to change that and both reclaim some space at the top of the screen and display more relevant information. Here are some proposed screen shots but they can be summarized as removing the N,E, Z, Point and Line labeling and replacing them with the surfaces (ie; Subgrade vs Existing) in the upper left that pressing and holding on displays the surface selection and a Cut/Fill number with arrow on the right. This should enable us to shrink the upper bar by at roughly half. The cut/fill number reflects the cut or fill at the current measure point. One of the desired uses is to allow a user to put down a single measure point and then edit and drag it around to examine the cut/fill rather than having to walk over to it in the main screen mode. 
  
-{{:​android:​smartdirt:​measuretoppanel.png?​200|}} 
  
  
-==== 3D View Layout Changes ==== 
  
-The current 3D View only shows the a Northing and Easting value if picked on the previous screen and the point and line label are not particularly useful either. In the new screen shown below the Northing and Easting values are actively tied to the user's gps position instead being based on a point picked on the main screen. I've also shortened them to just tenths to not imply any great accuracy since SmartDirt is based on autonomous GPS. The layout they are on is shortened vertically at the top but extended vertically at the bottom to accommodate a little larger text at the bottom. I've also changed the Cut/Fill number to be larger still and moved the arrow to one side. There is some experimentation required on size. 
  
-{{:​android:​smartdirt:​3dview_layout.png?​200|}} 
  
  
-==== 2D View Layout Changes ==== 
  
  
-The 2D View changes are simply increasing the size of the bottom info panel to match the new 3D view. The idea is to make the numbers easier to read. 
  
  
- 
- 
-==== Grid Volume optimization ==== 
- 
- 
-==== Put Me here changed to IOS version ====  
- 
-(already complete) 
- 
-This is for documentation purposes. IOS lacks a Setting page accessible from the program where we had the Put-Me-Here functionality in Android. Instead we made the GPS icon on the main screen have a long-press capability. Long-Pressing on the GPS icon with a point selected now asks the user whether they want to move the GPS position to the selected point. Pressing Ok acts as a Put-me-here. Subsequent long presses allow the user to clear the Put-me-here unlike previous versions which required reloading the file. 
- 
- 
-====== Story 14 - Measure Area Improvements ====== 
- 
-As part of a demo we showed Smartdirt and the customer was very interested. They also had some feedback for improvements that seemed both reasonable and valuable. This story is based on that feedback and applies to the Measure mode in SmartDirt. 
- 
-  * Display Elevation for the current Measure points instead of just Cut/Fill 
-  * Add the ability to enter a compaction fill factor in the Measure Report 
-  * Calculate the net cut/fill and display as export/​import on the Measure Report 
-  * Allow the user to specify an elevation plane for a measure area (explanation story below.  ​ 
- 
- 
-This version is based on the release version + recent changes Mike A has made to support site licenses and fix bugs. It does not use the Science Experiment changes and these changes will also need to be migrated. 
- 
- 
- 
-{{:​android:​smartdirt:​measure_-_elevation_display.png?​400|}} ​ 
- 
-===== Displaying Elevation at Measure points ===== 
- 
-The current version displays the Cut/Fill at the last measure point entered or the measure point being edited (dragged). This version turns it into a toggle similar to the distance/​slope display when not in measure mode. This makes it easy for the site foreman to look within a bank a pads for example to find the lowest elevation on a fill pad or the highest on a cut pad. That gives them a floor that they can move dirt to before using grade setters all the time. The default is to show the elevation of the reference surface with the ability to toggle to cut/fill. 
- 
- 
-===== Measure Report window changes ===== 
- 
- 
-{{:​android:​smartdirt:​measure_compaction-net.png?​400|}} 
- 
- 
- 
-The vast majority of this is interface changes with some simple math. On the android version we'll need to tighten up the vertical spacing compared to now to allow enough room. Also note that although there'​s room allowed for and the cost code dialog is shown, I do not intend to release cost codes in this version. It's simply a placeholder for where it will go upon release. 
- 
- 
-==== Add compaction fill factor ==== 
- 
-Added above the cut and fill numbers and in line with the surface comparisons is the compaction fill factor. The compaction fill factor is numeric only (change the keyboard to a numberpad) value that is multiplied with the raw fill volume to reflect compaction. For example, putting in a compaction factor of 1.15 is a 15% swell so a 5000 cubic yard raw fill is actually displayed as 5750 cy in the display and calculation of the net import or export. A value less than 1 actually decreases the fill number. 
- 
- 
-==== Calculate the net cut/fill and display as export/​import ==== 
- 
-Displaying the net of the cut and fill numbers is simple subtracting cut from fill for the measure. A negative number shows as an import and a positive number displays as an export. 
- 
- 
- 
-===== Specify an elevation plane for a measure area ===== 
  
  
Line 676: Line 565:
  
  
-====== Story 15 - Cost Code Support and Usage ======+====== Story Future ​- Cost Code Support and Usage ======
  
 Cost Codes first originated in SmartTrack for segmenting work into different buckets for associated costs. The next outgrowth of this is support for Cost Codes in SmartDirt and SmartPlan as well as a Foreman'​s Project Journal that aggregates events by day and Project. The Journal feature will likely be a separate app that is called by different apps and eventually the web. Cost Codes first originated in SmartTrack for segmenting work into different buckets for associated costs. The next outgrowth of this is support for Cost Codes in SmartDirt and SmartPlan as well as a Foreman'​s Project Journal that aggregates events by day and Project. The Journal feature will likely be a separate app that is called by different apps and eventually the web.
Line 714: Line 603:
  
  
- +====== ​Stories ​with no numbers - SmartDirt Enhanced ADF Support ======
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
-====== ​Story 16 - SmartDirt RTK - A science experiment ====== +
- +
-Premise: A small change to SmartDirt that enables RTK instruments and uses a modified version of Put Me Here to give relative positioning. Sort of a laser like use case that simply gives a steady measurement based on RTK without the normal RTK use overhead. +
- +
-Features +
-   * Enable RTK instruments in SmartDirt (main focus is likely cell based but for the experiment leave all) +
-   * Normal Lat-Long benchmarking is used by default. With no user intervention the result is just a very steady, consistent position. This doesn'​t make the alignment correct it just yields a steady position when fixed. (need to display instrument state somewhere +
-   * Create a more advanced version of Put Me here: +
-        * Put me here with the internal phone GPS behaves the same as it does now. +
-        * There are several new options +
-              * Set Elevation allows the user to set the elevation of the current location. ​  +
-        *  A put me here realigns based the selected point/given elevation +
- +
- +
- +
-**Put Me Here Functions** +
- +
-Starting a list +
-  * Put Me Here (no RTK) +
-  * Put Me Here (RTK set position and elevation to the point) +
-  * Set Elevation (for session) +
-  * Set Rotation (RTK only, 2nd Benchmark equivalent) (do we display alignment report?, Do we Save) +
-  * Clear Put Me Here (Back to original file settings) +
- +
-==== RTK Behaviour Difference ==== +
- +
-With the Autonomous location SmartDirt remains the same as it currently is and has no new interface. This is the  initial state when going into the program. The RTK device must be selected out of Settings to start use of RTK and extend this feature set. +
- +
- +
-With RTK available the GPS settings screen changes to look like this: +
- +
-{{:​android:​smartdirt:​smartdirtrtkgps_screen.png?​400|}} +
- +
- +
- +
-=== Put Me Here choices === +
- +
-With RTK chosen as an instrument, picking a point and pressing and holding on the GPS icon presents a larger amount of choices. +
- +
-{{:​android:​smartdirt:​smartdirtrtkputmehere.png?​400|}} +
- +
- +
-**Put Me Here** with RTK enabled is way different than the autonomous version. Picking a point and doing a Put Me here essentially does an RTK alignment with that selected point and keeps the rotation angle established by the original two Lat-Long benchmarks. The elevation of that point is used to set any elevation offset. After pressing put me here the program prompt "Hold rod steady, does a countdown of three seconds and shoots to figure a five shot median. +
- +
-**Set Elevation** is designed to create an accurate elevation offset to measure off a known grade without necessarily knowing the x,y position to high accuracy. It's a put me here just for elevation. For example, if I know a manhole'​s elevation I could setup over it, select Set Elevation, Key in the elevation at the prompt and then execute the "Hold rod steady, countdown then 5 shot sample like we do for put me here. Anything I moved to after that would show me the new elevation relative to what I had keyed in. The location would still be related to the original Benchmark Lat-Long position +
- +
-**2nd Point Rotation** is the equivalent to shooting the second benchmark in a SmartGrade alignment. I'm debating whether to show a quick report of the deviation or even allow saving of the alignment. For now don't do either a deviation report or saving. +
- +
-**Clear** the same as in autonomous put me here. The alignment is reset to the original Lat-Long Benchmarks alignment. +
- +
-My inclination at this point is to make any of the put me here stuff only last for the session.  +
- +
- +
-=== Other RTK Effects === +
- +
-With an RTK put me here the cut/fill between surfaces disappears, the cut/fill between the GPS and the reference surface displays in big numbers ​(ala' SmartBlade),​ and the reference surface slides down with the shot elevation shown above it. The satellite count shows next to the GPS icon. The screen looks something like this: +
- +
- +
-{{:​android:​smartdirt:​smartdirtrtkafterputme.png?​400|}} +
- +
- +
-Another effect is that the Track now records RTK data with elevation as survey data instead of track data and photos use the RTK lat long for positioning. +
- +
-  +
-  +
- +
- +
-==== Licensing - Do nothing for now other than branch ==== +
- +
-My thoughts at this time are that the RTK is an optional add-on for SmartDirt. This is strictly speculative and I'd like the first versions as a separate branch that may never go out the door. If it does become a sales product I can see a couple of paths. The first is to add this to SmartDirt and just raise the price on subsequent licenses. This is the simplest. Second option is to add an RTK license that in combination with SmartDirt turns on the more advanced GPS settings pages and enables this functionality. Don't do anything on this one for now. +
- +
- +
-==== Smoothing the RTK Edges ==== +
- +
-We currently save GPS configuration as an XML file in the AGTEK folder. There is no sharing of it unless the user uses an outside program along with Dropbox and the like to backup this file. It's not a big deal with base/rover style configuration but the cell-base systems have way more configuration required. And any one character mistake creates an error that's finicky to identify. Long passwords, user ids, mount points, APN settings all make for a more fiddly system to setup than is preferable. The nature of the system means that all those things are pretty necessary but we may be able to share settings through access to smooth out subsequent installations and sharing of equipment.  +
-**This is not something required for this story** +
- +
- +
-  +
- +
- +
-===== Use Stories ===== +
- +
-Joe Foreman is out on a site and wants to check an elevation of a pads. Since it's a stakeless site he has very few references but he knows the first pad has been certified and it should be at elevation 455.3. He walks into the middle of the pad and presses and holds on the compass icon. He chooses set elevation and keys in 455.3 or picks "​Reference Elevation"​ . The program takes two shots and sets the elevation offset based on either the keyed in value or the design grade at that point. From then on in that session the offset is used to calculate the cut/fill (on main screen) against the reference surface instead of the two surface calc. We blank that value and display the cut/fill similar to SmartBlade on the main screen. +
- +
- +
-====== Story 16 - SmartDirt Enhanced ADF Support ======+
  
 The ADF format originated during our first attempts at mobile on Android phones. Over time we've added Smartplan and the information model that KMZ file output supports. Also, new to version 1.19 of Sitework 4D is the documentation layer which supports placemark-like behavior and html property sheets as well as annotation and perimeter line support in surfaces other than Design/​Subgrade,​ Existing/​Stripped. The ADF format originated during our first attempts at mobile on Android phones. Over time we've added Smartplan and the information model that KMZ file output supports. Also, new to version 1.19 of Sitework 4D is the documentation layer which supports placemark-like behavior and html property sheets as well as annotation and perimeter line support in surfaces other than Design/​Subgrade,​ Existing/​Stripped.
Line 887: Line 677:
  
  
-====== Story 17 - Daily Journal ======+====== Story no Numbers ​- Daily Journal ======
  
  
Line 941: Line 731:
  
  
 +===== Release Story 8 =====
  
 +=== Measure Mode improvements ===
  
 +New features Rev 1:
 +  * Points are marked with different icons for snapped point compared to free entry
 +  * Menu loses Undo, gains snap and Exit Measure. (I'm hoping Exit Measure will fit but it may not)
 +  * Not shown but implied. Back button now removes last entered point
  
 +{{smartdirtmeasuremenunew.png?​200|}}{{smartdirtmeasurenew.png?​200|}}
  
 +New features Rev 2:
 +  * Point Edit. Point edit is hard to show as a mockup but here's a description of what it does.
  
 +==Interface==
 +Measure points can be long pressed. Longpressing generates a sound (chirp, beep, haptic vibration) and puts interface into edit mode. In edit mode, only the selected point can be dragged (change color of selected point?). The point shouldn'​t move with a tap, only a drag. This is to prevent inadvertent edits. To finish and end edit mode I'd like to try just tapping somewhere on the screen and see how that feels. Other options might be a LongPress, or a menu (least preferred). Pressing the back button cancels the edit. 
  
 +==Behaviour==
 +If possible, it would be great to update the measure numbers during editing.
  
-  
  
  
 +===== Post Release Story 7 =====
  
  
 +==== Saving Tracks ====
  
 +SmartDirt currently will create tracks but not save them. Now we have a sales request to save the tracks and my one beta user also requested that ability. The biggest problem is a lack of interface. My proposal is this. When goes to exit and has tracks, ask if he wants to save the tracks. If he says yes, take him to a version of our save dialog (layout and explanation to follow). If he says no, ask if he wants to release the key as it is now. It's a little bit of 20 questions but the best way I can imagine for now.
  
 +On a related note: I'm wondering if long term we want to use GPX instead of LLA as our track format. We can extend it, it automatically is readable into Google Earth, and other products can play it back. The downside is we would need to write a reader for Trackwork.
  
 +Here's a proposed screen. Compared to the other Save windows, here are some thoughts.
  
 +  * I can't think of a reason to do Save As so I don't have that interface in here.
 +  * A default name could be Track-Date. I thought of throwing job name in there but since we have a project name, I'm not sure it's necessary.
 +  * Upload and Save are defaulted on. These might not be necessary as options but the case of where we don't have cell coverage means there needs to be a way to save it on the phone for later use.
 +  * I'm thinking that we save LLA and a matching GPX file to bridge the time of switching to just GPX files in Trackwork, Earthwork, etc. Yes it will take more space but it covers the bases. It also points out a missing piece in SmartDirt that I omitted.
  
  
 +{{smartdirttracksave.png?​200|}}
  
 +==== Georeferenced Bitmap/PDF overlay graphical display ====
  
 +The user reads and ESW/ESZ file where the desktop software has georeferenced a PDF or bitmap to a NE type coordinate system. That process usually does a transformation to the PDF to match data or allow digitizing. (Note: Data other than the bitmap and benchmarks should not be required to be in the ADF. One use case is that an estimator reads the plans into Sitework prebid/​pretakeoff and just georeferences it in Sitework.).
 +   
 +After saving the file the user either exports to ADF from Sitework (longer term) or reads the saved file into the ADF creator. Once in ADF Creator, the user exports the file to an ADF that includes the required PDF or bitmap and uploads the results to AGTEK Access. (Update: it looks like in the short term, converting PDF's in Android is non-trivial. The ADF creator on the other hand could use our existing PDF solution to write out bitmaps and store them in the ADF file. This seems like the easiest first pass. I'm torn if this belongs here or in the notes below.)
  
 +   
 +Once in AGTEK Access, the file is opened and the bitmap with any lines that might be present are displayed on the screen. Situations with no surfaces but a pdf need to be handled gracefully with no isopach/​surface warnings. When both surfaces and a bitmap exist, show the cut/fill color (isopach) first but it may be necessary to delete the surface/​isopach information if the user loads a pdf backgroud/​bitmap. ​
 +   
 +The user can now walk over the PDF with an arrow showing his position. If he zooms in we try to show the best reasonable version of that bitmap (resampling?​) we can while still being responsive. (Thought: if no data lines exist in the file except for benchmarks and the boundary, do we allow them to just pick a point on the screen and show the distance to that? It would be handy and lessen the need to do vector based PDF's as soon)
  
 +**SideNotes:​**
 +   
 +There can be more than one PDF per esw but the desktop only allows display of one at time due to memory limitations. The SmartSuite Apps do not need to show more than one PDF at a time either and will require a method of switching pages but for now I'm satisfied with a single page.
  
 +  * I don't need Vector PDF's for first pass
 +  * As ugly as it is, we should also allow an emailed ADF file to start up either AGTEK program. I believe the OS allows for more than one association and prompts the user when a choice needs to be made.
  
 +===Requires:​===
 +  * ADF file support for Georeferenced PDF and bitmap display.
 +  * ADF creator support for ESZ files (zipped .esw with included pdf and bitmaps)
 +  * SmartDirt/​Grade display of PDF/Bitmaps georeferenced by desktop software (via ADF)
  
 +====ADF File Support of Georeferenced Plan Sheets (PDF/​bitmaps)====
 +
 +==== SmartSuite display of PDF/Bitmaps =====
 +
 +==Features==
 +
 +  * AutoSwitching Sheets? Use the image boundary combined with current position to load. In case of overlaps, use the smaller of the two. Use of tags ala' Google maps to allow selection of sheets.
 +  * In cases where there is no data other than benchmarks and the image, allow the user to pick a pixel for distance feedback.
 +
 +==Screen Examples==
 +{{sdimagezoom1.png?​200|}}{{sdimagezoom2.png?​200|}}{{sdmainscreenout.png?​200|}}
 +
 +==Manual Sheet Switching Example==
 +
 +Don't think you have to match my screen example slavishly. The examples out there are limited as far as knowing what's possible. The idea is that a user can choose the sheet displayed manually by pressing and holding within the sheet. After pressing and holding a bubble pops up with the possible sheets to load based on the location of the press. In this case there'​s a press within two sheet boundaries and we display the names of those two sheets. The one currently displayed is highlighted. Tapping a sheet name, loads the corresponding image.
 +
 +
 +{{sdmainscreenpagepick.png?​200|}}
 +
 +===== Story 6 Post Release =====
 +
 + ​====Track points story====
 +
 +The user wants to do a measure area but doesn'​t have a good idea of where the boundaries are in the file. (Remember this is a big empty field he's staring at). He decides to walk around what he can see has been done (earthmoving). He presses Menu, then Track and the program starts collecting points on the screen but not closer than 3 ft to the last one. He walks around the area of excavation and a line with points shows the path he walks. From that, he can now go into Measure mode and roughly trace his path to generate quantities. At any time he can turn off the tracks by picking Menu-Tracks and turning off the tracking
 +
 + ​===Specifics===
 +
 +  * The points and lines are not saved at this time and are strictly screen reference.
 +  * We don't want to use the actual Track for measure, just as reference
 +
 + ​===Details ignored===
 +  * I'm hard-coding the collection distance on points to 3 feet without putting in an interface to change that. SmartSet/​SmartGrade does have that in the spec but I'm not sure it's important here.
 +
 +{{smartdirttrack.png?​200|}}
 +
 +
 +
 +
 +
 +
 + ===== Post Release Story =====
 + The after released story. These are features we can imagine being there but probably won't make it into the first release.
 +  *3D views (tied to position), (tied to motion sensor on the phone ala skyview?)
 +  ​
 +=== 3D view, 2nd implementation ===
 +
 +  * Allow user toggle off the GPS using the existing icon. In this mode he can pan the view sideways with a side to side swipe, tilt the view (constrained to not go below ground) with a two finger up and down (ala google maps), Zoom in and out with pinch, and move on the surface using single finger swipe up and down.
 +
 +
 + ​{{smartdirt_landscape3d_v1.png?​200x120}}
 +
 +
 +===== Iteration Story 5 (Release) =====
 +
 +The "​completion"​ story. Final release features and polish.
 +
 +  ​
 +=== Summary list (flow-spec details follow as needed)===
 +
 +
 +   * Easter Egg statistics on memory usage (or other measures) for optimizing.
 +   * Remove Mesh display from non-developer versions ​
 +   * 3D view(first implementation)
 +   * Perform measurements ​
 +     * Line measurements (slope and planview length)
 +     * Path measurements (MC, I don't remember what this one is.)
 +     * Area measurements (slope and planview areas)
 +     * Volumetric measurements (this one could be slid back
 +           ​*Reporting,​ emailing reports
 +   * View menu polish (shade increment, station offset)
 +   * Memory optimization
 +
 +  ​
 +=== 3D view, 1st implementation ===
 +  * View change is triggered by selecting 3D from Menu.
 +  * Positioning is based on GPS position. 10 feet in back of actual position with the direction matching the GPS arrow. (this may mean that we need to refine the direction to use GPS bearings in some situations.) The head position should be about 6 feet up.
 +  * Exiting 3D view should be done via menu (planview, return to planview?)
 +
 +
 +=== Measure Mode flow ===
 +  * Measure mode is started by selection on the Main menu. It is exited by selecting "​Map"​ on the Measure mode menu.
 +  * Selecting measure mode changes the main screen views to support showing measurements and changes to menu to reflect the measure functionality. Functions include: Back, Clear, Report, and Map mode (in that order as well).
 +    * Back removes the last point ( I can't figure out a reasonable way to do this with a gesture.)
 +    * Clear removes all the points in a measure area.
 +    * Report displays a detailed report of the measure lengths and area (including slope values) with a different view, allows sending of the report in an email along with either a screenshot of the area or a KMZ ([[https://​agtek.s3.amazonaws.com/​Agtek/​AK7iezbjp8yJ]]) of the area and data along with the reports.
 +    * Map exits Measure mode and returns to the main map screen.
 +  * When measure mode is entered, a tap on the screen starts the measure area at that location. the second tap draws a line and shows the length of the line. Subsequent taps show the total length and the length of the last line segment. Also, at the third tap, the end and start points are connected with a white line signifying the closed area. At the third point, the area and cut-fill numbers also are calculated. ​
 +
 +{{smartdirtmeasure.png?​120x200}}{{smartdirtmeasuremenu.png?​120x200|}}{{smartdirtmeasurereport.png?​120x200}}{{smartdirtmeasurereportmenu.png?​120x200|}}{{savereportwindow.png?​120x200|}}
 +
 +=== View menu polish ===
 +
 +  * Create interface and support for user specified shade increments.
 +  * Add support for COGO line/​Station-Offset to ADF and SmartDirt
 +  * Hook up display of Station-Offset.
 +
 +{{otherviewlist.png?​120x200}}{{highwayviewlist.png?​120x200}}
 +
 +
 +===Demo/​Testing Features===
 +
 +Under Settings create a "Put me here" option. It functions like this. I have an open file and pick a point on the screen. I press Menu-Settings and select "Put me here". The transformation of GPS to job coordinates changes to put you on the spot that was picked. A second but probably more common path is to allow reading of files without benchmarks but allow the user to pick a point and do the same "Put me here option"​. The assumption in this case is that North is North for rotation purposes.
 +
 +{{SettingsView.png?​120x200|}}
 +
 +Note: The bug in the 2.3 version of Android means that we probably have to have an alternative method of determining direction. Unchecking "Use Compass direction"​ means that we'll sample the GPS heading and use that for direction. Not optimal but the bug renders the 3D view virtually unusable for any view other than south. I had hoped this was a bug unique to Sprint but indications is that it's an Android 2.3.3 problem. Since users are pretty much at a carrier'​s mercy, we probably have to accommodate the problem for current and future users.
 +
 +===== Iteration Story 4 =====
 + The "​completion"​ story. This will add missing features not included in the previous stories. This will also add features required to productize the application.
 +  * Perform measurements (moved from story 3)
 +     * Line measurements (slope and planview length)
 +     * Path measurements (MC, I don't remember what this one is.)
 +     * Area measurements (slope and planview areas)
 +     * Volumetric measurements (this one could be slid back
 +           ​*Reporting,​ emailing reports
 +
 +  * Copy protection / access key (technology TBD) (thoughts below)
 +     * We have the communication and login information incorporated as part of AGTEK Access.
 +     * We extend the AGTEK Access structure to accommodate keys available and a check in/check out mechanism.
 +     * The phones have unique ID's that we can use for checkin/​checkout.
 +     * This also implies some additional interface for internal use to add keys, remove keys, and time monitoring.
 +  * Integration into the production build.
 +  * Obfuscator into the production huild.
 +  * Work with Tech Pubs to craft user's guide
 +
 +{{smartdirt_horizontal_v1.png?​200x120}} {{smartdirt_mainscreen_v1.png?​120x200}}
 +
 +=== Program Startup flow (accommodating copy protection) ===
 +  * Prompt to enter Login and Password
 +  * Show keys available, In use. User selects key and program starts in File tabs (local)
 +  * On program exit, ask if the user wishes to retain the key checkout.
 +
 +{{programstartkey.png?​120x200}}{{keycheckout.png?​120x200}}{{keycheckoutinuse.png?​120x200}}
 +
 +
 +=== View Screen ===
 +
 +Mockups of the View screens. To be implemented when the File replacement is available. You can ignore the PDF/Tiff transparency control (3rd image) for now.
 +
 +{{views.png?​120x200}}{{existingviewlist.png?​120x200}}{{otherviewlist.png?​120x200}}
 +
 +
 +
 + ===== Iteration Story 3 ===== 
 + The first "​interactive"​ iteration where something interesting (to the user) is being shown. A user loads the plan and displays the site on his screen. He aligns the map, and may zoom in or out to bring interesting detail into view. After interrogating a few points, he decides to make a series of measurements on the screen; line, path, area. Finally he measures a volume from a cut area and from a fill area. Building on story 1, this version will display additional information on the plan (e.g. topo info). Requires the addition of meshing code.
 +  * Expand the view menu to allow for zooming
 +  * Expand the UI to allow for pinch zoom
 +  * Display topographic information
 +  * **TBD** ESW replacement
 +  * AGTEK Access upload/​download
 +     * Menu item "​File"​ displays a tab view with two tabs. First tab (default) shows the local files. 2nd tab show the AGTEK Access Projects.
 +     * Within the individual tabs, a separate menu is available for Upload, Delete, Rename, email. (just delete implemented rev 1.)
 +     * In the local tab, tapping a job loads it.
 +     * In AGTEK Access tab, Show last project and files underneath it, then show other projects. The object is to show the most likely project and files you want while allowing the user to change projects easily. When a file is tapped, it downloads to the phone and local storage. Other operations (multiple downloads?) may be needed.
 +
 +{{filelistingagtekaccess.png?​120x200}} {{agtekaccesslogin_.png?​120x90}}
 +
 +
 +===== Iteration Story 2 =====
 + The first "​color"​ iteration. A user loads a plan on his phone and displays the site. The application notices that there is no triangle mesh associated with this data set and prompts the user requesting for permission to produce the mesh (using appropriate user specific terminology). The task, being time intensive is forked as a background thread. When complete the mesh is cached on the local storage to allow for quick startup next time. The mesh is then used to display cut/fill information on the plan with the design lines. Building on story 1, this version will display design surface based on the plan file. This requires the addition of meshing code. 
 +  * Generate tri-mesh of the plan.
 +  * Display design surface on the plan. 
 +
 +{{filelistingex.png?​120x200}}
 +
 +
 + ===== Iteration Story 1 =====
 + The core iteration. A user opens the application and loads a design file. Displays a plan showing only the design lines. The user can load the design, walk around and have the GPS track the location. ​
 +  * Design read from AGT file
 +    * File may be hand loaded on the SD card for this iteration.
 +  * Only show design lines
 +  * Allow user to align the map
 +  * Allow user to scroll manually.
 +  * Zoom and Pan functionality
 +  * Read GPS values, transform to NE/Screen positioning
 +  * Investigate Triangle "​port"​ or find new code.
 +
 +{{smartdirt_story1_v1.png?​120x200}}
 +
 +
 +===== Iteration Story 0 =====
 + The programmer'​s iteration. Provide basic application framework inside of Eclipse, checked into SVN. 
 +  * Basic program layout
 +  * UI has "map view" drawing a simplified symbol on the screen (perhaps AGTEK logo)
 +  * Integrated test to pave the way for //real// development.
 +  * SVN tag == "​Story_0"​
 +  * Integrate into build structure
 +  * Develop Architectural overview
 +  * Develop task lists for each story
  
  
Line 980: Line 998:
   * Drone control? Flying Patterns   * Drone control? Flying Patterns
  
- 
- 
-There has been talk about Importing KMZ files but I believe the interface needs to be so different that it warrants another program. 
  
  
  
  
android/smartdirt/android_project_stories.1515535481.txt.gz · Last modified: 2018/01/09 22:04 by mikeclapp