Scouting app help

Hi my team is going to electronic scouting and we need help incorporating a way to export are data if that’s through a data base or how ever if anyone can help your help is much appreciated and fyi we are codeing in swift (swift is a simplified version of Objective-C) . If you can help let me know on here or by pm also I probably won’t get back to you until Saturday because of work.

It really depends on how you’re storing your data in your app and how you plan on using it once you’ve exported it.

How are you storing your data, and what are you trying to do with it?

We are having the app store the data until the user exports the data and we plan on using the data to see how each team did in there matches and to help find the teams that would be a good pick for us or to see if we would work well with them

What type of device are you guys using for this app? With our scouting app, when the match is finished we have a button that saves the data from it to a folder on the tablet. We use Microsoft Surfaces for the apps and we can just use flash drives to export the data since it has a USB port. To export the data we use a button in the app that compiles all the data into one folder and then an export button that chooses where you want the data to be put, which would be the flash drive. After that we can put the data into a computer to look over the data that was recorded. We use Tableau to put the data into easier formats in order to look through the data and be prepared for alliance selections.
Hopefully this answers most of your question!

We are making it for ios and then translate the code for android

Hello Team 3234,
First off I don’t want to be a Debby Downer, but it is a little late in the season to start on an app, IOS can be a very difficult platform to work on with minimal experience (or so I’m told) **I advise you to take a pre-existing community available app and adapt it to your purposes. **

That all being said, regardless of what devices you are using; data is best kept following industry standard. As FRC teams we get away with a lot less than would be allowed in industry, but for the development of scouting apps, especially those in their infancy, there are a few shortcuts you can take before jumping straight into a full-fledged database solution. Since swift has the benefit of being an object orientated programming language you can take even more shortcuts to save development on the IOS/android side and work with the (probably) more familiar desktop application side.

Personally, I only have any large amount of object-based programming in c# and java, I am assuming a fair bit of functionality will transfer.

Data Transfer Option #1: Export the completed object as-is convert and analyze later. This will take an external program (also written in swift) to reinitialize those objects through their constructors. You can then do what you want from the desktop side. I am not sure how to deal with file transfer between IOS and the desktop you will be using as I have not developed in IOS.

Data Transfer Option #2: (My favorite) Export the collected data to the team’s match folder as a .csv. These can be directly imported by MS Excel, MS access, Google Sheets, etc. Provided you have your spreadsheet ready this is probably the least code heavy way to look at data.

Data Transfer Option #3: Don’t transfer the data, do all of your analysis on the device itself the main drawback being the data is spread across n devices. the way to fix this is to sync up the 6 file-trees or have them all save the data to the same centralized location (I.E. a cloud folder) data can also be pulled from the cloud to analyze in a spreadsheet.

Data Transfer Option #4: (The least amount of work) Don’t transfer any data… digitally. Have your devices basically be accumulators for that one match. They then can crunch some data on the match and simply spit out a few numbers, coefficients, and any other pertinent information. These 10 or so numbers can be recorded on a slip of paper by the scouts (they then hit ‘reset’ on the collection screen) along with any notes for the match and passed to someone with a spreadsheet who can record the numbers and put the slip with notes on it into the team’s file. You can even use one of the existing spreadsheets set up this year.

I hope you find some success,
Skye Leake

If you’re just starting your app now, AND you have to translate to java AND create an entire android application, I’m sorry to say the quality of any app that comes in that short amount of time is not going to be what you want. As mentioned before, it would be in your best interest to use preexisting scouting apps (I Just released GearScout 2017 for Android, IOS is coming next week, would highly recommend).

If you absolutely HAVE to use a server, Firebase would be your best bet. It’s the easiest to use, but again, it’s going to take you at least a week to figure it out.

A good resource is 1678’s scouting app whitepaper from 2016:

Team 8 is developing a scouting system that uses 6 iPads for match scouting, a python server run on Rackspace, and a iPhone app for viewing of data.

We collect data using a collection app on the iPads, but since our devices do not have cellular data, we needed a solution without internet. After each match, the match data is converted to CSV, which is then used to generate a QR code containing all of the match data. The iPhone app is equipped with a QR code scanner, which converts the data to JSON format and uploaded to our python server via cellular. Our server runs Flask and our iPhone app uses Alamofire for communication with each other. The server processes the data and runs calculations before entering the data into our Firebase database (free for the first 1GB).

The iPhone app is capable of fetching the Firebase and TBA data over cellular for viewing, and also has a pit scouting function (we have more pit scouters than we have iPads so we need people to use their own devices) which uploads the pit data directly to Firebase.

This is our first year with a scouting app, and we’ve been working on it for 2-3 months. We have no plans to make the viewing app Android or web compatible due to lack of time, and if you’re starting the app now, I do not recommend attempting to do so. One of the things I learned in terms of fast development is to not get too hung up on UI - as long as it works functionally it is sufficient.

Firebase has worked very well for us. The documentation was sufficient for us to figure out how to use it pretty quickly, although if you have no experience with databases it may take longer to figure out. So far it’s been consistent, although we have yet to test with unreliable connection.

The QR code approach has worked pretty well for us so far, but it requires developing multiple apps, which I do not recommend you try this late in the season. If you have devices with cellular data, you could upload directly to a server.

TL;DR We use QR codes to transfer data between 2 apps before uploading to Firebase using cellular.

I have always liked the idea of QR data transfer.

As far as UI goes, I agree, do not get too hung up on it, but don’t discount it. If things are too jumbled your scouts will miss what’s happening on the field. Instead I prefer to approach UI in an efficiency over aesthetic manner. I think this is what you were getting at.

I have built/building a web based scouting application that is very mobile friendly. The url is It is built using The Blue Alliance APIs an webhooks so a lot of stuff is automated. Updates for the 2017 season is pretty much done. Please feel free to sign up and register your team and play with it. Please let me know if you have any suggestions, requests, comments…

If you would like I can help bata test it as a external bata tester for ios and to everyone who replied thank you for all your help