Latest posts.

Final Presentation and General Retrospection

So last Friday was DMD senior design presentation day, and our Caplet presentation went off without hitch. We received great feedback from everyone who saw it, and for those who didn’t, free free to download our presentation slides!

Overall, we accomplished pretty much everything we planned to back in January, and are very satisfied with the results. We do wish we had been able to install the application on more phones at an earlier point in time, because a large data source is key to the value of our visualizations on the website. With this in mind, we plan to continue working on Caplet over the summer in the hopes of submitting it to the Apple App Store sometime around July. This way, people will be able to download our application directly from the Caplet website, rather than waiting for us install it manually on their phones.

We also plan on creating an API that will allow developers to retrieve caplet data and use it within their own applications. One example of the value of this API would be a food diary application, wherein a user would take pictures of the food they eat each day and could then use our visualizations to analyze the amount of green in each photo. We might need to add some additional settings to iPhone application in this case; for example, it doesn’t really make sense in the context of a food diary to limit a user to one post a day, because they are probably eating more than one meal.

Finally, we want to integrate both the phone and web components of Caplet with Facebook Connect, to allow for easier sign-up and login. We could also include a setting on the phone such as “post to Facebook,” which would allow a user to publish their caplet to their Facebook wall if they wanted to.

Stay tuned for more updates from Caplet! Even though our presentation is over, we’re pretty excited about the potential of our application and we plan on working on it much further into the future. Maybe someday we’ll even have a cross-platform version of the app, so that anyone with a cell phone will be able to record caplets!

One final thanks to everyone who has helped us so far: our advisors Joe Kider, Norm Badler, Amy Calhoun, and David Comberg; our alpha testers Yiyi Zhou, Olivia Coffee, Kerry Genese, and Michelle Potter; and all our other friends and family who have supported us along the way!

The Long-Awaited Demo

We (finally!) had our demo with Joe today and it went quite well. Unfortunately Norm was unable to participate because he’s still stuck under the Iceland ash cloud. Hate it when that happens! Anyways, first we showed Joe our iPhone app in action, with is now complete with a nifty loading gif! I am more excited about this than I should be because, like everything involved with Objective C, it was way trickier to implement than expected. Little things go a long way towards improving the user experience of an application like this, though, so it’s good we were able to figure this one out.

Loading...

Loading...

Next we showed Joe the visualizations we’ve been working on. So far we’ve implemented Moods By Day of the Week, Moods By Frequency, and Posts By Time of Day. Nirav also spent a bit of time this morning organizing our URLs and setting up a framework for making new visualizations. With this in place, it will be much simpler for us to try out many more visualizations before our presentation next Friday. Right now I’m working on making a word frequency tag cloud using this awesome inverted index that Nirav generated from our Caplet data.

We have plenty of work left to do, but overall we feel like things are definitely starting to come together and we’re excited to come up with some more interesting visualizations.

Update From Alpha Testing Land

Alpha testing has been going well. We only have five users right now (in the process of getting more), but at a caplet a day, that’s a lot of data that’s getting pumped into our system. And from the looks of it, Caplet is handling all of this just fine. Brynn and I are focusing our efforts at the moment on analyzing the data in aggregate, since currently no one user really has enough caplets to glean anything very interesting. You can see one of our test pages here. We’re using the Raphael JavaScript library for these visualizations, since it doesn’t require Java (like Processing does) or HTML 5 (like Processing.js) does.

Next, we’re getting lots of good feedback on our app from our alpha testers. One of the biggest sections of feedback is moods. I’ve heard from a couple of people that they’d like different choices for the moods. Before we do a beta release, I think Brynn and I will pare down the list of moods based on ones that haven’t really been used, and perhaps also add some new ones via popular demand.

Finally, a note on Facebook integration: we’ve gone back and forth on the idea of publishing your caplets to Facebook. On one hand, it’s very convenient to be able to push a photo and text to Facebook, just like you normally would from the Facebook iPhone app. On the other hand, however, it adds a social aspect to Caplet that we really wanted to avoid at these earlier stages. We don’t want people to think of this as publishing, but more as recording. My current thoughts, however, are starting to lean back the other way. We’ve gone through a lot of trouble to make sure that the Caplet iPhone app is extremely easy to use—one of our missions in creating it was to lower drastically the barrier to entry for personal data recording. And if you’re going to post the same picture to Facebook and Caplet (as many of our testers have found), it makes sense to be able to do it all from one place. Eventually, too, this will be a good way to get publicity for Caplet.

Caplet Alpha Testing Begins!

We’ve gotten about ten alpha testers lined up and have installed the app on 3 phones so far! I also created a mailing list for the testers to report bugs/annoyances/etc. to. Reprinting the introductory email to the Caplet alpha testing program here for reference:

Hi everyone!
Thanks for volunteering to be a tester for Caplet, the iPhone+web application that I’m working on for my senior project. My partner in crime is Brynn Shepherd, an all-around awesome person and one of my best friends. She’s also on this mailing list. This is going to be kind of a long email wherein I explain various things. If you hate reading, find me in real life and I can give you the live-action pitch, complete with lots of hand-waving.
In the meantime, I’ve created what amounts to an imaginary Q&A session. Read on to have all of your questions answered and your wildest dreams come true…
1. WHAT’S CAPLET?
So what is Caplet, you ask? Good question! The short version is that it’s a personal mixed-media daily journal.
The long version is this: the idea for Caplet arose when Brynn stumbled across a (non-digital) journal that had every day divided into five sections: one for each year. Thus, you’d use the diary for five years and every time (after the first year) you wrote something down, you could also see what you had written the previous year on that day. That concept—to slice your personal records in a way other than day-by-day—became the foundation for Caplet.
2. SO WHY DO I NEED AN IPHONE?
We decided, however, to take it a step further. The Caplet iPhone app allows you to record a text blurb, a photo, and a mood. It also records your latitude and longitude using the iPhone’s built-in GPS. Once sent to the server, our code there uses Google Weather to figure out what the weather, temperature, and humidity are at your location and stores those as well. All of these, together, are called a caplet. It’s kind of like a time capsule that you store daily. And of course, you can only do at most one per day to keep things simple and low-stress (a caplet a day!).
3. IS THAT IT?
That’s just the beginning, though. The real value of Caplet, just like that journal that Brynn found, is analyzing your own data in different ways. So the second half of our project (which is what we’re beginning to work on now) involves a website at http://caplet.me (there’s nothing there but an error page at the moment; don’t get excited). This website will allow you to:
  • browse (but not modify) your past caplets linearly
  • view visualizations of your own caplets
  • view aggregate visualizations of the caplets from all users
