Software Development Friday - 2/9/2024
Hello everyone, Drew here!
I’ve been spending a lot of my time the last 8 months on software development. As the pace of our progress picks up, I want to start pulling back the curtain and showing what we’re working on. I’ll be making an effort to give weekly updates on Fridays, and show off new features.
On that note, I have two exciting pieces of news for all of our MV1 users!
Firmware Release - Strawberry
Up until the last month or so, much of this focus has been on upgrading the firmware on the MV1 to be more reliable and feature rich. We’ve now completed enough field testing to officially release our “Strawberry” software version! For anyone with a previous version (don’t worry, I know who you are!), I’ll be reaching out soon to send you a new SD card you can install in order to take advantage of this upgrade.
Here are some of the things we’ve changed/added:
- Network friendliness: Our new communication protocol is much friendlier with school networks
- Over-The-Air Updates: From now on, I will be able to push updates to your devices and add features/fix bugs behind the scenes
- Data Caching: With this upgrade, data will no longer be lost when a device gets disconnected from the network! It will save any data it cannot send until its reconnected.
- Feedback: While you won’t see any of this yet, the firmware infrastructure has been upgraded to allow live control of the device. More about this in future updates!
Web Application Updates
Our web application is getting a much needed facelift and upgrade! Up until now, there hasn’t been much information available to a user about trials, recipes, and experiments. Users were also locked into the default recipes unless they asked us for a custom version. The first upgrade to the web application will be a “Trial Manager” and “Recipe Manager” page.
You can check out the new features on our “development” branch of the web application here: https://mv1-dev.herokuapp.com/
Some features will not work until you get the latest firmware update
Trial Manager
As you can see, much more information about all of your trials in a given experiment is now available!
Of specific note:
- We changed how trials are created on our database. Previously, a new trial could be created without the device actually being able to receive it. This is now triggered by the device, so you can now be certain that it actually received the new/updated trial if it appears on the list.
- There is also now a way to update the recipe your trial is using without starting an entirely new trial! This is useful for when you want to change the settings in the box mid-way through a trial, and still keep the data and pictures in one place.
- Following on the last point, the “Last Updated” column will change to show the last time that particular trial was updated, indicating that an update was successful. The “Current Recipe” will also change to show what is running on the device.
Known Issues/Future Features:
- As noted above, this will not work on your devices until you receive the latest firmware update. I’ll be reaching out to all of you about this, but you can skip the line by contacting me directly if you’re chomping at the bit to try it out! Until then, the old method of trial creation on the Home page will still work until everyone has been upgraded.
- Trials previously created via the Home page method will not be updatable until we update those records in the database. We will handle this behind the scenes, but I wanted to mention it for anyone that tries this before this is fully released on the main “production” version of the web application.
- We can do a lot with this in the future! I want to add more detailed information about each trial, as well as other quality of life features, such as the ability to archive a trial, or switch the experiment the trial is associated with.
Recipe Manager
“Oh, so THAT’S what the MV1-Tomatosphere recipe does!”
Of specific note:
- You can now see a summary of each recipe!
- We added the ability to download and upload recipes! You can download a recipe you want to modify, modify it using any text editor (“VS Code” makes it look great though, and supports JSON formatting), and then re-upload it to use it immediately on a device!
- If you’re a ChatGPT user, you can try out our custom Recipe Builder GPT! This will be able to explain the recipes you can download, as well as help you create new iterations.
Known Issues/Future Features:
- If you’re not familiar with JSON, it kind of looks like gobbledygook. We will be creating a guide/cheatsheet to show you exactly how it works, and what to modify to make it do what you want. Until then, the GPT linked above is quite good at it.
- We currently DO NOT have any “validation” functionality for uploading recipes. If your recipes are formatted incorrectly, they might not successfully upload. They also might upload, but be unusable by the device. If this happens, feel free to post here about it here and one of us can help! In the meantime, sending a pre-made recipe will get the device running again.
- I want to add more information about each recipe to this page. @Peter made a really cool post explaining the recipes, and a lot of this information would be a great addition to this page.
- In the past, we’ve made a local python application to “remix” recipes with a user interface. We are considering dusting it off and adding it in as a “cleaner” way to create recipes. Let us know if you want to see this!
- For anyone that made it to our booth at the National ACTE/NAAE Conference in Phoenix this year, you heard us talk about the ability to "drop a pin on a map, and recreate that climate in your box’! While this feature is a ways off, this is the first step in that direction, and something we are very excited to build!
Experiment Selection/Home Page Updates:
Not a ton to talk about here, but I did want to mention a few things about how the “structure” of our website works now.
- The ability for organizations to use different “Experiments” in different classes, buildings, years, etc has finally been implimented. An “Experiment” in a MARSfarm is a collection of trials that have a common theme, or a reason to be viewed together.
- Just like how the MV1 Devices that your school owns are only available to your organization, custom recipes are now only available to a specific experiment. If you are having trouble finding the recipe you just uploaded to send to a device as a new trial, check to make sure that you have the correct experiment selected. This is done here on the home page as shown above.
- Also of note is that trials created within a certain experiment are now only viewable with that experiment selected.
- We haven’t yet built the features needed to manage experiments, so if you want a new one created for your organization, please ask here, or email me directly.
This is the thread to make requests about features you want to see! The best way to get a feature prioritized is to ask about it!
Cheers everyone, and Happy Friday!