<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://ideas.4brad.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Brad Ideas - Data Deposit Box instead of data portability - Comments</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability</link>
 <description>Comments for &quot;Data Deposit Box instead of data portability&quot;</description>
 <language>en</language>
<item>
 <title>Skype and servers</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-12430</link>
 <description>&lt;p&gt;The Skype trick has some merit, though some people are a bit bothered by it.  In order to be superior to Facebook, it has to work from your mobile phone and laptop and desktop even when the others are off or disconnected from the net, just as Facebook and the rest do.   &lt;/p&gt;

&lt;p&gt;The question is, can you do that with the Skype supernode approach?    With Skype, the calls go through the supernodes (and failed last week because of this) but they are encrypted end to end so the supernodes can&amp;#8217;t listen.   If you want to rely on the servers of random people to provide hosting and processing for your data, then they could possibly look at the data and publish strange things they find &amp;#8212; a non-starter I think.  You can&amp;#8217;t do it all with zero knowledge operations.&lt;/p&gt;
</description>
 <pubDate>Sun, 26 Dec 2010 07:04:41 -0800</pubDate>
 <dc:creator>brad</dc:creator>
 <guid isPermaLink="false">comment 12430 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>Yes and no</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-12429</link>
 <description>&lt;p&gt;Yes, for anything to take down Facebook et al, it has to actually be better, not just free-er.&lt;/p&gt;
&lt;p&gt;However, I do disagree with the installing a server bit. It just has to be really easy.&lt;/p&gt;
&lt;p&gt;People install software all the time - games, apps, networking tools like Skype. If anything, things like the Android and iPhone app stores are making this easier and more common.&lt;/p&gt;
&lt;p&gt;The complexity of server software is not necessarily any higher than the complexity of something like a web browser or a word processing tool - making a server of some sort equally easy to install, use and keep secure/up-to-date is in no way impossible. Hard yes, but not impossible.&lt;/p&gt;
&lt;p&gt;Arguably, companies like Skype are doing it already. They just don&#039;t tell people it&#039;s a server. :-P&lt;/p&gt;
</description>
 <pubDate>Sat, 25 Dec 2010 11:21:07 -0800</pubDate>
 <dc:creator>Bjarni Rúnar Einarsson</dc:creator>
 <guid isPermaLink="false">comment 12429 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>A good step</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-12427</link>
 <description>&lt;p&gt;Though I remain convinced that to get adoption beyond the true believers, the final result must match or exceed what people get from facebook and similar sites in terms of ease of use, performance, abilities, and initially cost &amp;#8212; ie. free.&lt;/p&gt;

&lt;p&gt;Down the road I suspect people will pay for their own hosting to get better that what is offered free or free-with-ads.   But it must be as easy to sign up as it is to sign up for facebook, which is a high bar but one that must be overcome.  Having to set up a server yourself is a non-starter.&lt;/p&gt;
</description>
 <pubDate>Thu, 23 Dec 2010 11:00:45 -0800</pubDate>
 <dc:creator>brad</dc:creator>
 <guid isPermaLink="false">comment 12427 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>A step in this direction?</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-12423</link>
 <description>&lt;p&gt;I just shared this article with the guys at the Unhosted project, figured I might as well spread the link both ways.&lt;/p&gt;
&lt;p&gt;Unhosted (&lt;a href=&quot;http://www.unhosted.org&quot; title=&quot;www.unhosted.org&quot;&gt;www.unhosted.org&lt;/a&gt;) aims to realize a somewhat simplified version of this vision, creating a standard way to separate data storage from application logic in Javascript web-apps. It&#039;s a small step, but it&#039;s in the right direction.&lt;/p&gt;
&lt;p&gt;As I mentioned to you in an e-mail a couple of months back, I&#039;m working on a lower segment of the stack (&lt;a href=&quot;http://www.pagekite.net&quot; title=&quot;www.pagekite.net&quot;&gt;www.pagekite.net&lt;/a&gt;), trying to give people a realistic way to run globally reachable servers on personal hardware, so they can actually self-host their sites (or just data) if they so choose.&lt;/p&gt;
&lt;p&gt;Both projects would obviously benefit from advice, testing, advocacy or all three. :-)&lt;/p&gt;
</description>
 <pubDate>Thu, 23 Dec 2010 04:54:07 -0800</pubDate>
 <dc:creator>Bjarni Rúnar Einarsson</dc:creator>
 <guid isPermaLink="false">comment 12423 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>Building libraries</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-12394</link>
 <description>&lt;p&gt;One thing I envision is that when an application starts storing data about you on your own server, they might not just store the data but offer classes which can be used to work with the data, and abstract it.   In fact, one can imagine arranging it so that the only way to get at most data is through the official interfaces of the classes, with a security model that prevents other approaches.  This can allow things like logging access to data and so on.    I don&amp;#8217;t know if Javascript can do this, perhaps it can.&lt;/p&gt;

