new BaaS platform 'deployd' is open source

433 views
Skip to first unread message

Michiel de Jong

unread,
Sep 22, 2012, 1:53:18 AM9/22/12
to unhosted
ok, so this is not entirely unhosted because it has some server-side
consistency checking, but from the video it looks pretty cool:

http://deployd.com/ (via Jan)

did anybody try this out yet? the cool thing, and why i'm much more
enthusiastic about this one than about for instance Firebase or the
other ones, is that it's open source.

I know there's another very popular mobile apps backend platform but i
can't remember its name. while searching for it, i found
http://www.kinvey.com/ who call themselves a 'BaaS' provider (backend
as a service). http://gigaom.com/cloud/developers-heres-your-updated-backend-ecosystems-roadmap/

interesting. i also like Deployd's slogan and how it encourages the
unhosted web app developer vision:

Build apps, not backends. :)

searching some more i found
http://www.readwriteweb.com/mobile/2012/04/mobile-backend-as-a-service-ec.php
which references StackMob and also Pulse (the name i was looking for)
as BaaS services... like existing services putting cors headers on
their api's, new BaaS platform startups popping up seems to be a trend
this year, i guess?


Ciao!
Michiel

Nick Jennings

unread,
Sep 22, 2012, 9:42:46 AM9/22/12
to unho...@googlegroups.com
Yeah, deployd looks pretty awesome, although it hits a nerve with me
in terms of how web-apps are presented (and what's always rubbed me
the wrong way about them), and that's that the design seems to
encourage total waste of network resources, as if everyone has a
high-speed internet connection or is always connected. How can you
call it an application if it's completely tied to an internet
connection and a server? That's still just a website. They offload
most of the server side logic but still make no case for conserving
network resources, handling data locally, etc.

I just heard about jStorage.js - I was wondering if remoteStorage.js
covers all this functionality?
http://www.jstorage.info/
> --
>
>
>

Melvin Carvalho

unread,
Sep 22, 2012, 10:08:41 AM9/22/12
to unho...@googlegroups.com
On 22 September 2012 07:53, Michiel de Jong <mic...@unhosted.org> wrote:
ok, so this is not entirely unhosted because it has some server-side
consistency checking, but from the video it looks pretty cool:

http://deployd.com/ (via Jan)

did anybody try this out yet? the cool thing, and why i'm much more
enthusiastic about this one than about for instance Firebase or the
other ones, is that it's open source.

Wow that does look pretty cool!

Perhaps this is data freedom done right...
 

I know there's another very popular mobile apps backend platform but i
can't remember its name. while searching for it, i found
http://www.kinvey.com/ who call themselves a 'BaaS' provider (backend
as a service). http://gigaom.com/cloud/developers-heres-your-updated-backend-ecosystems-roadmap/

interesting. i also like Deployd's slogan and how it encourages the
unhosted web app developer vision:

Build apps, not backends. :)

searching some more i found
http://www.readwriteweb.com/mobile/2012/04/mobile-backend-as-a-service-ec.php
which references StackMob and also Pulse (the name i was looking for)
as BaaS services... like existing services putting cors headers on
their api's, new BaaS platform startups popping up seems to be a trend
this year, i guess?


Ciao!
Michiel

--




Melvin Carvalho

unread,
Sep 22, 2012, 10:16:02 AM9/22/12
to unho...@googlegroups.com
On 22 September 2012 07:53, Michiel de Jong <mic...@unhosted.org> wrote:

anyone know how the realtime stuff works?
 


Ciao!
Michiel

--




Nick Jennings

unread,
Sep 22, 2012, 10:45:49 AM9/22/12
to unho...@googlegroups.com
http://deployd.com/docs/reference/dpdjs.html#docs-realtime

You use 'emit' function to set which actions to notify on, and can
limit who receives the updates
http://deployd.com/docs/reference/collection-events.html#docs-emit

Melvin Carvalho