The visualizations are going to be the best part. We want to give you the tools to slice your data any way you want. So if you want to see, on a map, the location of your caplets recorded on Mondays, you can do that. If you want to see a graph of the temperature vs. humidity of your caplets and see what your mood was at each of those, you can do that. The other thing to note is that you won’t be able to view another user’s caplets (and they won’t be able to view yours). What you can do is view them in aggregate: for example, the most frequently used words in the text blurbs, or the most prevalent moods when it’s raining.
4. SO WHAT DO I DO?
As you can see, a lot of this depends on having data. Lots and lots of data. Which is where you come in! Not only would we like testers just for the sake of catching things that we might not, but we also want you guys to use the app so we can begin to collect data to make cool-looking things out of. And we’d like you to use the iPhone app however you want: if you’d like to record your caplet while you’re brushing your teeth every morning, go for it. If you want to record it when you meet someone new and use the photo to remember their face, do it. Just remember: only one a day, and you can’t change it once you’ve recorded it.
That’s pretty much it! Since the website portion is still being built, all you have to worry about is recording one caplet every day. If you want, I’ll send you a reminder text message every afternoon. And if you miss a day or two (or eight) it’s not a big deal. We’d just like to get as much data as we can in the next few weeks.
5. HOW DO I GET STARTED?
Since we’re still making minor changes to the iPhone app, it’s not the App Store yet. But it’s only about a ten minute process to install it on your phone from Brynn’s laptop, make you a user account, explain how to use the app itself, and test that it works. Brynn and I were thinking that we’d hang out at my place (at 42nd and Spruce) this Friday from around 3:30 to 5ish, and everyone can try and drop by for ten minutes during that interval to get all set up. If that doesn’t work for you, let me know and we can figure out another time. And if you know when you’ll be coming by, let me know of that too.
6. AREN’T YOU GOING TO THANK ME?
So in closing, thank you so so so much for helping out. Brynn and I keep a record of what we’re up to (of course!) at http://blog.caplet.me that you can check out if you want. We’ll also send messages to this mailing list when we update something major that you guys should know about, and we’d also love for you to send your comments and thoughts here as well.
Thanks again! And I think when we get to the point that we open Caplet up for everyone via the App Store, I’ll make you all dinner :)
Nirav & Brynn

Logo Designs

Today, I made a logo design for Caplet and an accompanying iPhone icon. Our visualizations will be consistent with this colorful, friendly design style. Because Caplet is fun!

Caplet logo

Caplet logo

iPhone app icon

iPhone app icon

Alpha Testing Time

Now that the uploading code has been tightened up, and the app is (more or less) distributable, it’s time for alpha testing! So far the only testers are Brynn and myself, but it’s been a few days and nothing’s gone horribly wrong yet. Our “data in” phase is pretty much done, then, and we can start putting all of our efforts into “data out”—getting those visualizations up and running.

Photo Uploading LOCKED DOWN

I spent some time yesterday and today making myself feel a bit better about the photo uploading code I wrote a few weeks ago. Back then, we were simply trying to get photo uploading working, so I made the code as simple as possible and didn’t check for any errors, since we weren’t quite sure what form the iPhone would upload the photo in.

Those days, however, are over. So now I’m doing a lot of checking for filenames and paths and sizes, and what I most recently implemented is a random filename generator, so there’s no chance (or at least only a n in 10^62 chance, where n is the number of photos you’ve uploaded) that a malicious (or simply curious) unauthorized party could guess the URL of a photo.

The Dangers Of “By The Numbers”

Today’s Real Life Comic reminds me of the “By The Numbers” infographic bits that you sometimes see in Time:

Real Life Comics

python-weather-api

Found this wonderful little Python module today called, accurately, python-weather-api. It encapsulates all the intricacies of querying weather data from Google, Yahoo, and NOAA, and given the research I’ve been doing recently into doing this manually, this makes me very, very, very happy.

Now I just need to get a zip code from a lat+lon combination and we’re all set to record weather and temperature data!

We had an extremely productive Caplet work session today! Check out this list of cool things we accomplished.

  1. Installed the app on Nirav’s phone in addition to mine. This, like everything involved with iPhone app development, was much trickier than anticipated. It required a complicated sequence of steps that I’m still not sure I entirely understand, but we finally got all the necessary certificates and provisioning profiles and everything, and the app is now installed on both of our phones! We also know how to install it on others, which will be useful (and necessary) for our user study.
  2. Figured out how to send image data AND other data as one single POST request. So you can forget everything we said during the Alpha Review about needing to send two separate requests. This is a much better, more efficient way of sending data to our server.
  3. Sketched out some possible data visualizations for our website. Here’s a photo!

    data visualizations

    data visualizations

Overall, a good day for Caplet. Stay tuned for further progress next week!