&lt;p&gt;Of course, just as there are translators from other languages to JS, there are implementations of JS for the JVM, though I don&amp;#8217;t know if they have fully caught up with everything in modern server side javascript.&lt;/p&gt;

&lt;p&gt;Overall the goal is to provide important data access and sandbox features, but otherwise restrict the language choice of coders as little as possible.&lt;/p&gt;
</description>
 <pubDate>Wed, 08 Dec 2010 23:10:00 -0800</pubDate>
 <dc:creator>brad</dc:creator>
 <guid isPermaLink="false">comment 12394 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>Javascript anyone???</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-12393</link>
 <description>&lt;p&gt;I experiment with some of these concepts in &lt;a href=&quot;http://objectcloud.com&quot; rel=&quot;nofollow&quot;&gt;ObjectCloud&lt;/a&gt;, my web server that&#039;s designed like an operating system. It acts as a form of a personal data store.&lt;/p&gt;
&lt;p&gt;One way that I could accomplish running untrusted 3rd party code is with a simple in-browser Javascript sandbox and XHTML. There could be a way for my server to grab XHTML and Javascript from an untrusted source and filter it to a subset of trusted tags and scripts. I could then pass it various APIs for limited access to the users&#039; data. (ObjectCloud has a rich Javascript API for many kinds of data.) The biggest challenge is some way to prevent malicious Javascript from generating script tags that let it communicate with APIs outside of the sandbox; thus leaking the users&#039; data. (I know Yahoo has done some work in this area, but I don&#039;t know if it&#039;s applicable.)&lt;/p&gt;
</description>
 <pubDate>Wed, 08 Dec 2010 15:00:18 -0800</pubDate>
 <dc:creator>GWBasic</dc:creator>
 <guid isPermaLink="false">comment 12393 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>Lots of good work here</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-6079</link>
 <description>&lt;p&gt;But it doesn&amp;#8217;t resolve &amp;#8212; perhaps nothing can &amp;#8212; the almost tautology that making it easier for outside programs to get at the data makes it easier for the data to flow outside.   The challenge is how to serve two masters:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Making it easy to program applications that use the data&lt;/li&gt;
&lt;li&gt;Keeping the data close to your vest&lt;/li&gt;
&lt;/ol&gt;
</description>
 <pubDate>Mon, 22 Sep 2008 11:44:06 -0700</pubDate>
 <dc:creator>brad</dc:creator>
 <guid isPermaLink="false">comment 6079 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>To contact me</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-5348</link>
 <description>&lt;p&gt;Send me an email!&lt;/p&gt;
</description>
 <pubDate>Fri, 16 May 2008 20:03:25 -0700</pubDate>
 <dc:creator>brad</dc:creator>
 <guid isPermaLink="false">comment 5348 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>We Should Talk</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-5347</link>
 <description>&lt;p&gt;Brad,&lt;/p&gt;
&lt;p&gt;Read your post at Scoble&#039;s blog after posting my own - your must have come in about the same time.  &lt;/p&gt;
&lt;p&gt;I had to read (ok, quickly scanned) your post here, and find you and I are very much on the same page.&lt;/p&gt;
&lt;p&gt;I am working with a group that wants to develop what it believes is the answer - perhaps we should talk.&lt;/p&gt;
&lt;p&gt;Please contact me at your convenience,&lt;/p&gt;
&lt;p&gt;Allan Sabo&lt;br /&gt;
Alti Success Strategies&lt;br /&gt;
Experts at Integrating Social Media and Internet Marketing&lt;/p&gt;
</description>
 <pubDate>Fri, 16 May 2008 18:02:02 -0700</pubDate>
 <dc:creator>Allan Sabo</dc:creator>
 <guid isPermaLink="false">comment 5347 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>Data Spaces in the Clouds</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-5316</link>
 <description>&lt;p&gt;Brad,&lt;/p&gt;
