The Software and Information Industry Association hosted a lunch and learn on advice for developing mobile applications for education (mLearning) today. The two speakers were Stan Watts, VP of Engineering at Classlink, Inc.
Image via CrunchBase
and Judah Karkowsky, VP of Business Development at Wireless Generation. ClassLink is known for LaunchPad, a Codie Award winner that provides students, parents, and teachers access to applications from any device at any time. Wireless Generation is known for their mClass products, which began with streamlining qualitative students assessment by teachers and has expanded
The general consensus is that, sometime before the end of five years, mobile learning is going to be larger than print, desktop, or laptop; it’s where the growth is, while usage in the other areas is likely to shrink. If you are not starting with mobile development now, you will be left behind in three years.
Stan, Judah, and attendees talked about the following issues regarding mLearning.
Teachers, parents, and students don’t want to have to log in for every application. The OAuth protocol allows users to login in and authenticate from other applications. Have you ever been offered to login using your Google, Facebook, or Twitter accounts? That’s OAuth. Automatic login using LDAP can be used for single sign on inside the school.
Image via CrunchBase
Education privacy, or FERPA, is pretty strict, and there are potential pitfalls to storing student data in the cloud. On the other hand, if you have the school district store sensitive data (like student names) on their equipment and disassociate that data from applications specific data in the cloud, you make it that much more difficult for a person to follow the footprints and obtain information that might hurt a student. Wireless Generation has very strict policies, for example any person only has the rights to the information to the students that he or she is directly involved with; a teacher can’t even access a former student’s information the following year. A large cloud storage platform, like Amazon, has many safeguards built in, but the data will only be as secure as your applications data architecture.
ClassLink is a district wide solution for authentication and privacy, so application and content developers might want to consider ClassLink compatibility and talk to either Stan or to Berj Akian.
The consensus seemed to be that for distributed applications, REST, or Representational state transfer, is fast, universal, and scalable.
When developing for specific devices, programming in the native platform gives you greater access to features and somewhat faster response time than programming in a more generic platform. For example, if you are creating a system for iPads, and you want to access the device’s camera, you need to program in iOS.
However, developing in a platform like Sencha Touch allows you to develop once, and then have your application run on a wide variety of platforms. If you don’t need access to hardware features, this may be the best option, and Sencha has a lot of data collection capabilities built in.
The iOS 4.3.x home screen, as shown on an iPhone 3GS. (Photo credit: Wikipedia)
If you want your application to be available through Apple's App store, it needs to be approved by Apple. The approval process generally takes about two weeks, but it is highly unlikely that you will be approved the first time you apply. For example, one of the developers was rejected because the name of his application had a capital letter in the middle, and that is against Apple standards. Another was not able to send data between two of his own applications. He needed to have the first application store the data on the cloud, and then have the second app access it there rather than on the device.
The main disadvantage to not being on iTunes is that it’s more difficult for potential users to find you, and secondarily that there are some features of iOS that are not accessible through the browser and are only accessible in native applications.
Furthermore, Apple has no provision for a sandlot or beta rollout. If you roll out or post your new release on the App store for a limited number of people, you are technically in violation of Apple’s contract, and you could lose your ability to create any applications to be accessed from the App store.
User Interface and Usability
Don’t let your developers create the user interface.
There are three aspects to any app: the interface, the functionality, and the data. Create functional specs for the functionality and the data, and then go to professional designers to create the User Interface. They’ll often come up with ideas you’d never thought of. In fact, it may be worth the cost to have three groups of designers develop different interfaces, go through a few iterations, and then pick the best one. UI design is not generally that expensive, but is critical to the usability of your application.
Internal development vs outsourcing
Outsourcing has become more expensive over the last three years. It can reduce your overhead, but it can also be disastrous. Make sure that you plan so you can re-source development if it goes awry.
Both speakers stressed the importance of UI testing, multiple rounds before product release. In the near term, expect greater mLearning adoption in grades 6-12 than in elementary. If you have existing web products, chop them down to what people really use and what is really important about them before developing mobile applications.
After this article was posted, I received an email from my sister, Betsy Silver, who is the Director of Public Sector Business Development at RDA Software. She pointed that if you do your due diligence correctly, the team that you hire will have done this type of development many times for other clients, so they can get the work done faster and better since they are familiar with both the pitfalls and the best practices. If speed to market and quality of development are more important than cost, outsourcing can be a win. She also noted that RDA does this tpe of hybrid cloud/on-premise work for mobile devices as well as cloud applications.