From Fedora Project Wiki

< GSOC 2017

Revision as of 19:29, 31 March 2017 by Zspb (talk | contribs)

Chosen proposal: Adwaita and HighContrast style for QtQuickControls

I would like to work on and implement this proposal, if possible.

OSS related work, contributions

Not sure if this counts as OSS work - but I have helped out on various IRC channels including the official Fedora ones for long years. I am also present on StackExchange sites including AskUbuntu, Unix, and SuperUser, trying to help folks whenever I can. I have also done quite a bit of translation work during the years for open-source projects. Everything's translation which is a really useful tool on Windows also has my name in the contributors. At the moment I am the server and forum administrator for the qBittorrent team, and I try to help the project wherever I can. I also steer the Hungarian translations by double-checking the submitted translations, fixing the mistakes and submit my own strings. I also handle the domains of the project and help to organize the reports on Github occasionally.

Relation to OSS software

In my very first years of using computers, I have received a boxed copy of SUSE. Yes, I know, it's not Fedora Core - but as far as I am aware there were no boxed Fedora Core copies back then. At least, not in my country. So I really loved all the different environments, the armada of programs available right out of the box and the DVD. And they were all free. It was surprising and awesome at the same time.

There was a bit of pause here because the country lagged behind in terms of internet, and without internet and Linux users around, you were not able to really do much. So as soon as I had my first always-on connection set up, I have started using different distributions, like most users do. Started out with Ubuntu, Debian, but I think I have tried all major and minor distributions (not kidding). Realized I enjoy fresh software and rolling release. That's when I moved to Arch, but updates broke half my system without notice. Moved to Sidux - it was truly a great system with a dedicated userbase. The IRC they had was amazing, it was based on Debian sid, it was blazing fast, yet stable.

Sadly the project ended after a while. During the years I have already used Fedora Core and then Fedora off and on. Once Sidux ended I went to Fedora and I noticed how blazing fast it was. I know this seriously sounds like snake oil but I am not kidding. The KDE desktop it had, for example, had no useless effect and it flew. And then another thing hit me after being hooked on rolling rock release model - that I received fresh software. It's fast, stable, and the software is fresh. What's not to like?

What am I studying, why?

I am studying to be a programmer at the Hungarian ELTE university. If everything goes well, I have one year left before graduating. Why did I start my studies here? Well, I was "the computer guy" who fixed things. Then my school teacher showed me programming and there was no stopping. Will I code for the rest of my life? I enjoy coding, I worked as a programmer (intern/student), I enjoyed it. But you never know what life brings. I also love working with Linux, administrating systems, deploying things - so who knows. We will see. :)

Why do you want to work with the Fedora Project

Because I like Fedora and hopefully this will be a chance to learn more about the inner workings. How the organization works, how work is done inside the distribution and so on. This opportunity will also provide me a way to "see inside", where I could help out once the program is finished.

Do you plan to continue contributing to the Fedora Project after GSoC?

First and foremost there is the proposal I would like to work on. If I get accepted I want to complete it, deliver a complete product.

I am fairly sure there will be "we could also do this" parts about it. I will finish those once the program is done. There was already something mentioned by the mentor that would be a nice task. Once all is done, I have experience with packaging. As I wrote just in the previous section, I will know a lot more about the project once the program concludes.

Why This Project?

Because I checked all the projects on the GSOC 2017 page and tried looking for familiar projects that I used, enjoyed. And I thought it would be great to contribute back something while learning new things.

Which specific project interests you?

Adwaita and HighContrast style for QtQuickControls

Have you contacted the mentor(s) listed for the project?

Yes, I have contacted the mentor as soon as possible, then I kept in touch as much as possible during the open period. Thanks to his help I learned how QuickControls theming works, how the widgets are styled. How to track down if something is not displayed, how to see the valid attributes for each item.

What relevant experience do you have for this project?

During my studies I had several programming classes. During my first year of uni, I also worked at companies as a developer. And last but not least, thanks to my distro hopping and heavy Linux use, I got my hands dirty thanks to making my own packages, trying to update my system with my own built software, trying to fix broken updates, trying to debug issues, trying to help others. But, if you are reading this, I am sure you know how it is. :)

What do you want to gain from this project?

- Experience. Each aspect of the proposal looks interesting - such as how the Styles work, how could I implement the best looks possible - the options are vast. Then figuring out how GNOME can be manipulated, learn more about Gnome's inner workings. And CMake. Build systems are useful for home projects, at work, everywhere. And let's not forget it's a useful knowledge when you are trying to fix things. - Learn about how the Fedora team works together, how the project works. - "Fun." I know this sounds weird, but you get this satisfaction from problem-solving. When you work hard on a problem and you finally get it working. It's also great that you make a team with the mentor, and that the proposal will result in something that people will be using.

Describe this project in your own words. What does it mean to you? What do you think the final deliverable is?

It will provide a unified look for QtQuickControls applications on a Fedora workstation installation. Which install, I think represents the majority of desktop installations. To me, it means the desktop will have a neat look which I really like. I have been in love with the customization since Beryl was a thing. Since then I messed with KDE themes, GTK, Qt engines, Icon themes, anything you can think of.

If you used KDE back in the 3.0 and early 4.0 days, you know how hard it is to set up a unified looking desktop. This proposal would bring that a step closer.

The final deliverable I think is having a complete Adwaita and HighContrast theme for QuickControls by the end of the period.

Why should we choose you over other applicants?

That is a good question. I think this is the hardest question asked here. I mean, I am not perfect. But I will try my best.

Propose a rough schedule for this project. Ideally, you will have regular deliverables throughout the entire period.

Thanks to the mentor I have managed to style widgets already. So I think that will be the first step to creating a full set of widgets. Once I am done - and if everything goes as planned - I will work on the Gnome loading part to test my widgets on it as well. By "goes as planned" I mean I am not running out of time in the first period.

So if all is well, I have the Gnome load check done, and I have my not final widgets for Adwaita. The second phase I would start working on HighContrast and CMake. See if I can get things to "automate". (Build, copy, install, run.) This should not take that long, so in the remaining time I would finish up Adwaita.

The third phase the rest of the widgets will be polished - tested - see if anything is broken / should have something added/taken away. As I mentioned earlier the possibilities are nearly endless with Styles.

Again this is only a very, very rough estimate. From the very first day, I will be in touch with my mentor. There is the public blog asked by Fedora, and I will have my own shared Google Docs document shared with my mentor. Then there will be a bug tracker as well to track all the little things that I might find and forget along the way.

What are you specific plans from May to September (eg: Exams in university, internships, vacations..etc)

There will be end-of-the-year exams in the beginning of May, but that is it. Who would have a vacation while you can code? Ha. But no, seriously, no such thing planned.


--Zspb (talk) 19:27, 31 March 2017 (UTC)