Connected Devices :: User Narrative & Use Case

User Narrative and typical use case for Timee, the smart alarm clock we are building for Connected Devices.  The clock will take in external factors like calendar appointments, weather and transit information to provide smarter scheduling to the user, helping them to avoid situations where they are running late to appointments.  In a broader sense, we also see the clock potentially functioning as a hub which other smart devices can connect to.  The devices would all function correctly on their own, but as you acquire them you can link them to build more networked interactions between the devices.  Instead of resigning hubs to plain plastic boxes which get stuffed away out of sight, why not disguise them in nicely-designed household objects, with functionality of their own?


General unboxing and setup:

On unboxing, the user will take out the physical clock as well as a page containing a couple brief instructions.  It will instruct them to plug the clock in, provide a link to the app store to download the clock app.  The app will walk them through the remaining setup.




The first thing the app will do is pair the phone and clock on the users wifi network.  Success will prompt a confirmation on the app as well as on the clock.  The user will then have to complete a few fields, including giving location permission, and link their google calendar account to the app.  When that is done, another round of confirmation on the phone and clock will occur.  This section will be much more challenging in practice than is shown here, and will take the most fine-tuning on our part.userScenario-02

As for a typical use case: most mornings the user will have a standard wakeup time for work, which should go without issue.  But perhaps on this morning, the user has a scheduled morning meeting.  There also happens to be a delay on the L train.  The clock would see the appointment on the calendar, as well as see the MTA delay information, and update the users alarm to go off a half hour early to account for the delays.  There would be a subtle visual signal on the alarm clock itself, notifying the user that they are up early because of a transit issue.  A notification would be waiting on their phone with more detailed information, explaining exactly what the issues are that caused the early alarm.  As part of our broader vision for the alarm as a home hub, we plan to link it to the Philips Hue bulbs.  Since we’re already familiar they should be an easy integration.  We will use them to give the user an added signal layer, reminding them when it is time to leave the house.  When it gets to be 10 minutes prior to the time they need to be out the door, the lights can give a signal (dim, flash — we’re still undecided) that will be hard to miss.




Connected Devices :: Final Concept







Final project concept for Connected Devices :: Smart Alarm Clock.  I’m working with Boram Kim and Dimelsa Medina.  We are looking into making an alarm clock that syncs with your schedule and outside schedules to form a more efficient system for waking you up.


You will set a baseline alarm for your clock – say 7:00am, and an amount of time you need to get ready – say 1 hour.  During the week, it will always be ringing at that time.  The clock is also checking your google calendar for events and appointments.  Anything that would necessitate you waking up earlier will make the alarm automatically compensate for that situation and move the alarm to earlier in the morning.  Your alarm is aware of your scheduled morning meeting, and will get you up at 6:30am so you can make it on time.  It is also taking in weather data, and MTA subway data.  If the L train happens to be delayed in the morning, your alarm again will recognize this and wake you up earlier to ensure you are getting to your destination on time.  The same applies to weather – a heavy rainstorm will probably require a few extra minutes of travel.


Down the line, we envisioned this device working in conjunction with other similar devices.  As an easy example, when your alarm goes off it turns your lights on and triggers a coffee pot to start brewing.  The devices could all be smart on your own, but as you purchase other items you could pair them and build IFTT-type interactions.  But for now we are planning to focus on the coffee pot.


There are some definite issues to work through, including trusting the object, the right wakeup interaction, aesthetic design, passivity of the object vs the constant chirping of a phone, and the balance of objectives between waking people up and trying to get them out of the house.

Connected Devices :: Lighting Project


Using the Philips Hue lights, Jingwen and I developed a lighting system for restaurants.  It’s a common problem for restaurants to have lights set very low at dinner time, which makes the act of reading menus difficult.  I personally have had family and friends have to use their iPhone lights, or previously carry around small keychain lights, in order to read menus.  There can also be situations where different levels of light are desired.  You might want a different atmosphere for your date than when you go out with family.


With that in mind, we used the Hue lights to make a system that would allow user interaction, constrained by the restaurant.   The restaurant control panel below shows how the staff can constrain levels and make color palettes for the customers to choose from.  This allows the customer to have some freedom of choice, but within the bounds of mood and decor the restaurant is trying to keep.  While choice is great, you don’t necessarily want people, or small children, setting the lights to bright green and pink if it’s not what the restaurant calls for.

