I am Shalom from Hyderabad, India working (yes, present tense and will ever be) on One Click Installer project as part of GSoC, 2016. Just a quick irrelevant update – I have received my UK Tier 4 visa, and my travel date is on Sept 9, 2016. I am very excited to pursue Master of Science (Computer Science) course at University of Edinburgh.
Note: Sorry for the long post. Tried my best to make it interesting.
Well, GSoC – 2016 has come to an end. So, credit where credit is due:
- GOD – For being gracious
- Antonio Larrosa, and Cornelius Schumacher – For mentoring, and putting up with me even when project unexpectedly became very tough at the latter stage
- OpenSUSE Community – For awesome support
- Google – For this awe-inspiring opportunity
The end of something is the beginning of something new! So, technically, there is no real ending.
Let’s swift through the new features of One Click Installer.
Summary of the project: One Click Installer makes it easy for users to install software, no matter where that software is located.
New Features of One Click Installer / Milestones Achieved
- Fully based on Qt5
- Improved localization
- Direct zypper execution replaced with Libzypp API calls.
- DBus Support to the application
- Asynchronous communication between OCI and OCIHelper using DBus
- Handling of package conflicts and dependencies at the back-end
- Handling of file conflicts
- Installation of Packages, and media callbacks
- Better progress interface, and Improved GUI
- Link: Official Repository
- LOC: 4,393 ++ / 1,805 — ( a bad metric, IMHO )
- 70 Commits
- 5 Pull Requests ( final midterm – as of now )
Challenges, Skills Obtained, Experience
To write an application that installs software on an operating system is no easy/medium task: even a slightest error results in a broken system.
I had trouble going through the Libzypp API as it is not public friendly __be it far from me that I should complain__ that is because product and distribution release dates don’t delay for it. Nevertheless, it somehow increased my programming ability and knowledge as I had to read some of its source code to understand.
Another major challenge was to establish asynchronous communication between one click installer and its helper. Thanks to Antonio Larrosa, we have overcome this together.
I have learnt a lot of things over the course of GSoC especially Patience, Patience, Patience, Programming Knowledge, New Technologies, Coding Constructs, Coding Style, and const QString & (insider joke 😉 ). I went through *not so great*, *wonderful*, *disappointing*, *encouraging* moments and as a result I’m a much better programmer, and a human being now than I set out to be.
Follow up Project / Contribution to openSUSE in the Future
Participating in GSoC with openSUSE has created new opportunities for me to contribute to SuSE’s mainstream projects such as zypper, and libzypp API. I can’t wait to hone my skills and start contributing to the above mentioned projects. And yes, I will continue to enhance, and maintain my project – One Click Installer.
Humble Request: Lot of important GUI/core changes are to be made before the official release but for now please watch this video of one click installer installing “VLC Media Player” from its official tumbleweed repo. When the new version of one click installer is released, please use it and should you find any issue, create one on the official repository. Thank you.
So far, it has been an awesome journey with openSUSE. A huge shout out to my mentors – Antonio Larrosa and Cornelius Schumacher, and openSUSE community – especially, Michael Andres (libzypp), Christian Bruckmayer, and Henne Vogelsang. Thank you for all the critique, and support you have given me.
Until next time! God bless!