0
Contributing CalDAV support for Symbian OS Maximilian Odendahl, Software Engineer Sun Microsystems, Inc.
Agenda <ul><li>Who am I? </li></ul><ul><li>The ongoing contribution by Sun </li></ul><ul><ul><li>Introduction to CalDAV </...
Who am I? <ul><li>Pursuing a Master's degree in Computer Engineering in Aachen, Germany </li></ul><ul><li>Currently workin...
Introduction to CalDAV <ul><li>Calendaring Extensions to WebDAV </li></ul><ul><li>Described in RFC 4791 since March 2007 <...
Introduction to CalDAV <ul><li>Designed for implementation by any collaborative software that needs to maintain, access or...
Introduction to CalDAV <ul><li>Large number of servers: </li></ul><ul><ul><li>Sun Calendar Server 7 </li></ul></ul><ul><ul...
Introduction to CalDAV
Why is it important for Symbian? <ul><li>Open platform -> open standards </li></ul><ul><li>User wants access to own data f...
Why is it important to Symbian?
Why is it important for Symbian? <ul><li>Bug entry : Add support for external calendars via CalDav </li></ul><ul><li>Yes p...
What exactly is going on? <ul><li>Development started during the summer </li></ul><ul><li>Close cooperation with the Organ...
What exactly is supported? <ul><li>CalDAV and GroupDAV </li></ul><ul><li>Ctag and WebDAV sync extension </li></ul><ul><li>...
Interoperability, QA and testing <ul><li>Ensure high quality and integration with a large number of different servers </li...
Interoperability, QA and testing <ul><li>Automated test suite  </li></ul><ul><li>Participated at CalConnect interoperabili...
The future - Get involved <ul><li>Creating and deleting remote calendars </li></ul><ul><li>CalDAV Scheduling Extensions to...
The future - Get involved <ul><li>CardDAV: </li></ul><ul><ul><ul><li>vCard Extensions to WebDAV </li></ul></ul></ul><ul><u...
Where can I find more info? <ul><li>http://tinyurl.com/seecaldav </li></ul><ul><li>Links, latest info, testing information...
Contributing to Symbian <ul><li>CalDAV plugin is one of the first outside contributions: </li></ul><ul><ul><li>Issues, tho...
Contributing to Symbian - continued <ul><li>Symbian will be completely open source in 2010 </li></ul><ul><li>Many new oppo...
Contributing to Symbian - continued <ul><li>Fix, enhance, extend, invent </li></ul><ul><li>Different, lightweight processe...
Contributing to Symbian - continued <ul><li>Show good community behavior, especially: communicate, communicate, communicat...
Contributing to Symbian - Issues <ul><li>All package owners and committers are from Nokia </li></ul><ul><li>Corporate goal...
Contributing to Symbian - Issues <ul><li>Emulator instability </li></ul><ul><ul><li>FAULT: KERN 0x00000065 (101), harveste...
Contributing to Symbian - Wanted <ul><li>Simulator </li></ul><ul><li>Reference platform including baseport </li></ul><ul><...
Contributing to Symbian - Tips <ul><li>Use existing resources of Symbian OS </li></ul><ul><ul><li>Existing Symbian C++ kno...
Contributing to Symbian - Tips <ul><li>Use existing resources of the Foundation </li></ul><ul><ul><li>Wiki </li></ul></ul>...
Contributing to Symbian - Tips <ul><li>Use existing tools and plugins for the tools used by the Foundation </li></ul><ul><...
Contributing to Symbian <ul><li>MercurialEclipse </li></ul><ul><li>http://www.vectrace.com/mercurialeclipse  </li></ul>
Contributing to Symbian <ul><li>MyLyn:  http://www.eclipse.org/mylyn </li></ul>
Thank you! Questions & Answers
Upcoming SlideShare
Loading in...5
×

SEE 09: Contributing CalDAV to Symbian OS

2,578

