About four months ago, I published my first app to the iOS App Store, which shows articles from the website of the Steinbrenner Oracle, our school newspaper. Available for free on both iPhones and iPads, it was, in my opinion, quite the accomplishment. I’ve been programming for a very long time, but the publishing of the app marked the first thing I wrote that people actually care about. The experience of publishing an app for the school was a huge turning point for me, and it means a lot to be able to show a tangible result for my hours on the computer.
This article explains how the Oracle app came to be, some of my future goals for the project, and reflects on the positive reception of the app.
I spent the majority of a summer working on a Mac app, learning a ton in the process, but I bit off more than I could chew for a first app. As school started, I quickly became too busy with my classwork to write much code. While I didn’t have much time to work on a project, I did have plenty of ideas floating around.
Fast forward a couple of months. I received a text from a friend one day saying that they had heard about something about a student in a car crash. I Googled it briefly, and found nothing of relevance. In a moment of enlightenment, though, I went to http://oraclenewspaper.com. I didn’t expect to find much as I couldn’t find anything elsewhere, but there it was: an article about a student having died in a car crash. (It was a very saddening event for Steinbrenner, and everybody on campus was in a quiet, somber mood for the next week.) Despite the tragedy, that article gave me the inspiration create an app for the newspaper’s website.
The actual app is rather simple. Every WordPress website has a special file, called an Atom feed, which contains the last ten posts in a computer-readable format. (These are very similar to RSS feeds, just a slightly different file format.) The app simply pulls this file, reads through it, and displays the posts on screen.
The app is far from perfect, but I am satisfied for the time being, and it gives me some things to work towards. It isn’t the prettiest app ever developed (screenshots here), for one thing. Scrolling is sluggish and the app frequently ignores taps. As a limitation of the format used, the app is only capable of displaying the most recent ten articles, and you can’t see previous articles without visiting the website (I have plans to rectify this over the summer which are described below). Even though there are many bugs and places needing some TLC, the reception has been very positive.
A few days after I had completed the initial prototype of the app (late October), I demoed it to the newspaper teacher, Ms. Crosby. She invited me to show it to the newspaper class the following day. They loved it, and immediately attempted to drag me into taking the class. Ms. Crosby gave me her approval of the app, and I turned the app into something I was comfortable putting in the App Store.
About a month later, I tagged version 1.0.0. I submitted it to Apple for review so I could just press the button when I got the okay. I asked Ms. Crosby that week if I needed administration’s approval, and she replied that she would ask on my behalf. A week goes by, and she says she hasn’t had the chance. Another week, same response. I gave her a few weeks, and asked her again. She said she asked around, but nobody really knew who to ask. Another couple weeks go by, and I asked Ms. Crosby who I should talk to. I spoke with the assistant prinicpal the following day, who said he needed to ask someone a question, but to check back. Within a week, he gave me the go-ahead on the app.
I spoke with Mr. Colangelo, the school “tech” (in charge of keeping the computers working), during lunch the next day. I released it to the world, but found a really annoying bug very shortly thereafter. Mr. Colangelo had been talking to another teacher at the time, and he asked for a demo of the app. I pulled out my phone and showed him, only to find an annoying group of HTML tags where they shouldn’t have been. I pulled the app after it having been live for less than ten minutes.
I went home already knowing how to fix it, but not knowing why it happened. After some quick debugging, it turned out that the Oracle’s web team changed the theme on the site, which threw in some tags where they hadn’t been previously and weren’t being removed. I submitted a fix within the hour, but I was stuck waiting five days for Apple to review the app.
The school day after the new version was approved, I released version 1.1.1 to the masses. (Version 1.1.0 was a minor bug fix that happened before administration approved the app.)
Mr. Colangelo helped me put an annoucnment in the morning show for a few days. This was the first the rest of the school heard of the app. Within the first two weeks, there was 42 downloads. Fifteen different people downloaded the app on the day of the announcment. There was a mention in the PTSA newsletter, and a broadcast message was sent through Edsby (the online gradebook system).
Over all, the reaction to the app was fantastic. Several teachers have told me how impressed they were, and my relatives find it is awesome that I created an app. However, the word certainly didn’t get out to everybody on campus, and I’d wager less than a quarter of those who know the app exists and have an iPhone have bothered to download it. Even some of my closest friends laughed and said no when I told them to download it. There have been a total of 57 downloads through today, far surpassing my expectations. I hoped I could get a dozen people to download my app, but I’ve received almost five times that number.
The return rate is dismal with less than a dozen users opening the app more than twice. (I set up Flurry analytics to collect anonymized info about usage, because I knew I would be curious later.) I have asked around, and the general consensus is that the issue is not with the app, but with high schoolers’ aversion to reading.
I really could not have asked for a better response to the app.
While I am happy with the state of the app as is, I would very much like to improve the functionality and performance. One of my goals for this summer is to integrate the app with a proper API so users can view more articles than the most recent ten, including categories and the like. Also, the app is not the most beautiful creation ever, which is something I would like to change.
I hope that for the duration of time I am at Steinbrenner I can continue to maintain this app. I have enjoyed the experience, and wish to continue. When I graduate I intend to leave the “keys” to somebody else capable of doing it justice. The app can always get better.
The Oracle app certainly did not solve any major problems. The app is incredibly simple, but I learned a lot about programming in the process of its development. In the process of getting it approved I met Ms. Crosby and the students behind the Oracle’s website, one of which is among the best programmers on campus. I truly believe the app has made a positive, valuable impact on the community. The newspaper is just one of Steinbrenner’s many extracurriculars, and I helped bring publicity to it. Journalism is one of the least-known classes on campus, but I feel the app has made many more people aware of its existence, and that it is an outlet of student creativity. The application is just another medium for Steinbrenner’s creative energy to get out. I feel that as a Steinbrenner Warrior, I have an obligation to spread the pride, and I have just begun.
To the other aspiring developers out there: find a simple problem, and solve it well. Go write an app for the school newspaper. Go write an app for your school’s bell schedule. (I’m already working on one for Steinbrenner!) Go out and create. The best advice I can give you is to pick something simple, and stick to it. I have so many projects which I don’t even have enough complete on to bother publishing, but the Oracle app has actually hit 1.0.
I wrote this in part for an FLVS assignment. The US Government class, when taken virtually, requires you to do a “service project,” and I used the Oracle app. I have wanted to write this reflection for some time now, but the assignment gave me an incentive to stop procrastinating.
The dates from this article mostly come from the commit log. The download statistics come from iTunes Connect, Apple’s dashboard for developers. The usage statistics come from Flurry, an analytics platform I integrated into the app.