MichalKarnicki
Michał Karnicki
Contact information
Your Name: Michał Karnicki
Email Address: <mkarnicki AT gmail DOT com>
IRC nickname: mkarnicki
Launchpad ID: mkarnicki
Skype username: michalkar
Webpage/blog: no blog yet (rather ascetic institute page http://users.pjwstk.edu.pl/~s6515/ )
College-University: Polish-Japanese Institute of Information Technology (Warsaw, Poland)
Major: Computer Science
Project
Project Name
OneDroid: Ubuntu One client for Android
Project Description
(See feature specs for details 1)
The aim of the project is to deliver Ubuntu One service to Android powered devices (in particular, smartphones). The application would enable Ubuntu users not only to browse files in the cloud from their phone, but also share experience on the spot using URLs to their published U1 resources, instantly upload camera pictures or download music. Eventually, the aim would be to implement full-featured syncdaemon for specific UDFs. Ubuntu One is currently being intensely extended with new features, let's take that cloud mobile.
Features:
- browsing of cloud files
- downloading / opening of a cloud file
- uploading of a file (like a camera image) to cloud storage
- publishing a file to a public URL / publishing a file to a public URL and then sharing that URL with an Intent
- sharing a cloud folder with another Ubuntu One user
- implementing syncdaemon for specific UDFs
If you would be willing and able to do other projects instead, which ones?
I envision many possible improvements in Nautilus, so it'd be 'Nautilus improvements'. However, I'm doing my best to prepare for this particular project, which is my own proposal - and would therefore appreciate, if Ubuntu would acknowledge it's importance and positive impact on Ubuntu One and Ubuntu itself
Why did you like this idea?
I'm both a lover of Ubuntu and an enthusiastic user of Android. This idea is the golden mean between two things I really enjoy to interact with, both on user and developer level. What is really exciting for me is that at the same time I can contribute to Ubuntu, extend functionality that U1 provides, join the honorable Ubuntu developers circle, and explore new areas of interest in the ins and outs of Android platform.
Also, I have found positive feedback of these stimulating:
Please describe a tentative project architecture or an approach to it
TBD I would use the preferred way to develop applications for Android, which is Eclipse with Android SDK. We can expect there will be much in common with ubuntuone-client's approach to file sync, however adjusted for mobile use by means of availible sync modes. Main focus would be on file sync with U1 based on favorable conditions (current connection, available storage, etc), sharing files using public link, managing files and accessing them off-line. If above would be completed before the estimated schedule, I would be more then excited to introduce CouchDB access through the application (possibly exposing intents for Ubuntu One for Android application plugins).
Give us details about the milestones for this project
See also feature specs 1
TBD
- browsing of cloud files
- downloading/opening of a cloud file
- uploading of a file (like a camera image) to cloud storage
- publishing a file to a public URL / publishing a file to a public URL and then sharing that URL with an Intent
- sharing a cloud folder with another Ubuntu One user
- implementing syncdaemon for specific UDFs
Why will your proposal benefit Ubuntu?
It will extend the reach of U1, and hopefully be the next step in friendship of Ubuntu operating system and mobile devices. Apart from the Ubuntu One functionality, there are many more projects that would be fun to develop in this area, like a dedicated remote for presentations on Ubuntu or performing simple remote tasks on ubuntu box/server/cloud machine stats/etc. It would be pure fun to carry my Ubuntu in my pocket everywhere, while the computer itself is still at home/work. Right now - you have ssh client (or vnc on a very small screen, which is bad), and nothing more. So let's do more!
Open Source
Please describe any previous Open Source development experience
I haven't released much Open Source yet. I wanted to open an execution environment for pseudo assembler machine MARIE, but didn't have time to polish it (but it is fast, thousands times faster than Java app students were supposed to use). I've dug into Nautilus a bit, also plan to implement application similar to Windows' Mobility Center.
Why are you interested in Open Source?
For me, Open Source has always been an Utopia - but one thing different, it exists! And it should continue to exist and grow in potential and possibilities. I love the idea that anyone can take the source and change it to his/her needs, no limitations whatsoever! Icon's don't align as you like? apg-get source nautilus and fix it. Something broke? Inspect why, and help out others. No waiting for the patch, because someone won't let you fix it yourself. Open Source not only provides good quality thanks to thousands of developers, Open Source gives you freedom and the power to act and do things better!
I have used GNU/Linux over 8 years I think, more than half spent on Ubuntu. And I owe it
Availability
How long will the project take? When can you begin?
Sensible subset of features decided upon with my mentor should make the project fit the given time frame
How much time do you expect to dedicate to this project? (weekly)
Up to 22hrs during academic year, 30hrs daily during holiday (Space-time continuum bending. Seriously - I can't imagine a better work and hobby at the same time. I will make it full-time if not even more.)
Where will you based during the summer?
Mainly my hometown Slupsk, possibly Warsaw. Both locations with suitable-to-high bandwith connection and a full fridge.
Do you have any commitments for the summer? (holidays/work/summer courses)
Maintain excitement and positive state of mind! (I have resigned from shortened holiday Erasmus exchange.)
Please designate a back up student (in case you need to withdraw your application)
I utterly doubt anything like that could happen. Should this (uber impossible) happen, I would find a friend of mine.
Other
Have you ever participated in a previous GSoC? (describe your project)
No, I haven't.
Have you applied for any other 2010 Summer of Code projects? If yes, which ones?
No, I haven't.
Why did you apply for the Google Summer of Code ?
Possibility to engage in Open Source development community, great way to make contribution to Ubuntu and tackle Android platform at the same time. For me, the cash incentive is not as important as working for Canonical and, in a way, Google at the same time. This is an ultimate possibility, and I'd really want to make it happen.
Why did you choose Ubuntu as a mentoring organisation?
I have been a happy user of Ubuntu for more than 4 years, and I have been waiting long (due to me being active at the institute) to contribute and give back to the community and the operating system itself. I use Ubuntu daily for hours to both work - study or code that is, and entertain (the latter if the day happens to have more than 24 hours). I have enjoyed to follow the devel lists and watch the community collaborate, and now I want to make my share.
Why do you want to participate and why should Ubuntu choose you?
I'm very excited about writing this project and will commit the time and energy required to make it successful. I had the pleasure to talk to 3 members of Ubuntu One team, each of them equally enthusiastic and supporting the idea. I hope this wiki page reflects well my true intentions. If you have read this from the top, you know I deserve the chance to convert my passion and excitement into code ! I would like to continue developing this project after GSoC, and would more then love to become a member of Ubuntu One dev team.
Thanks for reading this never-ending report. If you have any thoughts or ideas you'd like to share, please leave them below or send me an email. Cheers!
About me/Experience
I started programming in Pascal just before High School, and immediately transitioned to C and soon C++. Few years later, I also took on Java. I know GTK+ quite well and have applied it successfully in a commercial application. Currently, my areas of interest are algorithms & data structures. I'm a board member of Error 501 Interest Group6 at PJIIT, actively involved in leading algorithm-oriented programming trainings. I've been delegated from PJIIT to programming contests (see webpage). Apart from that, I know PHP, SQL, XML, jQuery, etc on intermediate level (these however would be of small if any use in that project). Last summer, I have also taken one month course in Web Development (mainly ASP .Net) at Glyndŵr University, Wrexham, UK.