This week we achieved a new company milestone with the release of our first Code School iOS app. We’re excited to offer a new Code School learning experience for iPhone, iPad, and iPod Touch (running iOS 7 or later).
Learning takes time, and more and more people want to learn while they’re on the go. With the new Code School iOS app, you can take our course videos with you and watch them when it’s most convenient. When you log into your Code School account through the app, you can now stream course videos directly to your device, or download these videos for offline playback. You can learn more about getting started with our new app, here.
It’s worth noting that there are some things the Code School app doesn’t do — namely, challenges. Our code challenges are immersive, real world coding simulations intended to support the concepts taught in our videos. Because of the depth of our testing, we still think the best way to play challenges is with our in-browser code editor on the desktop.
When we started creating the app, we quickly realized it was taking a lot of time away from creating course content. We decided to bring on a local contractor, Teeps, to help us build the app quickly and bring our vision to life. Below is a high-level rundown of the steps required to get the Code School app in your hands:
- We first considered how people would interact and move through the app with design mockups of each screen. Displaying a list of Paths and its courses seemed pretty obvious to us, but choosing the order of courses proved difficult. We considered sorting by release date, which might make sense for people checking the app every day, but decided to order courses by topic, which would be most helpful for users who prefer directed steps through our learning Paths.
- We then built a prototype for each of the final design screens. While these didn’t need to be fully functional, we wanted something to play with in order to make sure the content flowed properly. This phase allowed us to tweak the layout until it felt right — so we only threw away a tiny bit of code as opposed to having to completely rework the app later on down the road.
- Next we listed out all of the features we wanted in the app, and researched what we’d need to make them functional. For example, we knew that our app had to be able to play videos, which required an API that returned the right video for each course, and code that could recieve a URL and load an MPMoviePlayerController.
- Then we moved on to testing, testing, and more testing! We created a small device library and used TestFlight to share beta versions of the app internally so that we had as many eyes on it as possible.
- For our final step, we packaged everything up and submitted the app to Apple! The review time for each app constantly changes, but for us it took about 9 days.
This is just the beginning of Code School’s mobile experience, and we’ve already started planning the next features for future releases. If you’re interested in learning more about our app building process, the problems we faced building the app, and our solutions for them, I’ll be posting more about our experience over the next couple months. For now, head over and download the Code School iOS app for yourself and let us know what you think in the comments section below!