First of all, I would like to express my gratitude to my mentors Mr. Àlex Fiestas and Mr. Albert Vaca, and kde hackers Mr. Daniel Vrátil, Mr. Sergio Martins, Mr. Kevin Krammer etc. Also, thanks for Chinese GDG who supported us to hold a meet-up at Beijing, introducing our projects, discussing and making some noise to get more students involved.
For a brief resume, I’ve accomplished the basic backend, ui for iOS platform , and plugins : Ping, MPRIS, Photo Sharing , Clipboard Sync, Mouspad, Battery report, which have been already implemented on Android version.
Besides, I’ve also implemented new plugins for the synchronization of calendar events, reminders, and contacts, using Akonadi to manage these resources.
During this GSOC, I’ve learned a lot on iOS development, and the development on kde shows me the art of its structures and design . For an experience-less like me, it is rather complicated but really fascinated . I’ve spent a lot of time on tests , trying to figure out the correct way to manipulate the resources as I wanted, but I’ve always got unexpected bugs or misunderstood of the way Akonadi works. Thanks for mailing list and patient hackers on IRC, I’ve finally managed to comprehend and make it work. That makes me realize the importance of communication. One should have talk with other experienced people even if it’s a stupid question. That would save a lot of time and let people get more ideas .
Besides, I’ve also encountered many wired problems but finally resolved by stack overflow and google search, such as: the public key generated by iOS api miss some important info at the head, and that would make the public key shorter and unrecognizable for others. The address book apis on iOS are not as well wrapped as on OSX, and it doesn’t provide an UID for every contact,that would make it complicated when trying to identify a contact with UID. There’s no parser for calendars in icalendar format, so I’ve got to use the c library libical for parsing and create the icalendar format string manually (it works not perfect, maybe we can find a better way or to create a completed library for icalendar generator and parser). A two finger tap guesture will always trigger a single tap guesture, which won’t hurt but I’m still thinking of how can we create a better self-defined guesture based on iOS guesture recognizer without triggering the wrong one.
I was planning to take the advantage of libimobiledevice to bring the useful tools on UI or maybe create some new tools. But I’ve found that the library is a bit complicated for me. I’ll need more work to I’ve just given a try to wrap up some basic tool such as : get connected device list, get device infos, get realtime syslog etc. As the time for GSOC is limited, I didn’t managed to make some real progress on it and these features are not so useful for users. That is one of my expectations since no iTunes provided on linux.
I would also like to see that a BlueTooth 4.0 – Low Energy connection would be supported with a new backend. Through BTLE, we would be able to save a lot on battery and we would also be able to get more cool things from iOS since the notifications are only allowed to be retrieved by BTLE devices (These apis are designed only for smart watches or other devices). I was also told that kdeconnect would be disabled under the restriction of some school/ company wifi . So it’s cool if we can support a BT connection.
For the improvements, I’m working with Alexi Pol for a plugin loader which will load only the supported plugins instead of all plugins, which is being tested. The payload transfer should be encrypted and I would love to add more gestures for the touch pad plugin.
As the iOS 8 is coming, we are sure to take advantage of new apis , such as : add kdeconnect into the costume share sheet so that we can share a photo/ url outside the app.
At the end, I would like to express my gratitude again to everyone who helped me and who are following this GREAT project! This is my first time making contribution to an open source community and I’ve really enjoyed it. I would have to say, It’s a good begin for me and I’ll keep learning and contributing 🙂