Questions: Scouting App or Other Scouting System

My team is looking at scouting options, and I have a few questions for programmers on teams who develop an app for scouting. This year, I became a scout captain, and I’m basically in charge of finding new equipment for scouting this next season since our current scouting equipment is very outdated. We’ve been playing around with getting new equipment for a few months but I’m starting to get serious about it seeing that if we do decide to make an app, we would need to know if we are before build season.

I’m not sure how often it is used in the real world anymore but I was messing around with Microsoft Visual Basic 2010, and I found a video showing me how I could gather data in a Visual Basic program. The data would automatically fill into an excel file after a button was clicked. Obviously, this is just the beginning of what I could do with a scouting app. So far this year, I have learned a lot about Visual Basic, VEX RobotC, and we are currently learning CNC code. Since the beginning of the summer, I have learned a ton about excel and have become very proficient in that.

My questions to you are:
What language do you program your scouting app in?
If I need to learn this language, how hard would it be to do using internet guides?
What is your scouting app capable of doing?
What game day advantages does your app lend you?
How much human interaction (or data monkeying) is required?
How long did it take to build the first product of your app?
Is 1 programmer capable of doing this app by himself?
Any other information I should know about your app?

Any other successful scouting systems out there that don’t require an app?

Thank you for responding. I’ll post more questions if I can think of any others.

Much of this has been discussed in CD threads before. Definitely search for and read them. You can probably just add a question or two to one of those threads instead of starting the discussion from zero in this thread.

Blake
PS: I know some folks tend to panic when/if they see someone adding a little new info, or an additional pertinent question to an old thread. Pay no attention to any complaints. Tell them I said paying attention to the wisdom their predecessors took the time to write down, and putting similar questions into a single place (an old thread) is the right thing to do. :wink: I don’t mind if they want to hate on me. :cool:

I always dislike starting new threads and try to avoid it if I can. But since I want the more individualized approach (seeing as I described my programming knowledge and team situation above), would it be better to keep this thread or find an old thread with outdated information and post the same exact thing as my first post in this thread to the older potentially outdated thread? And if I do revive an old thread, couldn’t some people maybe miss the fact I’m trying to find information for me instead of the original OP? Thanks. I’m still trying to learn things and wasn’t really able to find an older thread similar to my situation.

As I recommend in every scouting thread- you don’t need fancy equipment to have a top-tier scouting program.
Team 180 (SPAM) and their Poor Man’s Scouting System is phenomenal and requires just excel, pens and papers.

It’s about the data you gather, and what you can do with it, not how you gather it.

What language do you program your scouting app in? We are using Java, because that’s what our team uses for our robot, and Android likes Java.
If I need to learn this language, how hard would it be to do using internet guides? It depends on how much time you can devote to learning. Java has some great documentation out there, if you want to make it an android app, there’s great documentation out there as well.
What is your scouting app capable of doing? Our app is able to scout matches and pit handle scouting. Our match scouting does autonomous and teleop, and other information like fouls and malfunctions, or general notes. Our system tracks how many matches each member scouts, because everyone needs to have X matches scouted.

Our data is then sent to a cool display that ranks the robots on our own scale, different then FIRST. Our display can be found in our pit, I could post a picture later.
What game day advantages does your app lend you? Before we leave our school, it polls team data from TBA.
How much human interaction (or data monkeying) is required? Besides scouting matches, and walking the flash drive to the pit, zero.
How long did it take to build the first product of your app? It took me a month for our match scouting program by myself, but it took a entire 3 months for the fancy display.
Is 1 programmer capable of doing this app by himself? Yes
Any other information I should know about your app? Previously it ran on a laptop. This year we purchasedo 6 kindles fires, 6 cases, and a rasberry pi for under $350.

Back when I was on 234 back in '07 and '08, we actually started using Excel on Pocket PC’s – wow, times have changed.

Here is what 225 does right now:

What language do you program your scouting app in?

Java for an Android app, Node.js for a web app

If I need to learn this language, how hard would it be to do using internet guides?

Not the expert on this one (as I didn’t write the system), but if you’re curious, I can point you toward the guy who did.

What is your scouting app capable of doing?

  • Very customizable – it’s really easy to add fields between events or to adapt the app to a different game
  • Graphs of different fields
  • Pit scouting, including pictures
  • Raw and consolidated data views
  • Event management and version management controls

An Android app does the data collection, then the data is transferred to a master tablet or phone via bluetooth. The master tablet or phone uses a cell signal to send information to our server, which hosts the web app. To view the data, we use cell signals (or if available, WiFi connections) in the pits to access the web app on our personal phones.

What game day advantages does your app lend you?

Instantaneous viewing of match data, other standard advantages of collecting scouting data.

How much human interaction (or data monkeying) is required?

If we scout an off-season event, some interaction is required. Normally, the match list is populated automatically, but if it isn’t in the FIRST/TBA, we sometimes need to do it manually.

How long did it take to build the first product of your app?