unread,
Sep 22, 2012, 10:54:30 AM9/22/12
to unho...@googlegroups.com

Thanks!

I wonder if it uses websockets to update ...

This does look very interesting

Also deployd seems to allow multiple objects in the JSON, whereas iirc remotestorage only can store one JSON object, did I get that right that right?
 

--




Nick Jennings

unread,
Sep 22, 2012, 11:03:15 AM9/22/12
to unho...@googlegroups.com
On Sat, Sep 22, 2012 at 4:54 PM, Melvin Carvalho
It doesn't seem like it uses websockets, but I could be wrong - I
didn't take a thorough look (just used the chrome dev tool). Not sure
how they pass the notifications, maybe long polling.

Melvin Carvalho

unread,
Sep 22, 2012, 11:06:41 AM9/22/12
to unho...@googlegroups.com


> This does look very interesting
>
> Also deployd seems to allow multiple objects in the JSON, whereas iirc
> remotestorage only can store one JSON object, did I get that right that
> right?

--




Melvin Carvalho

unread,
Sep 22, 2012, 11:11:22 AM9/22/12
to unho...@googlegroups.com

Ahhh it's socket.io
 


> This does look very interesting
>
> Also deployd seems to allow multiple objects in the JSON, whereas iirc
> remotestorage only can store one JSON object, did I get that right that
> right?

--




Thad Guidry

unread,
Sep 22, 2012, 11:14:55 AM9/22/12
to unho...@googlegroups.com
And the backend wow factor is really just....

MongoDB

Knockoutjs

Jquery

that anyone could also build up themselves. :)

Michiel de Jong

unread,
Sep 22, 2012, 3:15:35 PM9/22/12
to unho...@googlegroups.com
On Sat, Sep 22, 2012 at 3:42 PM, Nick Jennings <ni...@silverbucket.net> wrote:
> How can you
> call it an application if it's completely tied to an internet
> connection and a server? That's still just a website. They offload
> most of the server side logic but still make no case for conserving
> network resources, handling data locally, etc.

oh, i had assumed they would offer sync. if not, then it's pretty
useless, yes. then remotestorage is better. :)

of course the big benefit of remotestorage over deployd, then, is that
it adds a local storage to the remote one. :)

> I just heard about jStorage.js - I was wondering if remoteStorage.js
> covers all this functionality?
> http://www.jstorage.info/

cool! remotestorage has the storage, as well as the pubsub (still a
bit buggy though probably).

it does not have the Time To Live expulsion, but instead there are
plans for LRU expulsion.

it does not do the polyfill since there are probably no browser on the
market that support cors but not localStorage.

and of course the big benefit of remotestorage over jStorage is that
it adds a remote storage to the local one. :)

If you compare it this way, remotestorage is on its way to becoming a
pretty nice player in the market.

Ciao,
Michiel.

Melvin Carvalho

unread,
Sep 22, 2012, 3:32:39 PM9/22/12
to unho...@googlegroups.com

Can remotestorage PUT more than one JSON object to a data store?

ie so that when you do a GET you get multiple objects back {} , {} etc. rather than one big { ... }
 

Ciao,
Michiel.

--




Thad Guidry

unread,
Sep 22, 2012, 3:59:10 PM9/22/12
to unho...@googlegroups.com

Can remotestorage PUT more than one JSON object to a data store?

ie so that when you do a GET you get multiple objects back {} , {} etc. rather than one big { ... }

An array of objects is valid JSON:

[
  {"id":"123"},
  {"thing":"data1"},
  {"thing":"data2"}
]

--
-Thad
http://www.freebase.com/view/en/thad_guidry

Melvin Carvalho

unread,
Sep 22, 2012, 4:07:07 PM9/22/12
to unho...@googlegroups.com
On 22 September 2012 21:59, Thad Guidry <thadg...@gmail.com> wrote:

Can remotestorage PUT more than one JSON object to a data store?

