John,

I'm not a committer, but I have some familiarity with the wave stack.

On 29/05/13 01:23, John Blossom wrote:
People need their waves to live on their mobile devices, not just on cloud Web 
servers. After all, email provides local mobile offline capabilities.

I think you might not be 100% up to speed with some of the Wave architecture. In an email world, people have mobile off-line access, but they still use email servers. The email server often has the definitive copy of their email [i.e. imap], and mobile just retains a cached copy. In a mobile world, you still need a permanent server address to deliver mail to, or send it through.

This is the same with wave:

client <---c---> server <---f---> server <---c---> client

The federation protocol [f] sits between the two servers, and to support mobile clients you would expect those clients to:
 - maintain cached waves
 - allow off-line access to those waves
 - allow off-line changes to those waves
 - propagate changes in real-time where possible

In theory a wave server can support different clients. Unfortunately in the current wiab codebase, there is only one client - which is the bundled web-client. The current code base does sort-of have the logical client/server separation as outlined above (though some code is shared between the server and the client), but there isn't a formally defined client protocol [c], or separation of the web-client.

So in a broad sense, to support mobile one would need to:
 - formalise the client-server protocol [c]
- implement that in WIAB (ideally allowing Server and web-client to be deployed separately)
 - implement your mobile clients.

Any mobile client would still communicate through a server (as email does today) allowing (among other things) third parties to interact with waves whilst _I_ am offline.

So if you are considering the possibility of a mobile-first world, you really 
do need to
rethink existing Wave federation paradigms seriously.

There may be some corner cases which would need tweaking, but my understanding is that the core wave federation paradigms / protocol (and the wiab federation implementation) suit mobile very well. They were explicitly designed to support real-time when online, and disconnected access when offline.

Someone please correct anything I've got wrong!

Dave

Reply via email to