Category: Mobile Media


I knew after presenting my mid-term on “Picture Vegan” that I wanted to continue working on this project, particularly because I have a vegan restaurant in mind and “on hold” for user-testing, and I have quite a few vegan friends that I believe would be happy to try this and give feedback.

A couple days before we had to present our final project ideas in class, an article came out in the New York Times about the popularity and rise of food blogging. This made me feel that my application is timely and has a good chance of being used because it taps into an activity that many diners are already engaging in.

The concept of “Picture Vegan” is to provide diners at participating vegan restaurants an easy way to take photos of the dishes they order and eat with their smart-phones and upload them to a site. At the end of each month, a winner will be drawn from the submissions and the winner will then receive a discount on their next meal.

The purpose of this mobile app is to encourage people to eat at vegan restaurants and to facilitate a deepening of appreciation for vegan food, and healthy eating more broadly.

Below are mock-ups of the app that I created in Mockflow. As you can see, from the main page, users are presented with an option to submit a photo or a video (I decided to add the video option after code was made available to us in class for recording and sending video). Before actually taking a photo or recording a video, I want users to fill out some basic information: the name of the restaurant they are dining at (pull-down menu showing the participating restaurants), the name of the dish they are eating (pull-down menu showing the corresponding restaurant’s menu items), how the dish makes them feel (pull-down menu of adjectives), and a text box for how they want their name to appear on the photo gallery page.

In the process of creating the mock-ups, I decided to add icon buttons at the bottom that will link to screens: an “about us” icon with a pop-up window containing a one-paragraph description of Picture Vegan, an “email” icon to take users to a page where they can send me suggestions, feedback, tech issues and so forth, a “community” icon where users can find out their food-matches, and a “you” icon where users can get stats on their photo submissions, broken down by the categories above (similar to how FourSquare gives users stats).

My “Picture Vegan” app is a Java-based Android project (version 1.6), created in Eclipse. I spent most of the time leading up to the final presentation working on the code for the photo-taking path. Clicking on the “submit photo” button takes the user to the screen asking for details. The drop-down menus in Android are called “spinners” and the choices are placed in an xml file named “arrays.” I also added an EditText field for the user to input their display name. The tricky thing on this screen was to figure out how to capture and “bundle” the user selections and pass those onto the next screen and then to my server. The user gets to the picture-taking screen by clicking on a “take photo” button, which opens up a “CameraView.” The act of taking the picture triggers the creation of the picture file and also the posting of the file and the variables to my server.

I had trouble on the server-side with the PHP script in receiving the variables and mapping them to the appropriate fields in my WordPress blog. The mapping worked with the MMS assignment that I did earlier in the semester, so I still need to figure out the coding glitch. The good thing is that the photos from the camera were successfully uploading to the designated folder on my server.

My goal is to get the photo-posting-to-the-blog-site with the photo details, along with the icon buttons, done as soon as possible this summer so that I can launch a user test. Stay tuned for updates.

For this week, I wanted to try out the email-post-to-blog code, so that I could take advantage of a WordPress blog rather than create all the pages myself.  I installed a WordPress blog on my ITP-NYU server, chose a theme, and made adjustments to the stylesheet and images. Check out my PICTURE VEGAN site (but note that the majority of content still needs to be added).

Before working on the visuals, I of course worked on the integration of the code into the parseMailScript.php file…[I will complete this post soon, just tied up with other coursework at the moment]

I just saw “Food Inc.” last night, which re-energized my ongoing desire to contribute to the growth of the organic, vegan food movement.  I’ve been thinking of what I can do for a midterm project that is realistic to execute within a week and I decided to expand on the MMS photo upload assignment.

Vegan cherry chocolate-chip ice cream at Sacred Chow

Vegan cherry chocolate-chip ice cream at Sacred Chow

I want to create a website repository for photos of vegan dishes from specific restaurants around the city, along with explanations from diners on why they like the dish, how it makes them feel, etc.  Restaurant owners can view these photos/stories and award a chosen diner with a coupon for 10% off their next meal.

The flow would be:

  • diner takes a photo and emails it to a designated email address for that restaurant, noting the dish name in the subject header and the reason for eating it in the message body
  • the photo and information from the email will get inserted into a MySQL database on the server
  • the diner will receive a return email with the URL for viewing their photos and others of that restaurant (email addresses will not be viewable on the website)
  • the owner of the restaurant will review all the photos/stories and choose one for the award either based on quality or a random draw (perhaps this could happen on a monthly or even weekly basis); the owner will send the recipient an email notification
  • the chosen photo/story will featured on the website gallery

Aside from the film, another, more direct inspiration for this idea is the blog of a young woman I know who regularly dines at Pure Food and Wine/One Lucky Duck and blogs about the dishes she eats: DISCOVERING RAW.  I believe her blog has inspired her friends to try raw vegan cuisine and to transition to a healthier lifestyle.  Rather than a blog from one person though, I want this site to be collective in nature.

Eventually I’d like to create a mobile application with a simple form that people can fill out so that the restaurant name can be incorporated into a pull-down menu and so that the MMS emails go to the same email address.  The photos can be sorted by restaurant on the website, rather than on separate pages.