Screen Shot 2015-02-18 at 8.57.59 AM



On the customer side, the interacts are two-fold.   A simple switch is set to toggle between the two most common settings, a family dining setting (dimmer, warm lighting) and a reading setting (brighter, light colors).  This makes it easy to brighten the table while menus are being read, then turn the lights back down after ordering, if desired.  The controller is wireless in this case, but in practice it would make more sense for it to be hard-wired.

There is also a simple mobile interface with a few additional options, including settings for dates (lower, red-tinted colors), business meetings (brighter, cooler, more serious colors) and an overall brightness slider.  Our thinking was the simple switch would be the most-used, and least obtrusive feature, and should be easiest to use without interrupting dinner.  But, people would perhaps still want some additional control which could be delivered through a phone with easy clickable options.


This project used the Philips Hue lights, Node Hue API, nodeJS, Express, and the arduino Yun.  The code is available on github here.

Philips Hue Assignment 1 :: Interfaces

Screenshots of interface prototypes for Philips Hue lighting assignment.  Jingwen and I are creating an interface for light control in a restaurant.  The restaurant will be able to set constraints and presets, and the tables will be able to set their own lighting levels within those boundaries.  This could include raising the light level briefly to read the menu (especially useful in dark dinner situations), or changing the light on mood for things like dates, family dinners or business gatherings.   We will be connecting this to the actual Hue lights soon for a working prototype.


Screen Shot 2015-02-18 at 8.57.47 AM

Screen Shot 2015-02-18 at 8.57.59 AM

Screen Shot 2015-02-18 at 8.58.07 AM

Screen Shot 2015-02-18 at 8.57.17 AM

Screen Shot 2015-02-18 at 8.57.27 AM

Screen Shot 2015-02-18 at 8.57.35 AM


Product Review :: Philips Hue lights :: Week 2

Week 2 with the Philips Hue lights.  Unfortunately I was out of town for a couple days so my week trial was cut a little short.  One thing in particular to update from my previous post was figuring out alarms with the Lux lights in my room.  You just need to set up a scene ahead of time (which, for the Lux lights is just turning the lights on) and set the alarm to that scene you set up.  It seems a little convoluted to have to do that to just set an alarm to turn a Lux light on.  I’m also not totally sure how handy the light alarms are.  I’ve used them for naps or for waking up on mornings that I have to get up before sunrise, in conjunction with an audible alarm on my phone.  So far, the audible alarm is what wakes me up, and I just seem to wake up with the lights on.  The fade in wasn’t helping.  Maybe that’s better than waking up in the dark, but I’m not completely convinced yet.  In hindsight, I should have tried setting the lights earlier to see if that would wake me up, but I know myself and I think I’m a bit too heavy of a sleeper for that.   Anyway.


Using the app as a remote control has still been incredibly handy, enough to make me want to build my own once I give the lights back.  Mostly for the convenience of not having to install a dimmer, or get out of bed to use the light switch.  I’ve looked into some 3rd party apps, but they appear to mostly be pre-programmed flashing light animations.  Not too ideal for sitting around the apartment doing homework, but I would definitely try them if we happened to be having a party.  I’m looking forward to getting into the API this week to work with the lighting controller I’m in the process of making with Jingwen.


Unfortunately I’ll need to bring the lights back tomorrow so the class can all use the lights and hub, so I won’t get the full three-week trial.  But overall, my short trial was very positive.  The packaging and out-of-box experience was nice, setup and installation was really easy and it’s been very convenient to use.  One main thing to think about going forward for is whether it makes sense to buy these.  My situation is a little different than an average consumer being in school with fewer spare finances, but still, they are a little expensive.  I would check into the energy efficiency of the bulbs more before making the investment, because right now I’d mostly be paying for a light remote in bed, which seems questionable for a couple hundred dollars.  The Hue project everyone is working on should help to get some more ideas flowing of ways I could potentially use these in the future.  But I guess for now, the best way to verify I enjoyed having the lights is that I’m sad to pack them up.

Product Review :: Philips Hue lights :: Week 1

As part of the Connected Devices class, I’m testing out the Philip’s Hue light system for a few weeks, and will be posting several reviews here.  First things first: Unpacking.



