<?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>Haystack Blog</title>
	<atom:link href="http://groups.csail.mit.edu/haystack/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://groups.csail.mit.edu/haystack/blog</link>
	<description>MIT CSAIL Research</description>
	<lastBuildDate>Wed, 04 Nov 2009 14:50:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Blogs and the Dissemination of Scientific Research</title>
		<link>http://groups.csail.mit.edu/haystack/blog/2009/11/04/blogs-and-the-dissemination-of-scientific-research/</link>
		<comments>http://groups.csail.mit.edu/haystack/blog/2009/11/04/blogs-and-the-dissemination-of-scientific-research/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 14:50:24 +0000</pubDate>
		<dc:creator>Michael Bernstein</dc:creator>
				<category><![CDATA[Social Computing]]></category>
		<category><![CDATA[Thought Piece]]></category>

		<guid isPermaLink="false">http://groups.csail.mit.edu/haystack/blog/?p=687</guid>
		<description><![CDATA[HCI research needs to get better at spreading the word, sooner, in the Web 2.0 era.  Typically, by the time that CHI rolls around, the research being presented is at least 7 months old.  When (or if) a group decides to post PDFs early, the papers are so distributed that interested readers can&#8217;t find them. [...]]]></description>
			<content:encoded><![CDATA[<p>HCI research needs to get better at spreading the word, sooner, in the Web 2.0 era.  Typically, by the time that CHI rolls around, the research being presented is at least 7 months old.  When (or <em>if</em>) a group decides to post PDFs early, the papers are so distributed that interested readers can&#8217;t find them. What&#8217;s more, the research that is posted isn&#8217;t presented in a web-friendly way: how many web pages do you read in PDF form?  But, when HCI research is made available in an interesting and accessible form, it <a href="http://tech.slashdot.org/tech/08/10/12/0228206.shtml" target="_blank">often</a> <a href="http://www.newscientist.com/article/dn17554-after-the-boom-is-wikipedia-heading-for-bust.html" target="_blank">gets</a> <a href="http://hardware.slashdot.org/story/09/10/05/185226/Microsoft-Research-Shows-Off-Multi-Touch-Mouse-Prototypes?from=rss" target="_blank">great</a> <a href="http://www.forbes.com/2009/01/21/postits-digital-tools-tech-intel-cz_lg_0122postits.html" target="_blank">press</a>.</p>
<p>What I&#8217;m thinking might remedy the situation is a CHI early results <span>blog</span>.  It would work like this: when a paper is accepted to CHI, the <span>SIGCHI</span> <span>blog</span> administrators e-mail the authors and invite them to write a short <span>blog</span> post describing the results that will be appearing at the conference. It should be written for a general web audience and other HCI researchers and practitioners. This would not just be the abstract and intro; the blog would highly encourage pictures, videos, and any other media. The drafts would be vetted for readability, and then posted as soon as they are ready (with some flow control to make sure we don&#8217;t post too many items at once). This means results could be posted as early as December.</p>
<p>If successful, this could be a great way to accelerate the dissemination of important research results, generate lots of positive buzz for the conference and the papers in it, keep research conversations going year-round, and increase the number of HCI posts on Slashdot. And I mean, Slashdot is our currency, really.</p>
<p>What do you think?  Would you post in a centralized SIGCHI blog when your papers get accepted?</p>
]]></content:encoded>
			<wfw:commentRss>http://groups.csail.mit.edu/haystack/blog/2009/11/04/blogs-and-the-dissemination-of-scientific-research/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Does the Semantic Web Need Ontologies?</title>
		<link>http://groups.csail.mit.edu/haystack/blog/2009/11/03/does-the-semantic-web-need-ontologies/</link>
		<comments>http://groups.csail.mit.edu/haystack/blog/2009/11/03/does-the-semantic-web-need-ontologies/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 06:42:34 +0000</pubDate>
		<dc:creator>David Karger</dc:creator>
				<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Thought Piece]]></category>

		<guid isPermaLink="false">http://groups.csail.mit.edu/haystack/blog/?p=669</guid>
		<description><![CDATA[Ever since returning from the 2009 International Semantic Web Conference last week I&#8217;ve been bursting to discuss a panel that took place there on the topic &#8220;Does the Semantic Web need Ontologies?&#8221;.    But the WWW2010 deadline was today and we had 3 papers to write.  With that deadline now 10 minutes past, I can [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since returning from the <a href="http://iswc2009.semanticweb.org/">2009 International Semantic Web Conference</a> last week I&#8217;ve been bursting to discuss a panel that took place there on the topic &#8220;Does the Semantic Web need Ontologies?&#8221;.    But the WWW2010 deadline was today and we had 3 papers to write.  With that deadline now 10 minutes past, I can finally post!  When it was first proposed, I was concerned because panels need controversy to be fun, and I didn&#8217;t think there&#8217;d be debate on this topic.  However, the organizer was confident that he&#8217;d be able to arrange different viewpoints on the panel.</p>
<p>When I attended the panel I was sorry to discover that the panelist did in fact all agree.  Far worse, they all said &#8220;yes&#8221; and wanted to debate what <em>kind</em> of ontologies were needed. Those who&#8217;ve followed my slow <a href="http://groups.csail.mit.edu/haystack/blog/2009/09/14/in-defense-of-a-semantic-web-wild-west/">conversation with Stefano Mazzocchi</a> won&#8217;t be surprised at my reaction&#8212;ajump to the audience microphone to voice a strong &#8220;no!&#8221;   I asserted that a bunch of data presented in spreadsheets was already a big step forward over our current unstructured web.  This led to some interesting discussion that helped me clarify some points in my mind that I&#8217;ll try to lay out here.</p>
<p>The panelists&#8217; general reaction was amazement that I could be opposed to ontologies.  Without ontologies, how could any tool actually use the data?  What good would that data be without an explanation of what it meant?</p>
<p>Tim Berners Lee tried to mediate by suggesting that I did support ontologies.  After all, a spreadsheet has an ontology: the ontology specifies rows, columns, cells, and the relationship between them. But by this definition, any structured data necessarily has an (implicit) ontology, and saying &#8220;ontology&#8221; is just another way of saying &#8220;structured data&#8221;.   And I think this diverges from the standard meaning of &#8220;ontology&#8221; in the Semantic Web community, which I would read as &#8220;an explicitly recorded, machine readable description of the ontology of the given data.&#8221;   While I am a big proponent of structured data I&#8217;m going to bet that the panelists would not consider their implicit ontologies to be ontologies in the Semantic Web sense.   So we do in fact disagree.</p>
<p>Why then do I think we don&#8217;t need (explicit) ontologies?   Because I&#8217;m focused on the ways that human beings, rather than machine agents, will consume the data being shared.  And for humans, a machine-readable explanation of the data&#8217;s meaning is often unnecessary because the human who is consuming that data can figure it out in other ways.  For example, the meaning of the data elements might be explained in English, a &#8220;caption&#8221; of the data I am inspecting.     Even without captions, if I get a data table with column headings, I can use my comprehension of English to understand the meaning of those headings and from it infer the roles of the columns.  Even if there aren&#8217;t column headings, the &#8220;shape&#8221; of the data can tell me a lot&#8212;I&#8217;ll recognize standard person names, phone numbers, addresses, prices, book titles, and such from the textual patterns or from matches to my large wetware database of known entities.  And if I see enough examples I can draw conclusions about the values in the column (indeed, <a href="http://www.google.com/squared">Google Squared</a> suggests that you might not even need a human in the loop to make these inferences).</p>
<p>So humans can understand data without (explicit) ontologies, but is it any use?  Sure!  Just to plug some of my own group&#8217;s tools, they can use <a href="http://www.simile-widgets.org/exhibit/">Exhibit</a> to throw it into a rich visualization&#8212;a map, timeline, or list with faceted browsing and sorting.   Or they can combine it with another data set using <a href="http://simile.mit.edu/potluck/">Potluck</a>, and throw the combined data into an Exhibit visualization.  I can make a post on <a href="http://manyeyes.alphaworks.ibm.com/manyeyes/">ManyEyes</a> or throw the data into <a href="http://www.dabbledb.com/">DabbleDB</a> for further processing.  These activities typically require me to match certain properties (columns) of the data set into roles in the UI (Exhibit, ManyEyes) or to properties in the other data set (Potluck, DabbleDB)&#8212;a straightforward task.  They don&#8217;t require the machine to understand the data, because I&#8217;m the one taking these actions.  They do require that the data be structured, since otherwise there&#8217;s no way for me to say &#8220;which column&#8221; to the tools I&#8217;m trying to use.</p>
<p>That&#8217;s the argument I wanted to make at the panel, but it&#8217;s a bit hard to squeeze into 20 seconds at the audience-feedback microphone.  So I&#8217;m afraid the panelists instead thought that I was arguing against ontologies, asserting that they should not be deployed at all.</p>
<p>On the  contrary, I like ontologies.  But I&#8217;m convinced that ontologies are a luxury, not a necessity. They&#8217;re certainly nice to have, and there are some things you can only do if you have them&#8211;for example, theycan help me understand column headings written in Russian or Spanish by connecting them to explanations in English.  But I remain captivated all the opportunities that arise just by making data easily accessible in raw form.   Too often, what people want to do with information is perfectly easy to explain, but impossible to do without serious programming, for silly reasons.</p>
<p>And it&#8217;s that enthusiasm for open data that keeps me energetically arguing that we don&#8217;t need ontologies.  If we need ontologies, then work on freeing data needs to stop until we get them.  I think that&#8217;s a very dangerous perspective.  It&#8217;s the one that says &#8220;there&#8217;s no point to building tools for scientists to publish their data, until we&#8217;ve figured out the right huge ontology that we&#8217;ll force them all to publish in.&#8221;</p>
<p>Instead, I think we should go right ahead with our research on ontologies and tools for them, but in the meantime, let the data fly!</p>
<p>P.S. When someone rose to support me, arguing that we should forget ontologies and concentrate on Linked Open Data, I mudied things further by asserting that we don&#8217;t really need the &#8220;Linked&#8221; part, and Open Data is useful in its own right.  While it comes from the same place as my perspective on ontologies above, that&#8217;s the substance of my <a href="../../2009/09/14/in-defense-of-a-semantic-web-wild-west/">discussion with Stefano</a>, and I won&#8217;t repeat it here.</p>
]]></content:encoded>
			<wfw:commentRss>http://groups.csail.mit.edu/haystack/blog/2009/11/03/does-the-semantic-web-need-ontologies/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tales of a Semantic Web Skeptic</title>
		<link>http://groups.csail.mit.edu/haystack/blog/2009/10/25/tales-of-a-semantic-web-skeptic/</link>
		<comments>http://groups.csail.mit.edu/haystack/blog/2009/10/25/tales-of-a-semantic-web-skeptic/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 20:10:10 +0000</pubDate>
		<dc:creator>Michael Bernstein</dc:creator>
				<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Thought Piece]]></category>

		<guid isPermaLink="false">http://groups.csail.mit.edu/haystack/blog/?p=660</guid>
		<description><![CDATA[Right now the world&#8217;s premiere semantic web conference is happening in Washington, D.C. As a graduate student of the fellow who&#8217;s chairing the conference this year, and working down the hall from Sir Linked Data himself, I&#8217;ve had my fair share of semantic web experiences. But my background is not in Semantic Web technology, so [...]]]></description>
			<content:encoded><![CDATA[<p>Right now <a href="http://iswc2009.semanticweb.org/">the world&#8217;s premiere semantic web conference</a> is happening in Washington, D.C. As a graduate student of <a href="http://people.csail.mit.edu/karger/">the fellow who&#8217;s chairing the conference this year</a>, and working down the hall from <a href="http://www.w3.org/People/Berners-Lee/">Sir Linked Data himself</a>, I&#8217;ve had my fair share of semantic web experiences. But my background is not in Semantic Web technology, so joining a group so focused on the semantic web threw some of its core tenets into sharp relief for me.</p>
<p>So here, from the perspective of a human-computer interaction guy, is what I&#8217;d like to see changed about the semantic web:</p>
<p><strong>Stop Calling Everything &#8216;Semantic&#8217;</strong></p>
<p>At worst, the term &#8217;semantic&#8217; in a title can mean &#8220;we re-did existing research using {RDF, RDFa, N3, OWL, SPARQL, DBpedia, Semantic MediaWiki},&#8221; without a clear notion of why this would be a good thing. The strength of the semantic web is its ability to interoperate heterogeneous data, yet the inclination is to ignore this and work on the problem, any problem, in a semantic web framework. Semantic web research papers can feel like a bunch of hammers running around in search of a nail. And there are plenty of oft-hammered nails: semantic query visualizations, semantic desktops, semantic wikis, semantic ontology alignment, and semantic web service composition, to name a few. Why do these benefit from being semantic, any moreso than taking another approach?</p>
<p>At best, the term is still very unclear about what it implies. &#8216;Semantic&#8217; should mean more than a language or a framework. It is an idea, and the idea should drive the research. Saying that something is semantic should imply something as clearly as saying that it is a proof by reduction, or a tangible user interface, or a static code analysis technique.</p>
<p><strong>Who&#8217;s the User? (And Why Would They Ever Use This?)</strong></p>
<p>That&#8217;s not a jab. It composes two specific critiques:</p>
<p>To solve important problems, you need to know who your users are. What are their problems? What biases and constraints do they bring to your system? This is true whether you&#8217;re composing web services or creating a Linux desktop. Semantic web technology&#8217;s greatest strength and greatest weakness is that it is very general. Too many projects focus on trying to help everybody; but too often, &#8220;everybody&#8221; is too vague to give you a good foothold, and it trends toward &#8220;semantic web-interested people&#8221;. This leads to many issues with the research, not the least of them is the <a href="http://swui.semanticweb.org/swui06/papers/Karger/Pathetic_Fallacy.html">Big Fat Graph solution</a> to every semantic web problem and the requirement that I manually author RDF triples. When you&#8217;re defining the problem, define the set of users! &#8220;Everybody&#8221; is too vague; start with some <a href="http://www.amazon.com/gp/product/0672326140/ref=pd_lpo_k2_dp_sr_1?pf_rd_p=486539851&amp;pf_rd_s=lpo-top-stripe-1&amp;pf_rd_t=201&amp;pf_rd_i=0672316498&amp;pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_r=1KAN35XCZNJCDZESWKT7">personas or scenarios</a>, or build systems that aim at some subset of the world. This will give you the insights necessary to generalize back out to &#8220;everybody&#8221;.</p>
<p>Second, there are some serious questions about user motivation. The semantic web suffers from a real cold start problem &#8212; how to get all that data into linked format.  Again, no single motivator will work for everybody, so the resulting motivators are so general, or so tied to implicit semantic web assumptions, that few get off the ground. Nobody wants to sit and re-encode their data into semantic web format.  But given a real problem, and the promise of a solution that just so happens to involve RDF, it will happen.</p>
<p>This is why I think Semantic Web UIs is something of a misnomer. It&#8217;s like &#8220;Java Swing UIs&#8221; or &#8220;UIs based on a relational database backend and a PHP frontend&#8221;. The critical irony of a good semantic web UI is that there should be no indication that it&#8217;s semantic. You <em>could </em>do this using a standard database and data model, but it&#8217;s easier because it uses semantic web technologies. Again, the interface should flow from the problems, not from the data model (flexible as it is).</p>
<p>I&#8217;d love to hear a semantic web researcher&#8217;s critique of human-computer interaction. Or your thoughts on my thoughts&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://groups.csail.mit.edu/haystack/blog/2009/10/25/tales-of-a-semantic-web-skeptic/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Thoughts on NoteWorthy Composer</title>
		<link>http://groups.csail.mit.edu/haystack/blog/2009/10/22/on-music-notation-guis/</link>
		<comments>http://groups.csail.mit.edu/haystack/blog/2009/10/22/on-music-notation-guis/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 16:18:44 +0000</pubDate>
		<dc:creator>Eirik Bakke</dc:creator>
				<category><![CDATA[User Interfaces]]></category>
		<category><![CDATA[Workflows]]></category>

		<guid isPermaLink="false">http://groups.csail.mit.edu/haystack/blog/?p=626</guid>
		<description><![CDATA[Many years ago I discovered NoteWorthy Composer, and I&#8217;ve been using it for music notation ever since.

Unfortunately, I find that NoteWorthy doesn&#8217;t scale very well in several important dimensions. In particular, it lacks the ability to:

Let the user manipulate multiple staves at once (even just for copying/cutting and pasting a horizontal section of music from [...]]]></description>
			<content:encoded><![CDATA[<p>Many years ago I discovered <a href="http://www.noteworthysoftware.com">NoteWorthy Composer</a>, and I&#8217;ve been using it for music notation ever since.</p>
<p><a href="http://www.mit.edu/~ebakke/misc/Hisaishi-SpiritedAway-MIDI.mp3" target="_blank"><img class="alignnone size-full wp-image-627" title="NoteWorthy Composer" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/10/091022-NoteWorthy-screenshot.png" alt="NoteWorthy Composer" width="506" height="254" /></a></p>
<p>Unfortunately, I find that NoteWorthy doesn&#8217;t scale very well in several important dimensions. In particular, it lacks the ability to:</p>
<ul>
<li>Let the user manipulate multiple staves at once (even just for copying/cutting and pasting a horizontal section of music from one place/time to another).</li>
<li>View several staves as a single &#8220;condensed&#8221; score.</li>
<li>Save vertical screen estate by hiding staffs containing only rests for a given interval (Stravinsky-style <a href="http://en.wikipedia.org/wiki/Cut-out_score">&#8220;cutout scores&#8221;</a>) .</li>
<li>Switch rapidly between transposed and untransposed views of the parts in the music, and handle copy/paste between transposed parts. For instance, (Bb) trumpet parts are &#8220;written&#8221; two semitones higher than they &#8220;sound&#8221;, so when you copy a melody from a piano part (untransposed) to the trumpet, it should appear as if it was transposed up by two semitones.</li>
<li>Hide presentation details from the user. I spend much time adjusting the location of staff items (like an &#8220;<em>mf</em>&#8221; dynamic marking) so they don&#8217;t collide. Also, copy/paste works on a too low level (see above), so if you copy a melody from a treble clef part into a bass clef part, or from a location with one key signature to one with another, the result will be incorrect until fixed manually. Also, the current clefs and time/key signatures are not shown to the left of the screen like they ought to.</li>
<li>Associate note velocities recorded with a MIDI keyboard with notes in the score for improved expressiveness in future playback. Actually, I want more than this: I also want the ability to record volume changes (e.g. from an external MIDI <a href="http://en.wikipedia.org/wiki/Expression_pedal">expression pedal</a>), and the ability to record tempo variances (rubato, fermata, and all the little things that make human performances better than plain computer playback from a digital score) in the same way.</li>
</ul>
<p>For these reasons, I every now and then decide to stray away and try the latest version of <a href="http://www.finalemusic.com">Finale</a> or <a href="http://www.sibelius.com/">Sibelius</a>, most recently the latter. I find these full-fledged music notation packages can do almost anything, <em>except letting the user manipulate the score efficiently.</em> Whereas in NoteWorthy, there is almost <em>never</em> any reason to reach for the mouse, Sibelius forces you to click all the time. In general, I find NoteWorthy&#8217;s editing model beats that of Sibelius by great margin when it comes to entering music on a single staff.</p>
<p>Granted, NoteWorthy&#8217;s model is very unconventional and quite weird. It regards every staff as a separate list of staff &#8220;items&#8221; (which includes notes, rests, bar lines, clefs, key signatures, and such), and editing is done word processor-style: there is a cursor which goes <em>between</em> staff items<em> (</em>unlike in Sibelius, where it seems the cursor can be either between or <em>on</em> an item<em>)</em>, and the staff items behave like characters, meaning you can delete them with the backspace or delete keys, select them by moving the cursors left or right while holding down Shift, and so on<em>.</em> Measures work like to words, meaning you can move the cursor quickly between them via Ctrl+Left/Right. This all works extremely well for single staves, and when entering multi-staff music linearly from beginning to end. However, NoteWorthy&#8217;s editing model fails horribly if you make a mistake while editing the middle of a piece of music with multiple staves:</p>
<p><a href="http://www.mit.edu/~ebakke/misc/Hisaishi-SpiritedAway-MIDI-FAIL.mp3" target="_blank"><img class="alignnone size-full wp-image-644" title="NoteWorthy Misalignment" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/10/091022-NoteWorthy-misaligned-screenshot1.png" alt="NoteWorthy Misalignment" width="506" height="254" /></a></p>
<p>Notice how the error propagates to the entire rest of the piece, and how the user him/herself has to figure out where there&#8217;s a missing note and what that missing note&#8217;s duration might be. In fact, the situation above needs not even be an error: if you wanted to replace the contents of one measure in the middle of the piece, the staves would inevitably be misaligned (like above) during the editing operation. This forces the user to think very hard about editing—if you lose track of what you&#8217;re doing for just a second, it&#8217;s a pain to figure out how to realign the staves again.</p>
<p>Despite all of this, I find I can work so much faster in this environment than in say, Sibelius, that I&#8217;m sticking with NoteWorthy for now. But future blog posts shall reveal my glorious plans to fix all of this by writing my own music notation software (no, NoteWorthy is not open source, unfortunately)&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://groups.csail.mit.edu/haystack/blog/2009/10/22/on-music-notation-guis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://www.mit.edu/~ebakke/misc/Hisaishi-SpiritedAway-MIDI.mp3" length="367153" type="audio/mpeg" />
<enclosure url="http://www.mit.edu/~ebakke/misc/Hisaishi-SpiritedAway-MIDI-FAIL.mp3" length="396794" type="audio/mpeg" />
		</item>
		<item>
		<title>FeedMe: Understanding and Supporting Social Link Sharing on the Web</title>
		<link>http://groups.csail.mit.edu/haystack/blog/2009/10/13/feedme-understanding-and-supporting-social-link-sharing-on-the-web/</link>
		<comments>http://groups.csail.mit.edu/haystack/blog/2009/10/13/feedme-understanding-and-supporting-social-link-sharing-on-the-web/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 03:20:36 +0000</pubDate>
		<dc:creator>Adam Marcus</dc:creator>
				<category><![CDATA[Social Computing]]></category>

		<guid isPermaLink="false">http://groups.csail.mit.edu/haystack/blog/?p=589</guid>
		<description><![CDATA[Which approach do you take to managing information overload on the web?  Do you unleash the firehose on yourself, subscribing to RSS feeds or relying on content aggregators to keep up with the news?  Or do you take small sips from the stream of content, regularly checking a small set of websites to look for [...]]]></description>
			<content:encoded><![CDATA[<p>Which approach do you take to managing information overload on the web?  Do you unleash the firehose on yourself, subscribing to RSS feeds or relying on content aggregators to keep up with the news?  Or do you take small sips from the stream of content, regularly checking a small set of websites to look for updates?  It&#8217;s a common problem: firehosers dedicate much of their time to finding the golden nugget in the stream, whereas the sippers have given up on hearing everything&#8212;they will settle for a subset of the news. In both cases, highly personalized information often misses the recipient, or arrives late.</p>
<p>We&#8217;ve been looking at ways to empower another source highly personalized content: our friends, family, and coworkers. They already share web pages with us by e-mail, in person, and on social networks.  Social link sharing is often high-quality and personalized: quality is vetted by people you trust, and personalization is implicit when your social network uses its notion of your interests and tastes to forward you links.  Social link sharing is not perfect either&#8212;we all have that friend that&#8217;s filling up our mailbox with e-mails that contain the subject line &#8220;Fwd: Fwd: Fwd: puppies,&#8221; and our considerate friends sometimes avoid sending us content to avoid being perceived as that person.</p>
<p><a href="http://people.csail.mit.edu/msbernst">Michael</a> and <a href="http://people.csail.mit.edu/marcua">I</a> have been working on a multi-stage project to <em>understand</em> the social processes behind web content sharing and to <em>support</em> those processes by introducing a novel tool called FeedMe to facilitate such sharing.  We&#8217;ve published our findings in <a href="http://hdl.handle.net/1721.1/49426">this technical report</a>, and have summarized the results below.  Today we&#8217;ll be sharing part 1, where we will discuss our initial exploration to understand social link sharing; in the next post, you&#8217;ll be hearing about the tool we built based on these findings, and you&#8217;ll get a chance to sign up for a public release of FeedMe!</p>
<p><strong>Link-Sharing Surveys</strong><br />
We conducted two surveys encompassing 140 users of Amazon Mechanical Turk, one focusing on what it&#8217;s like to receive posts, and the other focusing on what people think about when sharing.</p>
<p>In our receiver surveys, we learned several things:</p>
<ul>
<li><strong>E-mail is the dominant link-sharing medium</strong>.  Receivers cited a lack of time as a reason for why they do not visit content aggregators to find the top web content.  Sharers share content through email over all other mechanisms, because it is ubiquitous on the internet, and is a consistent protocol for sending content with anyone.  Another interesting tidbit: in addition to being the dominant link-sharing mechanism, e-mail tied regularly visiting one&#8217;s favorite websites as the the dominant information-finding mechanism.  Few users utilized feed readers, social aggregators, or social networks for links.  It turns out that e-mail is <em>not</em> dying in favor of Facebook and Twitter, especially not for the average user.<img class="aligncenter size-full wp-image-590" title="Table 1" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/table1.png" alt="Table 1" width="399" height="244" /><img class="aligncenter size-full wp-image-591" title="Table 2" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/table2.png" alt="Table 2" width="409" height="249" /></li>
<li><strong>Topic Interest Drives Enjoyment</strong>.  The biggest reasons receivers cited for liking shared content was the relevance and entertainment value of the content.  Off-topic shares were off-putting for them.  Sharers were conscious of this; relevance and timeliness were their biggest concerns.<img class="aligncenter size-full wp-image-595" title="Table 3" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/table3.png" alt="Table 3" width="399" height="141" /><img class="aligncenter size-full wp-image-596" title="Table 4" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/table4.png" alt="Table 4" width="402" height="198" /></li>
<li><strong>Link Sharing is Burdensome when it is a Repetitive Firehose</strong>.  Receivers disliked it most when sharers could not rate-limit themselves.  One user complained about a sharer who blindly forwards 10-20 e-mails per day.</li>
<li><strong>Small Audiences are Best</strong>.  A small recipient list is a good predictor of whether recipients will appreciate the content.</li>
<li><strong>Friends are the Most Common Target</strong>.  Sharers share more content with friends than family or co-workers, and their set of receiving friends are a small group that they regularly communicate with.</li>
<li><strong>Receivers Want Even More</strong>.  If guaranteed high-quality content, receivers claimed they would like to have more links shared with them.</li>
</ul>
<p>From active sharers, we learned:</p>
<ul>
<li><strong>Sharing Correlates with Seeking</strong>.  Individuals that identify with spending a large amount of time seeking out web content are also those that identify with sharing a large amount of content, and having their contacts in mind as they read web content.<img class="aligncenter size-full wp-image-592" title="Figure 2" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/figure2.png" alt="Figure 2" width="408" height="311" /></li>
<li><strong>Sharing does not Imply Sociality</strong>.  You might think that sharing activity is guided by how much of a social butterfly you are. Not so. We measured two types of social capital, and neither was able to explain sharing practice.</li>
</ul>
<p><strong>Next Up&#8230;</strong><br />
With this information in mind, we sought out to build a tool to help heavy information seekers share more content.  Next week we&#8217;ll be sharing FeedMe, the tool we built to address this issue.  Until then, feel free to look through our <a href="http://hdl.handle.net/1721.1/49426">technical report</a> for the detailed results.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 993px; width: 1px; height: 1px;"><img class="aligncenter size-full wp-image-591" title="Table 2" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/table2.png" alt="Table 2" width="409" height="249" /></div>
]]></content:encoded>
			<wfw:commentRss>http://groups.csail.mit.edu/haystack/blog/2009/10/13/feedme-understanding-and-supporting-social-link-sharing-on-the-web/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Java, OCaml, and F# (</title>
		<link>http://groups.csail.mit.edu/haystack/blog/2009/10/04/java-ocaml-and-fsharp/</link>
		<comments>http://groups.csail.mit.edu/haystack/blog/2009/10/04/java-ocaml-and-fsharp/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 03:31:19 +0000</pubDate>
		<dc:creator>Eirik Bakke</dc:creator>
				<category><![CDATA[User Interfaces]]></category>
		<category><![CDATA[Workflows]]></category>

		<guid isPermaLink="false">http://groups.csail.mit.edu/haystack/blog/?p=604</guid>
		<description><![CDATA[I am in a state of transition: from Java to OCaml.
I like Java as a platform primarily for its matureness, static typing, and great IDE integration (Netbeans in particular). But lately I&#8217;ve been finding myself manipulating a lot of tree structures—ASTs, query plans, nested relations, automatically generated GUI layouts—and Java is just too verbose. Even [...]]]></description>
			<content:encoded><![CDATA[<p>I am in a state of transition: from Java to OCaml.</p>
<div id="attachment_615" class="wp-caption alignnone" style="width: 456px"><img class="size-full wp-image-615 " title="A Java Project in NetBeans" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/10/091004-Netbeans-screenshot.png" alt="A Java Project in NetBeans" width="446" height="346" /><p class="wp-caption-text">A Java Project in NetBeans</p></div>
<p>I like Java as a platform primarily for its matureness, static typing, and great IDE integration (<a href="http://www.netbeans.org/">Netbeans</a> in particular). But lately I&#8217;ve been finding myself manipulating a lot of tree structures—ASTs, query plans, nested relations, automatically generated GUI layouts—and Java is just too verbose. Even using <a href="http://en.wikipedia.org/wiki/Visitor_pattern">visitor patterns</a>, the real application logic just gets too diluted among classes, methods, and variable declarations to help me gain any additional insights from the coding experience. I find this unacceptable, as one of the main reasons why I code is to solidify my understanding of otherwise theoretical ideas. It was time to move to <a href="http://caml.inria.fr/ocaml/index.en.html">OCaml</a>.</p>
<p>Well, I only had experience with <a href="http://www.smlnj.org/">SML</a> (a dialect of <a href="http://en.wikipedia.org/wiki/ML_%28programming_language%29">ML</a>) from compiler and programming languages classes and a few smaller projects during undergrad, but I knew that <a href="http://en.wikipedia.org/wiki/Tagged_union">sum types</a>, <a href="http://www.ocaml-tutorial.org/data_types_and_matching">pattern matching</a>, and <a href="http://en.wikipedia.org/wiki/Strongly_typed_programming_language">strong</a> <a href="http://en.wikipedia.org/wiki/Type_system#Static_typing">static</a> <a href="http://en.wikipedia.org/wiki/Type_inference">inferred</a> typing just might be what could fit 4000 lines of Java into 500 lines of <a href="http://en.wikipedia.org/wiki/Functional_programming">functional goodness</a>. OCaml turns out to be the more popular (and less obscure) dialect of ML, so it seemed like a good choice. I was concerned about tool integration, however.</p>
<p>I took it for granted that OCaml would force me to give up the many great IDE features I had been accustomed to with Java and Netbeans: code completion, editor/build system integration, live documentation browsing etc. Especially since I&#8217;m a Windows user (on the desktop, anyway), I had serious concerns about whether I would be able to set up a satisfactory work environment with OCaml. To the rescue came <a href="http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/">F# .NET</a>, or so it seemed.</p>
<div id="attachment_611" class="wp-caption alignnone" style="width: 505px"><img class="size-full wp-image-611 " title="Visual Studio + F#" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/10/091004-Visual-Studio-screenshot.png" alt="An F# Project in Visual Studio" width="495" height="386" /><p class="wp-caption-text">An F# Project in Visual Studio</p></div>
<p>F# is Microsoft Research&#8217;s new adoption of OCaml for the .NET environment. In essence, F# is to OCaml what C# was to Java, and one of its big selling points is integration with Visual Studio. Excited, I bought <a href="http://www.amazon.com/Expert-F-Experts-Voice-Net/dp/1590598504">Expert F#</a> (a very good reference book, which I will use even as I learn OCaml) and downloaded the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7bb32f32-9fac-4f34-ad56-b0bda130cf00&amp;displaylang=en">F# May 2009 Community Technology Preview</a> for Visual Studio 2008. I spent the next two weeks trying to learn and set up the environment to suit my needs, which included <a href="http://en.wikipedia.org/wiki/Compiler-compiler">parser generation</a> using fsyacc/fslex and heavy use of the F# interpreter to debug my code.</p>
<p>Unfortunately, F#&#8217;s Visual Studio integration is to this date rather rudimentary. I understand that the plugin is still in early development, and I&#8217;m sure it will improve a lot in the next year or two, but meanwhile, here&#8217;s a quick grief list:</p>
<ul>
<li>No syntax highlighting or code completion in fslex/fsyacc source files. (While parser generation might be seen as an obscure feature on any other platform, ML people do have a striking tendency to be compiler researchers or language designers&#8230;)</li>
<li>The FsYacc/FsLex MSBuild tasks do not consistently generate new parser/lexer files after the definition files have been modified, and a &#8220;clean&#8221; operation does not delete the generated files.</li>
<li>Console apps (e.g. &#8220;Hello, World!&#8221;) open in a new window which promptly disappears after the end of execution, instead of having their output routed to a console output window. Visual Studio might be a little weird in general here, but I couldn&#8217;t figure out how to fix it.</li>
<li>There is no easy way to use the interactive console in the context of the code that is being built in the current project. For instance, if my project code defines a number of modules, namespaces, functions, and data types which are all compiled into a DLL, I would like to always be able to access the most recent build of those definitions from the interactive console, without too much fuss (see below). Automatic copy-and-paste of raw source code into the interactive console does not do the job when you have multiple files (some possibly generated as part of the build process) and when you don&#8217;t want old definitions hanging around.</li>
</ul>
<p>Currently, a single iteration of interactive testing would involve the following steps:</p>
<ol>
<li> Make a change to the source code.</li>
<li> Manually delete fsyacc/fslex-generated files to make sure they are remade on the next build (see above).</li>
<li> Reset the interactive console (step 5 below will lock up the output DLL, causing the build to fail if we don&#8217;t do this).</li>
<li> Do a build.</li>
<li>Issue a command like <em>#r &#8220;Z:\\Unfinished\\EverythingCO\\trunk\\fswork\\qllib\\bin\Debug\\qllib.dll&#8221;;;</em> to make the compiled definitions available from the interactive console.</li>
</ol>
<p>Add this to the fact that the F# language itself is still bleeding edge, and the costs to productivity start outweighing the benefits. So for now, I decided to abandon F# in favor of OCaml, spending yet another two weeks trying to set up a great work environment.</p>
<div id="attachment_607" class="wp-caption alignnone" style="width: 456px"><img class="size-full wp-image-607 " title="Eclipse + OcaIDE" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/10/091004-Eclipse-screenshot.png" alt="Eclipse + OcaIDE" width="446" height="346" /><p class="wp-caption-text">An OCaml Project with the OCaIDE Eclipse Plugin</p></div>
<p>And there it was. With <a href="http://www.eclipse.org/">Eclipse</a> plus the <a href="http://ocaml.eclipse.ortsa.com/">OcaIDE plug-in</a> (and <a href="http://www.cygwin.com/">Cygwin</a> to provide some underlying prerequisites like <em>make</em>), I found everything I wanted. It took a little while to figure out, but in the end I had:</p>
<ul>
<li>A Makefile-based build system which would not only work on my own Eclipse/Windows environment, but also for anyone else who might like to check out the code in the future, for instance on Linux. The plug-in has a centralized Preference page to set up all the necessary OCaml paths. Note that the build system I use is just the standard <a href="http://caml.inria.fr/cgi-bin/hump.en.cgi?contrib=399">OCamlMakefile</a>—other options are available.</li>
<li>Code completion and object browsing.</li>
<li> Syntax highlighting in <a href="http://caml.inria.fr/pub/docs/manual-ocaml/manual026.html">ocamllex/ocamlyacc</a> definition files (though no code completion in ocamlyacc semantic actions.)</li>
<li> Automatic rebuild every time I save a file (standard Eclipse stuff).</li>
<li> Compilation of custom <a href="http://caml.inria.fr/pub/docs/manual-ocaml/manual023.html">OCaml toplevels</a>, giving me the kind of interactive development I mentioned above (though you still have to manually kill the existing custom toplevel before rebuilding).</li>
<li> Console app output shows up in a console (compare above).</li>
</ul>
<p>This, together with the matureness of the OCaml language, has made me choose OCaml over F# for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://groups.csail.mit.edu/haystack/blog/2009/10/04/java-ocaml-and-fsharp/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>On &#8220;Like&#8221;-ing Advertisements</title>
		<link>http://groups.csail.mit.edu/haystack/blog/2009/09/28/on-like-ing-advertisements/</link>
		<comments>http://groups.csail.mit.edu/haystack/blog/2009/09/28/on-like-ing-advertisements/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 14:57:32 +0000</pubDate>
		<dc:creator>Katrina Panovich</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://groups.csail.mit.edu/haystack/blog/?p=587</guid>
		<description><![CDATA[Our online lives are increasingly spent staring at advertisements and commercials.  Understandably so, we&#8217;re bombarded in hopes that we&#8217;ll click something, and someone, somewhere is making money off of our time this way.  Traditional models of online advertising are pay-per-impression (per view on websites), pay-per-click (for clicking through), or pay-per-action (where users actually act on [...]]]></description>
			<content:encoded><![CDATA[<p>Our online lives are increasingly spent staring at advertisements and commercials.  Understandably so, we&#8217;re bombarded in hopes that we&#8217;ll click something, and someone, somewhere is making money off of our time this way.  Traditional models of online advertising are pay-per-impression (per view on websites), pay-per-click (for clicking through), or pay-per-action (where users actually act on the ads they&#8217;ve seen).</p>
<p>Recently, a new trend in online advertising is appearing.  As many social sites incorporate &#8216;like&#8217; features or other approval mechanisms, some have started adding this feature to advertisements.  Hulu.com, which streams network-approved videos of television shows and movies, has this feature for their advertisements; another example is popular social networking site Facebook.com.</p>
<p>I can&#8217;t purport to speak on the actual financial models behind these actions, but I&#8217;m assuming that your thumbs-up on an ad is something that can be monetized as well.  From the user&#8217;s perspective , it&#8217;s a conflicted action.  Do we like being advertised to?  Are we approving this particular ad?  Are we asking to see more of the same?  Does a click of approval mean we&#8217;re interested in this product or service?</p>
<p>The &#8216;like&#8217; feature is a nebulous thing on its own.  If my friend posts that her car has gotten towed and I &#8216;like&#8217; that post, does that mean I don&#8217;t condone her actions and am satisfied that her car was towed, or is it a symbol of support for her?  However, the real-world analogue of this action comes much more naturally in communication, both verbal and non-verbal.  The confusion here arises when we&#8217;ve made this feedback discrete and countable, as opposed to  appropriately complex, complicated, and communcative actions in the non-digital world.</p>
]]></content:encoded>
			<wfw:commentRss>http://groups.csail.mit.edu/haystack/blog/2009/09/28/on-like-ing-advertisements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Safari and Firefox handle HTML 5 Manifest files</title>
		<link>http://groups.csail.mit.edu/haystack/blog/2009/09/26/how-safari-and-firefox-handle-html-5-manifest-files/</link>
		<comments>http://groups.csail.mit.edu/haystack/blog/2009/09/26/how-safari-and-firefox-handle-html-5-manifest-files/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 18:49:16 +0000</pubDate>
		<dc:creator>Edward Benson</dc:creator>
				<category><![CDATA[Web Architectures]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://groups.csail.mit.edu/haystack/blog/?p=567</guid>
		<description><![CDATA[I was doing some experiments with Adam in the lab on Friday, and we discovered some interesting variations in the way that Firefox and Safari implement the HTML 5 Cache Manifest specification. I think this is a particularly important feature to have implemented consistently across platforms because it is the make-or-break feature of HTML5 that [...]]]></description>
			<content:encoded><![CDATA[<p>I was doing some experiments with Adam in the lab on Friday, and we discovered some interesting variations in the way that Firefox and Safari implement the HTML 5 Cache Manifest specification. I think this is a particularly important feature to have implemented consistently across platforms because it is the make-or-break feature of HTML5 that will permit web applications to function offline. </p>
<h3>First, what is the manifest?</h3>
<p>For people who haven&#8217;t heard about this feature before, the manifest is essentially a special file that lists portions of a web site that should be cached locally for offline access. This is the feature of HTML 5 that will standardize the type of &#8220;airplane mode&#8221; access that GMail users have with Google&#8217;s custom Gears plugin.  </p>
<p>The manifest is served as a regular old file, with MIME type <i>text/cache-manifest</i>, and is linked from the <i>html</i> tag itself, as follows:</p>
<pre name="code" class="html">

&lt;html manifest="site.manifest"&gt;

..

&lt;/html&gt;
</pre>
<p>Once a web site is marked as being cached, then the browser will use the local cached copy of all the files specified in the manifest instead of attempting to load them from the internet. Say you&#8217;re on an airplane and type in the URL for <tt>http://my_cached_site.com</tt>. The browser will recognize it as a cached one, load it from its local storage instead, and then use a new JavaScript API to inform the web site that it is running in offline mode.  </p>
<p>So now for the important part, how do these two browsers (Firefox and Safari) handle this file?</p>
<h3>Firefox</h3>
<p>Upon loading an HTML5 document with a manifest attached, Firefox firsts asks permission to cache the site offline before requesting the manifest file from the server. Here is how the toolbar looks on my browser:</p>
<p><a href="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_ffox_permission.png"><img src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_ffox_permission-300x133.png" alt="cache_ffox_permission" title="cache_ffox_permission" width="300" height="133" class="aligncenter size-medium wp-image-569" /></a></p>
<p>And here is the server log (I&#8217;m using a Rails project to test this) to show that the manifest was not yet loaded:</p>
<p><a href="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_firefox_first_load.png"><img src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_firefox_first_load-300x83.png" alt="cache_firefox_first_load" title="cache_firefox_first_load" width="300" height="83" class="aligncenter size-medium wp-image-571" /></a></p>
<p>If you choose to allow offline caching, the web browser then requests the cache file, as can be seen from this screen shot.</p>
<p><a href="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_ffox_after_perm.png"><img src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_ffox_after_perm-300x83.png" alt="cache_ffox_after_perm" title="cache_ffox_after_perm" width="300" height="83" class="aligncenter size-medium wp-image-568" /></a></p>
<p>Now here&#8217;s the cool thing, I set the headers on the manifest file such that the manifest file itself should also be cached on the client side:</p>
<pre name="code" class="ruby">

        headers["Expires"] = "Fri, 30 Oct 2010 14:19:41 GMT"
        headers["Cache-Control"] = "max-age=3600, must-revalidate"
</pre>
<p>And the result of this is that the subsequent load, <b>no files at all are loaded from Firefox</b> &#8212; it operates entirely offline. Notice the completely empty server log as I reload the site 2..n times. </p>
<p><a href="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_ffox_second_load.png"><img src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_ffox_second_load-300x83.png" alt="cache_ffox_second_load" title="cache_ffox_second_load" width="300" height="83" class="aligncenter size-medium wp-image-570" /></a></p>
<h3>Safari</h3>
<p>Now let&#8217;s look at how Safari does it. Upon loading the web page, Safari also does not load the manifest file, as can be seen from this screen shot:</p>
<p><a href="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_safari_first_load.png"><img src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_safari_first_load-300x111.png" alt="cache_safari_first_load" title="cache_safari_first_load" width="300" height="111" class="aligncenter size-medium wp-image-572" /></a></p>
<p>However, it also does not ask any questions about offline access. The <i>next</i> time I load the web page, something strange happens. Safari checks the manifest file <i>twice</i> and then doesn&#8217;t load the actual HTML page (because it doesn&#8217;t have to). The double-loading of the manifest file appears to be on the second page load, not split 1/1 between the page departure and subsequent reload. A little strange, if you ask me. </p>
<p><a href="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_safari_second_load.png"><img src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_safari_second_load-300x136.png" alt="cache_safari_second_load" title="cache_safari_second_load" width="300" height="136" class="aligncenter size-medium wp-image-573" /></a></p>
<p>Furthermore, when I reload the page, despite the HTTP headers specifying that the manifest should be cached, Safari reloads the manifest file. Though, at least it only loads it once for every subsequent time:</p>
<p><a href="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_safari_third_load.png"><img src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/cache_safari_third_load-300x83.png" alt="cache_safari_third_load" title="cache_safari_third_load" width="300" height="83" class="aligncenter size-medium wp-image-574" /></a></p>
<h3>Conclusion</h3>
<p>I&#8217;m no spec-master, but it seems like Firefox&#8217;s implementation of this feature is what I would want to happen as a web architect, while Safari&#8217;s behavior seems a bit strange. </p>
<p>Firefox:</p>
<ol>
<li>Only loads the web page once </li>
<li>Asks the user for permission to enter offline mode</li>
<li>Only downloads the manifest file once if given permission</li>
<li>Then obeys HTTP Cache Control headers to suppress reloading the manifest file on future loads</li>
</ol>
<p>If Safari were to also behave like this, there are a few fixes that need to be implemented. Namely: </p>
<ol>
<li>Ask the user if offline access should be allowed</li>
<li>Load the manifest when the user loads the page the first time (and approves offline mode), not the second time, when the user might be on an airplane</li>
<li>Stop loading the manifest file multiple times in a single page load</li>
<li>Start obeying the HTTP cache headers so that <i>zero</i> web connections are necessary if the cache says so</li>
</ol>
<p>Safari&#8217;s Manifest handling quirks aside, both browser teams should be applauded for so aggressively implementing the HTML5 spec. It is a real treat as someone researching web platforms to get to test the in-progress spec on real browsers instead of just talking about what might eventually happen down the road. </p>
]]></content:encoded>
			<wfw:commentRss>http://groups.csail.mit.edu/haystack/blog/2009/09/26/how-safari-and-firefox-handle-html-5-manifest-files/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>eyebrowse &#124; update and user reactions</title>
		<link>http://groups.csail.mit.edu/haystack/blog/2009/09/22/eyebrowse-update-and-user-reactions/</link>
		<comments>http://groups.csail.mit.edu/haystack/blog/2009/09/22/eyebrowse-update-and-user-reactions/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 06:48:15 +0000</pubDate>
		<dc:creator>Brennan Moore</dc:creator>
				<category><![CDATA[Search]]></category>
		<category><![CDATA[User Interfaces]]></category>
		<category><![CDATA[Web Architectures]]></category>
		<category><![CDATA[Information visualization]]></category>
		<category><![CDATA[life-tracking]]></category>
		<category><![CDATA[real-time]]></category>
		<category><![CDATA[social browsing]]></category>
		<category><![CDATA[temporal data]]></category>

		<guid isPermaLink="false">http://groups.csail.mit.edu/haystack/blog/?p=530</guid>
		<description><![CDATA[
Today, we rely increasingly on the Web for a multitude of everyday activities that run the gamut from simple queries to complex social interactions. As a result, our browsing patterns are starting to reflect the intricate and multi-faceted nature of our daily lives, but web browsers retain little of the nuanced richness of this information [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left">
<p style="text-align: left">Today, we rely increasingly on the Web for a multitude of everyday activities that run the gamut from simple queries to complex social interactions. As a result, our browsing patterns are starting to reflect the intricate and multi-faceted nature of our daily lives, but web browsers retain little of the nuanced richness of this information beyond simple &#8220;page histories&#8221; of previously visited sites. Analytics providers such as Google and Alexa regularly collect statistics of browsing activity, but such analytics are sitecentric and not clustered around individual end-users. Moreover, despite the social nature of web browsing, individuals have little awareness of what others are looking at and how often; while sites like del.icio.us facilitate social exploration, they focus on what people choose to share rather than on their actual habits.</p>
<p style="text-align: left">When we created <a href="http://eyebrowse.csail.mit.edu">Eyebrowse</a>, we sought to allow users to capture their web browsing activity to examine whether it could help them better understand how they and their friends use the web.  Specifically, Eyebrowse allowed people to examine long term patterns in their web browsing activity and facilitates sharing, comparison, and increased social awareness of browsing patterns among friends. and finally, to form a public, democratized corpus of web browsing data for the research community. So, how much are people willing to share, and how does sharing impact the web browsing experiences and habits of the individual?</p>
<p style="text-align: left">After three weeks, we have over 200 users sharing selected portions of their web browsing activity. We surveyed some of them and found that public web browsing was most useful to them for seeing socially derived information in context of their own web browsing activity and for viewing other users profiles for the purposes of social awareness and information discovery. Almost all users reported social- or work-related privacy concerns and their comments indicated a fear of being misrepresented by their web browsing activity. To help cope with this we are considering implementing a &#8216;greylist&#8217; that would hide specific page titles, but track overall activity and multiple whitelists, such as one for home, and one for work.</p>
<p><img class="size-full wp-image-552 aligncenter" src="http://groups.csail.mit.edu/haystack/blog/wordpress/wp-content/uploads/2009/09/eyebrowse_plugin.jpg" alt="eyebrowse_plugin" width="306" height="288" /></p>
<p>We plan to continue to grow Eyebrowse into a service that supports social browsing through collaborative filtering and other crowd-sourcing techniques, promotes self-awareness among users of both the patterns in their browsing activities, and provides researchers with useful web browsing data without violating the users&#8217; privacy sensibilities.</p>
<p>Thanks to all our users and supporters! We were recently featured on <a href="http://infosthetics.com/archives/2009/09/eyebrowse_record_visualize_and_share_your_browser_history.html">infosthetics</a><a href="http://infosthetics.com/archives/2009/09/eyebrowse_record_visualize_and_share_your_browser_history.html"></a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://groups.csail.mit.edu/haystack/blog/2009/09/22/eyebrowse-update-and-user-reactions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A quick note on quick notes, part two</title>
		<link>http://groups.csail.mit.edu/haystack/blog/2009/09/21/a-quick-note-on-quick-notes-part-two/</link>
		<comments>http://groups.csail.mit.edu/haystack/blog/2009/09/21/a-quick-note-on-quick-notes-part-two/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 00:16:16 +0000</pubDate>
		<dc:creator>Max Van Kleek</dc:creator>
				<category><![CDATA[PIM]]></category>
		<category><![CDATA[User Interfaces]]></category>
		<category><![CDATA[listit]]></category>
		<category><![CDATA[note-taking]]></category>
		<category><![CDATA[personal information management]]></category>

		<guid isPermaLink="false">http://groups.csail.mit.edu/haystack/blog/?p=521</guid>
		<description><![CDATA[Last April we presented results at CHI 2009 about how people used List-It, our open source Firefox plugin when it was released in September 2008.  Since this initial study, we&#8217;ve had quite a few more users &#8211; we just hit our 13,000th registered account on September 1st, 2009!  More importantly, more than 600 people have [...]]]></description>
			<content:encoded><![CDATA[<p>Last April <a href="http://people.csail.mit.edu/~emax/papers/listit-chi2009.pdf">we presented results at CHI 2009</a> about how people used <a href="http://listit.csail.mit.edu">List-It</a>, our <a href="http://code.google.com/p/list-it">open source Firefox plugin</a> when it was released in September 2008.  Since this initial study, we&#8217;ve had quite a few more users &#8211; we just hit our 13,000th registered account on September 1st, 2009!  More importantly, more than 600 people have <a href="http://listit.csail.mit.edu/study/study.html">given us permission to analyze their notes for science</a>, which has made it possible to discover interesting trends. Here are some initial findings from purely looking at note statistics:</p>
<ul>
<li>Memory triggers (reminders) are important &#8211; from a randomly selected subset of the notes we examined, 58% were primarily <em>memory triggers</em>, a general term that refers to notes like to-dos and reminders that serve a primary purpose of calling your attention to something.</li>
<li>Memory triggers are easy to <em>identify</em> but not to <em>interpret</em> &#8211; when people other than a note&#8217;s author are shown a memory trigger note, there&#8217;s strong agreement (consensus) identifying it as such (k=0.77, N=2500). However, they&#8217;re difficult to <em>interpret</em> than other note types because of their brevity and ambiguity. For example, the note &#8220;lincoln park&#8221; might be a memory trigger, but it is not clear its interpretation: does the author have to go to Lincoln Park, in Chicago? Is it a reference requiring context, such as a name of a book to read? Is it a reminder to listen to the band <em>Linkin Park</em>?</li>
<li>Shorter notes are deleted more quickly than longer notes &#8211; This is likely because short notes often represent memory-triggers which are often discarded after use, whereas longer notes tend to be reference items and items kept for posterity.</li>
<li>Bookmarking &#8211; Notes containing URLs contain little text modifying them &#8211; 36% contained only the URL; the median number of words per-note with URL was 2.</li>
<li>Copy and paste from the web &#8211; A significant number of individuals regularly copy and paste entire fragments of web pages, e-mails, and even spreadsheets into their notes for safekeeping.  These kinds of notes account for the majority of notes which are over 200 words long and which are kept for more than a month.</li>
<li>There <em>seem to be</em> are two types of people &#8211; keepers and deleters.  Although the statistics here aren&#8217;t extremely significant, the distribution of percentage of notes people delete has peaks at around 30% and above 90%.  This implies that most people delete a small fraction of their notes, while others delete most of their notes.  An initial inspection reveals that this latter category are people who use List-It primarily as a to-do manager (and delete notes when they&#8217;re done).</li>
<li>Searches to personal note collections were very infrequent but repeated &#8211; The median number of searches people performed over a one month period of usage was 5, (min: 0: max: 122).  Among the searches, 60.2% constituted repeated searches (searches that had been done at least once before on a separate occasion).  Interestingly and not surprisingly, the most frequently searched term was &#8220;todo&#8221;.</li>
</ul>
<p>Based on interviews and surveys with participants, we also arrived with the following conclusions:</p>
<ul>
<li>List-It was used to permanently keep track of a number of different kinds of information.  Instead of being merely a temporary resting place, interviewees mentioned that they kept most (if not all) of certain kinds of information permanently in List-It.  The kinds of information that participants most often cited keeping entirely in list-it were: 1) Ideas and brainstorming. 2) Text copied and pasted from the web. 3) Short-term to-do reminders. 4) Things to look up some day.</li>
<li>Ease of creating and accessing notes in List-It were its most valued attributes. A majority of users rated  &#8220;Much easier&#8221; (1) to write information down in than other tools they used (on a 7-point scale), and &#8220;Somewhat easier&#8221; to look things up in than their other tools.</li>
</ul>
<p>We are currently in the process of preparing a paper describing these results in detail; please stay tuned and we&#8217;ll announce when this is available.  But we think that these results immediately suggest ways that we think we can improve how well List-It works for people.  First, since speed and ease of use were important, we plan to work on making List-It more easily accessible directly from places outside the browser, and to let users directly add links to their List-Its by pressing a single hotkey/button.  Second, due to the importance of reminding, we plan to investigate ways to add reminding to List-It such that it will effectively show people notes at appropriate times. More on this later!</p>
]]></content:encoded>
			<wfw:commentRss>http://groups.csail.mit.edu/haystack/blog/2009/09/21/a-quick-note-on-quick-notes-part-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
