Recently, I wrote about Code for America, which aims to solve the data and application side of your local government. The K-12 education answer to Code for America is called InBloom (to which my company provides professional services). InBloom started as the Shared Learning Collaborative, with the idea of making student data more easily accessible to educators and creating a marketplace of applications that use the data. The collaborative received support from the Bill & Melinda Gates Foundation and Carnegie Corporation of New York.

There is amazing software available these days, probably nowhere more cutting-edge than in the realm of entertainment. So why don't we have amazing educational software available throughout our school districts? There have been some good advances, such as Khan Academy. But why isn't there better software that ties together curriculum, teachers, students, grades, and learning tools?

[ Learn how to work smarter, not harder with InfoWorld's roundup of all the tips and trends programmers need to know in the Developers' Survival Guide. Download the PDF today! | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]

The problem of data silos

Companies typically follow the money, which requires a sufficiently large market. In a sense the public school system in the United States does form a large market, but in reality it is thousands of markets. With no data standards, high integration costs, and proprietary software that doesn't interoperate, school districts have become data silos. This all means that school systems require highly customized applications.

"I've seen the risk time and time again where the interoperability issues obstruct [progress]," says Sharren Bates, chief product officer at InBloom. She wants a "K-12 experience where each student gets exactly the support they need to succeed."

When I first began to understand what InBloom could do to remedy the situation, I immediately thought of the novel "Ender's Game" by Orson Scott Card -- and no, I'm not referring to learning how to fight aliens. Although it's a small part of the story, I found a compelling aspect of "Ender's Game" to be the computer system that provides individualized training at the Battle School. I don't know how this will be portrayed in the upcoming movie, but in the book it was highly intriguing.

How InBloom addresses the data-silo problem

InBloom lets the school districts maintain control of their data while giving teachers, software developers, and parents the tools to use that data.

Instead of taking a one-size-fits-all approach, InBloom recognizes the importance of the states and school districts maintaining control over their own data. Says Bates, "School districts alone have the responsibility to discover their needs. [These are] local decisions: what to store, why to store, what apps to use, what to prioritize, etc. Think about this from district, parent, or teacher perspectives: How are the students doing and how can we help them succeed, based on the local priority, based around early literacy or attendance or math or mobility? What data you store and why comes back to why they want to answer that question."

InBloom didn't create yet another education software package, but instead took a more open source approach using competitions to address the data problem itself. The core technology is the InBloom Data Store, which is designed to store in a common format any educational data that a district chooses to use, including educational organizations, courses, students, assessments, enrollments, graduation, calendars, staff, attendance, and learning objectives. And it's all accessible by way of a RESTful CRUD (create, read, update, delete) API.

School districts retain control and authority over all the information in their systems, and InBloom is confident that its technology meets core regulatory requirements. For an application to have access to a school district's data, that district has to whitelist that application, and only users authorized by the district can use the application. OAuth2 is implemented to ensure secure logins, and users have access to data based on their rights as defined by the owner of the data, which is typically the district.