Re: Releasing RWW.IO

40 views
Skip to first unread message

Kingsley Idehen

unread,
Aug 3, 2013, 11:44:53 AM8/3/13
to Andrei Sambra, public-webid, publi...@w3.org, publi...@w3.org, federated-...@googlegroups.com
On 8/3/13 8:19 AM, Andrei Sambra wrote:
Dear all! I am proud to announce the release of http://rww.io/, a "personal cloud" service for your Linked Data.

Since RWW.IO is intended to be used as a backend service for your Linked Data applications, the UI is minimal, allowing you to edit RDF documents and set ACL rules. Users can also upload a limited range of images (PNG, JPG and GIF - for all your cat pictures, wee!). 

If you would like to run your own service, just grab the code from https://github.com/deiu/rww.io and get started! It is a free service, paid entirely from my personal founds and created in my free time, so please consider supporting this project (Flattr) if you like and use it.

All feedback is appreciated. Thank you!

Andrei

Great stuff!

I was able to copy content of <http://kingsley.idehen.net/DAV/home/kidehen/Public/Linked%20Data%20Documents/GlossaryOfTerms.ttl> to <http://kidehen.rww.io/Linked%20Data%20Documents/GlossaryOfTerms.ttl> .


Basically, this is a simple interop demo between two personal data spaces whereby a resource from the collection at  <http://kingsley.idehen.net/DAV/home/kidehen/Public/Linked%20Data%20Documents/> is recreated using copy and paste to a resource in the collection at <http://kidehen.rww.io/> .

This is how we used to work over LANs eons ago, and finally its being resurrected on the WAN known as the World Wide Web.


This is the basic interop test that all RWW implenters should be able to complete as part of the product development and showcase cycle.

-- 

Regards,

Kingsley Idehen	      
Founder & CEO 
OpenLink Software     
Company Web: http://www.openlinksw.com
Personal Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca handle: @kidehen
Google+ Profile: https://plus.google.com/112399767740508618350/about
LinkedIn Profile: http://www.linkedin.com/in/kidehen




Kingsley Idehen

unread,
Aug 3, 2013, 4:40:40 PM8/3/13
to publi...@w3.org, public-webid, publi...@w3.org, federated-...@googlegroups.com
On 8/3/13 1:16 PM, Andrei Sambra wrote:
Hi Kingsley,

On Sat, Aug 3, 2013 at 5:44 PM, Kingsley Idehen <kid...@openlinksw.com> wrote:
On 8/3/13 8:19 AM, Andrei Sambra wrote:
Dear all! I am proud to announce the release of http://rww.io/, a "personal cloud" service for your Linked Data.

Since RWW.IO is intended to be used as a backend service for your Linked Data applications, the UI is minimal, allowing you to edit RDF documents and set ACL rules. Users can also upload a limited range of images (PNG, JPG and GIF - for all your cat pictures, wee!). 

If you would like to run your own service, just grab the code from https://github.com/deiu/rww.io and get started! It is a free service, paid entirely from my personal founds and created in my free time, so please consider supporting this project (Flattr) if you like and use it.

All feedback is appreciated. Thank you!

Andrei

Great stuff!

I'm glad you like it! :)
 

I was able to copy content of <http://kingsley.idehen.net/DAV/home/kidehen/Public/Linked%20Data%20Documents/GlossaryOfTerms.ttl> to <http://kidehen.rww.io/Linked%20Data%20Documents/GlossaryOfTerms.ttl> .


Basically, this is a simple interop demo between two personal data spaces whereby a resource from the collection at  <http://kingsley.idehen.net/DAV/home/kidehen/Public/Linked%20Data%20Documents/> is recreated using copy and paste to a resource in the collection at <http://kidehen.rww.io/>

That's not really the usage I am trying to promote. You can instead consider that your application can simply use HTTP verbs like GET/POST/DELETE/MKCOL to manipulate the data on rww.io, and also the ACL .meta files! :)

My response was more about demonstrating that your system works. I used (what I assumed) was the most basic demo i.e., copying and pasting content across two Web-accessible documents to make the point.



 
 
This is how we used to work over LANs eons ago, and finally its being resurrected on the WAN known as the World Wide Web.


This is the basic interop test that all RWW implenters should be able to complete as part of the product development and showcase cycle.

Hence the comment above :-)

Kingsley

Kingsley Idehen

unread,
Aug 5, 2013, 4:39:33 PM8/5/13
to Andrei Sambra, public-webid, publi...@w3.org, publi...@w3.org, federated-...@googlegroups.com
On 8/3/13 1:16 PM, Andrei Sambra wrote:
That's not really the usage I am trying to promote. You can instead consider that your application can simply use HTTP verbs like GET/POST/DELETE/MKCOL to manipulate the data on rww.io, and also the ACL .meta files! :)

