<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Locker Project&#039;s Blog &#187; singly</title>
	<atom:link href="http://blog.lockerproject.org/tag/singly/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lockerproject.org</link>
	<description></description>
	<lastBuildDate>Tue, 01 May 2012 19:46:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.lockerproject.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/105bb783ef008e8e2c6c5e4ba210ee9f?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Locker Project&#039;s Blog &#187; singly</title>
		<link>http://blog.lockerproject.org</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.lockerproject.org/osd.xml" title="Locker Project&#039;s Blog" />
	<atom:link rel='hub' href='http://blog.lockerproject.org/?pushpress=hub'/>
		<item>
		<title>Next steps for the Locker Project</title>
		<link>http://blog.lockerproject.org/2012/05/01/next-steps-for-the-locker-project/</link>
		<comments>http://blog.lockerproject.org/2012/05/01/next-steps-for-the-locker-project/#comments</comments>
		<pubDate>Tue, 01 May 2012 19:46:06 +0000</pubDate>
		<dc:creator>quartzjer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[singly]]></category>
		<category><![CDATA[survey]]></category>

		<guid isPermaLink="false">http://blog.lockerproject.org/?p=261</guid>
		<description><![CDATA[Since we started this journey, the Locker Project and Singly have progressed side-by-side, with Singly as the hosted experience that sponsors the Locker Project. After opening Singly’s Locker hosting to developers and getting lots of feedback on all of the possibilities that a hosted Locker could enable, the resounding theme was that developers want to [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=261&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Since we started this journey, the <a href="http://lockerproject.org/">Locker Project</a> and <a href="https://singly.com/">Singly</a> have progressed side-by-side, with Singly as the hosted experience that sponsors the Locker Project. </p>
<p>After opening Singly’s Locker hosting to developers and getting lots of feedback on all of the possibilities that a hosted Locker could enable, the resounding theme was that developers want to use the API first and foremost.  Based on that, the Singly team has been working on an <a href="https://github.com/Singly/hallway">effort</a> to bolster the API aspects of the codebase so that it can support apps at a large scale.  There’s been excellent progress in creating a cross-platform, cross-service API that provides merged, normalized and de-duplicated data on which apps can be built.</p>
<p>So now there is the question of how best to support and improve the open-source Locker Project, since it encompasses more than just an API.  It’s an effort everyone in this community cares deeply about and has helped create a shared vision for, so we’re calling upon you to help decide what the most powerful direction for the Locker Project should be.</p>
<p>Please help take the time to fill out this <a href="https://docs.google.com/a/singly.com/spreadsheet/viewform?formkey=dFpPQ2dNNHQ3ZC1oSWJES19qaXpzOUE6MQ">survey</a>, and most importantly, thank you all for your ongoing support and hard work!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lockerproject1.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lockerproject1.wordpress.com/261/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=261&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lockerproject.org/2012/05/01/next-steps-for-the-locker-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ec0947c180576271168f19f2b72cf13c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">quartzjer</media:title>
		</media:content>
	</item>
		<item>
		<title>Synclets</title>
		<link>http://blog.lockerproject.org/2011/08/19/synclets/</link>
		<comments>http://blog.lockerproject.org/2011/08/19/synclets/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 00:48:43 +0000</pubDate>
		<dc:creator>ctide</dc:creator>
				<category><![CDATA[Synclets]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[lockerproject]]></category>
		<category><![CDATA[singly]]></category>
		<category><![CDATA[synclets]]></category>

		<guid isPermaLink="false">http://lockerproject1.wordpress.com/2011/08/19/synclets</guid>
		<description><![CDATA[Temas touched on this a bit in his last blog post, but I wanted to write a more detailed explanation of where things are at for synclets.  The short synopsis of synclets is that they are a simple way to pull data from a provider and feed it into the system.  Synclets are basic routines [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=4&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Temas touched on this a bit in his <a href="http://blog.lockerproject.org/tech-update-4">last blog post</a>, but I wanted to write a more detailed explanation of where things are at for synclets.  The short synopsis of synclets is that they are a simple way to pull data from a provider and feed it into the system.  Synclets are basic routines that are fed authentication keys and some configuration and uses that information to pull down data from the provider which is funneled back into locker core via JSON.  They are a drastic reduction in scope for what&#8217;s currently required for a connector.  Adding new connectors currently relies on the developer managing a lot of pieces (authentication, running a web server, processing data from the source, feeding that data into Mongo, generating correct events) and since the majority of those pieces are fairly common across all of the connectors, we want to drive towards providing a system that manages these common components.</p>
<p>The first step towards this end was to convert the stable connectors into packages composed of synclets being managed by the common code.  This has been completed (we&#8217;re still working on cleaning up some of the patterns to get them right, but we have a start checked in that we&#8217;re playing with) and they are now ready for people to start poking at.  The current plan is to eventually migrate all of the connectors (and all the data your connectors have been collecting!) to synclet powered versions.  For the time being, existing connectors won&#8217;t be affected by any of the work being done around synclets.</p>
<p>The missing pieces that will tie this work together and make it easy for developers to implement their own synclets mostly surround authentication and creating a UI for managing installed synclets.  We will be implementing something like <a href="https://github.com/bnoguchi/everyauth">everyauth</a> to manage authentication for synclets at some point in the near future.  This will enable us to simplify both the UI, and the implementation, for authentication and allow us to provide authentication keys to any number of synclets that would like to pull data from a provider.</p>
<p><span style="font-size:medium;"><strong>What does this mean to developers hacking on connectors today?</strong></span></p>
<p>Not a whole lot just yet.  We want to spend some more time ensuring that we have this pattern right, and connectors will continue to exist exactly as they are today during that period.  If you&#8217;re feeling super adventurous, feel free to poke through some of the code in lsyncmanager, and look at the new synclets that are now provided with the connector code for Facebook, Twitter, Github, Foursquare, and Google Contacts.  Once the authentication and UI pieces have been baked into the project, we&#8217;ll write a more detailed post describing exactly how you would use those pieces to build synclets.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lockerproject1.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lockerproject1.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=4&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lockerproject.org/2011/08/19/synclets/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/a89404659a003b57ae3100392f78f806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ctide</media:title>
		</media:content>
	</item>
		<item>
		<title>The Locker Project’s First Hackathon, EVAR!</title>
		<link>http://blog.lockerproject.org/2011/07/26/the-locker-project%e2%80%99s-first-hackathon-evar/</link>
		<comments>http://blog.lockerproject.org/2011/07/26/the-locker-project%e2%80%99s-first-hackathon-evar/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 16:59:00 +0000</pubDate>
		<dc:creator>tikva</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hackathon]]></category>
		<category><![CDATA[locker project]]></category>
		<category><![CDATA[QS]]></category>
		<category><![CDATA[quantified self]]></category>
		<category><![CDATA[singly]]></category>

		<guid isPermaLink="false">http://lockerproject1.wordpress.com/2011/07/26/the-locker-project%e2%80%99s-first-hackathon-evar</guid>
		<description><![CDATA[The Locker Project recently had its very first hackathon at Singly&#8217;s headquarters in San Francisco! Nearly 30 developers in the Quantified Self community came out, passionately hacking their way through Locker Project goodness. I speak on behalf on the entire Singly team when I say how appreciative we all are for the loving attention the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=11&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div style="background-color:transparent;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">The Locker Project recently had its very first hackathon at Singly&rsquo;s headquarters in San Francisco! Nearly 30 developers in the Quantified Self community came out, passionately hacking their way through Locker Project goodness. I speak on behalf on the entire Singly team when I say how appreciative we all are for the loving attention the Locker Project is getting.</span><br /><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">&nbsp;</span><br /><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">The hackathon was super exciting for me and the entire team, working with so many excited developers. We had a ton of fun over beers, tacos and cupcakes, thanks to <a href="http://www.cupsandcakesbakery.com/">Cups &amp; Cakes Bakery</a>! </span><br /><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">&nbsp;</span><br /><span style="font-family:Arial;"><span style="font-family:Arial;"><span style="font-size:15px;"><a href="http://www.flickr.com/apps/slideshow/show.swf?v=71649">http://www.flickr.com/apps/slideshow/show.swf?v=71649</a></span></span><br /></span><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">&nbsp;</span><br /><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">We learned a bunch about what&rsquo;s working and what can be better, which we&rsquo;ve taken to heart. As people went through the process of installing lockers and building connectors and applications, we discovered install issues we weren&rsquo;t aware of and needs for documentation to make building easier and quicker. &nbsp;The team took the feedback to heart and has been working on documentation on the </span><span style="font-size:11pt;font-family:Arial;color:#000099;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;"><a href="https://github.com/LockerProject/Locker/wiki">wiki</a></span><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"> and tarballs that come prepackaged with all dependencies intact!</span><br /><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">&nbsp;</span><br /><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Here are some examples of what folks worked on during the evening and since:</span></div>
<div style="background-color:transparent;">
<ul style="font-family:Times;font-size:medium;">
<li><span style="font-family:Arial;font-size:15px;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">The incredible Chris Faulkner made </span></span><span style="font-family:Arial;font-size:15px;"><a href="https://github.com/LockerProject/Locker/commit/30a7100055ab488c4c93bbf39e2991ef81a216f0"><span style="font-size:11pt;font-family:Arial;color:#000099;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;">uninstalling application in lockers</span></a></span><span style="font-family:Arial;font-size:15px;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"> possible!</span></span></li>
</ul>
<ul style="font-family:Times;font-size:medium;">
<li><span style="font-family:Arial;font-size:15px;"><a href="http://twitter.com/lhl">Leonard Lin</a> worked on a &ldquo;geo viewer&rdquo; application to get his contacts onto a map so when he visits a city, he can see on a map who lives there along with how to get in touch with them. He used the Locker Project&rsquo;s Contact Collection to pull in his contacts along with the FourSquare Connector to pull in latitude and longitude for each contact and draw markers on his map view. He said he had to &ldquo;blindly&rdquo; go through the Contacts Collection to figure out what the geodata was, which was difficult. He said he wants geodata to be a first class Collection and so do we, so we are working on this!</span></li>
</ul>
<ul>
<li style="font-family:Times;font-size:medium;"><span style="font-family:Arial;font-size:15px;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><a href="http://twitter.com/repeatingbeats">Steve Lloyd</a> worked on building a Connector for <a href="http://dailymile.com">Dailymile.com</a>, which is where he gets his running workouts. He wasn&rsquo;t able to get the Connector to sync data, but he does have it authenticating and pulling data over at: </span></span><span style="font-family:Arial;font-size:15px;"><span style="font-size:11pt;font-family:Arial;color:#000099;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;"><a href="https://github.com/repeatingbeats/Locker/commits/dailymile">https://github.com/repeatingbeats/Locker/commits/dailymile</a></span></span><span style="font-family:Arial;font-size:15px;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">. He&rsquo;ll be sending a pull request once he&rsquo;s complete with it!&nbsp; </span></span><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Steve does pretty heavy work in Node.js/MongoDB in his day job, so didn&rsquo;t have problems getting started with the code. However, he did find that getting started on a connector was somewhat difficult. He said our documentation is very good in terms of what files we provide, but still thinks our documentation is light on concrete examples for common patterns such as syncing data, storing data, and passing events. He says he knows he&rsquo;s supposed to do those things, but he doesn&rsquo;t really know why (beyond the basic premise of the Locker Project) at this point. &nbsp;As a result of his feedback, we&rsquo;ve created a step-by-step &ldquo;How to create a Connector&rdquo; using FourSquare as an example which can be found here:</span><a href="https://github.com/LockerProject/Locker/wiki/Create-a-new-connector"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"> </span><span style="font-size:11pt;font-family:Arial;color:#000099;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;"><a href="https://github.com/LockerProject/Locker/wiki/Create-a-new-connector" rel="nofollow">https://github.com/LockerProject/Locker/wiki/Create-a-new-connector</a></span></a><span style="font-family:Times;font-size:medium;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">.</span></span></li>
</ul>
<ul>
<li style="font-family:Times;font-size:medium;"><span style="font-family:Arial;font-size:15px;"><a href="http://twitter.com/pauloppenheim">Paul Oppenheim</a> spent time porting Slackulator, an application he had already made, over to work on the Locker Project. Slackulator tells you how many minutes per day you would waste (er take) to keep up with individual people you are following on Twitter. He was able to pull tweets in and was hoping to get to process them service side and then draw data once stored by got stopped.</span></li>
</ul>
<ul>
<li style="font-family:Times;font-size:medium;"><span style="font-family:Arial;font-size:15px;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><a href="http://twitter.com/provoost">Sjors Provoost</a> built a <a href="http://wakemate.com/">WakeMate</a> Connector. He said the skeleton code was hard to work with, because it was too closely tied to specific ways of doing things (like connecting to APIs and dealing with OAuth). He got far enough to </span></span><span style="font-family:Arial;font-size:15px;"><a href="https://github.com/LockerProject/Locker/pull/117"><span style="font-size:11pt;font-family:Arial;color:#000099;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;">submit a pull request</span></a></span><span style="font-family:Arial;font-size:15px;"><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"> containing his WakeMate work.</span></span></li>
</ul>
<ul>
<li style="font-family:Times;font-size:medium;"><span style="font-family:Arial;font-size:15px;"><a href="http://twitter.com/jmathai">Jaisen Mathai</a>: Tried to make a repository viewer for Github&rsquo;s commits and diffs. They got confused because there isn&rsquo;t a repository Collection so had to go to the Connector. Said it feels like you should never query the Connector directly, and that you should always query a Collection. It&rsquo;s fine to get data from connectors in the absence of a collection, it&rsquo;s just that collections are the preferred.</span></li>
</ul>
<p><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Here&rsquo;s a </span><span style="font-size:11pt;font-family:Arial;color:#000099;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;"><a href="https://twitter.com/#!/lockerproject/qshackathon">Twitter lis</a></span><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><a href="https://twitter.com/#!/lockerproject/qshackathon">t</a> of some of the people who attended. The </span><span style="font-size:11pt;font-family:Arial;color:#000099;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;"><a href="http://qslockerprojecthackathon.eventbrite.com/">Evenbrite page</a></span><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"> has a full list of folks too.</span>
<p /><span style="font-size:11pt;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">Finally, the hackathon went so well, that we&rsquo;ve decided to have them monthly, so please keep your eyes peeled for news about this! </span></div>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lockerproject1.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lockerproject1.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=11&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lockerproject.org/2011/07/26/the-locker-project%e2%80%99s-first-hackathon-evar/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b8deab9aa59cb05f26e69afba524eea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tikva</media:title>
		</media:content>
	</item>
	</channel>
</rss>
