Group Studio - A Simplified Data Analysis Tool for Android
Hello all, I am the Captain of Software Development on St Helens FRC Team 5450. Last year being my team’s rookie year in FRC, we saw the need to have an organized structure when it comes to scouting. The solution we came up with was to build an application on Android that would make the collecting and centralizing of scouting information simple and efficient. Group Studio is the fruit of such project.
See www.brandontrabucco.com/groupstudio for the official app website
What is Group Studio
Group Studio is a data analysis tool built for the latest version of Android. This app allows for Robotics Teams to be given different unique inheritable attributes and to be ranked based on the values given to such attributes, as to find which team is the most ideal to ally with. Calculations can also be derived from all teams for statistic purposes–to find the average robot weight or team size for example. This app also supports connecting to either a localhost server on a windows computer or an existing web server configured to receive the JSON data sent from the app. See the given website for specific information on setting up the server.
The App Structure
Group Studio, much like its name, is an app for organizing data within groups. From the app home screen, a group can be created. By clicking on the group, the user can add members to it, members which inherit attributes from a chosen user-created type–schema per se. To create a type, the user must go into the app settings and select ‘Expert’ under User Environment.
By adding attributes to a type, any member set to that type will inherit those attributes. The user can also set a target value (high or low/true or false) for attributes that are either numeric or boolean. This target will determine how members of the respective type will be ranked. members whose attribute values are closer to the target will be given a higher ranking index than other members.
Inside of a type, a user can also create a calculation, which determines a value from the data set of all members in a group of the given type using any of the following statistic functions: average, median, range, sum, maximum, minimum.
The way an attribute functions in this app is much like a cell in Microsoft Excel. An attribute can be either text, numeric, a list of numbers, or a boolean. For numeric attributes, the use of math expressions and the given statistic functions is fully acceptable. This is especially useful in the case of a numeric list attribute–let’s call it ‘Scores’–and another attribute that includes a reference to the list–let’s give it a value of ‘average( @Scores )’. By using the @ symbol, we have injected the value of the given attribute into the current one. After parsing, this returns the average score of this Robotics team. If this attribute was given a high target, then teams with higher average scores would be ranked higher than others without.
Extra Features
This app, as given in the introduction, allows for the user to connect with a server hosted either on the users personal computer and accessed over LAN, or a server hosted on the web that accepts the Group Studio JSON schematic. Note that this app can be configured to send a password to the server, preventing unauthorized users from accessing data. This feature shouldn’t be used, however, for the transmission of sensitive information as it is sent via HTTP and not HTTPS.
Once communication is set up with a server is configured, the user’s ability to interact with said server is given by 4 actions. The user can delete a group from the server, pull a group from the server and either create a new group on their device or merge with an existing one, push a group to the server, overwriting an existing group or creating a new one, or merging a group with an existing cloud group–this is a combination of the push and pull actions.
Group Studio also gives the user the ability to export a group–which includes all members, attributes, types, and calculations used within it–to a JSON file in the phone’s Documents folder. The user can also import a JSON file containing Group Studio Data and choose to either create a new group with the information, or merge with an existing group, much like the server methods.
Release Details
This app is built in Java for android 5.0 and later, though it should work on version 4.0 and up. If you are interested in using the app, check out the website given at the top of this post. Any feedback and suggestions is much appreciated.
We have also developed a localhost server that can be downloaded from the same link. This server operates within a LAN and no farther. It is tested and working on Windows 7 and up. It should also work on Windows Vista, but a complete test is pending.
If you have an existing web server, check the app website for details on how to implement the Group Studio Web Methods.
Contact Details
Interested in contacting the developer? You us can send an email directly at [email protected] or make a comment on this thread.