Team 114: Gauging Open-Sourced Scouting Interest

Hello, Chief Delphi community! Team 114 has been busy developing a cutting-edge scouting platform, and we’re thinking of open-sourcing it. We’re eager to know if your team is on board!

You might be wondering, “Another scouting app?” But our software covers everything you’ll need for scouting, including:

  • Intuitive website with data-visualization tools (and yes, CSV exports)
    • For example, this is what the aggregated data for our own team looks like.

  • A React-Native powered app, currently available on the App Store and Play Store (compatible with iOS and Android)
    • We’ve been through the process of getting apps approved on the App Store and Play Store, so you don’t have to.
    • If you choose to go the community-driven route (described below), you’ll get full access to the app (on both iOS and Android), and the website, with no code needed.
    • By registering for our software you’ll gain access to the app, with support for the website, iOS and Android apps included.
  • Offline-first support and mobile features like haptics, notifications
  • Personalized scouting round views for each scouter
  • Statbotics integration for all the robot insights you need

We’re offering two great ways to use our platform:

Option 1: Self-Hosted

  • By open-sourcing our code, you’ll have full access to recreate our platform yourself.
  • Going this route, however, requires you to manage and host your own database (we use Firebase).
  • You will not have access to the app, as that is hosted by us, but you can use the open-sourced app code to publish your own! (with attribution)

Option 2: Community-Driven Collaboration

  • It’ll be as easy as a team registering for our software
    • Your data will be kept private
    • Captains or mentors will be able to approve new members to your team
  • Teams can opt-in to a scouting data sharing program, and see aggregated data from other teams.
  • The website and app come with ongoing updates and improvements
  • Customize your questions and contribute to platform development!
  • And the best part? The open-source nature means anyone can build features they want to see in the app!

Worried about abandoned development? Fear not! We’re already training the next generation of programmers on our team to keep the ball rolling. We’re excited for your help, feedback, and feature-building creativity!

Have questions or comments? Don’t hesitate to email me at [email protected] or at [email protected]. Together, let’s revolutionize scouting!

14 Likes

22 Likes

I do agree that there a ton of competing systems out there. The option that allows the community colab is interesting. I would like to see more on how you are handling data privacy (I know we all have accounts for all sorts of websites, but a more rigorous statement than “trust us” would be nice).

One thing after having been in the game for as many years as I have (although some people have many more seasons logged) apps almost always have WAY too small of touch targets. I want my scouts to have their eyes on the field, not on the app. How many the 114 solution be best positioned over other apps to address this concern of mine?

3 Likes

We’re going to try and go the Signal route. All data will be encrypted across a team, but the way it is encrypted and the code for our actual platform will be completely open-source, so anybody can review it (and improve it!).

As for touch targets, I’m really glad you mentioned that. UI/UX is a top priority for us, and we focus heavily on that, especially for the mobile experience. We strive to design exactly as you mentioned, minimizing the need for scouters to look at the actual screen as much as possible. Here’s an example of what we did for this years’ game:

We intentionally made the height that ratio of the screen so it is easily reachable by thumbs. Each different level (low, mid, high), has a unique haptic feedback associated with it, so scouters can increment it with confidence knowing they selected the right one.

We have this guide for how we design our scouting experience, that keeps the scouters as our first priority:

  1. You should not have to look down whilst scouting
    1. Looking down gradually increases both cognitive burden and annoyance with scouters
  2. Maximize data, minimize input
    1. Scouters do not like having to type – most of the time, they are repeating the same thing over and over again across several robots.
    2. Having preset options would allow them to only have to put in 20% of the effort, but we reap 80% of the benefits
  3. Optimize for short-term memory
    1. Data in non-chronological order is dangerous; scouters forget what happened very quickly
    2. Basically, you have to let them input information as fast as possible
  4. Make it visceral, visual
    1. Excessive text takes time to read and can be repetitive as scouters work for hours on end.
    2. Create more engaging, text-less visuals
  5. Fast
    1. Don’t waste time with animations everywhere.
    2. Make a seamless experience that allows scouters to enter data as fast as their minds allow them to.
5 Likes

Hello there!

I’ve been exploring options of how we can ensure data privacy and protect user data. Can you please clarify of what you mean by data privacy exactly?

