Wrapping up Outreachy

Last Monday ( March 6) was the last day of my Outreachy internship. And I wouldn’t be exaggerating at all if I said I have learnt more in the past 6 months ( including the application period) than all of the knowledge combined in my four years of engineering. Sad but true.

During the internship period I worked on the design of the Firewall UI for Cockpit. I started with Pencil for making the mockups and moved on to Inkscape. Although I worked on implementing the UI simultaneously,it didn’t turn out to be as good as I expected it to be. We also did a lot of usability testing on remote as well as local users and this was one of the high points of this internship.

  • UX design is all about details and consistency!

Initially,while using Pencil I would miss out on a lot of important details since there wasn’t room for much modifications. But once I moved to Inkscape,it was overwhelming to keep in sync with all the details and yet to remember the larger picture. It is easier to start with the larger elements such as frames and placeholders and then moving on to the other smaller details like text details and font. Also,fixing the small details like width,height and alignment in the end can be a pain. It is less time consuming to keep modifying the changes along the way since it would also maintain consistency and there are lesser chances of missing out other elements that had the same specifications.

  • Usability feedback is the key!  

I wrote about this in my previous post and I am saying it here again. The usability testing provided excellent and unbiased feedback about the user interface and the design. A different perspective from possible users helped us to identify the pain points and work on it in the further iterations.

  • Open source is all about community!

When I started my application process,I was absolutely terrified of talking on the IRC. Not only because I was an absolute stranger but here I was in a room of experienced people who are experts in their fields. I would check my message a hundred times before sending it. Although now I don’t over-think as much as I used to before sending a message,I still have to reach the point where there is no over-thinking before participating in the IRC. But I had awesome mentors who helped me at every point and made me confident about interacting more with the community 🙂 I think this is something that probably all newcomers go through.A helpful pointer would be to remember that everyone is very helpful.

  • Take chances!

When Outreachy was suggested to me by a friend,I thought I would never be able to get an internship with Outreachy. The bar was set high and judging myself,it seemed that I still had a long way to go. But I took a chance and applied because learning more about the open source community and contributing to it was important to me. So,to all the future applicants to Outreachy,I would only say that give your best and a bit more than that.

What next?

While I will continue to contribute to Cockpit,I am more than ever excited to learn more about design and how open source perceives and implements design. Then there is also a goal to spread more awareness about user experience and how it affects our day to day life. Since I am still a newcomer to the world of user experience,there is a lot to learn and implement. Also,I signed up for a UX specialisation on Coursera so there will be updates about that too. There might be a lot of other side projects too that I might work on but we’ll talk about that when we come to it.



Week 5 & 6: Inkscape mockups and implementing the UI

It has been a bit too long since my last post! My last post was about some updates on the user stories and the wireframes.

I had been using Pencil to make most of my wireframes. More often than not,I would end up having to search for a lot of other wireframing tools since not all elements in the wireframes could be achieved with Pencil itself. So,if Pencil did not fulfill my requirements,I would move to Chrome extension of Balsalmiq and a lot more other extensions which I did not use more than once. This was frustrating and I finally decided to learn to use Inkscape for creating better high-fidelity mockups. Before starting to use the application directly to create mockups, I read Máirín Duffy’s tutorial on creating mockups. This is a great starting place to learn the basics . But the more you use Inkscape, the more you learn.

In the following iterations,we also moved from a tabbed layout to putting the two features parallel to each other to the current layout. The current iteration has the “Access Port” feature on the top and the “Traffic log” at the bottom. Here is a snippet of the mockup iterations:

A) This is more like a wireframe than a mockup and was made using Pencil.



B)Second Iteration: Parallel layout of features. This mockup has a lot of inconsistencies .I was still learning to create objects and move them,but Inkscape’s “Cusp to the corner” feature would frustrate me especially because I still hadn’t realised that I could simply use the arrow keys to move around the objects. Silly,right?! add_port

C)Third iteration:  This is the most current mockup and I have been able to modify lots of small (but important)details in this iteration. The error states for the “Traffic Log” needs some more work to include cases where the data present is large. ti

Meanwhile,I had also started implementing the UI to get a feel of the mockups in Cockpit. While it was comparatively easy to implement tables and insert content using HTML,it was a bit difficult for me to get the dialog box for “Add port” running. This week I finally (FINALLY!) got it running and that made me super happy 😀 One more lesson I learnt while trying to get the code working is that the best way to learn to code ( faster and better) is to read ,understand and play around with codes of existing applications ( definitely in your fork of the application’s repo 😛 )

More to come in the next week!



First Open Source Contribution and Outreachy!

Hi there! This is my first post on the blog and an introduction is mandatory. I am Bhakti and I am in my final year of engineering undergrad. Although I have been using open source operating systems since almost 6 years,I did not know how to actually contribute to open source projects until a friend taught me the basics.

The first step before even finding a project to contribute was to prioritise in what way I could contribute. There is design,documentations and of course,coding. Although I have done a bit of programming during my graduation,I am much more passionate about UX( User Experience)  and wish to continue in UX. After focussing on one field,it became fairly easy to choose an organisation, that was design-driven,to contribute to.

For newcomers like me,Gnome has an extremely resourceful page at Get Involved. Similarly,you can also browse the organisations that had previously participated in Outreachy and GSoC. 

My first contribution in the open source world was for Cockpit . Cockpit is an interactive server administrator interface. The installation for Cockpit is fairly simple:

1.Install Cockpit:

sudo dnf install cockpit

2. Enable Cockpit:

sudo systemctl enable --now cockpit.socket

3.Enable the ports through firewall,if required:

sudo firewall-cmd --add-service=cockpit
sudo firewall-cmd --add-service=cockpit --permanent

My mentors Dominik Perpeet and Andreas Nilsson helped to narrow down the task for my contribution. I designed the UI for the Network Manager. The current user interface contains jargons for the different modes. Our aim was to describe the modes for beginner users or system administrators.

Current UI
Current UI
Proposed UI
Proposed UI

The fonts in the proposed UI isn’t in sync with the current fonts used ,but that will be changed when making the final changes. The backend code is still under progress and I will get to it on one of the coming weekends.

Now would also be the time to mention that I have been accepted into Outreachy internship with Cockpit and I am ecstatic.

Outreachy is intended to help newcomers and new contributors to open source applications and projects. Outreachy specially focusses on providing equal opportunity for under-represented groups in the open source community. This is a full time internship for three months and participants work remotely from home. The Cockpit community has been very welcoming and has helped me to get involved in contributing to the Cockpit project. Being accepted into Outreachy is an honour and it has only motivated me to learn more  and contribute to the open source community.

Not only do I get to contribute to the project but also learn more about user experience. My Outreachy project is to build a UX focussed interface for the firewall in Cockpit. The internship started on 6th December 2016 and I have started working on my project. So far,I have listed similar applications that have a GUI for firewall and the user stories. The next step is to search for patterns in all the applications listed which will be followed by shortlisting the requirements,workflow and then the mockups.

Although I will be blogging regularly about my project,you can also find all the information about the firewall support here.