Now that we are past the basic demo (i.e., using an HTML UI instead of cURL). Here is a cURL dump demonstrating how I copied a simple turtle doc (one triple) between data spaces (the "test.ttl" is WebDAV mounted from my ODS data space).

Dump (which is based on the use of my client cert which includes my WebID):

curl --verbose --cert client_cert.pem --key key.pem -k -H "content-type: text/turtle" -T test.ttl "https://kidehen.rww.io/Linked%20Data%20Documents/"
* About to connect() to kidehen.rww.io port 443
*   Trying 92.243.6.190... connected
* Connected to kidehen.rww.io (92.243.6.190) port 443
Enter PEM pass phrase:
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSLv2, Client hello (1):
SSLv3, TLS handshake, Server hello (2):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS handshake, Server key exchange (12):
SSLv3, TLS handshake, Server finished (14):
SSLv3, TLS handshake, Client key exchange (16):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSL connection using DHE-RSA-AES256-SHA
* Server certificate:
*      subject: /OU=Domain Control Validated/OU=Gandi Standard SSL/CN=my-profile.eu
*      start date: 2013-03-05 00:00:00 GMT
*      expire date: 2014-04-03 23:59:59 GMT
*      common name: my-profile.eu (does not match 'kidehen.rww.io')
*      issuer: /C=FR/O=GANDI SAS/CN=Gandi Standard SSL CA
* SSL certificate verify ok.
> PUT /Linked%20Data%20Documents/test%2Ettl HTTP/1.1
> User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: kidehen.rww.io
> Accept: */*
> content-type: text/turtle
> Content-Length: 46
> Expect: 100-continue
>
* SSLv3, TLS handshake, Hello request (0):
SSLv3, TLS handshake, Client hello (1):
SSLv3, TLS handshake, Server hello (2):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS handshake, Server key exchange (12):
SSLv3, TLS handshake, Request CERT (13):
SSLv3, TLS handshake, Server finished (14):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS handshake, Client key exchange (16):
SSLv3, TLS handshake, CERT verify (15):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Date: Mon, 05 Aug 2013 20:10:00 GMT
< Server: Apache/2.2.22 (Ubuntu)
< X-Powered-By: PHP/5.3.10-1ubuntu3.7
< Set-Cookie: SID=2li8kutqk4galk7q79v8ea2qq7; expires=Sat, 04-Aug-2018 20:10:01 GMT; path=/; domain=.rww.io
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Pragma: no-cache
< Set-Cookie: showMetaFiles=1; expires=Mon, 05-Aug-2013 21:10:06 GMT
< User: http://kingsley.idehen.net/dataspace/person/kidehen#this
< Filename: /www/rww.io/data/kidehen.rww.io/Linked Data Documents/test.ttl
< MS-Author-Via: DAV, SPARQL
< Triples: 1
< Vary: Accept-Encoding
< Content-Length: 0
< Content-Type: text/html
* Connection #0 to host kidehen.rww.io left intact
* Closing connection #0
* SSLv3, TLS alert, Client hello (1):


Here's the MKCOL dump:

curl --verbose --cert client_cert.pem --key key.pem -k -X MKCOL "https://kidehen.rww.io/Linked%20Data%20Documents/mkcol-test"
* About to connect() to kidehen.rww.io port 443
*   Trying 92.243.6.190... connected
* Connected to kidehen.rww.io (92.243.6.190) port 443
Enter PEM pass phrase:
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSLv2, Client hello (1):
SSLv3, TLS handshake, Server hello (2):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS handshake, Server key exchange (12):
SSLv3, TLS handshake, Server finished (14):
SSLv3, TLS handshake, Client key exchange (16):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSL connection using DHE-RSA-AES256-SHA
* Server certificate:
*      subject: /OU=Domain Control Validated/OU=Gandi Standard SSL/CN=my-profile.eu
*      start date: 2013-03-05 00:00:00 GMT
*      expire date: 2014-04-03 23:59:59 GMT
*      common name: my-profile.eu (does not match 'kidehen.rww.io')
*      issuer: /C=FR/O=GANDI SAS/CN=Gandi Standard SSL CA
* SSL certificate verify ok.
> MKCOL /Linked%20Data%20Documents/mkcol-test HTTP/1.1
> User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: kidehen.rww.io
> Accept: */*
>
* SSLv3, TLS handshake, Hello request (0):
SSLv3, TLS handshake, Client hello (1):
SSLv3, TLS handshake, Server hello (2):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS handshake, Server key exchange (12):
SSLv3, TLS handshake, Request CERT (13):
SSLv3, TLS handshake, Server finished (14):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS handshake, Client key exchange (16):
SSLv3, TLS handshake, CERT verify (15):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
HTTP/1.1 200 OK
< Date: Mon, 05 Aug 2013 20:35:31 GMT
< Server: Apache/2.2.22 (Ubuntu)
< X-Powered-By: PHP/5.3.10-1ubuntu3.7
< Set-Cookie: SID=t68gne1eg5139kr17k7u8nknh3; expires=Sat, 04-Aug-2018 20:35:31 GMT; path=/; domain=.rww.io
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Pragma: no-cache
< Set-Cookie: showMetaFiles=1; expires=Mon, 05-Aug-2013 21:35:37 GMT
< User: http://kingsley.idehen.net/dataspace/person/kidehen#this
< Filename: /www/rww.io/data/kidehen.rww.io/Linked Data Documents/mkcol-test
< MS-Author-Via: DAV, SPARQL
< Vary: Accept-Encoding
< Content-Length: 0
< Content-Type: text/html
* Connection #0 to host kidehen.rww.io left intact
* Closing connection #0
* SSLv3, TLS alert, Client hello (1):
[root@idehen opt]# curl --verbose --cert client_cert.pem --key key.pem -k -X MKCOL "https://kidehen.rww.io/Linked%20Data%20Documents/mkcol-test"
* About to connect() to kidehen.rww.io port 443
*   Trying 92.243.6.190... connected
* Connected to kidehen.rww.io (92.243.6.190) port 443
Enter PEM pass phrase:
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSLv2, Client hello (1):
SSLv3, TLS handshake, Server hello (2):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS handshake, Server key exchange (12):
SSLv3, TLS handshake, Server finished (14):
SSLv3, TLS handshake, Client key exchange (16):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSL connection using DHE-RSA-AES256-SHA
* Server certificate:
*      subject: /OU=Domain Control Validated/OU=Gandi Standard SSL/CN=my-profile.eu
*      start date: 2013-03-05 00:00:00 GMT
*      expire date: 2014-04-03 23:59:59 GMT
*      common name: my-profile.eu (does not match 'kidehen.rww.io')
*      issuer: /C=FR/O=GANDI SAS/CN=Gandi Standard SSL CA
* SSL certificate verify ok.
> MKCOL /Linked%20Data%20Documents/mkcol-test HTTP/1.1
> User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: kidehen.rww.io
> Accept: */*
>
* SSLv3, TLS handshake, Hello request (0):
SSLv3, TLS handshake, Client hello (1):
SSLv3, TLS handshake, Server hello (2):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS handshake, Server key exchange (12):
SSLv3, TLS handshake, Request CERT (13):
SSLv3, TLS handshake, Server finished (14):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS handshake, Client key exchange (16):
SSLv3, TLS handshake, CERT verify (15):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
SSLv3, TLS change cipher, Client hello (1):
SSLv3, TLS handshake, Finished (20):
HTTP/1.1 200 OK
< Date: Mon, 05 Aug 2013 20:37:31 GMT
< Server: Apache/2.2.22 (Ubuntu)
< X-Powered-By: PHP/5.3.10-1ubuntu3.7
< Set-Cookie: SID=k5r4o6e4095p29rog4qun6gah7; expires=Sat, 04-Aug-2018 20:37:32 GMT; path=/; domain=.rww.io
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Pragma: no-cache
< Set-Cookie: showMetaFiles=1; expires=Mon, 05-Aug-2013 21:37:37 GMT
< User: http://kingsley.idehen.net/dataspace/person/kidehen#this
< Filename: /www/rww.io/data/kidehen.rww.io/Linked Data Documents/mkcol-test
< MS-Author-Via: DAV, SPARQL
< Vary: Accept-Encoding
< Content-Length: 0
< Content-Type: text/html
* Connection #0 to host kidehen.rww.io left intact
* Closing connection #0
* SSLv3, TLS alert, Client hello (1):

Melvin Carvalho

unread,
Sep 19, 2013, 7:12:00 PM9/19/13
to Luca Matteis, Kingsley Idehen, Andrei Sambra, public-webid, publi...@w3.org, publi...@w3.org, federated-social-web



On 14 August 2013 13:37, Luca Matteis <lmat...@gmail.com> wrote:
Great job Andrei!

I love it and looking forward to using it *a lot*.

For making money out of this sort of thing, look at how these guys have done it: http://www.iriscouch.com/ - it's a CouchDB cloud thingy.

They have a good strategy for making money: pay only if you use it a lot ;) http://www.iriscouch.com/service

I was thinking about this a bit more.  This is quite a smart model, but I think we can do better!

Why not let RWW.IO issue it's own currency which allows you use extra bandwidth, storage etc.

Then free float the currency allowing people to buy it with real money donations, purchases or bitcoins etc.

Then since every user will normally have a key/pair allow the transfer of credits at web scale using signing.  Then RWW.IO credits becomes a global currency like bitcoin that can be used in games to buy virtual goods etc. or even across all different kinds of RWW apps. A certain amount of credits can be issues on a schedule then then let them expire as people use them for storage etc.  This could tie in well with the W3C payments work too.
 

About the site, would love more documentation; mostly more examples.

Cheers,
Luca 

Melvin Carvalho

unread,
Sep 19, 2013, 8:22:31 PM9/19/13
to Fabio Barone, Luca Matteis, Kingsley Idehen, Andrei Sambra, public-webid, publi...@w3.org, publi...@w3.org, federated-social-web
On 20 September 2013 01:17, Fabio Barone <holon...@gmail.com> wrote:


I was thinking about this a bit more.  This is quite a smart model, but I think we can do better!

Why not let RWW.IO issue it's own currency which allows you use extra bandwidth, storage etc.

Brilliant. How would you go issuing the currency though? Who would get it in the first place so that it later freely floats? 

The simplest way is to have a central ledger using linked data that is kept by rww.io and use URIs to define the entities.  Each entity has a balance.

This can either be a set of files or a triple store (or even use a relational db backend).  You have an entity that is the master account then you have accounts for users.  The master account can add credits to any user it wants, and updates the triples.

Then when doing a transfer you register it with the issuer and it updates balances appropriately.

The model can be distributed over many nodes using a replication algorithm based on, say consensus, or proof of work.  But to begin with you just need a triple store ...

 

Then free float the currency allowing people to buy it with real money donations, purchases or bitcoins etc.

Then since every user will normally have a key/pair allow the transfer of credits at web scale using signing.  Then RWW.IO credits becomes a global currency like bitcoin that can be used in games to buy virtual goods etc. or even across all different kinds of RWW apps.

This is intriguing.

Melvin Carvalho

unread,
Sep 20, 2013, 5:26:06 AM9/20/13
to Luca Matteis, Fabio Barone, Kingsley Idehen, Andrei Sambra, public-webid, publi...@w3.org, publi...@w3.org, federated-social-web



On 20 September 2013 10:43, Luca Matteis <lmat...@gmail.com> wrote:
You want to create your own digital currency?

What is a digital currency?  It's numbers on computers.
 

Yikes, interesting, but well over it's head don't you think?

Whichever way you implement it, it's just an accounting system, a ledger of accounts and balances.  But if you use linked data for the ledger it become portable and transferable for free!
 

I was just wondering how RWW.io could be making some cash with the service it's offering.

Sure, but by adding scalability maybe you can make it a little more attractive to a wider audience ...

Kingsley Idehen

unread,
Sep 20, 2013, 11:08:33 AM9/20/13
to public-webid, publi...@w3.org, publi...@w3.org, federated-social-web, business-of-linked-data-bold
On 9/20/13 4:43 AM, Luca Matteis wrote:
> I was just wondering how RWW.io could be making some cash with the
> service it's offering.

Melvin,

Luca is trying to brainstorm a business model for RWW.io and similar
services. Basically, a business model for Personal Data Spaces that
implement RWW functionality using AWWW and related open standards. etc..

I think that's achievable without requiring each data space platform
dabble in the more complex realm of digital currency :-)

Melvin Carvalho

unread,
Sep 22, 2013, 10:50:28 AM9/22/13
to business-of-li...@googlegroups.com, public-webid, publi...@w3.org, publi...@w3.org, federated-social-web
On 20 September 2013 17:08, Kingsley Idehen <kid...@openlinksw.com> wrote:
On 9/20/13 4:43 AM, Luca Matteis wrote:
I was just wondering how RWW.io could be making some cash with the service it's offering.

Melvin,

Luca is trying to brainstorm a business model for RWW.io and similar services. Basically, a business model for Personal Data Spaces that implement RWW functionality using AWWW and related open standards. etc..

I think that's achievable without requiring each data space platform dabble in the more complex realm of digital currency  :-)

Digital currency is just a ledger on a computer.  The ONLY way to have a business model is to use digital currency.  The double spend problem is traditionally solved by having a central mint.  In other words, you have a record keeping system on your website of everyone's account balances and quotas.  This is not complexity, there's no other way to do it.

I'm just saying that using linked data and URIs it becomes portable and, if you want, you can make it distributed so that you increase the value, and potentially generate more revenue...
Reply all
Reply to author
Forward
0 new messages