Symbian CardDAV prototype

Cards-256Here it is, without further ado: Cards 0.1
(Update 2013-03-29: I’m in the process of trying to get whitelisted to continue using this API with google, see this blog post)

(Update 2014-02-03: Since I failed adding OAuth and get DAV responses, here’s the source: https://github.com/b100dian/cards . In the other news, SyncML seems to still be working with settings like here).

What does it do? it connects to google and downloads vcards from there, then it presents them in a (sorted) list where you can select one to call or email. It doesn’t store them or sync them in any way.

This is proof-of-concept work, of course.

It’s based on Qt4.7.4 for Anna – is it working for you?

I don’t know if I will add more features to this, as my itch is scratched, but feel free to come up with suggestions!

Some things I learned along the way:

QML development is very nice, things evolved very fast and in a good way since the first time I took a look at Qt for Symbian (that was without QML or QtQuick).

The actual Digia Qt documentation is still up for the 4.7/4.8 Symbian parts and you still find Nokia forums with lots of info from people.

The actual coding of this went on for about a month, in 10 sessions of a couple of ours each:)I went from making the briefly reading the CardDAV rfc to coding the PROPFIND request in Qt C++, then started reading on how to set up QML and Qt together in the same project, then trying to fill a ListView with the card info and finally learning a bit about page navigation and adding a login page. The last bit was firing up Inkscape, watching a squircle tutorial and bam! I have an icon too.

Unfortunately for actually synchronizing the agenda or make a call without confirmation I need to write even more Qt C++ code:) Also, the PROPFIND request only returns the IDs of the cards, I had to download them one request at a time (altough in theory queries can be made was not able to get the cards in the first reply itself).

And all this was done on Linux! Thank you Nokia! (I actually had two QtCreators, one for simulator and one for building .sis files, since the remote compiler I used before was pulled out, then I figured how to configure the simulator to run in the second QtCreator)

What I didn’t do is I haven’t read about signing, UIDs, putting into store etc. Maybe I’ll figure this out later too.

Advertisements

16 Comments to “Symbian CardDAV prototype”

  1. Just found your link in AAS comments and tried it now, it works :)
    Any plans for adding more functionality? like standalone contacts app? two way sync?

    • Thanks for trying this out! Can you share the phone and the OS version you tried with?

      I will try to reach the two-way sync goal in small steps, since I am not entirely sure right now how should I approach this. Most probably the next version will at least store the previous downloaded data and only download diffs.

      P.S. about finding the comment: I thought about spamming AAS team about this but then I thought: why not get more data first? Do people really search for symbian carddav apps:D? I guess there aren’t as many as Steve suggests.. but again google hasn’t yet closed the exchange service.

  2. I tried it on Nokia 808 , Belle FP2.
    Regarding people searching for Symbian CardDAV , I guess there may be few people doing that. :)
    But AAS remains highly popular for symbian fans and even ex-fans.
    I feel your should try to develop it as standalone Google contacts app. I am willing to be Beta tester.
    I am sure many will like to have this app. Regarding Sync in both direction, I assume it may be not so easy but one way is also good enough for many people.
    Can you check Google Calendar API?
    I have got N9(not working now) and one guy had developed something similar , check following link.
    http://meestuff.blogspot.in/p/syncgcontacts.html

    • Thanks mobileyog for also posting your phone/OS version.
      I will try to reach some kind of sync level, just as I said, in small steps as I’m getting more familiar with the platform.
      Calendars should be a simpler story, if I have the API and I can create a new calendar – that would mean only I would be managing it, so sync should be 1-1. I will definitely look into this too.
      About the the syncgcontacts link – I am kind of jealous I had to learn some GUI programming since console is not an option for Symbian:D

  3. Thanks Vlad, I will interested in Google Contacts+Calendar+ToDos(Tasks) app. Or individual apps.
    I will gladly pay for it, I think many(few thousands to millions) will pay for it. Keep up the good work.
    Are you on Twitter?

    • Thanks @mobilelog for the encouraging words:) I am currently just working on a 0.2 version to store the details locally and refresh only the diffs, andm as Fabio points out, figuring out the connection error. I’m @b100dian on twitter

  4. Hello. Here on N8 with Belle i get a reply error ;(

  5. Hey, Finally thought of setting this app up. I have the two-step authentication enabled on my Google Account.
    All it gives me is Error : Reply Error 203

    Any idea?

    • Hi Yash,
      Unfortunately, whike developing the .2 version google retired the API. I filled out a form and waiting for their reply (see the other comments)

  6. Any movement on getting whitelisted?

    • actually yes! Google opened carddav back again, but requires oauth. I hope i can get this working;)

  7. Hey buddy, any updated on the progress?

    • Working on it, sorry for the delay – 0Auth2 is more complex than my 2-3 hours attention span:)

      Current status is: I got the webview up that requests access and I handle the authorization token, but I still get reply error 203 when using Authorization:Bearer header..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s