
Student-Built Apps Teach Colleges a Thing or Two - dnetesn
http://www.nytimes.com/2014/08/28/nyregion/students-inventing-programs-to-streamline-their-colleges-data.html
======
z131
This is nothing new. Since course registration has had a web interface, there
have been those who find the system clunky, inefficient, and useless for a
wide array of situations, the least of which is registering for classes. I
know at least 3 people in my grade level who have done the same thing. I've
done the same thing. People before me have told me how they did the same
thing. This is all at one university. The NYTimes is making these guys out to
be heroes of programming and ingenuity, when this is almost a first step for a
college/university programmer.

~~~
swimfar
Did they share the program with other people? Why did 6+ people all rewrite
the same program? Or did they have different specific uses?

From the first example of the article, it says that within the time span of
one semester there were 8000 students who had used the software. In another
example, the site used to compare courses at Berkeley now has over 50,000
registered users. Berkeley even paid them for the website afterwards because
of the value they saw in it. They all produced something that lots of students
use to solve problems/increase efficiency in academic life. That's not a
trivial thing to do.

------
dellsystem
It's always encouraging to hear about schools like Stanford and Berkeley that
are actually supportive of student-run initiatives like these. I just
graduated from McGill University, and throughout most of my undergrad I was
one of the admins of a website (wikinotes.ca) for sharing notes and other
student-created course materials. We got little to no support from the
administration, despite attempts at reaching out, and the only reason we knew
that they heard about us was a mass email - filled with misinformation - sent
out to profs warning them about us.

I know McGill's infamous for being especially bureaucratic, but it can't be
impossible to get their support. Those who got their school's administration
to support their project, what did you build and how did you do it?

~~~
DanBC
Did that mass email get published anywhere?

~~~
dellsystem
It did, in one of the main campus newspapers.

------
pessimizer
This has always happened, because it doesn't take a genius to create a class
registration application better than the monstrosities that some horrible
overpaid vendor managed to cobble together for a couple million dollars. If
there's any change indicated by this article, it's that these schools aren't
threatening legal action or expulsion to have them shut down.

~~~
aaron695
I find comments like this funny. If this is the case why not go out and make
those millions?

True, you do just say anyone can make something better, so perhaps it's a
labour cost but then your comment doesn't make sense since the vendor is not
overpaid.

The reality is these systems are huge, often not re-usable between
institutions and you are vastly under estimating their complexity.

These students are usually just improving a very small part of very large
system.

Which is cool, API everything and let students make better parts of systems
where it counts. That would be my lesson.

~~~
pessimizer
> I find comments like this funny. If this is the case why not go out and make
> those millions?

Because marketing and sales don't simply boil down to having a superior
product? You're making a strong market quality efficiency argument here that
I'm pretty sure that you don't even agree with.

Also, I'm happy and well compensated in my own industry.

------
brianzelip
The article links to a guidebook[0] of suggestions and best practices that was
produced by student devs involved in such projects and who were brought
together at a Campus Data Summit organized by GitHub.