ie so that when you do a GET you get multiple objects back {} , {} etc. rather than one big { ... }

An array of objects is valid JSON:

[
  {"id":"123"},
  {"thing":"data1"},
  {"thing":"data2"}
]

I should hope it is!  Not sure you answered the question tho :)
 

Thad Guidry

unread,
Sep 22, 2012, 4:08:55 PM9/22/12
to unho...@googlegroups.com
Melvin, I think the real test is retrieval of multiple objectified arrays ?  And that I also have the same question concerning remotestorage GET and its defined capabilities :

[{"record_class":"/people/person"},
[
  {"id":"123"},
  {"thing":"data1"},
  {"thing":"data2"}
],
[
  {"id":"456"},
  {"thing":"data1"},
  {"thing":"data2"}
]
]

Nick Jennings

unread,
Sep 22, 2012, 4:15:52 PM9/22/12
to unho...@googlegroups.com
On Sat, Sep 22, 2012 at 9:15 PM, Michiel de Jong <mic...@unhosted.org> wrote:
> On Sat, Sep 22, 2012 at 3:42 PM, Nick Jennings <ni...@silverbucket.net> wrote:
>> How can you
>> call it an application if it's completely tied to an internet
>> connection and a server? That's still just a website. They offload
>> most of the server side logic but still make no case for conserving
>> network resources, handling data locally, etc.
>
> oh, i had assumed they would offer sync. if not, then it's pretty
> useless, yes. then remotestorage is better. :)
>
> of course the big benefit of remotestorage over deployd, then, is that
> it adds a local storage to the remote one. :)

Yeah, and since we have local storage -> remote storage, we can also
add the consistency and data validation checks at the "storage side".
... Just in our case "storage side" is still on the client.


>> I just heard about jStorage.js - I was wondering if remoteStorage.js
>> covers all this functionality?
>> http://www.jstorage.info/
>
> cool! remotestorage has the storage, as well as the pubsub (still a
> bit buggy though probably).
>
> it does not have the Time To Live expulsion, but instead there are
> plans for LRU expulsion.
>
> it does not do the polyfill since there are probably no browser on the
> market that support cors but not localStorage.
>
> and of course the big benefit of remotestorage over jStorage is that
> it adds a remote storage to the local one. :)
>
> If you compare it this way, remotestorage is on its way to becoming a
> pretty nice player in the market.

Indeed! Actually my little rant above got me thinking about
localStorage in general. There's a size limit on localStorage, it
varies in browser from 2.5mb - 10mb.

It got me thinking, about the use-cases of offline mode with lots of
data... I found this:
http://www.w3.org/TR/IndexedDB/

A very cursory glance, and I didn't see anything about size limits.

Does remoteStorage.js just use localStorage directly? If so, I assume
we have a varied about of localStorage available not exceeding 10mb?

Nick Jennings

unread,
Sep 22, 2012, 4:17:57 PM9/22/12
to unho...@googlegroups.com
On Sat, Sep 22, 2012 at 7:53 AM, Michiel de Jong <mic...@unhosted.org> wrote:
> http://gigaom.com/cloud/developers-heres-your-updated-backend-ecosystems-roadmap/

Still not as complicated as the Berlin subway :)

Melvin Carvalho

unread,
Sep 22, 2012, 4:39:23 PM9/22/12
to unho...@googlegroups.com
On 22 September 2012 22:08, Thad Guidry <thadg...@gmail.com> wrote:
Melvin, I think the real test is retrieval of multiple objectified arrays ?  And that I also have the same question concerning remotestorage GET and its defined capabilities :

[{"record_class":"/people/person"},
[
  {"id":"123"},
  {"thing":"data1"},
  {"thing":"data2"}
],
[
  {"id":"456"},
  {"thing":"data1"},
  {"thing":"data2"}
]
]

I'm unsure what you mean by 'real test'.  I thought it was a pretty simple question.  Can I put and retrieve multiple JSON objects.  Do I really need to ask this 4 times?