This week we learned about MMS and how to set up a MySQL database to receive photos sent via email (and from a mobile phone) and display them via PHP on a web page.  I followed the instructions on the syllabus page and also set up a separate Gmail account to be the recipient of such emails.  I utilized my NYU-ITP server, as with the SMS assignment.  It was a bit tricky to get the cron file working properly (I didn’t write the correct path at first) but I was able to get it working thanks to information from error messages that I received via email and also via the Terminal.  I also ran into a weird problem after sending photos from my Gmail account via Microsoft Entourage.  All of the information was being input into the MySQL database but the photo wasn’t being inserted.  After talking with Shawn and running the parseMailScript.php in Terminal, we saw that Entourage was changing the meme for the image to something generic – in other words, the attachment wasn’t being recognized as a “.jpg” and thus wasn’t being inserted into the database.  After sending again from Gmail on the web, it worked just fine.

I had a bunch of different ideas for what to do with this photo display but for the purposes of testing and showing to the class, I used some of my favorite astronomy photos.   I titled the webpage “WHAT’S UP?“, as in “what is up in the sky that interests or inspires you”?  This could be built out to serve as a gallery for photos that display interesting phenomena or effects that could in turn inspire graphics for Processing applets or OpenFrameworks applications.

Our assignment for the week was to take our idea for an ITP-oriented SMS application and execute it.  After class, I spoke to Gordie about the waitlist notification idea, and while he liked it, he said he needed to be in contact with people individually because every waitlist rise has to correspond with a class drop and thus he has to find out what each person wants to do given new choices.  Makes sense.

So then I thought I’d go ahead with the class list in relation to the current courses…but I think this idea is better suited to a web page, especially since there isn’t an easy unique ID or code that people can text to get results for individual students or classes, and of course the text message that would be sent back would be truncated due to character limitations so long lists of names or courses wouldn’t make it through.  Even to do a web page would be prohibitive in that I can’t get an official list of student enrollment in classes to work with, so I’d have to solicit this from everyone myself, which would be a pain.

I had other ideas that involved lists of students – for instance, if you text a Zodiac sign like “Libra,” you could find out all the people who have that sign, or you could text “PC” to find out which students have PCs instead of Macs – but once again, this information would have to be gathered from people individually and there would be the same limitation of names being sent out.

For assigments like this, it’s best to keep things simple, so I decided to build off the class example, which queried the Yahoo weather RSS feed with a zip code to return the corresponding temperature via text. I sat with Cindy and David, and together we troubleshooted the PHP code to get the example working with our own databases on the NYU ITP server and with our TextMarks accounts.  The idea I came up with that night was to pull headlines from the RSS feeds of geek-related news sites like Cranky Geeks.  I just had to find unique tags or words (by viewing the source code) around the latest headline text that I wanted and make them the values of the $stringStart and $stringEnd variables.  I also cleaned up the code and folded the function into the “if” statement relating to the input codeword.  I got this to work on my mobile by texting “cranky” to TextMark’s 41411 number, after also texting my account keyword.  I got back the latest headline (and also tested the other returns specified in the “else” sections of the code).  I had planned to expand this idea to include four other RSS feeds from other sites but decided to try something else.

The next day I sat with Matt G, and we came up with the idea to get data from the ITPedia site that would be relevant to ITPers.  Matt focused on the TNO page and I chose the DriveBy one.  Both involved stripping excess code between the start and end strings – we looked up the appropriate function on the PHP reference site, which is strip_tags($text).  It also involved replacing some words in Matt’s case, which meant using the str_replace function. The DriveBy page lists events by date, so I was thinking of creating an automatic way to determine the next DriveBy instead of finding it manually.  I looked at the getdate function in PHP, which returns an associative array, and contemplated calculations that could compare the current date with the dates listed on the DriveBy page.  I started to work on this but ran out of time and also decided that it was uncessarily complicated to execute for this assignment.  Will ITPers use this?  Probably not, since it’s easier to check the wiki than remember the 41411 number, but it does give people another option to remind themselves of the DriveBy topic if they’re out and about, have the 41411 number stored on their mobile phone, and if they don’t have an internet connection or the time to check online.  I plan to finesse it and send it out to the list to test.

I’m sure other grad-mates have suggested this as well, but one of the most useful SMS applications that we could have at ITP would be instant notifications of changes to course waitlists. This is obviously on my mind because I’m still waitlisted in two courses and my position on those lists is no longer accessible via Albert…so I have to keep checking in with Gordie.  I’m sure he’d love this application…less students bugging him daily.   Granted, this application would only be useful during the first couple weeks of a semester, but it’s still worth it I think.

Another idea is to create an application that automatically displays the names of people who are on the floor at any given moment, along with a cross-relational list of what classes they are enrolled in.  In other words, you could search by class and see who’s on the floor who is in that class, or just see a list of people and optionally click on their name to see the classes they are in.  This would be helpful when questions come up relating to a particular class (say someone in the Materials class needs urgent help building something and if someone from the Mechanisms class is on the floor, they can go find him/her and ask for help).  It could also be helpful as a way to remind us of people’s names without having to go check the photo board or play that social genius game.