I got the basic starter kit, containing 3 Hue bulbs and the hub, or bridge as Philips calls it.  I also got 2 Lux bulbs.  The Hue bulbs can vary in brightness and also color, while the Lux bulbs are just variable brightness.




The unpacking experience was nice.  Much different than say a new iPhone, which feels pretty luxurious.  But I was really pleased at the Hue packaging.  All the packaging was cardboard and a little paper, with some very brief informational text printed on the back of the “welcome” page inside the box.  No plastic at all.  That is in stark contrast to iPhone packaging that features lots of individually wrapped plastic pieces.  So all in all, great packaging.  Maybe some feel that an expensive tech product should have really fancy packaging, but I thought Philips did it right.






Now onto setup.  The installation really couldn’t have been easier.  Plug the bridge into the router, and plug the power cable into an outlet.  Needing to plug into the router is a potential constraint I suppose, but it is not a problem for me.  I want to test the bulbs out a little further from the Bridge to check the range.  After plugging in, you download the Hue app, pair the bridge and you’re ready.




I placed one Hue bulb in this floor lamp, and one in a hanging star fixture, both in the living room.  I have the 2 Lux bulbs in my bedroom.  I’m still trying to figure out where to place the last Hue bulb I have.


Colored light bulbs!




Star light in action

For the most part, the app is easy and straightforward to use.  Once you screw in the lightbulbs, they become available under the “Lights” menu, where you can turn them on, off or vary the brightness.  The 3 included Hue bulbs are waiting to be activated, and I had no trouble adding the two Lux bulbs into the Lights panel.  Setting alarms is also available, but I’ve been having some difficulties with it.  So far, I haven’t figured out how to set alarms for the Lux lights in my room – it appears to only be working with the Hue bulbs, which in my case isn’t doing me any good.  It also seems that you can only set them to turn on a Scene (more on that below), not just turn them straight on.  I might be missing something, so I have more time to figure it out.  The real test will be waking up early for class on Wednesday when it’s typically dark out when I get up.  The alarm would be really helpful then.


The “Scenes” feature is interesting – it let’s you assign a color palette to the 3 Hue bulbs based off the color palette of a photograph.  You can use your own or samples they provide, or mix a new palette.  I haven’t quite gotten too much use out of this.  It seems like that would be more fun to have during parties, especially given the 3rd party apps that I see floating around that let you coordinate animations and light sequences.


So far, I have really enjoyed the bulbs.  The Lux bulbs in my room have been really useful.  I have them in a ceiling light fixture, whose switch is across the room from my bed.  The combination of just a bright on or off feature, and the switch location has been annoying to me for a while now, so this is really a perfect solution.  Being able to gradually dim the lights from bed as you’re getting ready to sleep is a great simple pleasure.  I still need to get the alarm dialed in how I want though.  The current price point is too high for me to consider buying the unit at the moment ($200 for the bridge and 3 bulbs pack, $30 for each Lux bulb), but I’m already impressed and intrigued.  Now that the lights are up and running, I’m looking forward into checking out some of the 3rd party apps and the API.


Connected Devices :: Week 1


Week 1 prototype from Connected Devices.  Assignment: Design a simple navigation device capable of conveying eight directional commands, with materials costing under $20.  I mounted a small box containing an Arduino micro, 9v battery, servo motor and laser pointer.  The device can be controlled wirelessly from my computer through a bluetooth classic connection.

The video demonstrates some of the commands: for example, when the servo rotates to the right and blinks, that indicates an upcoming righthand turn.  When it has a steady light on the right side, that indicates turn right now.  Steady light in the middle means go forward, and quick blinking sequence in the middle means you have arrived at your destination.

The helmet mounting combined with laser demonstrates a hands-free prototype for simple navigation in potentially dark locations.  The commands could also be translated to morse code for more precise directions.  It could also just be thought of as a device that turns you into your cat, as you chase the laser around.


Bill of Materials:

Arduino Micro

Micro Servo motor

Adafruit laser pointer

Perf board, solder, wires

Laser cut 3/16″ birch

Small dowel

Construction helmet from junk shelf



Social Data Analysis Final :: National Parks