I need this functionality for financial transactions. 
 

On Sat, Sep 22, 2012 at 2:59 PM, Thad Guidry <thadg...@gmail.com> wrote:

Can remotestorage PUT more than one JSON object to a data store?

ie so that when you do a GET you get multiple objects back {} , {} etc. rather than one big { ... }

An array of objects is valid JSON:

[
  {"id":"123"},
  {"thing":"data1"},
  {"thing":"data2"}
]

--
-Thad
http://www.freebase.com/view/en/thad_guidry



--
-Thad
http://www.freebase.com/view/en/thad_guidry

--
 
 
 

Michiel de Jong

unread,
Sep 23, 2012, 4:34:17 AM9/23/12
to unho...@googlegroups.com
Hi Melvin,

On Sat, Sep 22, 2012 at 10:39 PM, Melvin Carvalho
<melvinc...@gmail.com> wrote:
> Can I put and retrieve multiple JSON objects.

your module would use storeObject 4 times and then getListing once to
see the current contents of the collection, then getObject for each
one of them.

Note that your module is talking to the local cache, it's not talking
to the wire client directly.

> I need this functionality for financial transactions.

Great to see you're working on that! Come to #remotestorage on irc if
you have questions about how to implement this in your module.

Cheers!
Michiel

Melvin Carvalho

unread,
Sep 23, 2012, 8:20:48 AM9/23/12
to unho...@googlegroups.com
On 23 September 2012 10:34, Michiel de Jong <mic...@unhosted.org> wrote:
Hi Melvin,

On Sat, Sep 22, 2012 at 10:39 PM, Melvin Carvalho
<melvinc...@gmail.com> wrote:
> Can I put and retrieve multiple JSON objects.

your module would use storeObject 4 times and then getListing once to
see the current contents of the collection, then getObject for each
one of them.

Note that your module is talking to the local cache, it's not talking
to the wire client directly.

Thanks

It would be good if remotestorage were modified such that I could PUT and GET multiple objects.

The patch should be, something like:

    putFile: function(file, data) {
      xhr = new XMLHttpRequest();
      xhr.open('PUT', file, false);
      xhr.setRequestHeader('Content-Type', 'appliction/json; charset=UTF-8');
      xhr.send(data);   
    },
But optionally with an OAuth token.  There are many use cases (not just finance) where this functionality is needed.  I think deployd can do this, from looking at the video, it would be great if remotestorage were also usable.
 

> I need this functionality for financial transactions.

Great to see you're working on that! Come to #remotestorage on irc if
you have questions about how to implement this in your module.

I've come to the conclusion that we also need a web of trust for financial transactions to really be competitive.
 

Cheers!
Michiel

--




Ian Bicking

unread,
Sep 24, 2012, 1:47:23 PM9/24/12
to unho...@googlegroups.com

I think the story is mixed.  Generally browsers should ask for user consent after a certain amount of usage, and that number depends on mobile vs. desktop (50mb vs. 5mb for Firefox, not sure about Chrome).  Firefox Apps I believe implicitly get a higher quota (or no quota?).  Chrome Apps can request more space as part of installation.

There's also a polyfill to provide the IndexedDB interface in browsers with WebSQL, which covers mobile Safari and the Android browser (https://github.com/axemclion/IndexedDBShim).  With that polyfill IndexedDB support is fairly decent, except as usual for IE (introduced only in IE 10, and it has never had WebSQL).

localStorage also will start causing performance problems if you have a lot of content, because the API is written in a blocking manner.  There are hacky optimizations in browsers to try to make it work well anyway, but they aren't perfect, especially on mobile.

It doesn't look like jStorage supports anything but localStorage.  Because of the way the API is written it cannot support IndexedDB (it uses synchronous gets), so IMHO it's not a good thing to build on if you are looking to the future. 

Reply all
Reply to author
Forward
0 new messages