&lt;p&gt;What you describe is what I&#039;ve referred to as &lt;a href=&quot;http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1261&quot; rel=&quot;nofollow&quot;&gt;Data Spaces in the Clouds (Fourth Platform)&lt;/a&gt; for a while :-)&lt;/p&gt;
&lt;p&gt;Yes, there is some confusion about the literal interpretation of the phrase: Data Portability (free movement of data across platforms).  We don&#039;t necessarily want free movement of data across realms (unless we explicity enable it in our space). Instead, I believe we seek Open Access to our Data Spaces with access control granularity.&lt;/p&gt;
&lt;p&gt;To conclued, we do need Data Access by Reference facilitated by portable Data Containers (Data Spaces) in the Clouds. Of course, these containers can move themselves, or data from the clouds to other locations, wholesale or via replication and synchronixation. In all cases using standard protocols and existing infrastructure such as the Internet and Web.&lt;/p&gt;
&lt;p&gt;Links:&lt;/p&gt;
&lt;p&gt;1. &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenLink_Data_Spaces&quot; rel=&quot;nofollow&quot;&gt;OpenLink Data Space Wikipedia Page&lt;/a&gt;&lt;br /&gt;
2. &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/Ods&quot; rel=&quot;nofollow&quot;&gt;OpenLink Data Spaces (Open Source Edition) Home Page&lt;/a&gt;&lt;br /&gt;
3. &lt;a href=&quot;http://myopenlink.net/dataspace/person/kidehen&quot; rel=&quot;nofollow&quot;&gt; My Data Space Profile Page&lt;/a&gt;&lt;br /&gt;
4. &lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/Ods&quot; rel=&quot;nofollow&quot;&gt;EC2 installation Guide&lt;/a&gt;&lt;br /&gt;
5. &lt;a href=&quot;http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/GetAPersonalURIIn5MinutesOrLes&quot; rel=&quot;nofollow&quot;&gt;How to get a Gateway into your Data Space (i.e a URI for Your Data Space) in 5 minutes or less&lt;/a&gt;&lt;br /&gt;
6. Recent WWW2008 Presentation about Data Portability and Data Accessibility (&lt;a href=&quot;http://community.linkeddata.org/DAV/home/kidehen2/Public/DataPortability_and_DataSpaces.ppt&quot; rel=&quot;nofollow&quot;&gt;PPT&lt;/a&gt;)&lt;/p&gt;
</description>
 <pubDate>Thu, 08 May 2008 13:55:39 -0700</pubDate>
 <dc:creator>Kingsley Idehen</dc:creator>
 <guid isPermaLink="false">comment 5316 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>FoF apps</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-5313</link>
 <description>&lt;p&gt;As I&amp;#8217;ve noted, FoF apps turn out to be much less interesting than people thought at first.   Do you really look at the photos of your FoFs?   The main FoF app that seems to be useful is LinkedIn&amp;#8217;s &amp;#8220;search your network&amp;#8221; which can answer questions like, &amp;#8220;Who can I contact at Company X&amp;#8221; and dating introductions.    FoFoF turns out to be surprisingly non-useful.&lt;/p&gt;

&lt;p&gt;However, I won&amp;#8217;t proclaim that nobody can think of useful apps (or simply entertaining) apps here.  So there need to be solutions, even if it turns out to be that those apps get access to large networks, but are the only ones that do.   (Remember, our alternative today is zillions of apps getting access to this data.)&lt;/p&gt;

&lt;p&gt;I don&amp;#8217;t expect home PCs to be required here.  Everybody wants an always on host for many functions.   You don&amp;#8217;t &lt;em&gt;need&lt;/em&gt; it in the sense that I don&amp;#8217;t think &amp;#8220;Ask 100 hosts to search for a query&amp;#8221; is a good implementation, but I would use the local hosts just as a way to do things efficiently &lt;em&gt;for the user when the user is signed on&lt;/em&gt;.   The cloud host would do things for others.   Client data hosts and cloud data hosts would sync.&lt;/p&gt;

&lt;p&gt;Your particular app, and other FoF apps, could be implemented, somewhat less efficiently, with data updates.   That is to say, if you are using an FoF
app, you would send changes to your friends, and they would forward those changes on to their friends as part of the update stream.   In this case everybody is storing all the basic data (not big things like photos, just smaller stuff, including the URLs/access tokens of the photos) on their own host, and apps can operate on it.   This is why it does not scale to FoFoF, but I think it could handle FoF if the updates are not large.&lt;/p&gt;

&lt;p&gt;Of course, you, your Fs and your FoFs must be running the same application, but that is the same as saying they are all members of Flickr.    To implement Flickr you need more though, and it may not even be possible to implement all apps in this manner.  Still better than implementing them all in a central repository manner, though.&lt;/p&gt;
</description>
 <pubDate>Wed, 07 May 2008 11:26:57 -0700</pubDate>
 <dc:creator>brad</dc:creator>
 <guid isPermaLink="false">comment 5313 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>Interesting approach</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-5312</link>
 <description>&lt;p&gt;But I haven&amp;#8217;t studied the underlying systems proposed enough to judge if they can do it.   One concern I see immediately  regards whether developers can be talked into it.   Part of the sex appeal of web 2.0 (meaning apps in the cloud) is that developers get free reign to write and maintain their apps using whatever platforms and tools they like.   They are no longer limited to even the constraints and problems of writing code for a user&amp;#8217;s PC.   Users at the same time love not having to install software, having somebody else maintain it all, and having to roam.&lt;/p&gt;

&lt;p&gt;My own proposals face this problem too.  These abilities are very attractive to users and developers, and as long as they can get the functionality (which javascript has now given) they will rush to them.&lt;/p&gt;

&lt;p&gt;It is for this reason that I have decided that some compromises will be needed, that we won&amp;#8217;t get to the level where we can run a malicious app on our data.  That&amp;#8217;s because the programming hoops required to use a system that bars malicious apps may be too involved.   Happy to be proven wrong, though.   I would be happy just to reach the level where apps don&amp;#8217;t end up taking more data than they need, and don&amp;#8217;t end up storing copies of it.&lt;/p&gt;
</description>
 <pubDate>Wed, 07 May 2008 11:16:17 -0700</pubDate>
 <dc:creator>brad</dc:creator>
 <guid isPermaLink="false">comment 5312 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>W5 Project at MIT</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-5307</link>
 <description>&lt;p&gt;The W5 project at MIT is looking at ways to solve these issues:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://pdos.csail.mit.edu/~max/docs/w5.pdf&quot; title=&quot;http://pdos.csail.mit.edu/~max/docs/w5.pdf&quot;&gt;http://pdos.csail.mit.edu/~max/docs/w5.pdf&lt;/a&gt;&lt;/p&gt;
</description>
 <pubDate>Wed, 07 May 2008 04:51:52 -0700</pubDate>
 <dc:creator>Evan Jones</dc:creator>
 <guid isPermaLink="false">comment 5307 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>Searches</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-5306</link>
 <description>&lt;p&gt;I really wonder how you can efficiently implement this use case:&lt;/p&gt;
&lt;p&gt;&quot;Show me the flickr photos that my friends and the friends of my friends faved in last 2 weeks, sorted by the total number of favs&quot;, while the photos are still stored on flickr.&lt;/p&gt;
&lt;p&gt;I can see you can implemente that with &quot;agent&quot; that will crawl to the hosting sites of your friends and their friends, collect the data and come back. But that would be slow, especially if some of your friends host their data in PCs that are currently offline (remember The Eight Fallacies of Distributed Computing?). Do you have any solution for that in mind?&lt;/p&gt;
&lt;p&gt;BTW, creating a Virtual Machine you still provide API to the applications. But it is quite broad, which means it is difficult to control security.&lt;/p&gt;
</description>
 <pubDate>Wed, 07 May 2008 01:14:33 -0700</pubDate>
 <dc:creator>Radovan Semancik</dc:creator>
 <guid isPermaLink="false">comment 5306 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>Finding the host</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability#comment-5300</link>
 <description>&lt;p&gt;Well, in the past we have used DNS as a way to name hosts and move them around.   This could be used here, but not a high level domain.    I might get bradsdata.datadns.com as a subdomain that I can point at whatever data host I like.  However, there could be other indirection or discovery protocols.&lt;/p&gt;

&lt;p&gt;Typically I see a main site providing your interface to social data apps.   That site would embed other web pages which are served from your data host, running code provided by app providers.    The DNS would direct your own browser at your own data host of choice.   (In fact, this architecture allows the data host to be your own PC, if you don&amp;#8217;t need to roam.   Your own pc at localhost:port would see a request for a social app window.    The data host program on your PC would connect to the specified remote application&amp;#8217;s server for any code updates or special data, download them if it doesn&amp;#8217;t have them cached, execute the code and return the results to the iframe in the browser page.)&lt;/p&gt;

&lt;p&gt;I think I&amp;#8217;ll update about that.&lt;/p&gt;

&lt;p&gt;Now as for the central repository:  This is complex.   People are saying, it seems, that they don&amp;#8217;t want their data scattered around everywhere, both because of lack of control, but more commonly because the UI to give apps access to it is too complex.  If we can develop a good UI so that it is easy to give apps just the data they need, and no more, then scattering can be good.   The data hosting model does not dictate about scattering or centralization, but I agree that users will tend to centralize, just for ease of control.     A central server contracted to me may be better than 30 servers with only loose bonds to me, such as 30 different social app companies each knowing different subsets of my data.&lt;/p&gt;
</description>
 <pubDate>Tue, 06 May 2008 14:48:00 -0700</pubDate>
 <dc:creator>brad</dc:creator>
 <guid isPermaLink="false">comment 5300 at http://ideas.4brad.com</guid>
</item>
<item>
 <title>Data Deposit Box instead of data portability</title>
 <link>http://ideas.4brad.com/data-hosting-instead-data-portability</link>
 <description>&lt;p&gt;I&amp;#8217;ve been ranting of late about the dangers inherent in &amp;#8220;Data Portability&amp;#8221; which I would like to rename as &lt;a href=&quot;http://ideas.4brad.com/rename-data-portability-bepsi&quot;&gt;BEPSI&lt;/a&gt; to avoid the motherhood word &amp;#8220;portability&amp;#8221; for something that really has a strong dark side as well as its light side.&lt;/p&gt;

&lt;p&gt;But it&amp;#8217;s also important to come up with an alternative.   I think the best alternative may lie in what I would call a &amp;#8220;data deposit box&amp;#8221; (formerly &amp;#8220;data hosting.&amp;#8221;)   It&amp;#8217;s a layered system, with a data layer and an application layer on top.  &lt;strong&gt;Instead of copying the data to the applications, bring the applications to the data.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A data deposit box approach has your personal data stored on a server chosen by you. That server&amp;#8217;s duty is not to exploit your data, but rather to protect it.  That&amp;#8217;s what you&amp;#8217;re paying for.   Legally, you &amp;#8220;own&amp;#8221; it, either directly, or in the same sense as you have legal rights when renting an apartment &amp;#8212; or a safety deposit box.&lt;/p&gt;

&lt;p&gt;Your data box&amp;#8217;s job is to perform actions on your data.  Rather than giving copies of your data out to a thousand companies (the Facebook and Data Portability approach) you host the data and perform actions on it, programmed by those companies who are developing useful social applications.&lt;/p&gt;

&lt;p&gt;As such, you don&amp;#8217;t join a site like Facebook or LinkedIn.   Rather, companies like those build applications and application containers  which can run on your data.   They don&amp;#8217;t get the data, rather they write code that works with the data and runs in a protected sandbox on your data host &amp;#8212; and then displays the results directly to you.&lt;/p&gt;

&lt;p&gt;To take a simple example, imagine a social application wishes to send a message to all your friends who live within 100 miles of you.   Using permission tokens provided by you, it is able to connect to your data host and ask it to create that subset of your friend network, and then e-mail a message to that subset.   It never sees the friend network at all.&lt;/p&gt;
</description>
 <comments>http://ideas.4brad.com/data-hosting-instead-data-portability#comments</comments>
 <category domain="http://ideas.4brad.com/archives/cat_best_of_blog.html">Best Of Blog</category>
 <category domain="http://ideas.4brad.com/archives/cat_privacy.html">Privacy</category>
 <category domain="http://ideas.4brad.com/tags/data-deposit-box">data deposit box</category>
 <category domain="http://ideas.4brad.com/tags/data-hosting">data hosting</category>
 <pubDate>Mon, 05 May 2008 20:08:19 -0700</pubDate>
 <dc:creator>brad</dc:creator>
 <guid isPermaLink="false">752 at http://ideas.4brad.com</guid>
</item>
</channel>
</rss>

