A work in progress
May 17th, 2012

## Data – Putting My New Found Knowledge To The Test

I decided to play around with pitching statistics during Pedro Martinez’s tenure with the Boston Red Sox. I went into this with no specific hypothesis, just an interest in analyzing the statistics for one of my favorite athletes (and human beings) and seeing if I could learn something new about his career with the Sox.

I imported individual game log data from Baseball-Reference (http://www.baseball-reference.com/players/m/martipe02.shtml) into GGobi and RStudio. My first impression was that this data was exhaustive. As a sports fan and a nerd in general, I am well aware of the extent that statistics have penetrated player analysis in the past decade, but seeing the full breakdown in a spreadsheet was striking. There are 48 different variables recorded, from the obvious (Wins, ERA, Strikeouts) to the mundane (flyballs, ground balls, inning exited). At first I tried looking at everything to see if I could observe a trend, but ended up keeping it simple and sticking with the basic counting statistics that everyone understands.

I began with RStudio, plotting the number of Earned Runs that Pedro gave up versus the number of pitches he threw in his previous start, as well as the number of strikeouts versus the number of days rest he had had since his last start. I was interested to see if there was any correlation, as he had plagued with durability concerns for most of his career. Since most of the data points were bunched up in a small area, the data was a little difficult to read, as small differences with these stats make a huge difference.

I then imported the data into GGobi, as it’s a little bit easier to compare multiple sets of data at the same time. I started by graphing out some of his stats (decision earned, earned runs, strikeouts, walks and innings pitched) on a game by game basis, but nothing other than his consistent excellence stood out. I then created a scatterplot, comparing earned runs, strikeouts, walks and innings pitched to number of pitches thrown in previous start, to further observe if durability concerns were real or not. There didn’t seem to be much of a correlation either way, as the density was pretty consistent for all the statistics.

Finally, I compared the number of strikeouts he threw to the decision (win, loss or no decision) that he earned. Again, difficult to take anything away from this scatter point in terms of identifying a trend, as the limited number of options for results make it hard to tell how frequently each data point happened. However, it was interesting to note that looking at this particular scatter point evoked strong memories. The outliers at the top of the chart were games that I could immediately identify and instantly reminded me of the feelings of excitement and frustration I had watching them. I realized that I was approaching this data set all wrong. Instead of trying to identify performance trends, I should have included some of my own personal data and tried to create a personal narrative, exploring the relationship between his performance and what was happening in my life.

April 12th, 2012

March 23rd, 2012

Editorial

Profile Page

March 19th, 2012

## Re-imagining GreatBuildings.com – Flow Diagram

In redesigning the Great Buildings Collection’s website, I thought that it would be best to re-imagine it as a site centered around editorial content instead of individual profile pages. This would make it easier for users who aren’t looking for a specific building to engage with the site and allow for discovery across the vast spectrum of knowledge about architecture.

March 2nd, 2012

## UX Breakthrough – Tivo

Few things make my mother as happy as keeping things organized. Everything always has it’s own box and label, no matter how small and insignificant, including everything from my childhood that I left behind when I went to college. Even my collection of blank VHS tapes.  As a 90′s teenager, I would tape everything that I thought I might want to watch over and over again. Episodes of Conan that aired past my bedtime, Slam Dunk contests and NBA drafts, dubbed recordings of movies I rented.

.

Over winter break I decided that I was going to finally dig in to this box and catalog what had survived. Most of the tapes were unlabeled, but I knew that there was gold buried in them. Pen and pad in hand, I hunkered down in front of a 9″ TV/VCR, excited to rediscover SNL skits & TV shows I had completely forgotten.

After about twenty minutes, I was ready to give up. It had been years since I’d used a VCR and time has not been kind to the experience. Everything was miserable. Rewinding and fast forwarding took forever. Shows started at random points on the tape and wouldn’t stop immediately when they were finished, instead taping hours of programming that I would have to fast forward through. How did people ever think this was a satisfying experience (did they?). Fortunately, I don’t have to deal with this anymore. Thankfully, we have TiVo.

In 2000, TiVo introduced their first digital video recorder, changing the way people watch TV.  Even though VCRs offer many of the same features of a DVR, the user experience is markedly better and it is mainly due to the change in media. By recording to digital hard drives, TiVo was able to make the process of recording a TV show much simpler. With a VCR, users had two options, they could either wait until the second a program started and hit record or they could program the time and channel into the VCR and hope that everything worked (which wasn’t a sure bet).  TiVo simplifies the process by giving users  two simpler and more convenient options;

1. Choosing an individual show from an on-screen guide (no need to remember the channel number or exact time.
2. Record all episodes of a show automatically

No longer do you need to adjust a number of delicate settings or worry whether or not the blank tape you have is the correct speed, TiVo just works. Once recorded, all yours show are easily selectable from an on-screen menu (no need to remember which tape has which show) and you can rewind and fast-forward throughout with ease and speed. When you’re finished with a show, you can delete it just as easily as you recorded, with one button press.

In the ultimate sign of success, TiVo has become one of the few products that has become a verb as well as a noun. Even though on-demand viewing and online streaming has pushed it toward irrelevance, TiVo will always be known for opening up the ability to time-shift TV programs beyond tech-savvy teenagers and to the general public.

March 1st, 2012

## Product Improvement – Kindle

Today’s Bookshelf vs. Tomorrow’s Bookshelf

Powerpoint Presentation

February 16th, 2012

## Single Serving Site – Has It Leaked Yet?

I love applications that keep everything as simple as possible. I’d rather be using something that excels at a small feature set, than be overwhelmed by a comprehensive, but poorly executed feature set. The epitome of this idea are single serving web sites, which consist of only a single page and a single function. The most famous of these is “Is Lost A Repeat?“. Instead of having to click through a number of screens on a site like TVGuide or Yahoo! TV, you could go to this site, which displayed a single “Yes” or “No” if that night’s episode of Lost was new or a repeat. A simple solution to a simple task.

A simple task that isn’t simple right now is determining if a new album has leaked or not. Under most circumstances, I can wait until an album has been officially released and buy it from iTunes or AmazonMP3. However, for certain artists that I love, I don’t have that kind of patience and I need to have their albums ASAP. In the weeks before release, I find myself constantly on the lookout, searching blogs and torrent sites and checking my Twitter feed for any indication that it has the streets (so to speak). As a teenager, I used to enjoy this hunt, but now it just proves tedious. Often times sites will post fake files in an attempt to gain traffic and it ends up being a huge waste of time.

Enter “Has It Leaked Yet?“. Users will be greeted with the question “Has the new BLANK album leaked yet?” with BLANK being an empty text box. The user will enter the name of the artist whose record they want and will be given a yes or no answer, along with information about how long it’s been available and sites where it can be downloaded. While it’s probably possible to do this with an algorithm, this would most likely have to be curated by an editor, in order to get the most up-to-date information.

Step 1 – User loads the page and is greeted with a question.

Step 2 – User enters the name of the artist they are searching for and clicks “Submit”.

Step 3 – User receives a yes or now answer, as well as how long the album has been available and where it can be downloaded.

February 2nd, 2012

## Fun Theory

December 18th, 2011

## Physical Computing – Final

I was correct, Tuesday was a long night.

If I’ve taken anything away from this final, it’s the knowledge that fabricating anything is probably going to take longer than you think. It took Joe three days to build our miniature fan, but the results were amazing. The marionette had a lot of personality when it moved around and, in my opinion, really made the project. I’m still amazed that this was Joe’s first experience with any type of wood work. However, it had taken longer than either of us anticipated and we still had to build the wooden frame that we would mount the servo motors on.  We played around with the movement of our fan, acting as amateur mechanical engineers in order to figure out how big our frame needed to be and then spent the next few hours building it.

Finishing the frame at such a late hour, we were left with little time to mount the servos and figure out the mechanics of getting the marionette to move. We had a general sense of how it would work (mount one servo above it’s head to stand it up and mount another on it’s back to get it to raise it’s arms), but couldn’t be certain until the fabrication was complete. Fortunately, our plan was more or less correct. We had the right idea with mounting the servo above the fan’s head, but it needed to be well secured. Initially we planned to hot glue the motor to a wooden block attachment, but Eric Hagan informed us that probably wasn’t strong enough. He said that surrounding the motor with wood, so that we were bonding wood on wood, would be stronger and keep the motor in place. It worked likes charm. From there, it was a matter of figuring out the best starting position of he arm. We found that having the arm swing forward made a huge difference in getting the marionette to repeat the motion and stay balanced each time.

Getting the fan to raise his arms was a different matter altogether. We attached the wire to the arms, but found that we couldn’t get the arc of the servo arms long enough to raise them above his head (they only raised to his chest, which would have been awesome if we were trying to make an Egyptian mummy). With night turning into day, Joe and I were forced to improvise. We disconnected one of the arms and tweaked the wire, so that the motion resembled a single fist pump. Feeling satisfied with our fan’s motion, we installed  (i.e. duct taped) the FSR into the seat of a pair of Celtics warm up pants. By re-mapping the sensor, the standing/sitting dynamic was controlled by an actual person standing up and sitting down.

Unfortunately, we ran out of time and weren’t able to complete everything that we had planned. The fist pump motion was controlled simply by squeezing the FSR, instead of with a flex sensor installed in a shirt, which would allow the our fan to mimic the user’s actual fist pump. We had also worked with a Wave Shield, hoping to add sounds to the different movements. While we had figured this out from a technical standpoint, we did not have any appropriate sounds (like crowd noise or chants) ready to go, so it didn’t make sense to use it.

If you had asked me immediately after the class presentation, I would have said that I was done with this idea and ready to move on to the next one. However, after stepping away from it for a few days, I found myself thinking about ways to improve it and I may continue to work on it during winter break. I’m very interested in learning how to use the Kinect and figuring how to control our fan with it seems like a good place to start.

December 5th, 2011

## Physical Computing – Final – Progress Update

Over the weekend, Joe and I worked on making our remote control sports fan a reality. After brainstorming a number of ideas (including using a wind puppet controlled by a literal fan), we settled on making a balsa wood marionette controlled with servo motors. We decided to split up for most of the time, with Joe working on the fabrication and myself figuring out how to control the Servo motors. I thought that this wouldn’t be too difficult, since I’d worked with one for my Stupid Pet Trick, but I ran into a power issue. Since we’re trying to control multiple servos with multiple inputs, the 5V from the Arduino weren’t enough, so I needed to connect the setup to a 12V adapter. This did the trick. The servos are working and we’ll need to wait until we’re further along with fabrication to move forward.

On Saturday night I started working with the Wave Shield. Joe and I wanted to add some sound effects that would be triggered by the marionette’s movement, as well as maybe some other type of interaction. I’d never worked with any type of shield and quickly realized it wasn’t simple to use as I thought. I was under the impression that the shield was merely an adapter that would allow me access to all the pins on an Arduino. Not the case. I was going to have use a second Arduino that was dedicated to the Wave Shield. Fortunately, Robbie Hilton has been working with the same shield for his final and was able to give me a few tips. The documentation provided incorrectly lists which pins are available, which thankfully Robbie had figured out through trial and error. Using example code from Adafruit’s site, I was able to write a program that played four different sounds. To test it out, I connected it to a set of four switches, each controlling a different sound (see pictures/video below). Once I knew it worked, I then I replaced the switches with digital outputs from the original Arduino. When the FSR detected a value high enough to move the servo arm, it would change the digital output to “HIGH”, triggering a sound.

The next step is going to be tying together my work with Joe’s and fine tuning the code so that the servos accurately control the marionette created. Tuesday is going to be a long night.