Published on

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Hi! I came here out of desperation. As you write, it is ridiculous to have no CalDAV in a modern phone (E7, released almost a year *after* your slides were dated). Is your program available somewhere, or was it just dropped? The urls in question seem to fail.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
2,578
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide
  • Contributing to the Symbian platform As this is one of the first outside contributions, I was asked to talk about that a little as well, so the second half will go int that and povide some info about faced issues and hopefully some tips to get going faster or easier
  • Sun Micrrosystems, Sillicon Valley which is actually ext to Foster City, where the new Symbian US headquarter is Working on document review, everything related to comments and annotations
  • Describes not just calendar synchronization such as SyncML, but a calendar access protocol on a remote server This includes - searching - freebusy lookup -&gt; looking into when is my colleague actually is availables before creating a meeting - scheduling, sending out, invitations, cancelling them etc. - server – to – server interoperability
  • Events does not only mean a meeting, but also allday-event, todos, journal notes etc Important to note is that this is just about accessing and creating the data. No assumptions or declaration how to present or store the data, free to implementation. Could be a device with a local, offline store, could be a picture frame just showing your next meeting etc. Althought only just two years passed, there is already a wide range of open sourc and commercial caldav servers and clients available
  • Mozilla Thunderbird with Lightning Extension as well as Sunbird And several other linux groupware clients for gnome and KDE
  • Perfect match, open platform should support available open standards if it fits into the platform&apos;s direction Users don&apos;t want to be locked into proprietary calendar databases, access applications or access/sync protocols Access your own data, whereever you want no matter what client you use Wide range of different use case...and not exclusivly, but all at the same time
  • The next Smybian release, which will be Symbian^3, will have support for multiple calendars. This means you can add and delete as many calendars as you want. You can have your own personal or family calendar with google, you are using a Sun or other Calender Server at work and your church or charity club is running some open-source caldav server -&gt; you can access and sync to all these calendars out of the box with your caldav enabled device
  • Not making this up, Android bug entry applies to Symbian the exact same way
  • At this point, a big thank you Sharad -&gt; raise your hand We had lots of very fruitful discussions and he is being a very open and supporting package owner, thanks again Plan is to have this integrated in Symbian^3, the next version of Symbian. Some missing stuff is currently being developed by Nokia and myself and then we can hopefully merge it end of November into the main codeline.
  • # CalDAV: This is the standard itself. # GroupDav: Similar to CalDAV, but easier to implement on the server side, e.g. a plain Apache + mod_dav is enough. # CTag: An extension to CalDAV to check quickly whether a calendar collection has changed. # Collection Synchronization for WebDAV: To receive only changed events from a server, thus significantly speeding up synchronization. If there is no internet connectiona available, it will be noticed and tried again during next synchronization run
  • the code is not only tested against our own Caldav Calendar Server , but tested extensively against a wide range of other CalDAV implementations as well. writing data: be as strict as possible - reading data: be as loose as possible What do I mean by that? One quick example: when deleting a calendar, returned error code according to standdard should be 204 NO CONTENT, but many servers return 200 OK Client has to deal with these things to make sure it works with all of them!
  • One part of the contribution automated testsuite, Creating and deleting events Creating and deleting todos Regular get, multiget Capabilites Synctokens – are changes available Around 10 different servers Iron out bugs at Calconnect in this month CalConnect, The Calendaring and Scheduling Consortium. The Consortium is focused on the interoperable exchange of calendaring and scheduling information between dissimilar programs, platforms, and technologies.
  • Freebusy lookup and scheldung -&gt; Server will send out invitations using iSchedule Server-to-server scheduling
  • - Links to the the bugzilla bug entry and source code - contact info: if you want to contribute or get in touch for anything else.... - testing: list of different servers it was tested with If you want to see the plugin in action or have more detailed questions, just talk to me afterwards or tomorrow.....
  • Caldav plugin being one of the first larger contributions to the opened up platform, I was asked to comments one some thoughts as well as tipps and tricks Interacting with the foundation and the package owner in general was a very pleasant experience and a lot of stuff is really well documented on the wiki, so I do not have miracles to tell, but some general thoughts and tips for hopefully many, many new contributors in the future.
  • Symbian is open source now This means many new opportunities and chance to be part of it, from a software point of view, but hardware as well. You are able to actively shape the platform. This does not mean of course that every vendor should integrate their propriatary niche protocol or product into the platform, this is exactly what 3 rd party applications are for. Now your company does not have to wait for something to happen, they can make it happen: It must fit into the platform -&gt; e..g new open standard , extension to an existing one Or completely unrelated contributions, such as better simluator, new languages and so on
  • # Fix: where you want to contribute source-code to fix a platform defect # Enhance: where you want to contribute source code that makes a minor enhancement to existing functionality # Extend: where you want to contribute source code that represents a major change to existing functionality or an extension to the platform # Invent: where you Add IMAP extension If you would like more information about that and want to know where your contribution could fit it,, have a look at the wiki page or talk to the responsible package owner
  • This is probably an obvious point, but easy to forget, especially if you were not involved in open source before Communicate: Before you start something, talk to the package owner and commiters of the individual package and discuss your idea, the overall picture and design will be much better at the end. Will also tell you if it fits into the platform and if it actually makes sense Same way, once you start, announce it: forum, mailing list -&gt; create a wiki page, bugzilla entry Don&apos;t just slap it on package owner, but develop in the open, commit early to an FCL line. Integration and working together will be much easier! Fix bugs afterwards, submit testing code as well Contributions: correctly sized, ready to merge, high quality, product and vendor independent, and supported by appropriate test code and documentation. Resources inside resource files, not in the code Respect the role of the package owner.....other way around as well of course,...
  • There also some potential new issues due to the history of symbian. This is the same case for any other open source project, so hopefully some lessons can be learned there As all package owners are currently from Nokia, this can lead to difficulties and potential resentments I&apos;m not saying there is an issue, and as I mentioned earlier, my exoeriecne so long has been the complete opposite, but these are potential issues which need to be watched closely. Hopefully many external contributions, committers, so this situation can be changed Practice not just open source but also open decision making and open governance
  • But there are also some well known issues which everyone will face during development, in fact, the same ones as someone might have experienced during 3 rd party development So they have nothing to do with the opening of the platform, but make it harder to get new people for contributions So what issues did I have? Emulator: unstable and slow, takes forever to boot Build system: not really reliable, especially related, seems not fixed with raptor Windows perl, python, gcc, java etc Many, many people, especially developers use linux and macs Internet connect
  • So what is missing for contributors or what would defintily lower the lower the adotpion barrier for any external contributor besides better emulator and build system In my opinion, asking the community for this will not really work. The basic stuff needs to be there and ready to use, and then porting, innovation and so on can take place. Symbian should focus on the core tools. Tools that are just a must to develop for the platform. Editing/Compile/Build/Debug get rid of winscw -&gt;simulator QEMU, hopefully faster, no moe recompiling etc. this means the Windows dependeny is gone!! Try on hardware: There was no reference platofrm for symbian^2, but there is one for Symbian^3 zoom2 as well as beagleboard, low cost great Not only run a textshell, but full GUI Internet connection, possible on zoom2, how about beagleboard? Now that raptor is out, switch to make or something different is proabbly out in the near future, but still highly desirable Gcc Automated buildbots and tinderboxes compile source for different target but run all tests on different targets and publish results
  • Now that I have all these tools and full access to the source code: Will I ever managed to do that, never find my way around, fixing a bug completely out of the picture actually rather easy. If you are an exiting Symbian C++ developer. not a lot of things change actually. everything you learned before is not going away and are used throughout the platform: Active object, descriptors, resources etc. You can debug any platform application just like you debugged your own 3 rd party applications inside carbide Platform is open source now and it is the same: huge repository of example code!! USE OPENGROK
  • Feature Code Line FCL I&apos;m frustrated and want to speak to a real person Sometimes things just don&apos;t go your way and you need a helping hand. If you&apos;ve exhausted the forums, mailing lists, package owners and wiki and still can&apos;t find the help you need or need further help: IRC you can contact the following people: Symbian Foundation Technology Managers
  • Symbian Foundation&apos;s infrastructure is based on widely, available, open source tools Don&apos;t reinvent the wheel, use the available resources Carbide based on eclipse - You want an uml plugin to work with your symbian classes - documentation - task planning - management whatever e..g Google search: look for Eclipse, not carbide!
  • Never really habe to leave eclipse to do your work... Integration really helps... Everyone has to decide on your own...
  • Transcript of "SEE 09: Contributing CalDAV to Symbian OS"

    1. 1. Contributing CalDAV support for Symbian OS Maximilian Odendahl, Software Engineer Sun Microsystems, Inc.
    2. 2. Agenda <ul><li>Who am I? </li></ul><ul><li>The ongoing contribution by Sun </li></ul><ul><ul><li>Introduction to CalDAV </li></ul></ul><ul><ul><li>Current development, QA and the future </li></ul></ul><ul><li>Demo </li></ul>
    3. 3. Who am I? <ul><li>Pursuing a Master's degree in Computer Engineering in Aachen, Germany </li></ul><ul><li>Currently working at Sun Microsystems in Santa Clara, CA, USA </li></ul><ul><li>5+ years of Symbian experience </li></ul><ul><li>OpenOffice.org core domain developer </li></ul><ul><li>Sports, sports, sports </li></ul>
    4. 4. Introduction to CalDAV <ul><li>Calendaring Extensions to WebDAV </li></ul><ul><li>Described in RFC 4791 since March 2007 </li></ul><ul><li>Allows clients to access calendaring and scheduling information on a remote server </li></ul><ul><li>Based heavily on existing standards such as iCalendar, HTTP and WebDAV </li></ul>
    5. 5. Introduction to CalDAV <ul><li>Designed for implementation by any collaborative software that needs to maintain, access or share collections of events </li></ul><ul><li>Developed as an open standard to foster interoperability between software from different implementors </li></ul><ul><li>Gained industry wide support very rapidly </li></ul>
    6. 6. Introduction to CalDAV <ul><li>Large number of servers: </li></ul><ul><ul><li>Sun Calendar Server 7 </li></ul></ul><ul><ul><li>Google and Yahoo Calendar </li></ul></ul><ul><ul><li>Oracle </li></ul></ul><ul><ul><li>Apple </li></ul></ul><ul><li>Growing number of clients: </li></ul><ul><ul><li>Mozilla Thunderbird </li></ul></ul><ul><ul><li>Apple iCal </li></ul></ul><ul><ul><li>Iphone </li></ul></ul><ul><ul><li>Evolution </li></ul></ul>
    7. 7. Introduction to CalDAV
    8. 8. Why is it important for Symbian? <ul><li>Open platform -> open standards </li></ul><ul><li>User wants access to own data from different devices without being locked in </li></ul><ul><li>Up-to-date data on desktop, mobile and web </li></ul><ul><li>Opens a wide range of personal, business and enterprise use case </li></ul>
    9. 9. Why is it important to Symbian?
    10. 10. Why is it important for Symbian? <ul><li>Bug entry : Add support for external calendars via CalDav </li></ul><ul><li>Yes please! this is the main reason why Im selling my g1.. </li></ul><ul><li>Oh yes! I can not believe that an internet enabled modern Smartphone does not do this. Really, I'm shocked. Fix this, this is ridiculous. </li></ul><ul><li>Without this, the calendar is pretty much useless </li></ul><ul><li>A modern smartphone should be able to handle external calendars via iCal / CalDAV </li></ul><ul><li>I need this feature as well, for both work and private </li></ul><ul><li>It's a must-have feature for every business phone. And it's a big disappointment to me that it's not been implemented yet </li></ul>
    11. 11. What exactly is going on? <ul><li>Development started during the summer </li></ul><ul><li>Close cooperation with the Organizer Package owner, Sharad Upadhyay </li></ul><ul><li>Planned to be merged for Symbian^3 </li></ul>
    12. 12. What exactly is supported? <ul><li>CalDAV and GroupDAV </li></ul><ul><li>Ctag and WebDAV sync extension </li></ul><ul><li>Dynamic discovery of server capabilities </li></ul><ul><li>Multiple calendars, integration into native calendar, offline use </li></ul>
    13. 13. Interoperability, QA and testing <ul><li>Ensure high quality and integration with a large number of different servers </li></ul><ul><li>Test against many different implementations </li></ul><ul><ul><li>writing data: be as compliant as possible </li></ul></ul><ul><ul><li>reading data: be as tolerant as possible </li></ul></ul>
    14. 14. Interoperability, QA and testing <ul><li>Automated test suite </li></ul><ul><li>Participated at CalConnect interoperability event at Apple's campus in October 2009 </li></ul>
    15. 15. The future - Get involved <ul><li>Creating and deleting remote calendars </li></ul><ul><li>CalDAV Scheduling Extensions to WebDAV </li></ul><ul><ul><li>Add invitees to event </li></ul></ul><ul><ul><li>Free/Busy lookup </li></ul></ul><ul><li>Discovery of CalDAV Push-Notification </li></ul>
    16. 16. The future - Get involved <ul><li>CardDAV: </li></ul><ul><ul><ul><li>vCard Extensions to WebDAV </li></ul></ul></ul><ul><ul><ul><li>Open platform – open standard </li></ul></ul></ul><ul><ul><ul><li>Stay ahead of the curve </li></ul></ul></ul>
    17. 17. Where can I find more info? <ul><li>http://tinyurl.com/seecaldav </li></ul><ul><li>Links, latest info, testing information, source code, demo accounts </li></ul>
    18. 18. Contributing to Symbian <ul><li>CalDAV plugin is one of the first outside contributions: </li></ul><ul><ul><li>Issues, thoughts, and tips for new contributors </li></ul></ul>
    19. 19. Contributing to Symbian - continued <ul><li>Symbian will be completely open source in 2010 </li></ul><ul><li>Many new opportunities </li></ul><ul><li>Your chance to shape the platform </li></ul>
    20. 20. Contributing to Symbian - continued <ul><li>Fix, enhance, extend, invent </li></ul><ul><li>Different, lightweight processes based on complexity of the contribution </li></ul><ul><ul><li>http://tinyurl.com/SEECQS </li></ul></ul>
    21. 21. Contributing to Symbian - continued <ul><li>Show good community behavior, especially: communicate, communicate, communicate </li></ul><ul><li>Contributions that are easy to accept </li></ul><ul><li>Respects the role of the package owner </li></ul>
    22. 22. Contributing to Symbian - Issues <ul><li>All package owners and committers are from Nokia </li></ul><ul><li>Corporate goals </li></ul><ul><li>All contributions are pushed directly into MCL </li></ul><ul><li>Communication, communication, communication </li></ul>
    23. 23. Contributing to Symbian - Issues <ul><li>Emulator instability </li></ul><ul><ul><li>FAULT: KERN 0x00000065 (101), harvesterserver kern-exec, telephonyaudioroutingserver failed, harvesterserver user 0, homescreen viewsvr, contacts viewsvr </li></ul></ul><ul><li>Build system </li></ul><ul><ul><li>resources and delivering </li></ul></ul><ul><ul><li>long-lasting dependency checks </li></ul></ul><ul><ul><li>delivering of header files </li></ul></ul><ul><ul><li>Windows only, including old dependencies </li></ul></ul><ul><li>Internet connection </li></ul>
    24. 24. Contributing to Symbian - Wanted <ul><li>Simulator </li></ul><ul><li>Reference platform including baseport </li></ul><ul><li>Freely available, reliable toolchain </li></ul><ul><li>Support for latest gcc </li></ul><ul><li>Buildbots and status updates </li></ul>
    25. 25. Contributing to Symbian - Tips <ul><li>Use existing resources of Symbian OS </li></ul><ul><ul><li>Existing Symbian C++ knowledge applies the exact same way </li></ul></ul><ul><ul><li>Forum Nokia, Samsung Mobile Innovator, Sony Developer World and others </li></ul></ul><ul><ul><li>Manufacturer discussion boards as well as independent ones such as NewLC </li></ul></ul><ul><ul><li>Symbian OS: huge repository of example code </li></ul></ul>
    26. 26. Contributing to Symbian - Tips <ul><li>Use existing resources of the Foundation </li></ul><ul><ul><li>Wiki </li></ul></ul><ul><ul><li>Mailing lists </li></ul></ul><ul><ul><li>Forums </li></ul></ul><ul><ul><li>FCL to host your code </li></ul></ul><ul><ul><li>Community Managers </li></ul></ul>
    27. 27. Contributing to Symbian - Tips <ul><li>Use existing tools and plugins for the tools used by the Foundation </li></ul><ul><ul><li>Carbide(Eclipse) </li></ul></ul><ul><ul><li>Mercurial </li></ul></ul><ul><ul><li>Bugzilla </li></ul></ul>
    28. 28. Contributing to Symbian <ul><li>MercurialEclipse </li></ul><ul><li>http://www.vectrace.com/mercurialeclipse </li></ul>
    29. 29. Contributing to Symbian <ul><li>MyLyn: http://www.eclipse.org/mylyn </li></ul>
    30. 30. Thank you! Questions & Answers
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×