Dynamic Web Dev & Mobile Web: Final Project Proposals?

For my Dynamic Web Development class (DWD) (syllabus), my first homework assignment was to lay out a proposal for a final project.  Here is the class description:

“The class will cover server-side and client-side web development topics using JavaScript. On the client-side, we will cover traditional JavaScript and the jQuery library to manipulate browser content, create and trigger page events and make AJAX data requests. Developing with NodeJS on the server-side, we will explore receiving input from a user then querying and saving that data to a database, and finally, returning the appropriate content to the client, i.e. HTML or JSON. The websites we use today are rarely on a single database, we will focus on consuming data APIs from websites like Foursquare (for location information), Facebook (for social graph) and Twilio (for SMS and telephony). Going further, we will create custom data APIs for use at ITP and open to the public.”

I’m looking forward to using node and also Twilio (I’ve dabbled a bit in both).  I think Twilio interaction may overlap a bit with my Redial class, which uses the open-source phone comms software Asterisk.

I’ve been working through some codecademy exercises, as instructed on the homework assignment.

I think this class will also dovetail nicely with the mobile web class I’m taking.

For these reasons, I wasn’t entirely sure which idea I wanted to do for my final project just yet.  It could be that I build the back-end for an app for my DWD class but then do a front-end for an Android phone in mobile web class.

Final Project Ideas

Moment Quests:

Part scavenger hunt, part walking tour, part questing/geocaching.  Say you send your girlfriend on a moment quest by sending an invite to her on her mobile phone or browser.  She can accept the quest or delay it or do another quest instead.  Rewards are important — you might not want to do a quest if the payoff is too low!  An instruction will tell her what to do next, where to go, etc.  Once she’s there, she has to offer proof that she’s completed the step: a photo of a receipt, a photo of a landmark, a description of a sign at the exact point, etc.  Then the next stage is unlocked, either automatically or manually by you upon verification.Once she completes all the necessary steps in the quest, a reward is unlocked, or the final step in the quest takes her to her award (e.g. you’re waiting there for her, a gift is given by someone at the location, a secret GPS coordinate is unlocked, etc.).

What’s great is that the infrastructure is flexible — it would just require some GPS checks or a way to approve submitted proof of completing tasks.  You could also make public moment quests.  Companies or promotional events could do one-day quests which pit people against each other to be the first ones to finish, or to find something.Part of what inspired me to do this was Daniel Suarez’s book Daemon, in which the AI software chooses its chief real-world henchman, Loki, after he completes its quest: he’s an avid Wolfenstein gamer who comes across a unique server with an original map which is nearly impossible to beat.  Loki figures out how to beat it though, and then he is initiated into the AI’s recruiting process, where he has to drive out into the middle of nowhere and find his way into an unmarked building.  Once he passes these stages, he’s given a meshnet of killer motorbike drones and other special equipment.  Pretty wicked.

The app will probably require a mobile component, which might use the internal GPS as well as the camera for verification.  A backend will have to be built to store details about the moment quests and what stage of completion a person is through them.  Personal details will need to be saved as well to save info on awards, unlocks, communications between the quester and the dungeonmaster, etc.

ProbablyGonna:

I worked on probablyGonna last semester for my comm lab web class, writing it in Ruby/Sinatra. I still need to make it more robust and useful, so it could be a good project for DWD.  It involves the idea that you may know you want to go out dancing Saturday night, but you don’t know who else wants to go or who else is already going.  So you put out an general invite and see if anyone else wants to go.  Or say you’re at school and you’re heading out for lunch; you put out an immediate alert for anyone who’s hungry to come join you at this or that place, and so it facilitates future event planning on the fly, unlike Google Calendar which is fairly regimented, or FourSquare, which only seems to capture peoples’ presences at locations after they’re about ready to leave that place.

LiveBeam:

Another classmate of mine, Phil, had the idea to create an app that lets an online social media curator tap into a network of available cell phone reporters.  So say there’s a breaking news event occurring at Zuccotti Park, and a web journalist looks at a location map of nearby reporters who could go to the site and film it or record it.  LiveBeam would allow the curator to ping a reporter and see if he could head over and cover the event.

What follows is my interpretation of his idea — he may have something different in mind!

The reporter would be selected based on proximity to the event, the reporter’s reputation for producing a certain type of content (liberal, conservative, streaming video, professional photos, etc.), and availability.  I found that, in my previous job doing social media emergency management, sometimes reporters didn’t know where the action was, or maybe the reporters were screaming at their editors or bosses that the action would be here instead of over there.  Sometimes the best information on something like a remote-area wildfire in New Mexico or a passport fraud bust in Anchorage would never make it to the mainstream news, or maybe one or two regular joes or local reporters would cover the news.  You can’t always rely on the “best” news sources to deliver all the news and information promptly, particularly if a client is looking for more specific, targeted news that the broader outlets ignore.

There is often information asymmetry in emerging crises, and sometimes the best journalist will not be at the proper location, so there needs to be a way to reallocate reporters to proper sites, or signal the best reporter for a given scenario as the one to follow.  You see this on Twitter during a crisis when the top journos tell everyone to Twitter-follow certain people who seem to be producing the best content possible.

People who continuously deliver the best content after being pinged on LiveBeam could have a higher reputation on a site and would become the people who’d be pushed to head on-site.  But there’d still be other options for redirecting traffic towards the best-positioned journo/reporter in any given crisis.  The other part of this is that there is not really enough recognition online for the role of the curator, whose job it is to filter through all of the noise generated on the internet every day and pick only the most important or under-covered stories, adding his or her own editorial take on why the issue is important relative to others.

LiveBeam is likely to need, at the least, backend storage of how to link the curator to the reporter, and GPS capability to place the reporter on a map so s/he can be notified of directions by the curator.  S/he will also probably want the ability to request a curator turn his eye of Mordor onto another event if that event is deemed more important by a reporter.  Or perhaps votes can be tallied by the top emergency management people to raise awareness of an issue.

Mobile Web Homework

Finally, for mobile web we had to create a quick initial app using some buttons, images, and text.  Below’s a screenshot from the Android emulator (running 2.2):

We’re going to be using some PhoneGap for this class, and I added in some jQuery Mobile to play with what they have to offer.  Download the .zip source. Source of assets/www/index.html below:

  • Sean Montgomery

    Great job and great writeup of the homework. 10/10I like all your ideas for apps. Most important next step for you is going to be narrowing in on what you want to do so you can focus your effort. I look forward to it! Let me know if you want help thinking through what makes the most sense as a tractable goal for this class.