[0]: [http://campusdata.org/guidebook/](http://campusdata.org/guidebook/)

~~~
AlexeyMK
[campusdata.org member here] - if you're working on something similar at your
school and want to join forces, join the mailing list is at campusdata.org.

~~~
joshdance
Love that my school (BYU) is used for the photo but we are not a member org
yet. Joined the mailing list thanks for pointing that out, didn't know there
was one.

------
thinkcomp
I wrote a book in large part about how Harvard reacted to my student portal in
2003. (Not particularly well.)

[http://www.aarongreenspan.com/authoritas.html](http://www.aarongreenspan.com/authoritas.html)

------
adamcik
I actually had a lot of luck creating such a timetable website[0] for NTNU in
Trondheim, Norway. Initial version did hacky scraping, eventually I found a
database, after the site site gained traction the IME Faculty (IT, Maths,
Electrical engineering) got in touch about the site.

At this point they actually paid me to opensource the code and hired me to
setup a copy for them. We never got their version to take off, as mine was to
well established. So eventually we shut their instance down, and mine lives
happily on despite the fact that I've long since left the university.

IME also did some great follow up putting quite a bit of effort in creating an
API for "me". The problem was that the central IT services could only provide
payed access to their WSDL based XML service. So IME basically payed them for
access and then reexported it with their own API[1] + caching.

On a side note, most of the code[2], except for the importers should be
generic enough to use at other schools :-)

[0]: [http://ntnu.1024.no/](http://ntnu.1024.no/) or
[http://ntnu.1024.no/2014/fall/adamcik/35/](http://ntnu.1024.no/2014/fall/adamcik/35/)
for a sample timetable

[1]: [http://www.ime.ntnu.no/api/](http://www.ime.ntnu.no/api/)

[2]: [http://github.com/adamcik/plan](http://github.com/adamcik/plan)

------
bite
I actually really enjoyed the article, and can relate: about a month ago, I
started building openYorkU, a RESTful API for York University, because their
data was not in any accessible format, and was just listed (in a .pdf). I
thought student-made apps would work much better, and I should work on
something all students can use.

Some examples of why it's useful; when looking for courses - there wasn't any
way of searching. I couldn't just look for all first year courses, that are 3
credits, and in courses A, B, and C. I also couldn't find all the restaurants,
still open beside me that serve coffee (all the data York provided was on a
.pdf). With an API, this stuff is simple.

It's still a work in progress, and I haven't had much time to work on it
lately, but if you're interested in checking it out:
[https://github.com/mlisbit/openYorkU-
API](https://github.com/mlisbit/openYorkU-API) . This article definitely
encouraged me to continue on with the project. More Universities should have
open data like University of Waterloo.

~~~
paulschreiber
Waterloo has open data now?

~~~
bite
[https://github.com/uWaterloo/api-
documentation](https://github.com/uWaterloo/api-documentation)

------
mattste
I go to the University of Michigan, and there is a huge amount of
fragmentation in IT services. APIs are out there, but it's tough to know where
to go. A group I'm a part of is going to approach the right people to
hopefully fix this.

------
AustinDizzy
I've done something similar, although not directly interactive to course
registration and classes _yet_.

My university, West Virginia University, was granted a few hundred million
dollars by the US DOT and President Nixon back in the early 1970s to create a
Personal Rapid Transit (PRT) [0] system that would transport handfuls of
students to and from the various campuses and other locations in the city.
Built by Boeing and NASA JPL in the 70s, the overall system hasn't seen a
large system overhaul since then. Because of that, it tends to go down often
during the middle of the day, leaving students stranded at the various
stations with no way to get to and from the various campuses for classes.

I, relying heavily on the PRT, built an app that monitors the PRT uptime
status and alerts users [1]. This comes in handy all the time as it notifies
students that the PRT is down typically before any announcements are ever made
at the stations, allowing students to plan transportation ahead of time and
catch the correct bus to the campus.

The app made it to my university's news [2], the city's student run newspaper
[3], and I've gotten a few hundred users within the first week of operation.

The app is completely free and open source, written in Go [4] for the server
logic and Java for the Android client [5]. And it also supports Android
wearables and Google Glass. Please feel free to submit pull requests and
issues as you see fit, I'm trying to improve the Go component's error
handling, http.Client connections, and MongoDB database sessions/connections.

Unrelated to the PRT Status app, I'm planning on making a web app that allows
students to register for courses in the view of a calendar. Currently, our
registration system kinda sucks in that you have to write out course times and
do somewhat intensive planning to make sure your proposed classes don't
interfere with other class times. So my idea is to let the students choose the
courses they need, and then the service will automatically generate multiple
possible schedules in a week calendar view that shows block times and course
registration numbers should they choose that schedule configuration.

[0]:
[http://en.wikipedia.org/wiki/Morgantown_Personal_Rapid_Trans...](http://en.wikipedia.org/wiki/Morgantown_Personal_Rapid_Transit)

[1]: [https://austindizzy.me/prt/](https://austindizzy.me/prt/)

[2]: [http://wvutoday.wvu.edu/n/2014/08/15/student-employee-
develo...](http://wvutoday.wvu.edu/n/2014/08/15/student-employee-develops-wvu-
prt-status-app-to-alert-riders-about-service)

[3]:
[http://www.thedaonline.com/news/article_c3405ca8-281b-11e4-8...](http://www.thedaonline.com/news/article_c3405ca8-281b-11e4-8f1d-001a4bcf6878.html)

[4]: [https://github.com/AustinDizzy/prtstatus-
go](https://github.com/AustinDizzy/prtstatus-go)

[5]: [https://github.com/AustinDizzy/prtstatus-
android](https://github.com/AustinDizzy/prtstatus-android)

~~~
jhalstead
You might be able to save some time by having Scheedule [0] add your school.
It was created at UIUC, and I've found that it works very well. I know it
provides some other functionality beyond class scheduling (via FB
integration), but most people I know just use it to plan their schedule.

Edit: It looks like schools are added based on a voting/popularity system,
which wasn't what I was expecting.

Edit 2: Classwhole [1] is another UIUC creation that's been open sourced [2]
and might work for you.

[0] [http://www.scheedule.com](http://www.scheedule.com)

[1] [http://www.classwhole.com](http://www.classwhole.com)

[2]
[https://github.com/kryali/classwhole](https://github.com/kryali/classwhole)

------
viiralvx
Ha, glad to see I'm not the only one that just constantly waited for somebody
to drop the class I want to register in before getting alerted.

The problem with my University (Notre Dame) is that we have everything hooked
up to the Banner system . . . which is terrible. Course Search is terribly
designed and not user-friendly, along with the Course Registration system not
being the best either, it's quite frustrating.

------
yarone
Ha, that's interesting. I wrote a very similar "sniping" app (for myself not
for others) back in 1999. Back then I had a Motorola pager (one of the large-
screen fancy ones) and I could receive short messages via email. I wrote a
(horribly constructed) Visual Basic app to check the course enrollments and
report to me, in near real-time, when a class opened up.

------
pythonikun
I made a python script to do the similar thing(it actually register the course
for user when there is spot) against University of Manitoba's Aurora student
system. With modern browser automation tool this can be done easily :)

------
secabeen
I wonder if any of these systems are accessible to the disabled. If your
awesome mobile app to grab classes means that blind or motor-impaired students
lose access, is that really an improvement?

~~~
shitlord
To be fair, the original systems often are not very accessible for the
disabled. My university uses peoplesoft and it's a steaming piece of shit. The
blind/impaired are better off contacting the undergraduate office/registrar,
which they often do (it is so much easier).

So I guess that in a sense, everyone is wrong.

~~~
secabeen
Interesting. I work at the University of California, and accessibility is a
required element of any new campus-wide system. Many legacy systems lack
accessibility, but that doesn't mean we don't improve them when new stuff
comes out.

We do have a Disabled Students program, which provides a lot of help, but
which is also expensive for the university.

------
cordite
My university threw up captchas the semester after something like this was
made.

Luckily, they implemented their own auto-zen rolling wait list and
notification system too.