As a final for Social Data Analysis at NYU ITP, I wanted to examine some of our National Parks. I have always had a great appreciation for the outdoors, and for the effort made by the US to establish and preserve these areas for generations to visit and experience. Considering these are typically very scenic areas, Instagram was a great source of data. People take a lot of pictures in these parks, and I wanted to see where in the parks people were actually taking photos. I also wanted to try to get a glimpse of who is coming to the parks. People from all social classes within the US visit the parks, but I wanted to see which international groups visit parks, and if there were differences in demographics between the parks.

I chose Yellowstone, the Grand Canyon, and the Great Smoky Mountains parks. Yellowstone was the first National Park established in the US, and the Grand Canyon one of the most famous locations in the world (but not often thought of in terms of the park boundaries). I chose the Smoky Mountains after finding out they were the most-visited park in 2013, a fact that was pretty surprising to me.

After investigating the hashtags most used in each park, I ran a hashtag search through the Instagram API and pulled about 40,000 media items per park. That code is here. After perusing the data, I wanted to start with some timeseries analysis.


This is a graph of the frequency of posts per day using the hashtag #smokymountains. The frequency hovered around 30–40 posts per day, with expected spikes on the 4th of July (90 pics) and dips in the winter, even in the more mild climate of Tennessee. The long tail represents some sort of data leak from Instagram, where several photos appeared intermittently, up to two years back. That caused some confusion in further timeseries analysis, which in hindsight could be remedied by collecting data further back in time. For comparison, the same graph from Yellowstone produces this:


Of particular note is the frequency: 40,000 photos from the Smoky Mountains stretched over one full year, whereas Yellowstone stretched only one month (and note the drop in frequency as the year gets later and temperatures drop). The Smokys may have been the most-visited park, but the frequency of photos taken is drastically different.

Location Analysis::

Clearly people are taking a lot of photos related to the parks, but where in the parks are photos being taken? Using python and the basemap library, I plotted photos within geographic bounding boxes around the parks on top of historic maps.


This map shows activity around Grand Canyon National Park. The photos begin as route 180 comes North into the park, clustering at the visitors center. The other large cluster is around the Lake Meade Recreational Area, offset by various remote photos. Out of view on the map, you could see photos, trace along 180, with a huge cluster in Las Vegas, directly left of the map.


The Smoky Mountains were somewhat of an anomaly. The photos focus in the center of the park, around the the main visiting and camping areas, but the Appalachian Trail seems strangely underrepresented. It runs diagonally through the middle of the park, and I had expected to see photos all along the trail. It’s possible that is not the most picturesque section of the trail, but I doubt that. It’s something currently unexplainable to me on this map.


Yellowstone doesn’t offer a ton of surprises. It’s treated as a park many people drive through in a day, as there is a cluster of National Parks in the area. You can see photos come in straight up the road from Grand Teton National Park in the South. The photos continue to trace directly along the roads, especially the main loop in the middle of the park. Of note is Old Faithful, the dense cluster on the bottom left corner of the loop.

Going Forward ::

One of the biggest things I had hoped to discover was the nationalities of park visitors. Through some manual examination of the data, I found groups visiting from countries like Norway, Denmark, Spain, and Tibet, but I would like to take a more programmatic approach to uncovering that information. Collecting more data to perform comprehensive timeseries analysis is another goal, as well develop a more sophisticated method of data collection. Focusing on the geography from the beginning, instead of the hashtag, would produce more comprehensive reuslts. However, it is an exciting project, one which is near and dear to me, and I will continue to refine my techniques and move this project forward.

Web Final update

Continuing my midterm idea for my Live Web final.  Basically, I want to turn this into a more finished project.  I’m working on adding an actual frontend with some direction, so someone could come to the page and understand what’s going on without my instruction.

Screen Shot 2014-12-02 at 11.38.43 AM


I’m getting a general color theme and direction going, but I have a couple other ideas I may change to.  Functionally, the main feature I need to add is the ability to “continue” the tour.  Right now, if you’re in the panorama, to go to a new place you’d need to refresh your page.  That’s not ideal, and I want an input box to always be on the page (obviously not directly in the middle of the screen) so that you could go to multiple locations and have it be a functional chat tool.  Early user testing got me some good feedback, including potentially switching the headtracking control to the other party.  I also am planning to add a drawing tool to help with annotating locations on the screen.  The drawings would fade out after a few seconds in order to not muddy up the display.  I’m working off of my code here.