The Journey to JumpRope 2.0
The start of 2021 brought a significant milestone for our company: we've completed the rewrite of our applications and are finally 100% free of Adobe Flash! As many of our long-time customers are aware, our original application was written in 2008 (long before iPads, Chromebooks, and the like were available) and took advantage of the common web plugin to offer advanced functionality back before HTML was a first-class way to create complex applications.
As web technologies evolved and mobile devices became ubiquitous, it became clear several years ago that our Flash-based application would need to be re-written with new technologies. This truth presented our small team circa 2014 with a number of challenges: our application was very complex, and much of the business logic in our app (including running and exporting mastery reports) actually ran in your web browser while our servers primarily acted as a secure data store and authentication system. In other words, we had to rewrite a lot more than just the user interface in order to be free of our legacy code; we also had to rewrite our data API, our mastery reporting, and about a hundred other aspects of the system.
We began this work in earnest during the 2015-16 school year by rewriting our back end code to handle more and more of the business logic. We started with our scheduling system (including SIS imports, rostering, etc.), moved on to our curriculum data (assessments, standards, etc.), and eventually to our mastery reporting tools. This work took the better part of three years, and was done (almost) entirely behind the scenes while the user experience remained similar. During this phase, we also launched a new version of our Family Portal that worked on mobile devices without depending on Flash, as this presented the most bang for our buck (we have 10x as many students & parents logging in every day as we do staff members, and they are more likely to access it from a mobile device). We also shipped a new module of our application, the Curriculum Design tool, written in an experimental new web framework as a sort of practice run for our main application.
Finally, in the 2018 school year we found ourselves positioned to tackle the re-write of most complex aspects of our application: our teacher and admin-facing tools, including all of the mastery reporting, grade entry, planning, attendance, and setup functionality that used to be part of our legacy Admin Console, Backoffice, and Teacher Dashboard. For the first six months we primarily researched, experimented with, and vetted various modern web technologies to ensure we had a stable platform on which to build our application. We settled on using a web framework originally created by Google known as Angular, alongside a set of visual tools called Ionic which makes a mobile experience better on different devices. We also did a lot of customer outreach, design and strategy work to settle on the guiding principles behind our re-write:
Fast and modern, working as well as possible on mobile and modern browsers
Doesn't break core concepts to minimize the need for additional training
Includes significant improvements based on feedback and lessons learned over the last 10 years
Given that we had a sound design and had already worked hard to prepare our backend systems to support a re-write of the main application, the dominoes began to fall rather quickly:
February 2019: launched our new District Admin interface, allowing district administrators to manage user accounts, standards banks, and other data across all schools from one place.
May 2019: launched our new reporting system, enabling school and district administrators to run reports across various data types with powerful filters and export options.
September 2019: teachers that use our attendance tools were given early access to our re-written gradebook, limited to attendance and anecdotal comment data. Admin tools were rolled out to manage family portal accounts and related options.
November 2019: preview began for all customers (rolled out over the coming weeks) for the teacher gradebook, including creating and scoring assessments and viewing mastery reports.
February-May 2020: rolled out our new Setup module to administrators, along with Mastery Schemes and Progress Report templates that allowed advanced customization of reporting and our modern bulk PDF reporting solution.
Spring 2020: preview continued with new admin and gradebook features added and iterated upon, with all users having the option to switch between JumpRope Legacy and JumpRope 2.0
August 2020: the Plan tool was upgraded (the final piece of the gradebook that needed to roll out over the summer due to a few changes in the way units and assessments are shared between classes. All users default to JumpRope 2.0, with only admins switching to legacy to perform certain functions.
October 2020: all admin functions added to JumpRope 2.0 except for our schedule management features (class periods, cycle days, and manual editing of class rosters and schedules). Preview starts for JumpRope 2.0 for our Classroom edition users (our free product for individual teachers)
December 2020: scheduling features rolled out in JumpRope 2.0, and legacy access removed for all users. Classroom Edition users permanently migrated to JumpRope 2.0. Preview launched for Google Classroom integration v1.
And that brings us to today, and I'm very happy to announce that we've successfully completed the migration to JumpRope 2.0! Our team is excited to be able to finally tackle our long list of feature requests and housekeeping tasks that have been on hold while our product team remained laser-focused on reaching this milestone. Stay tuned for some exciting new product announcements in the coming weeks and months.
There's a truism among software companies that the "dreaded complete rewrite" is a risky task to undertake, especially for a small company and large, complex applications. I'd like to sincerely thank everyone involved in making our rewrite a success: our users for their feedback, patience, and openness; our customer support team for staying on top of customer needs through the transition and for managing training and documentation, and our product team for remaining focused and pushing through the overwhelming task. Happy 2021!