January 22, 2018
At Mimir, our product philosophy is “always be innovating.” This ideology is often the promise of software as a service (SaaS) companies but becomes hard to quantify. We believe we are unique because of the high prioritization and focus that we’ve placed on our core objective.
Continually reduce education costs and increase quality of learning within computer science, through automation and shared resources.
In late 2017, we recognized that the current design and architecture of the cloud-based IDE within Mimir Classroom was going to start costing more per student to support. We were also receiving feedback that while the IDE was valuable (students didn’t need to worry about configuration and resources), the student workflow would need to combat counter-productivity.
Late last year, the engineering team at Mimir spent time researching new and interesting ways to optimize code of Mimir Classroom, infrastructure, and containerized auto-scaling of resources. The results are outstanding. These optimizations improved the performance and scalability by orders-of-magnitude once released. These improvements mean our customers will continue to receive more resources without an increase in cost. Controlling cost remains unique in the educational technology space where we see a continued rise in publisher fees on textbooks, software, and learning management systems.
The optimizations described earlier improved initial load times by nearly 70% and reduced the browser memory footprint by 50%. A more detailed technical analysis will be shared by Jacobi, our CIO, in the coming weeks.
In the past, users would make submissions from the IDE and then navigate to the project page to see the test case results for debug information. While helpful, this took too many clicks and took users away from their work. Now users can submit and check project test cases without leaving the IDE work space. This allows users to debug test cases next to their project code more efficiently.
To work more efficiently, experienced developers will procure as many time-saving shortcuts as possible. Many of us have experienced the pride a developer radiates as they point out shortcuts to their less-productive developer friends. See the full list of mapping under the help menu in Mimir Classroom IDE 2.0.
Similar to the keyboard mapping shortcuts, the IDE now supports the simple open command line function in the terminal window. This now functions much more like a local IDE. By typing “o,” “open,” or “edit,” and the filename, the file will open in a new tab.
There were reports in the past that students would lose work if their session suddenly disconnected or timed out without saving. No longer does the IDE lose unsaved work. IDE notifications are telling students when the session has timed out and that their work has been saved. We’ve heard a collective thank you sigh from all of our users.
Users can now save their interface and functional settings.
This should lead to improved productivity and give users a sense of ownership in their development environment.
A great deal of quality assurance testing was done before releasing the new IDE to ensure as much browser compatibility as possible. The interface removed deprecated or poorly supported functions in favor of modern controls and specs. Chrome is still the best option, but other browsers are much closer to parity.
Files and folders now work much more like a modern operating system interface. The layout, indentation, and icon updates help users visually identify the files and folders needed for their task.
There are now nine theme style options! Whether a user prefers a high contrast black background or lighter color schemes, the selection is persistent and stays with the user’s profile. This my favorite enhancement. :-)
Readme and formatted view instruction markdown files are now available to users for easier reading.
The team at Mimir is committed to continuous optimization of performance in an effort to control costs for our customers. This, paired with the release of innovative approaches, is helping to improve computer science education.
If you’d like learn more, please schedule a demonstration.