Since most of it is already done, we’ll just be making upgrades. It’s never done, though. Everything is always being improved and iterated on.

There were 3 to 4 months worth of work from project start to the completion of the first iteration.

Is 1 programmer capable of doing this app by himself?

Yep

Any other information I should know about your app?

PM me if you have more questions. I have a lot of experience with CB 234 scouting, at least through 2013.

Any other successful scouting systems out there that don’t require an app?

I’ve always been a fan of the one-cardstock-sheet-per-team method as a low-cost, low-effort option. There are quite a few of them out there. We ran that the previous two years. The problem with this option, though, is it can be hard to fit everything on one piece of paper if you want to collect a lot of data (especially if you’re collecting where they pick up game pieces, where they release game pieces, etc in each match with a field map)

Our scouting App is Android based and written in Java and is reusable every year as it takes in the fields you want to scout and outputs an app. The compiler was also written to be reusable as well(This is where the hard part is).
The rough one took about 5 weeks(That’s starting during build season) and then the reusable one took the entire calendar year for 2014 to be done as the compiler and format went through constant changes to make sure it never had to be touched again.

Advantages:

  1. Easy for scouters to use, they don’t get confused as we have an auto/tele/end header and all they have to do is press + or -
  2. So much easier to compile if you have a good compiler, plug them in to the computer and bam.
  3. Exports means/std dev/whatever statistic we need right away
  4. Allows you to import the match schedule so you don’t have to hand write that
  5. The way our head scouter set it up, you have one tablet that is Blue 1, one that’s Blue 2 and so on so the team that pops up on the tablet is the one your scouting
  6. Papers don’t get lost
  7. You can pass it to anybody(even drive team when they’re in the stands) so that you can give someone a break for a few matches and it requires no explanation.
  8. Your scouters don’t have to spend more than 10 minutes getting stuff ready Thursday/Friday night

Disadvantages:

  1. You pretty much have to have someone or a group dedicated to just this throughout the build season(especially if you don’t make it reusable), our guy pretty much spit out a non reusable one in like 5 weeks for 2014 so we could train people and the built a reusable one that he perfected throughout 2014.
  2. Requires Tablets, of any kind that you can install your own apps on. They don’t really have to be high quality though, our kindles are like 5 years old and they still get the job done. You can get the older Nexus 7 model for 90-100 bucks a pop.
  3. Doesn’t have the charm of paper?

So a constant I am seeing is that pretty much any team uses an android app… Is there any reason to not consider a windows based program? All the programming I’ve done is for Windows so that is why I am wondering.

225 was kind enough to lend 5254 their scouting data at IRI, and I was impressed by the quality and accessibility of the information provided.
If you have the resources available to make your scouting more accessible (which, again, should be secondary to good data and the ability to use that data), this seemed to be a very effective method to me.

I think the motivation comes from wanting to use the computers people already have and are willing to upgrade/maintain on their own (their phones), instead of computers the team would need to supply and maintain (non-phone Windows computers).

Plus, phones/tablets (mobile devices) are fashionable. :rolleyes:

Doesn’t have to be that way. We have a mentor who has experience in Java/Node.js and we received a tablet donation from a sponsor, so it made the decision easy for us. As long as you troubleshoot the interactions between all points in the system and have the required equipment, you can use whatever platform you want. I used Excel macros from 2007-2012 for scouting systems, because that’s what I knew.

The app I’ve developed over 3 seasons that 2512 uses is written as a Windows 8 App in C#. This was partially because the team got a six-pack of Surface RT tablets for $600 3 years ago.

It’s actually evolved into a front end for a pseudo state machine defined in a JSON file. What you can enter varies based on what state the robot is in, then it outputs a detailed log of all interactions and a summary file that can be loaded into Excel or Tableau. That way I can just update the JSON on a per season basis. I’m hoping to have the 8.1 app itself up on the store by Jan 1 and a Win 10 Universal app ready by week zero. But of course it’s an as available project.

It’s been much improved since I last published it https://www.microsoft.com/store/apps/9wzdncrdlvx7

Hey. Today I was discussing developing a scouting app with the programming mentor from my team. Next year, we don’t necessarily plan to have a scouting app because that is a lot of work to undertake in one year. One thing he was wondering is how much work goes into programming a raspberry pi? Also, what exactly does a raspberry pi do?

Don’t they enable you to access your scouting app online without actually using wifi? Also, what type of apps can you put on the internet to scout from? Thanks.

I agree with GBlake. I think your questions are variations on the other threads. There’s been several that have popped up over the last year, largely covering the same ground each time. Answering your questions is important, but you’ll get a better selection if you put this in a thread that has been followed by a larger group. The new posts will show up as new notifications.

Kevin
Thank you for the shout out. Like you wrote, the reason that we had good information (other than our Jedi programmer) was the great enthusiasm that we have developed over the last few years. You know GIGO. When we used paper and pen, we had good data, just not as easily visualized.

Logan
Like Ben wrote, if you want some specific information for our app., we can point you to our app. team.