<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>thesisbeans &#187; development</title>
	<atom:link href="http://thesis.tinabeans.com/?feed=rss2&#038;tag=development" rel="self" type="application/rss+xml" />
	<link>http://thesis.tinabeans.com</link>
	<description>notes and musings for an MFA in Interaction Design thesis</description>
	<lastBuildDate>Thu, 03 May 2012 18:20:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Weeknotes 7 and 8</title>
		<link>http://thesis.tinabeans.com/?p=506</link>
		<comments>http://thesis.tinabeans.com/?p=506#comments</comments>
		<pubDate>Tue, 27 Mar 2012 03:14:12 +0000</pubDate>
		<dc:creator>tinabeans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://thesis.tinabeans.com/?p=506</guid>
		<description><![CDATA[More coding, moving into visual design, and announcing a prototype release date. HOLY GRASS-FED PASTURE-RAISED COW!!!]]></description>
			<content:encoded><![CDATA[<p>Oooookay. So I&#8217;m pretty much failing at this Weeknotes thing. But what can I say? Coding is simply too fun!</p>
<p>And in addition to coding these past few weeks, I&#8217;ve also jumped back into&#8230; visual design! Yup, turns out I still get to exercise my design chops, after all. <img src='http://thesis.tinabeans.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>My handy dandy development calendar tells me that it is now the end of March, when I&#8217;m supposed to be launching my prototoype to a small group of trusted test users. Actually, that was supposed to happen today. You can probably tell from the lack of fanfare round these parts that this has not happened.</p>
<p>It has not happened because the prototype is not ready; by my own estimation, I am about a week behind. (Considering the nature of software development, it&#8217;s a small miracle that I&#8217;m <em>only</em> a week behind. But I shouldn&#8217;t let myself hear such things. Shhh.) Because there are still a bunch of things to iron out, such as last-minute bugs and interface styling, I&#8217;m giving myself this one extra week to, as they say in higher education, haul ass.</p>
<p>This pegs the final, decisive, non-tentative prototype launch date at <strong>next Monday, April 2, 2012</strong>.</p>
<p>(I really would have loved to have it happen on April Fool&#8217;s Day, but I&#8217;m going to <em>really</em> need those extra 24 hours.)</p>
<p>So what have I been up to in Weeks 7 and 8?</p>
<p>Github tells a good story:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Github.png"><img class="alignnone  wp-image-507" title="Github" src="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Github.png" alt="" width="640" /></a></p>
<p>That would have been an even longer image had I been a good developer and committed more often&#8230;</p>
<p>Code aside, I&#8217;ve also been busy turning things like this:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-10-at-11.36.25-AM.png"><img class=" wp-image-476 alignnone" title="Screen Shot 2012-03-10 at 11.36.25 AM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-10-at-11.36.25-AM.png" alt="" width="640" /></a></p>
<p>Into this:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-26-at-11.02.09-PM.png"><img class="alignnone  wp-image-508" title="Screen Shot 2012-03-26 at 11.02.09 PM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-26-at-11.02.09-PM.png" alt="" width="640" /></a></p>
<p>There are more redesigned pages, but to be perfectly honest, I&#8217;d rather be working on the rest of the things on my to-do list:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-26-at-11.12.43-PM.png"><img class="alignnone  wp-image-509" title="Screen Shot 2012-03-26 at 11.12.43 PM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-26-at-11.12.43-PM.png" alt="" width="640" /></a></p>
<p>&#8230; than taking more screenshots to post here. <img src='http://thesis.tinabeans.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Because if all goes well, in a mere seven days, any able-bodied and willing person will be able sign up to be a test user and see them not as screenshots but as an <em>actual, working site</em>!</p>
<p>And with that, I&#8217;m off to make sure that this actual working site has a good chance of coming into existence.</p>
]]></content:encoded>
			<wfw:commentRss>http://thesis.tinabeans.com/?feed=rss2&#038;p=506</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code by design</title>
		<link>http://thesis.tinabeans.com/?p=480</link>
		<comments>http://thesis.tinabeans.com/?p=480#comments</comments>
		<pubDate>Thu, 15 Mar 2012 00:49:29 +0000</pubDate>
		<dc:creator>tinabeans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[musings]]></category>
		<category><![CDATA[strategy]]></category>

		<guid isPermaLink="false">http://thesis.tinabeans.com/?p=480</guid>
		<description><![CDATA[While struggling with what to name a database collection, it hit me that coding actually might be a totally legit form of design, rather than the predictable aftermath of it.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been struggling again lately with this idea of maintaining a balance between thinking and making, or, more concretely, between designing and coding. By &#8216;designing&#8217; I&#8217;m talking about the work typically engaged in by a designer (wireframes, flows, comps), and by coding, I mean the stuff that you&#8217;d normally get a developer in to do. As you can probably tell from the week-notes, I&#8217;ve not been doing a whole lot of the former lately&#8230; which does seem a little odd, given that I&#8217;m supposedly in an MFA Design program. <img src='http://thesis.tinabeans.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>But the more I code, the more I&#8217;ve come to realize that that there is probably a false dichotomy here. I find that coding, as a brain-requiring activity, is far from the antithesis of design. Nor can it be considered a &#8220;non-designerly pursuit&#8221; as designers might see it. Instead, I&#8217;ve come to see coding <em>as</em> a form of design.</p>
<p>I subscribe to Paul Pangaro&#8217;s definition of design as simply making purposeful decisions. And coding, especially in the early stages of a project, feels a lot like just that: you have to do things with intent, you have to be very methodical and critical about why you are doing things a certain way, why you are using x technique instead of y, even down to why you are naming certain variables the way you did. It&#8217;s because the decisions you make now will impact what follows—and you also suspect that these things aren&#8217;t easy to change later, so you&#8217;d <em>better</em> put some good thought behind it.</p>
<p>So, in short, coding does a good job of putting you in a very purpose-driven, very &#8220;designerly&#8221; frame of mind. When I&#8217;m coding, I find myself constantly asking myself things like, &#8220;Are you sure you want to call that database collection &#8216;recipes&#8217;? Or maybe we should use a different word because that&#8217;s not what the site is about&#8230;&#8221; Asking these questions gets me to consider possible outcomes, determine strategy, and clarify goals. And the amazing part is, these seem to be the same things that wireframes, userflows, and comps were made to do, too&#8230;</p>
<p>The &#8216;recipe&#8217; database question was actually something I chewed on for a very long time as I stared at my code. And through all the marathon staring sessions, it finally hit me that I do not want to use the word &#8216;recipe&#8217; at all on the website (that is, unless <em>absolutely</em> necessary, to refer to an actual recipe). Not only are there enough recipe sites on the web already, recipes are really not what the Hotpot experience is about. Rather, it&#8217;s about an intimate shared experience with other people, built around food-as-<a href="http://www.participatorymuseum.org/chapter4/" target="_blank">social-object</a> (or rather, food-prep-as-social-<em>process</em>). The recipe, insofar as it&#8217;s a standardized, formalized and usually terse set of instructions for getting from point a to point b, misses the point entirely. With Hotpot, it&#8217;s not so much about the &#8220;How?&#8221; of food, as it&#8217;s about the &#8220;Who with?&#8221;</p>
<p>I decided to name that database collection &#8216;meals&#8217; instead. It connotes togetherness, conversation, shared experience&#8230; all those things I strive to create for the users of Hotpot.</p>
<p>Perhaps I could have arrived at the meals-not-recipes conclusion some other way, through more traditional design means like a competitive analysis or through making <a href="http://xkcd.com/388/" target="_blank">charts like this</a>. But at the end of the day, I still managed to make that decision, while actualizing that decision in the form of written code too.</p>
<p>That was a pretty simplistic example of code catalyzing design, but there are others too. Like figuring out data hierarchy leading to the idea of capturing and presenting a timeline of cooking memories, similar to the one on <a href="https://path.com/" target="_blank">Path</a>. Or discrepancies in logic leading to the realization that &#8216;badges&#8217; (awarded at the end of cooking to an awesome partner) play a fundamentally different role from &#8216;stamps&#8217; (added during cooking to mark a notable occurrence)—they were originally thought to be the same thing.</p>
<p>Could it be that coding isn&#8217;t all just about executing a pre-determined plan, thought up while &#8216;designing&#8217;, but that it actually <em>is</em> a part of the design process? Perhaps this is not the case in big honking companies that believe in employing people just to be code monkeys, but when you&#8217;re on a small team of multi-disciplinary members, or you are on a solo project, I think writing code could totally be part of the designer&#8217;s toolkit. It&#8217;s a great way of coaxing the brain into a sharp, questioning state, so one can be intentional and purposeful with every move; in other words, so one can design.</p>
]]></content:encoded>
			<wfw:commentRss>http://thesis.tinabeans.com/?feed=rss2&#038;p=480</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Weeknote 6</title>
		<link>http://thesis.tinabeans.com/?p=475</link>
		<comments>http://thesis.tinabeans.com/?p=475#comments</comments>
		<pubDate>Sat, 10 Mar 2012 16:42:14 +0000</pubDate>
		<dc:creator>tinabeans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://thesis.tinabeans.com/?p=475</guid>
		<description><![CDATA[Coding coding coding, keep them doggies moving, coding coding coding, rawhide! [insert whiplash sound]]]></description>
			<content:encoded><![CDATA[<p>Another quick update. This past week had been a whirlwind of code. I&#8217;ve immersed myself in back-end affairs, figuring out how to get all the basic functionality working while holding off on styling/appearances.</p>
<p>This has proven somewhat difficult, being a designer and whatnot, but it&#8217;s necessary. All too often I get the temptation to work on all things at once: front-end, back-end, UX, branding, content, etc. I guess, in some ways, this could turn out more efficient, kinda like a product team with extraordinarily awesome communication &amp; coordination skills. (Good to know I am great at talking to myself.) The downside is that my sanity takes a hit. Being 10 people at once is fun, until it starts keeping you up at night. (Can&#8217;t sleep&#8230; keep hearing voices in my head&#8230; and it sounds like a product manager arguing with the UX lead.)</p>
<p>So. I&#8217;m coding back-end, which means parts of Hotpot look like this right now:</p>
<p><div id="attachment_476" class="wp-caption alignnone" style="width: 650px"><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-10-at-11.36.25-AM.png"><img class=" wp-image-476  " title="Screen Shot 2012-03-10 at 11.36.25 AM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-10-at-11.36.25-AM.png" alt="" width="640" /></a><p class="wp-caption-text">Beautiful, isn&#39;t it?</p></div>
<p>I just have to keep telling myself it will all get done in due time. And using Trello to keep the other members of my one-person product team at bay.</p>
<div id="attachment_477" class="wp-caption alignnone" style="width: 650px"><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-10-at-11.38.58-AM.png"><img class=" wp-image-477  " title="Screen Shot 2012-03-10 at 11.38.58 AM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-10-at-11.38.58-AM.png" alt="" width="640" /></a><p class="wp-caption-text">Trello is awesome.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://thesis.tinabeans.com/?feed=rss2&#038;p=475</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Weeknotes 4, 5, and part of 6</title>
		<link>http://thesis.tinabeans.com/?p=471</link>
		<comments>http://thesis.tinabeans.com/?p=471#comments</comments>
		<pubDate>Tue, 06 Mar 2012 19:44:04 +0000</pubDate>
		<dc:creator>tinabeans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://thesis.tinabeans.com/?p=471</guid>
		<description><![CDATA[Just a quick little update because I haven't been updating lately&#8212;but I have a good excuse.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m actually not really sure what week we are on, just that I&#8217;ve definitely missed a couple. And I apologize for keeping you so neglected, dear (potentially nonexistent) blog readers. I have a good excuse though!</p>
<p>The time for Deep Pondering is over, and implementation is in full swing!</p>
<p>This week is spring break, and I&#8217;m spending every day coding as fast as I can. Pieces are are coming together: creating invitations, replying to invitations, user accounts &amp; profiles, viewing and selecting recipes, joining cooking rooms, and a snazzy new homepage! The goal is to get as close as I can to a finished MVP by the end of the week. Then next week will be applying the final polish, fixing bugs, and general developmental housekeeping.</p>
<p>And, with all luck, we will have a funky little working prototype to play with in late March!</p>
<p>I am excited, but let&#8217;s use all that excited energy to get coding, shall we?</p>
<p>So, back to work I go!</p>
]]></content:encoded>
			<wfw:commentRss>http://thesis.tinabeans.com/?feed=rss2&#038;p=471</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weeknote 3</title>
		<link>http://thesis.tinabeans.com/?p=454</link>
		<comments>http://thesis.tinabeans.com/?p=454#comments</comments>
		<pubDate>Tue, 21 Feb 2012 04:05:18 +0000</pubDate>
		<dc:creator>tinabeans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[feedback]]></category>

		<guid isPermaLink="false">http://thesis.tinabeans.com/?p=454</guid>
		<description><![CDATA[Cooking room interface insanity!]]></description>
			<content:encoded><![CDATA[<p>This weeknote is 3 days late. Oops. And, unsurprisingly, the first thing I have to report is that I am waaaay off my development schedule. Well&#8230; about a week off. But it feels like a lot, especially given that everything was so tightly planned to begin with. Aaah!</p>
<p>&#8230;Breathe deeply.</p>
<p>Okay. I&#8217;ll be okay.</p>
<p>So here&#8217;s a quick &#8216;lil update on my thesis adventures this week:</p>
<h3>Advisor meeting</h3>
<p>Though I usually meet with David on Fridays, we shifted things around this week to meet on Monday. I got lots of feedback on the cooking room interface. The main thing was that I needed to put more thought into how people were going to approach the little prompts and questions I had written into the recipe. They felt too discursive, not fun enough. Plus asking people to type out all their thoughts mid-sautée seemed a bit of a stretch.</p>
<p>David also re-emphasized the need to get the cooking interface exactly right, as it is the only piece that can exist autonomously and still provide value. Makes sense. So, although my schedule said this week was supposed to be spent on developing the homepage and recipe pages, I decided I would spend more time hacking away at it. That was what I ended up doing all of Thursday through Sunday.</p>
<h3>Rethinking parts of the cooking experience&#8230;</h3>
<p>I&#8217;d always known, just from being a cook, that the actions involved in cooking are not evenly distributed across time. There are bouts of frantic prep, scrambling to throw things into the pan before the oil burns, and then there are stretches where you&#8217;re just waiting for water to boil or for the quiche to bake. My previous iteration of the recipe instructions took into account these patterns and prompted people to answer questions or jot down notes during periods of low activity.</p>
<p>There were 2 problems with this:</p>
<ol>
<li>It felt all too tempting to just skip on to the next step.</li>
<li>As David pointed out, the prompts were kind of boring.</li>
</ol>
<p>I hit upon one simple way to solve #1: call out these little resting points by making them into their own distinct steps. This would focus the user&#8217;s attention on a fun little diversion while they&#8217;re waiting around, instead of tempting them to just go out to the next step.</p>
<p>#2 is a much thornier problem, mostly because &#8216;boring&#8217; is subjective. But I can still take a best stab at avoiding it, because we can all agree that boredom is&#8230; boring.</p>
<p>But first I wanted to figure out my goals for adding more interactivity to the cooking interface, so I made a little list and then prioritized them (below, gray stickies). I also wrote down all the litte ideas for &#8220;interaction hooks&#8221; that have been floating around my brain (below, red stickies). Some of them came from classmates, some from my advisor. I then grouped them by the type of goal they helped achieve.</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-17-11-17-21-AM.jpg"><img class="alignnone size-full wp-image-456" title="Photo Feb 17, 11 17 21 AM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-17-11-17-21-AM.jpg" alt="" width="640" /></a></p>
<p>However some ideas related to more than one goal, so I tried organizing them a different way:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-17-11-30-59-AM.jpg"><img class="alignnone size-full wp-image-457" title="Photo Feb 17, 11 30 59 AM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-17-11-30-59-AM.jpg" alt="" width="640" /></a></p>
<p>That gave me a better idea of which ideas worked best for achieving my goals. Finally, I weeded out the ideas that seemed weakest, and put the remainder in order based on completely unscientific reasoning. But reasons, nonetheless.</p>
<p style="text-align: center;"><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-17-11-51-23-AM.jpg"><img class="size-full wp-image-458 aligncenter" title="Photo Feb 17, 11 51 23 AM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-17-11-51-23-AM.jpg" alt="" width="480" height="640" /></a></p>
<p>Now I have little bit more clarity about what I&#8217;m to do. Obviously I can&#8217;t implement all or even half of these ideas. But now I have a list I can refer to when I&#8217;m stuck going around in circles about what to implement.</p>
<p>I don&#8217;t feel as if I&#8217;ve reached a point of Exactly Right-ness yet, but I&#8217;m certainly glad I spent more time and thought on it. Perhaps I&#8217;ll never get it <em>exactly</em> Exactly Right through designing and redesigning it. So I need to just finish it up at some point, then get it out there to some real people.</p>
<h3>Socket.io!</h3>
<p>This is fairly exciting: I got <a href="http://socket.io/" target="_blank">Socket.io</a> working this week! It required some fancy server architecting and adding another server, <a href="http://www.tornadoweb.org/" target="_blank">Tornado</a>, on top of Flask. Now my tech stack is even taller and stacky-er. Thanks to my unofficial coding mentor (and boyfriend extraordinare) Yang Yang for helping me with the stackiness. It basically blew my mind.</p>
<p>Some background info: Socket.io is a real-time communication library that uses a protocol called websockets. Unlike HTTP, websockets allows the server to push info to the client without the client speficially asking for it. What that means, in plain English, is I can create custom real-time interactions for the cooking rooms beyond the video screen. Woohoo!</p>
<p>With that, I quickly got text chat and the recipe step indicators out of the way, as they are fairly uncontroversial and useful features to have.</p>
<p>Then I spent the entire weekend playing around with ways of adding badges and cooking notes. I didn&#8217;t do wireframes, just quick pencil sketches followed by code (I guess I just like sketching in code better than in pictures?). As of 5am this morning, I got cooking notes up and running, but I&#8217;m not totally satisfied with the visual layout of it yet&#8230; need to work on it more. Badges are on the way.</p>
<h3>Interface tinkering&#8230;</h3>
<p>Last week, I had felt unsatisfied with the placement of the ingredient pane. It covered up the recipe text awkwardly and I felt that it really wasn&#8217;t needed. After careful thought, I decided to make a judgement call. I would make the ingredients into a step—the first step of the recipe. And I would remove the need to return to it throughout cooking by repeating the ingredients and their amounts in the steps where they&#8217;re needed. This felt much more fluid.</p>
<p>All this made me realize that I&#8217;m not really writing a recipe anymore&#8230; I&#8217;m writing a script. It&#8217;s linear and directed, and there is a greater degree of handholding. But that&#8217;s okay if I want my audience to feel comfortable cooking for the first time. As for the advanced cooks who want to tweak and deviate from the prescribed path, they can still do that and even mark out their decisions in the cooking notes. A recipe is always just a suggestion. But here, it&#8217;s also a guided tour.</p>
<h3> Team Awesome meeting 2</h3>
<p>Feedback this week also focused on the cooking interface. It addressed mostly ways in which I could add value. One suggestion was allowing users to tweak the recipe on-the-fly and then, at the end of cooking, compare it to their partner&#8217;s version to see how they cooked it differently. Also, during the critique, my classmate Cooper Smith (newest member of Team Awesome) observed that I seem to be limiting myself design-wise by considering the technical constraints too much. This warranted a lot of thought, which might go in another blog entry someday.</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-16-2-17-21-PM_small.jpg"><img class="alignnone size-full wp-image-466" title="Photo-Feb-16,-2-17-21-PM_small" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-16-2-17-21-PM_small.jpg" alt="" width="640" /></a></p>
<p>&nbsp;</p>
<p>That&#8217;s about it for week 3. Whew, I need to write shorter weeknotes!</p>
]]></content:encoded>
			<wfw:commentRss>http://thesis.tinabeans.com/?feed=rss2&#038;p=454</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weeknote 2</title>
		<link>http://thesis.tinabeans.com/?p=425</link>
		<comments>http://thesis.tinabeans.com/?p=425#comments</comments>
		<pubDate>Fri, 10 Feb 2012 21:52:53 +0000</pubDate>
		<dc:creator>tinabeans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://thesis.tinabeans.com/?p=425</guid>
		<description><![CDATA[<p><img src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-10-at-4.01.11-PM.png" width="270" /></p><p>Recipe rewriting, setting up a technology stack, building the cooking room interface, and brainstorming with Chris and Dave!</p>]]></description>
			<content:encoded><![CDATA[<p>According to my thesis calendar, this week&#8217;s goal was to get as far as I could in building the cooking room interface. Here&#8217;s what I&#8217;ve worked on:</p>
<h3>Recipes!</h3>
<p>Over the weekend, I found 3 lovely recipes that I want to use in this first prototype. I chose them because they&#8217;re simple, seasonal, healthy and relatively quick—perfect for someone who&#8217;s new to cooking, but also creative enough for a more seasoned cook.</p>
<p>I still need to contact the creators of the recipes to get permission to use them, but for now tentatively, they are: <a href="http://cilantropist.blogspot.com/2011/01/easy-lemon-garlic-kale-pasta.html" target="_blank">Lemon Garlic Kale Pasta</a>, <a href="http://www.skinnytaste.com/2011/12/tuscan-white-beans-with-spinach-shrimp.html" target="_blank">Tuscan White Beans with Spinach, Shrimp and Feta</a>, and <a href="http://www.closetcooking.com/2010/12/apple-and-cheddar-quiche.html" target="_blank">Apple Cheddar Quiche</a>. (If any of the original authors are reading this, would you be willing to donate your recipe to a Master&#8217;s Thesis prototype? Credit will be given, of course!)</p>
<p>The first thing I did with these recipes was rewrite them to fit the prototype. I split up all the steps into smaller discrete actions so it would be easier for multiple cooks to follow along. I changed the ingredients list so that it more resembled a shopping list, moving the implied prep to the steps. For instance, &#8220;1 cup chopped onion&#8221; became &#8220;1 onion&#8221; and the chopping became part of step 1. </p>
<p>I also added &#8220;Foodnotes&#8221; which are little prompts that invite you to pause and savor the experience of cooking, and &#8220;Protips&#8221; which are handy hints to help more novice cooks with some of the trickier steps. The idea for these came out of <a title="Food for thought, cooked by Clint" href="http://thesis.tinabeans.com/?p=310" target="_blank">Clint&#8217;s feedback</a> last semester. I&#8217;m hoping these two things will also inspire conversation about the food at hand. Perhaps participants can exchange their own protips, or come up with evocative ways to describe the aromas before them. Who knows!</p>
<h3>Technology Stack!</h3>
<p>Here is the final technology stack I&#8217;ve settled on for the backend:</p>
<ul>
<li><a href="http://python.org/" target="_blank">Python</a> (that&#8217;s the computer language I&#8217;m writing everything in)</li>
<li><a href="http://flask.pocoo.org/" target="_blank">Flask</a> (a super-lightweight Python web framework)</li>
<li><a href="http://www.mongodb.org/" target="_blank">MongoDB</a> (a non-relational database that stores everything as in Javascript Object Notation, a.k.a. JSON)</li>
<li><a href="http://jinja.pocoo.org/docs/" target="_blank">Jinja</a> (a Python templating engine that works with Flask, used for creating HTML templates)</li>
</ul>
<p>Additionally, I&#8217;ll be using the <a href="http://www.tokbox.com/opentok/api" target="_blank">OpenTok API</a> to handle video streams.</p>
<p>Whew! It&#8217;s a lot of proper nouns. Admittedly, it&#8217;s a little overwhelming at first to learn all of them. They all have separate sets of documentation, and even just settling on which ones to use can be a bit of an ordeal. But once you get everything set up, it&#8217;s surprisingly smooth to work with all of them. And what&#8217;s nice about web development now as opposed to 10 years ago is that 1) You have options beyond PHP and 2) helpful frameworks and libraries galore!</p>
<p>As for the frontend, there are some neat tools I&#8217;m using which are worth a mention:</p>
<ul>
<li><a href="http://sass-lang.com/" target="_blank">SASS</a> (which is way to write CSS but with a more powerful syntax)</li>
<li><a href="http://compass-style.org/" target="_blank">Compass</a> (built on top of SASS, it&#8217;s a CSS framework that lets you quickly generate cross-vendor CSS rules with one line of code, among other neat things)</li>
<li>and of course, the wonderful <a href="http://jquery.com/" target="_blank">JQuery</a></li>
</ul>
<p>As part of the getting-started process, there&#8217;s inevitably an hour or two spent putting everything in place. I set up a Github account to host my code. Despite initial fears about people laughing at my newbie-code (it&#8217;s okay, you can laugh—laughter is healthy <img src='http://thesis.tinabeans.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ), I&#8217;ve decided to keep it open-source. You can see the <a href="https://github.com/tinabeans/hotpot" target="_blank">project in progress</a> here!</p>
<h3><strong>Cooking Room Interface!</strong></h3>
<p>Okay! Here&#8217;s a sneak-peek at what it currently looks like:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-10-at-4.01.11-PM.png"><img class="alignnone size-full wp-image-426" title="Screen Shot 2012-02-10 at 4.01.11 PM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-10-at-4.01.11-PM.png" alt="" width="640" height="457" /></a></p>
<p>Still got lots of kinks to work out, like:</p>
<ul>
<li>the chat isn&#8217;t functional&#8230; yet</li>
<li>I dislike where the ingredients panel lives—it covers the recipe steps when it&#8217;s open</li>
<li>still figuring out how a user&#8217;s response to a Foodnote gets processed by the server and displayed back on the page&#8230; some AJAX magic has to happen, but there are Mysterious Bugs holding me back&#8230;</li>
</ul>
<div>But I did manage to finish the following:</div>
<div>
<ul>
<li>got the template set up!</li>
<li>designed the database &#8220;schema&#8221;!</li>
<li>figured out how to generate the page dynamically by pulling all the content from the database!</li>
<li>a buncha front-end Javascripty stuff! (mostly reimplementing the keyboard navigation stuff I had working earlier)</li>
<li>also, the page is adaptive yo (its contents fit whatever window size you have)</li>
</ul>
<h3><strong>Brainstorming session!</strong></h3>
<p>On Thursday, I met up with two of my SVA classmates (and former teammates of <a href="http://sva.isotope221.com/streamline.html" target="_blank">Team Awesome</a>): <a href="http://svathesis.tumblr.com/" target="_blank">Dave Bellona</a> and <a href="http://theorypluspractice.tumblr.com/" target="_blank">Chris Cannon</a>. We wanted to get the band back together to bounce thesis thoughts off one another. This semester so far has been a rather solitary journey, so this session was a much-needed chance to hear some peer feedback and share insights.</p>
<p>My advisor David has suggested that I explore a more drop-in based model so that there&#8217;s less of a barrier to just cooking with someone via video. My instinct, however, was that the service needed to be more invitational, at least at first. I would then build in more drop-in features in later releases. I had given some reasons for this instinct, but I still felt I wasn&#8217;t getting to the core of it. Thanksfully, Chris and Dave were very helpful in getting me to think through why I&#8217;ve chosen to go down the invite-based path, as opposed to the drop-in path. We wrote this down on the whiteboard:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-09-1-41-31-PM.jpg"><img class="alignnone size-full wp-image-427" title="Photo Feb 09, 1 41 31 PM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-09-1-41-31-PM.jpg" alt="" width="640" /></a></p>
<p>And it all became clear. (Go Team Awesome!) The important part is &#8220;curated and exclusive.&#8221; But not exclusive in the sense of elitist, rather more the sense that you&#8217;re sharing these highly personal, intimate cooking experiences with people that matter to you. And these people are almost always handpicked, not chosen at random. Therefore the invite model makes sense.</p>
<p>Additionally, reviving a thought I had last semester, I want to reframe cooking as an occasion instead of a chore. Because you&#8217;re setting aside a bunch of time to do this normally rather mundane thing, I want you to look forward to it, and to <em>not</em> think of it as mundane. When you get a Hotpot invite in your email, I want it to be like receiving a letterpress announcement for an upcoming dinner party, with its accompanying sense of anticipation and delight.</p>
<p>All these things reinforced my decision to build an invite-based system for my prototype. While I&#8217;m still very open to the idea of a drop-in feature in future iterations, I think it would be good to focus for now. Feature creep is the bane of getting things done. <img src='http://thesis.tinabeans.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Onwards!</p>
<p>&nbsp;</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://thesis.tinabeans.com/?feed=rss2&#038;p=425</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weeknote 1</title>
		<link>http://thesis.tinabeans.com/?p=413</link>
		<comments>http://thesis.tinabeans.com/?p=413#comments</comments>
		<pubDate>Fri, 10 Feb 2012 18:07:37 +0000</pubDate>
		<dc:creator>tinabeans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[diagram]]></category>

		<guid isPermaLink="false">http://thesis.tinabeans.com/?p=413</guid>
		<description><![CDATA[Sticky notes and wireframes galore!]]></description>
			<content:encoded><![CDATA[<p>Classmate Michael Yap has inspired me to do weekly&#8230; uh, week notes. I like the idea because it&#8217;s just a straightforward record of what I&#8217;ve been working on, without the need to find coherent topics or theme to blog about. And that&#8217;s good, because I feel that these past couple of weeks have been a whirlwind of activity, such that it&#8217;s hard to sum it all up under a single theme. So here&#8217;s my first ever weeknote *drumroll*&#8230;</p>
<h3>OpenTok Redux!</h3>
<p>I had a realization: if I limit the # of participants in a cooking session to 2 in the prototype, then I can utilize OpenTok&#8217;s P2P technology, which means faster streaming and high quality. Would this be as good as Google+ or iChat? I put this to the test. The answer, for now, seems to be a tentative yes. The picture quality was good with a ~1 second delay, comparable to Google+ Hangouts. I also used Speedtest.net to note my connection speeds, and compared them to the other times I ran cooking prototypes with Google+ Hangouts— they were the same.</p>
<p>So&#8230; is it worth it to limit participants to two for the prototype? I decided, yes. In fact the experience seems to be way better when fewer people are in the cooking session. Even three feels a tad awkward because there is a slight feeling of &#8220;third-wheel-ness&#8221; and five borders on chaotic, though fun. Besides, all you need is two people to understand the point of what I&#8217;m trying to build.</p>
<p>This means, for the time being, I can consider OpenTok my video platform of choice for the prototype. Which means I don&#8217;t have to come up with some convoluted strategy for getting people to run both Hotpot and another video chat service at the same time. Hooray!</p>
<h3>Diagrams!</h3>
<p>Last week, I went to Staples with the intention of buying a $1 pack of notecards, and returned with $30 worth of Stickies. Oops.</p>
<p>What resulted was this:</p>
<p><div id="attachment_414" class="wp-caption alignnone" style="width: 650px"><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/UserStories_small.jpg"><img class="size-full wp-image-414" title="UserStories_small" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/UserStories_small.jpg" alt="" width="640" height="853" /></a><p class="wp-caption-text">User stories</p></div>
<p>And this:</p>
<p><div id="attachment_415" class="wp-caption alignnone" style="width: 650px"><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Flowchart1_small.jpg"><img class="size-full wp-image-415" title="Flowchart1_small" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Flowchart1_small.jpg" alt="" width="640" height="429" /></a><p class="wp-caption-text">user flow + wireframes = wireflows!</p></div>
<p>Having everything laid out on a wall was incredibly helpful in organizing my thoughts and making the task at hand seem finite. Of course, there were still millions of details to be worked out. But now things can at least proceed in an orderly fashion, one hopes.</p>
<h3>Wireframes!</h3>
<p>The next step was to turn the thumbnail Sticky note wireframes into higher-resolution digital wireframes. I downloaded <a href="http://www.balsamiq.com/products/mockups" target="_blank">Balsamiq Mockups</a>, which is a tool that&#8217;s &#8220;so freaking good&#8221; (claims the site, accurately) for rapid-sketching wireframes on the computer. Its imprecise, hand-drawn lines resist efforts to obsess about things that don&#8217;t matter, like making everything line up perfectly.</p>
<p>I then mocked up each page, one at a time. Here are some wireframes for the &#8220;room&#8221; that people will cook together in:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/HotpotRoom.png"><img class="alignnone size-full wp-image-416" title="HotpotRoom" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/HotpotRoom.png" alt="" width="640" /></a></p>
<p>Once I had all the pages in my userflow mocked up, I was ready to start coding again. This time, I admit, I felt less frantic and more sure of what I was doing as I sat down to the keyboard.</p>
<h3>Advisor Meeting!</h3>
<p>The thing that stood out to me from the meeting was David&#8217;s warning to not spend too much time working on the parts of the project that aren&#8217;t unique or innovative. For instance, coding a login/user registration system. So the challenge for me going forward is balancing my desire to learn how these things work (i.e. build them from scratch myself) and not letting that get in the way of thinking about more interesting, interaction design-y things. Something to keep in mind.</p>
]]></content:encoded>
			<wfw:commentRss>http://thesis.tinabeans.com/?feed=rss2&#038;p=413</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A false start</title>
		<link>http://thesis.tinabeans.com/?p=382</link>
		<comments>http://thesis.tinabeans.com/?p=382#comments</comments>
		<pubDate>Sat, 28 Jan 2012 20:06:44 +0000</pubDate>
		<dc:creator>tinabeans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://thesis.tinabeans.com/?p=382</guid>
		<description><![CDATA[What happens when you get so psyched up about how awesome everything is going to be when it's built that you jump right in? You get overwhelmed, that's what. And in the end, the lesson is: you still have to start at the core.]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I wrote <a title="Mini-Pivot" href="http://thesis.tinabeans.com/?p=365">this entry</a> about shifting the emphasis more to meeting strangers, rather than focusing purely on creating an excellent real-time cooking experience. So I started to think: what would it take to meet a stranger on the web? And to start cooking with them?</p>
<p>I started diagramming conversations:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-03-1-55-54-PM.jpg"><img class="alignnone size-full wp-image-385" title="Photo Feb 03, 1 55 54 PM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-03-1-55-54-PM.jpg" alt="" width="640" /></a></p>
<p>&#8230; and imagining what a good user profile for cooking would be:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-03-at-2.57.01-PM.png"><img class="alignnone size-full wp-image-386" style="border-style: initial; border-color: initial; border-image: initial; border-width: 0px;" title="Screen Shot 2012-02-03 at 2.57.01 PM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-03-at-2.57.01-PM.png" alt="" width="640" height="386" /></a></p>
<p>&#8230; and even started coding a rudimentary profile creation page (unstyled, beware):</p>
<p>&nbsp;</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-03-at-2.59.59-PM.png"><img class="alignnone size-full wp-image-387" title="Screen Shot 2012-02-03 at 2.59.59 PM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-03-at-2.59.59-PM.png" alt="" width="640" /></a></p>
<p>The undercurrent to all of this was a certain antsyness to just get <em>something</em> out there. I really wanted to give my potential audience something to do as I worked to get things ready. I was thinking back to the advice our department chair Liz had given me in the Fall semester: don&#8217;t put up a <a href="http://launchrock.com/" target="_blank">LaunchRock</a>-esque &#8220;coming soon&#8221; page—give your users something to engage in right away, rather than just a newsletter signup field. This made sense, and after giving it some thought, I decided the thing I would allow new users to do was to establish an account and fill out a personal profile. That way they can start checking out the other people on the site. And when the site launches, they&#8217;ll already have friends on the service who they can cook with right away.</p>
<p>But as I got closer and closer to actually putting up a page where people could sign up to fill out a profile, I got embroiled in this tangle of worries: privacy issues, community building, setting the tone, communicating with users, how to position the project&#8230; And that&#8217;s when I posted my <a title="AAAAAAAAAAH!" href="http://thesis.tinabeans.com/?p=379" target="_blank">last entry</a>. I was getting carried away by all that needed to be considered and studied and worked out and made.</p>
<p>Eventually I took a deep breath and realized: <strong>I was confusing where I wanted to be with how to get there.</strong></p>
<p>Meaning, I want my thesis to be so many things so quickly that I wanted to jump right to where I wanted to be, but in doing so was ignoring all the foundations I had to build to make it there!</p>
<p>So I got out an empty page and wrote this on it:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-03-2-29-55-PM.jpg"><img class="alignnone size-full wp-image-384" title="Thesis Goal" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-03-2-29-55-PM.jpg" alt="" width="640" /></a></p>
<p>That really puts things into perspective.</p>
<p>Looking at the first sentence, I now realize that <a title="In search of clarity" href="http://thesis.tinabeans.com/?p=351" target="_blank">Paul Pangaro&#8217;s advice</a> about where the core of my project lies is still right on: the <em>real-time cooking</em> part. Even though eventually I want the project to answer all these other challenges like getting strangers to meet, facilitating culinary exploration, etc, those things all fall under the phrase &#8220;in the process.&#8221; This means they would result from, but definitely not exist without, this concept of cooking together in real-time. When all is said and done, I still have to work out the conceptual core first.</p>
<p>So I&#8217;ll back up, take a deep breath, and start in the center. Then slowly, one ring at a time, work my way out. And the entire time, I&#8217;ll keep the big picture in mind:</p>
<p><a href="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-03-2-48-27-PM.jpg"><img class="alignnone size-full wp-image-383" title="Photo Feb 03, 2 48 27 PM" src="http://thesis.tinabeans.com/wp-content/uploads/2012/02/Photo-Feb-03-2-48-27-PM.jpg" alt="" width="640" /></a></p>
<p>Here&#8217;s the new plan: In the coming weeks, I will be focusing on building rings 1 and 2, getting it working, and getting people to try that out. And if all goes well, I can begin to mockup and prototype rings 3 and 4. However, if I run out of time to build out the entire circle, that&#8217;s okay too. At least I&#8217;ll have a solid foundation built and working! Besides, who says one&#8217;s thesis project needs to end in when you graduate? <img src='http://thesis.tinabeans.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://thesis.tinabeans.com/?feed=rss2&#038;p=382</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The wonderful world of server-side programming</title>
		<link>http://thesis.tinabeans.com/?p=290</link>
		<comments>http://thesis.tinabeans.com/?p=290#comments</comments>
		<pubDate>Sat, 12 Nov 2011 04:45:45 +0000</pubDate>
		<dc:creator>tinabeans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://thesis.tinabeans.com/?p=290</guid>
		<description><![CDATA[I'm learning Python programming for the web! Here's why (it's not a very good reason), how (it's not very detailed) and what I made with it (it's not that impressive... YET).]]></description>
			<content:encoded><![CDATA[<p>It has been almost 2 weeks since I blogged. Yikes! I have a lot to report on, but the second-most exciting thing is that I&#8217;ve started to learn some new coding tricks! (I&#8217;ll get to the first-most exciting thing in my next entry.) And by new tricks, I mean server-side programming.</p>
<p>Server-side programming&#8230; now why would a designer ever want to learn that? True, the likelihood of this ever becoming a selling point on my resumé is rather slim. For me, it just comes down to the fact that I want to know how things work under the hood. And I have 6 more months in school. As long as I&#8217;m here, I&#8217;m going to learn as much as I can without having to give a good reason for it. Ha!</p>
<p>So on that note, I installed <a href="http://flask.pocoo.org/">Flask</a>, a Python web micro-framework, on my web server. Python is a super awesome, easy-to-learn programming language. It runs on computers installed with an interpreter (a program that runs code you write), and you can build desktop apps this way. But on the web, you need an extra layer of code to handle HTTP requests (the dominant protocol that entities on the web communicate with) so you can do things like serve up pages to a browser—that&#8217;s where this framework comes in. In the case of Flask, it&#8217;s designed to be very lightweight and easy-to-use, hence the &#8220;micro.&#8221; (If none of this makes sense to you, you can ignore this paragraph. I am mostly explaining things back to myself to make sure I understand stuff. <img src='http://thesis.tinabeans.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> )</p>
<p>Anyway, I still mostly have no idea what&#8217;s going on (my plan for learning so far involves reading things on the internet, <a href="http://flask.pocoo.org/docs/">especially Flask documentation</a>), but so far I have learned how to create a system for letting the other participants know what step you are currently on. Basically it works like this: every time you switch to a new step, the webpage sends that info to the server, and the other participants&#8217; webpages grab that info from the server. Then Javascript (jQuery) is used to position your colored dot next to the correct step on their screens. Here&#8217;s what that looks like:</p>
<p><div id="attachment_294" class="wp-caption alignnone" style="width: 650px"><a href="http://thesis.tinabeans.com/wp-content/uploads/2011/11/Screen-shot-2011-11-11-at-11.49.24-PM.png"><img class="size-full wp-image-294" title="Screen shot 2011-11-11 at 11.49.24 PM" src="http://thesis.tinabeans.com/wp-content/uploads/2011/11/Screen-shot-2011-11-11-at-11.49.24-PM.png" alt="" width="640" height="474" /></a><p class="wp-caption-text">Lines 29-48 do the voodoo</p></div>
<p>&nbsp;</p>
<p>Just kidding. Here&#8217;s what that actually looks like:</p>
<p><div id="attachment_291" class="wp-caption alignnone" style="width: 650px"><a href="http://thesis.tinabeans.com/wp-content/uploads/2011/11/hotpot.png"><img class="size-full wp-image-291" title="hotpot" src="http://thesis.tinabeans.com/wp-content/uploads/2011/11/hotpot.png" alt="" width="640" height="377" /></a><p class="wp-caption-text">Woo hoo, it works! Here, both &quot;I&quot; and my cooking buddy are on step 1; my cooking buddy is represented by a green dot.</p></div>
<p>Exciting, eh? Yeah, I thought so too.</p>
<p>At this point in the game, I&#8217;m definitely feeling a bit overwhelmed. I&#8217;ll be both coding and designing and testing (and doing homework) at the same time! Aaaahh! Some part of me says this is pure insanity and I should just hire a developer. Some other part of me says to ignore that voice and go forth and do it and everything will be okay.</p>
<p>You can probably guess which part I will end up listening to. <img src='http://thesis.tinabeans.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://thesis.tinabeans.com/?feed=rss2&#038;p=290</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SOS!</title>
		<link>http://thesis.tinabeans.com/?p=265</link>
		<comments>http://thesis.tinabeans.com/?p=265#comments</comments>
		<pubDate>Mon, 24 Oct 2011 22:08:11 +0000</pubDate>
		<dc:creator>tinabeans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://thesis.tinabeans.com/?p=265</guid>
		<description><![CDATA[After talking with a bunch of people about the problem of video lag, I've decided to continue with Tokbox but also start the hunt for alternatives.]]></description>
			<content:encoded><![CDATA[<p>In the past couple of days, I&#8217;ve been struggling with a technical problem related to my thesis: finding a good browser-based video chat provider.</p>
<p>Some background: the experience I&#8217;m trying to create is online cooking with friends. The core of this is high-quality, browser-based video chat—essentially, something like Google+ Hangouts. However, I want to build a custom site and interface. Unfortunately, the Google+ Hangouts API is too limiting, so I turned to other solutions.</p>
<p>This weekend, I&#8217;ve been playing around with a free API called OpenTok (http://tokbox.com/) which is basically what I want: a flexible and easy way to embed real-time video chats into a webpage. However, after testing all weekend, I&#8217;ve noticed that it has 1-2 seconds more lag than Hangouts. Those precious few seconds are the difference between an almost naturalistic video chat experience and a socially awkward, far less usable one.</p>
<p>Because of this, I&#8217;m also open to the idea of alternatives. If you have any suggestions, please send them my way! Ideally, the video chat provider will:</p>
<ul>
<li>be browser-based (because I like the open platform that is the web)</li>
<li>be relatively low-cost (~ $50/month), freemium, or free</li>
<li>have the best video/audio quality and speed possible</li>
</ul>
<div>It would be nice if it were&#8230;</div>
<div>
<ul>
<li>easy to deploy (like a simple Javascript API)</li>
<li>doesn&#8217;t require the end-user to download and install proprietary plugins (but I understand if this is a technological requirement)</li>
</ul>
<div>You can email suggestions to me at t[at]tinabeans.com or post it in the comments below. Thanks in advance!</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://thesis.tinabeans.com/?feed=rss2&#038;p=265</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
