Pivot for iPad

Powered with: iOS

Customer

Five-Star Technology is headquartered in the State of Indiana and uses technology to transform teaching and improve decision making in K-12 public schools.

Challenge

The customer required a mobile-based platform to enable school administrators to collect and process classroom observations in a fast and convenient way independent of networking conditions. They elected to use an iPad for deployment and had a clear vision what they wanted. Five Points looked for an engineering team experienced in mobile apps development which could help them shape their vision. The requirement included building a complete specification, UX/UI design, coding, testing and assistance during the publishing of the app. GSPD had to learn details associated with teacher evaluation, processes and the data they intended to capture. Plus, the app had to provide broad capabilities for customization so users could build specialized rubrics and incorporate the terminology used by their school district. It was also a requirement to support offline operations for the convenience of data collection when no network is available. Another element to be included for ease of use was an autocomplete feature allowing users to customize a suggestions list.

The Journey & The Discovery

Initially, Five-Star contracted the design and development to a different company where the founder of GSPD worked previously and where he oversaw all aspects of the first iteration of the project. Subsequently, after founding GSPD, Five-Start moved their development to GSPD. During the first iteration, specifications were developed, and coding completed from scratch for the first release of the product.

For the second version working with GSPD, Five-Star wanted to move to a new API server with additional server-side features. They also wanted to introduce multiple new features to the app and significantly improve existing features and performance. This required a rewrite of 80 percent of the existing code, implementing added features and integration with the new APIs, plus new QA testing to ensure all aspects of the system were very robust.

The Solution

Pivot for iPad provides a faster, more organized way for school administrators to conduct and manage classroom observations, walkthroughs, and evaluations eliminating all paper only using a mobile-based platform.

A rubrics creation wizard was developed that allows an unlimited number of custom rubrics to be added so the user can quickly and accurately evaluate school district personnel in alignment with state adopted staff evaluation models. Principals can easily script classroom observations using text, photos, and video and then code and rate each script according to the selected rubric. Observation reports can then be emailed to the teacher before leaving the classroom. Five-Star collected requirements from many school districts with substantial input provided by the Michigan Association of Secondary School Principals (MASSP).

Features and Benefits at a glance:

  • Customizable Rubrics provides support of all state evaluation models
  • Ease of tracking observation activities with built-in timers
  • Support to insert commonly used phrases into scripts
  • Generate custom reports on the iPad and email

The Implementation

The first iteration of the iOS app was written using Objective-C, so it was necessary to base all additional development using the language used for the original app. Open-source was used with appropriate licenses which also conferred all the benefits it provided to the customer. Some examples include RestKit for dealing with REST and CocoaLumberjack for enhanced logging and debugging. Great care is always taken to clearly structure the code.

We took the code and rebuilt the “Model” (MVC pattern) that included the API service, mappings, and models themselves. Close collaboration with the customer’s back-end team applied to assisting them to leverage our experience with mobile APIs. All tracking was done using Confluence where all the entities with their properties and associated REST end-points were organized and collected to ensure the customer had detailed documentation.

GSPD completely re-wrote the synchronization engine and implemented a version control system for pull-push-merge synchronization mechanisms. We optimized the speed of initial full synchronization and implemented incremental synchronization as only full sync was supported in the legacy code. The optimization achieved an improvement in the speed of initial full synchronization from minutes to 5-10 seconds.

Improvements were made to the evidence coding module for both the UI and logic which resulted in eliminating all bugs. We also improved the collection of photo and video attachments to evidence.

The synchronization center was implemented as a new feature. The user could now choose what they want to sync with the server. Another new feature built was in-app reporting to build the observation report. We implemented an HTML report generator and the ability to send these reports by e-mail.

Another key addition was the support of different subscriptions types within the app, such as; Free, Lite, Full, and Full with 5D+ rubrics.

Another feature introduced was “user logs” collection. The app operates on lots of data, so there may be cases where something did not work properly. To streamline the support for early adopters, a “Send feedback, and logs” feature was implemented. The detailed log was sent right from the app. It only required one tap by the user to invoke the log. Immediately, a GSPD engineer would receive the log and could check the nature of a non-desired behavior and the particular case that provoked it. “Send a report” became an indispensable tool to support early adopters and facilitated our ability to generate immediate fixes both on the server and iPad app.

Another non-trivial task we had to solve was supporting user upgrades between subsequent versions of the app. When the app is initially invoked, it is off-line and has its own SQLite database that mirrors all the data the user has on the server. As the app grew functionally, the database also grew, and we had to merge the database from the previous version of the app (old schema) into the new one (new schema). Our approach to solving the problem was by using an open-source solution called FMDBMigrationManager. We never want to reinvent something unless it results in a significant improvement. By using open-source solutions where applicable, we were able to save the customer substantial time and money.

Strict QA iteration was done. The software works with complex data that has complex rules on how it can be updated, transitioned to a new state or deleted, which required a strict iterative QA testing. For instance, one cannot delete anything that is linked to an observation that was conducted and have to be careful how observations transition via Scheduled -> Unfinalized -> Finalized -> Reopened states. Therefore, we built multiple diagrams in Confluence to keep sight of the business logic and internal dependencies. This ensured the app never failed.

All the UI designs were built by GSPD as well. Also, support was provided at every point of the development including beta-testing for each build and publishing to the App Store.

The method we setup for this development was based on a strict Agile process setup in Atlassian Jira. Doing so facilitated efficient collaboration with the customer through the entire process including the receipt of new back-log items, discussions, and prioritization for entry into sprints.

The Result

Pivot for iPad replaced the successful GoObserve and 5D+GoObserve App in public schools as the next generation observation and evaluation tool.

The project evolved over approximately two years total time including Five-Star’s transition from the original company for the first iteration to working through completion of the project with GSPD.

The first version of the app was released in the App Store in 6 months after starting from scratch. Seven subsequent released were published to the App Store in total.

You can see the training videos about the app here: