View Full Version : Introducing my team's (in development) scouting app, ThunderScout
19lmyers
19-10-2016, 00:15
Hello Chief Delphi!
For the last six months I've been coding a scouting app for the team I'm a student on, Team 980 Thunderbots. I've decided to share it with the FIRST community in hopes that it helps people scout.
I present: THUNDERSCOUT (picture) (http://thunderscout.team980.com/img/beach_blitz_mockup.png)
(note that the interface has changed since that screenshot)
It's designed to function modularly. It has the ability to scout matches before saving them either to the local device or sending it via Bluetooth to another device running the app as a Bluetooth server.
In a later version I'll be adding the ability to send your data in real time to Google Sheets (every match, not just a single export).
I'm currently working on redesigning the UI for viewing the data stored on the device, and the home screen UI.
I plan to release a beta in 2017 while I finalize the data structure for the 2017 game before releasing the app on the Play Store in time for competition events. Consider this the beginning of the "alpha" period :)
It's also open source and available on GitHub: https://github.com/Team980/ThunderScout-Android
Here is an APK of where it's at right now (https://github.com/Team980/ThunderScout-Android/releases/tag/ALPHA-1)
My team's mentors and fellow students have all said really good things about the app, and I'd love to hear your feedback as well. Thanks for reading!
19lmyers
19-10-2016, 00:24
Here's some more current screenshots of the UI, including the scout UI: https://drive.google.com/folderview?id=0B0-49ZeFQgPHSzBsZWxfeHhqa3c
That is a great design, last year our team tried working on an app but it never went through, I look at this in more detail.
How are you storing your data because since we cannot use wifi we ran into the problem of where to store your data and later retrieve it.
Harrison.Smith
20-10-2016, 17:52
How are you storing your data because since we cannot use wifi we ran into the problem of where to store your data and later retrieve it.
Looks like there is a option to save to a Bluetooth server (I assume you set up a device as this server) or save the data to the device that is being used for scouting.
dirtbikerxz
20-10-2016, 21:27
Any chance of an ios app release?
19lmyers
21-10-2016, 15:20
How are you storing your data because since we cannot use wifi we ran into the problem of where to store your data and later retrieve it.
The data is stored in a SQLite database on the local device. No internet connection is currently required for any of the app's features.
19lmyers
21-10-2016, 15:26
Any chance of an ios app release?
I was looking into Intel's open source Multi OS Engine, but no promises right now.
The developer fee is also much higher.
19lmyers
24-10-2016, 00:22
I've prepared an alpha page on the Google Play store where I'll be publishing updates to the alpha binaries concurrently with Github!
To opt into the alpha, go to this link:
https://play.google.com/apps/testing/com.team980.thunderscout
Owen Busler
24-10-2016, 01:03
Getting an error when I go to download the app. Maybe it just hasn't been fully published yet?
19lmyers
24-10-2016, 19:31
Getting an error when I go to download the app. Maybe it just hasn't been fully published yet?
Yeah, Google Play doesn't seem to want to show the app page to people in the testing program. Working on a fix.
EDIT: The listing has been fixed, but now it's showing as "incompatible with all devices"...
19lmyers
25-10-2016, 00:53
The 0.1.1 update should fix the Play Store beta listing.
Looks like a good app! What format does the data export in?
19lmyers
27-10-2016, 21:15
Looks like a good app! What format does the data export in?
The 1.0 release will have a screen for sorting and viewing the data, I will be working with team members experienced with ranking robots and who would be picking robots for eliminations to design the view. An old, sad, bad version of this view is currently integrated into the This device screen.
A future release will support Google Sheets, allowing you to upload your data in real time. (I need to work out the kinks, it's not as stable as the rest of the app.)
I'm open to adding more methods of export in the future if you feel the app is missing something.
I'm open to adding more methods of export in the future if you feel the app is missing something.
We do a lot of analysis in Excel with our data, so it'd be great to have a way to export as an xls or csv or something.
Max Boord
27-10-2016, 22:24
A future release will support Google Sheets, allowing you to upload your data in real time. (I need to work out the kinks, it's not as stable as the rest of the app.)
I'm open to adding more methods of export in the future if you feel the app is missing something.
179 ran into a similar issue with exporting our webapp based scouting system to google docs and resorted to using HTML tables and the IMPORTHTML() function to get the data into google docs. It worked very well but has a few issues that deserve a separate thread. If you would like to work on co-developing a system for this send me a PM. I also have a WIP processing system and viewer in google docs that Swamp ran at 2 of our off seasons that worked as expected.
19lmyers
27-10-2016, 23:18
We do a lot of analysis in Excel with our data, so it'd be great to have a way to export as an xls or csv or something.
Do you do this online or offline?
fargus111111111
28-10-2016, 09:14
You talk about exporting data to a google sheets document, would this document be set up to also act as an input for devices that could not run the app? ie ios devices or PCs? This would be very helpful for situations where not all the devices used for scouting are identical, the biggest pitfall to this, that I see, is that the sheet would have to be set up to not overwrite data from multiple devices, basically make sure that any data entry is specified to match number and team number so that *hopefully* nothing is overwritten with data from another device when they the sheet syncs all the data from all the devices when they do get a chance to access the internet.
I realize that many teams looking at this kind of scouting app would be using team-owned devices for this purpose, but we don't have budget for something like that, however almost all our students have smartphones and for those who do not, we do have a few team laptops.
Even without the ability suggested above I really like how this app is looking and I look forward to checking it out for the 2017 season.
Do you do this online or offline?
Offline. In the past, we've scouted on paper and manually inputted data to excel for analysis We're looking for a good way to digitize our scouting and save some effort without completely changing the process.
19lmyers
28-10-2016, 19:45
You talk about exporting data to a google sheets document, would this document be set up to also act as an input for devices that could not run the app? ie ios devices or PCs? This would be very helpful for situations where not all the devices used for scouting are identical, the biggest pitfall to this, that I see, is that the sheet would have to be set up to not overwrite data from multiple devices, basically make sure that any data entry is specified to match number and team number so that *hopefully* nothing is overwritten with data from another device when they the sheet syncs all the data from all the devices when they do get a chance to access the internet.
I realize that many teams looking at this kind of scouting app would be using team-owned devices for this purpose, but we don't have budget for something like that, however almost all our students have smartphones and for those who do not, we do have a few team laptops.
Even without the ability suggested above I really like how this app is looking and I look forward to checking it out for the 2017 season.
Google Sheets input is supported on multiple devices to the same spreadsheet. It's additive, so no data is replaced or overwritten. It does require an Internet connection but you can use Bluetooth to transfer data from disconnected devices to a Sheets-enabled "master device" automatically, which my team has used.
It's not a "sync" so much as a "send".
You have full control over what you do with your spreadsheet.
Hi my name is McKenna and I am from team 4776. I looked at your app and loved it! Do you plan on making or updating a new one for the 2017 season? If so when would you have it up and running? Thanks, team 4776
19lmyers
07-11-2016, 09:18
Hi my name is McKenna and I am from team 4776. I looked at your app and loved it! Do you plan on making or updating a new one for the 2017 season? If so when would you have it up and running? Thanks, team 4776
Hello!
Yes, I do plan on updating this to the 2017 game (FIRST Steamworks).
I plan to make a public beta available (this is the alpha right now) when I begin developing the 2017 version. I'll probably start taking notes on kickoff day :)
When the 2017 update is complete I will publish the release version of the app, which will be publicly listed on the Play Store. Shouldn't take too long, but you never know...
19lmyers
15-11-2016, 01:13
I've prepared a new alpha release: Alpha 0.2 :)
This version, along with some "stability improvements and bug fixes", also features revamped "This device" and Match Info screens.
Screenshots have been uploaded here (https://drive.google.com/drive/folders/0B0-49ZeFQgPHSzBsZWxfeHhqa3c?usp=sharing)
The APK is available on Github and should be rolling out on Google Play soon.
Please tell me what you think!
I was looking at your source code, trying to integrate an export to excel option, something that would be vital in a scouting app for our team. I was using Apache POI to work with excel, and my main issue was with dealing with the custom ScalingStats and Defense types. I would love to work with you on figuring something like this out, but I also understand if you don't have time to work with me on this.
19lmyers
15-11-2016, 19:29
I was looking at your source code, trying to integrate an export to excel option, something that would be vital in a scouting app for our team. I was using Apache POI to work with excel, and my main issue was with dealing with the custom ScalingStats and Defense types. I would love to work with you on figuring something like this out, but I also understand if you don't have time to work with me on this.
I was hoping to build an Excel .xlsx export option into a later release of the app, but the main hurdle is that most libraries are too large to embed into an Android app (POI included).
I'd be interested in seeing your implementation and would love to see what you've done so far. Also, the simplest way to currently deal with the custom enum types is to call .name() or .toString() on them to get a string constant representation. I am planning on making that a bit more elegant eventually :)
I was hoping to build an Excel .xlsx export option into a later release of the app, but the main hurdle is that most libraries are too large to embed into an Android app (POI included).
I'd be interested in seeing your implementation and would love to see what you've done so far. Also, the simplest way to currently deal with the custom enum types is to call .name() or .toString() on them to get a string constant representation. I am planning on making that a bit more elegant eventually :)
I'll see if I can finish up a little more of what I was working on - Finals are this week at my high school, but I have next week off, so hopefully I can get a more complete implementation done by then. I was working on a system my freshman year, which I ended up abandoning in the end that had generated xls files, but it was honestly kinda a piece of crap, and unmaintainable.
19lmyers
23-11-2016, 23:04
I've prepared a new alpha release: Alpha 0.3!
This version:
Adds a new view that summarizes the match data for a selected team
Fixes a critical bug where the ScalingStats of a team wouldn't be saved when scouting
Also includes other "bug fixes and stability improvements"
I'm uploading it to the Play Store now. You can find it on GitHub here (https://github.com/Team980/ThunderScout-Android/releases/tag/0.3).
As always, new screenshots can be found here (https://drive.google.com/folderview?id=0B0-49ZeFQgPHSzBsZWxfeHhqa3c).
If you like the app or have a suggestion on how I could improve it, please reply here, open an issue or pull request on GitHub, or send your feedback via the Play Store!
I absolutely love the app. We developed a similar app that we used this season. However it wasn't nearly as refined/clean as this. It also had notably more bugs. We are seriously considering using this next season.
The only 2 things that I might like to see added is a way to track what match number the stats were recorded in, and the second being an option for a robot's picture. The first we like just to ensure we aren't reading duplicate data accidentally recorded (say 2 students record the same robot during the same match by accident). The match number can also let us track how a team progressed through a regional. The second we find helpful for during our scouting meeting. Being able to let people pull up a picture of the robot you're talking about rather than remembering who team xxyy is in a list of 60 can be much easier.
Again, the app looks fantastic so far and can't wait to see this revised for 2017 SteamWorks.
19lmyers
24-11-2016, 15:25
I absolutely love the app. We developed a similar app that we used this season. However it wasn't nearly as refined/clean as this. It also had notably more bugs. We are seriously considering using this next season.
The only 2 things that I might like to see added is a way to track what match number the stats were recorded in, and the second being an option for a robot's picture. The first we like just to ensure we aren't reading duplicate data accidentally recorded (say 2 students record the same robot during the same match by accident). The match number can also let us track how a team progressed through a regional. The second we find helpful for during our scouting meeting. Being able to let people pull up a picture of the robot you're talking about rather than remembering who team xxyy is in a list of 60 can be much easier.
Again, the app looks fantastic so far and can't wait to see this revised for 2017 SteamWorks.
Happy to hear that this app may be of some use to you!
I was expecting someone to eventually request match numbers. I implemented the timestamp instead because in my experience, scouts often forget what the match number is, but I'll consider adding it in the future.
Robot pictures is more of a pit scouting thing. I've considered adding a pit scouting mode, but haven't found time to pursue avenues such as that yet.
dirtbikerxz
24-11-2016, 16:10
Happy to hear that this app may be of some use to you!
I was expecting someone to eventually request match numbers. I implemented the timestamp instead because in my experience, scouts often forget what the match number is, but I'll consider adding it in the future.
Robot pictures is more of a pit scouting thing. I've considered adding a pit scouting mode, but haven't found time to pursue avenues such as that yet.
Match Numbers are pretty useful. Especially when looking back on the data. Because more often than not, our scouters will remember a specific match number in which a specific robot stood out. Time stamps can get pretty confusing, especially with all the field delays, and other problems that naturally occur at regionals.
19lmyers
25-11-2016, 21:06
New alpha release: Alpha 0.4!
This version adds:
- A data selection UI that allows you to delete individual matches
- Some basic sorting criteria to the data view
- A quick settings toggle for the Bluetooth server on Android 7.0 and up
- A round icon and launcher shortcuts on Android 7.1
Bug fixes:
- Counter views in the scout UI now behave properly on orientation changes
The new release should be on the Play Store (testing link) (https://play.google.com/apps/testing/com.team980.thunderscout) within the next 24 hours. Available on GitHub here (https://github.com/Team980/ThunderScout-Android/releases/tag/0.4).
New screenshots can be found here (https://drive.google.com/folderview?id=0B0-49ZeFQgPHSzBsZWxfeHhqa3c).
19lmyers
26-11-2016, 01:14
After testing Alpha 0.4 I found a bunch of very annoying bugs involving the new quick toggle. I ironed out those bugs for the most part (and fixed some startup errors with the Bluetooth server as well), and since I've already published two alphas in two days, these fixes will have to wait until the next alpha build...
...which might be in two days from now! xD
EDIT: The sorting modes are also bugged. The result is sorted lowest to highest, which is the opposite of the intended behavior. A fix for this will also be in the next alpha.
19lmyers
29-11-2016, 01:44
I've figured out how to make an Amazon developer account. :)
When the app launches in 2017 I should be able to have it uploaded to the Amazon App Store as well as Google Play- this means that those of you with Kindle Fire devices won't have to manually install Google Play Services to use the base app functionality!
19lmyers
08-12-2016, 19:29
I've released a new alpha containing the first iteration of the Feed: A reverse chronological timeline of what the app does, right on the home screen.
As always, if you have any questions or comments I'd be happy to hear them.
19lmyers
17-12-2016, 21:30
A new alpha has been released: Alpha 0.6!
This release adds a much-requested feature: Match numbers!
The scouting flow has been reworked and improved to accommodate the addition of match numbers and alliance colors.
You'll also find alliance colors tinting various screens of the app ;)
Please send me your feedback on this release! This addition is a major change to the scouting flow, and I'd like to have input on how I can further rework the data viewing screens to accommodate it.
Finally, suggestions, bugs, and ideas about where ThunderScout can go next are always welcome!
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.