Do you want us, the developers, to not have access to the data? This won’t be an easy task, as we have to manage the database, so they we also have access to the data stored on it. (We would never “go and get data from the database” unless we are explicitly granted permission, but this is still a valid concern from users since we will still have “access” to the database.) One possible way to address this is by asking a trusted person or company to host the website and the database, without us having permission. However, I don’t know any trusted person or company we can use for this job, so this idea is far from implementation.

Or do you simply mean that we do not give scouting data to other teams? Implementing this would be much easier.

We really appreciate and value your input.

More along the lines of not storing critical info as plain text, making sure inputs are properly sanitized, don’t store certain info in the same tables, all the other basic cyber security best practices.

I’m extremely critical of scouting applications, and to be frank, they kinda have a bad reputation of “supported for a year, and then junked”. Now that I’ve got that off my chest, I’ll give recommendations on how to succeed and be the #1 scouting app in FRC.

1: Commit to a 3 year lifetime

Scouting apps are notorious for being a student project with no support once that student graduations. On the off chance it’s a mentor project, it’s typically also no longer supported past the first year and a half. I’ve yet to see a single, consistent good scouting application last more than a year, 2 years tops.

2: Make it offline

Web-based technologies are notoriously failure prone in FRC. Imagine the following scenarios

  1. Web browser cache gets cleared nuking your “offline” app.
  2. New student comes and wants to scout but no internet, RIP them :person_shrugging:
  3. A critical bug appears in your application at an event, requiring you to publish a fix and update… nobody has service.

These key points are why FRC teams are notoriously hesitant on adopting another teams scouting app. Exporting via QR Codes, USB, etc are so much more reliable and honestly, a better experience.

RELIABILITY = GOOD EXPERIENCE!

3: Please, please, don’t make your own analysis tools

BUT, wait, hear me out. If you spend the time and a ton of effort, you can make your own tool quite good. But using other amazing analysis services out there on the raw data will probably just be better than most people can implement. It’s easy to bite off more than you can chew

4: Avoid team specific branding

The title kinda says it all. Not many teams want to use Team 0000 The SCOUTING NiNjAs ultra neon with flashing LEDs scouting app. That’s just a bad experience.

5: Flexibility

This is just a personal take of mine, but a flexibile XML or JSON based scouting application for creating the UI makes me so much more tolerant of adopting an application where I’m worried support is going to die out in a year or two.

Summary

I don’t intend to dissuade you or harm your efforts in any way, but searching “scouting app” in search here yields thousands of results (maybe not actual posts). As the meme above states, if you want your standard to stand out, you have to make it the only scouting app. The best scouting app. If I can find one thing another app does better than yours, it’s not the only scouting app.

4 Likes

I go back and forth on this one. While it is a lot of work, I’d argue it’s the thing that really separates scouting systems. With tablets becoming more affordable and app development more accessible, collecting basic scoring data isn’t the challenge it used to be. I haven’t really dug into more than a couple of the public apps, but it’s the area I think they can improve the most.

If anything, I would invest time in creating a system that takes in the raw data from any of the popular public apps and displays the data in actionable dashboards (qualification match strategy, team breakdowns, picklist editor…) as I think there is a bigger need for this than another app to collect scoring data.

I completely agree with all your points and think it’s a very comprehensive list of things to consider.

1 Like

We will certainly follow these security practices. We carefully design each aspect of the scouting app to ensure the privacy of our users and to protect user data. Thank you for your feedback!

1 Like

Agree, data collection and analysis are different things entirely in my mind. Tableau has helped a ton of teams save time and other resources over the years. I have made a few specific analysis tools for things Tableau doesn’t offer. Far and away the winner was the most simple (that ton of people have in their “dashboards”^ - a web app that just has team number, cycles through all the photos I have of that team, shows notes, and generally the small amount of pit data. Very useful on a second projector for working on picklist positions ~12-24.

^ (don’t get me started on dashboards, info overload, small subplots, and tendency to create analysis paralysis)

Now I am a fan of having an “at a glance” scouting summery for each team in the app (if the app has access to all the data) so people can poke around. But this is no more than min/max/mean/most common value style stuff

These ideas are incredible! Thank you for taking the time to write such a detailed response. We definitely agree about how we either have to be the “one scouting app to rule them all” or don’t even bother trying. Our mobile apps work fully offline, after they are downloaded and the app fetches the latest data from our database.

  1. A critical bug appears in your application at an event, requiring you to publish a fix and update… nobody has service.

Do you have any ideas for how we could address this? Right now since we have a mobile app published on the App Store and Play Store we built in over-the-air updates, but that relies on everyone having internet.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.