<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Hi Riccardo,<br>
    <br>
    I have some comments in-lined:<br>
    <blockquote cite="mid:201101261205.55817.riccardo@kde.org"
      type="cite">
      <pre wrap="">Hi! :)
I'm glad that you want to contribute to ownCloud. This is my idea of the 
better way to implement a sync client.
</pre>
    </blockquote>
    If i understand correctly , ownCloud aims to be a syncML server<br>
    which can sync with standards complaint syncML clients (on iphone,
    android, desktop (kde client))<br>
    right ? <br>
    <blockquote cite="mid:201101261205.55817.riccardo@kde.org"
      type="cite">
      <pre wrap="">The work would be split in two, and would mostly consist of implementing the 
SyncML API with it. There is a well tested package which can provide that - 
it's Funambol, which is AGPL and written in Java.
</pre>
    </blockquote>
    <br>
    Funambol is a syncML server and has clients on all major mobile
    devices (is this necessary ?<br>
    Any syncML compliant client should be able to sync from any syncML
    server right ?)<br>
    <br>
    So, Funambol provides the syncML server (lacking audio and video
    syncing capabilities <a
      href="http://en.wikipedia.org/wiki/SyncML#SyncMLservers">http://en.wikipedia.org/wiki/SyncML#SyncMLservers</a>
    ) that ownCloud aims to be ?<br>
    <br>
    <blockquote cite="mid:201101261205.55817.riccardo@kde.org"
      type="cite">
      <pre wrap="">The work would mostly consist in:
 - Understanding how much painful it is to ship Funambol directly with 
</pre>
    </blockquote>
    <br>
    Funambol, has a bundled Tomcat instance, so it will run as a
    separate web service<br>
    and owncloud as a separate one. But we can make ownCloud as a
    wrapper around the <br>
    Funambol instance so that , ownCloud uses the Funambol backend , and
    provides<br>
    additional video , audio (sync services that funambol doesn't
    provide at the moment , <br>
    source: wikipedia syncML servers list).<br>
    <br>
    <blockquote cite="mid:201101261205.55817.riccardo@kde.org"
      type="cite">
      <pre wrap="">ownCloud, and providing an easy way to install everything togehter.
</pre>
    </blockquote>
    <br>
    hmm, i feel. we could ship a minimalist VM with everything
    preconfigured.<br>
    This would also include NAT hole punching ( as Hasanat kazmi
    proposed in <br>
    another thread , in the owncloud mailing list).<br>
    <br>
    This would be the most no - brainer for people hosting ownCloud on
    home<br>
    servers, with dynamic IP addresses. <br>
    <br>
    But for hosting ownCloud + Funambol on a hosting service.How that
    can be<br>
    easily done , in one step , i have no idea at the moment. It needs a
    bit<br>
    more of looking into :)<br>
    <br>
    <blockquote cite="mid:201101261205.55817.riccardo@kde.org"
      type="cite">
      <pre wrap=""> - Integrating Funambol's storage with ownCloud's, or make ownCloud read 
funambol's storage (eventually for other datatypes too, like contacts, 
calendar, ...).
</pre>
    </blockquote>
    <br>
    This would be the most wise thing to do , at the moment. Leverage
    Funambol's<br>
    storage, and keep working on a php ( or python ) backend as you
    suggested in<br>
    your next point.<br>
    <br>
    I am a member of the belenix dev team (belenix.org) its an
    OpenSolaris based <br>
    distro, and we were hit hard when the oracle-sun merger happened .
    Suddenly<br>
    our kernel , was closed-sourced by Oracle. So i am a bit skeptical
    about <br>
    Funambol, but have no problem using it , at the moment.<br>
    <br>
    Please do share your thoughts on the point above :).<br>
    <br>
    <blockquote cite="mid:201101261205.55817.riccardo@kde.org"
      type="cite">
      <pre wrap=""> - Provide a fallback implementation in PHP (using one of the pletora of other 
libraries available), which either implements all of the specification, or 
just a subset of it, maybe only files, so that we don't let PHP-only users 
down.

</pre>
    </blockquote>
    <br>
    Yes , as pointed out above.<br>
    <br>
    <blockquote cite="mid:201101261205.55817.riccardo@kde.org"
      type="cite">
      <pre wrap="">All of this is just an idea, and we need to evaluate all the option with 
SyncML solutions first, to see how well they work.

The client itself is already under development, and it's akunambol, of which 
I'm the maintainer. It is currently in the process of being modularized, and 
we are creating an API to be able to allow very easily creation of different 
sync types.

Once that is in place, it would be very easy (I estimate less than 100 rows of 
code) to write the plugin to sync files. The biggest work would then be 
integrading SyncML in ownCloud. Doing this will also bring the possibility to 
add many other synchronization types to ownCloud, as I was saying before, PIM 
data, or other things. Since SyncML is a standard this will also allow other 
devices (iPhones, blackberries, MeeGo ...) to sync with it.
</pre>
    </blockquote>
    <br>
    I had another idea,<br>
    We could provide a Funambol backend (till our implementation in php
    / python is done)<br>
    for syncing email , contacts , Memos , tasks<span
      class="Apple-style-span" style="border-collapse: separate; color:
      rgb(0, 0, 0); font-family: sans-serif; font-size: 16px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: normal; orphans: 2;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: 2; word-spacing: 0px;"><span class="Apple-style-span"
        style="font-size: 13px; line-height: 19px;"> etc. And provide a
        webdav based interface<br>
        for syncing Documents , music , Videos etc.<br>
        <br>
        Also , with limited hard-disk space on netbooks and mobile
        phones, people would just want<br>
        to access ( as in just play ) their songs etc, hosted on their
        cloud.I think a web interface<br>
        (that we currently have) to play songs , and stream videos would
        be the way to go. The web<br>
        interface eliminates the need for native sync clients on mobile
        phones.<br>
      </span></span><br>
    <br>
    <blockquote cite="mid:201101261205.55817.riccardo@kde.org"
      type="cite">
      <pre wrap="">
Let me know of what you think, I'm CC'ing akunambol's and ownClouds mailing 
lists so that everybody can provide feedback.

Bye,
-Riccardo
</pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
regards
-------
Kunal Ghosh
Dept of Computer Sc. &amp; Engineering.
Sir MVIT
Bangalore,India

permalink: member.acm.org/~kunal.t2
Blog:kunalghosh.wordpress.com
Website:www.kunalghosh.net46.net
</pre>
  </body>
</html>