From Fedora Project Wiki

Contact Information

Why Fedora?

I was motivated to work with the Fedora Project mainly because of my interest to join the Design Team of Fedora and work as a long-term contributor. As the work Fedora does in designing truely matches with my interest and passion towards designing and UX/UI, I look forward in committing myself to the Fedora Project.

Furthermore I would like to get involved in FOSS development and open source my design ideas and work I do, while getting to know other designers involved in the Fedora project and learn new things by interacting with them. As The Fedora project is a large and diverse organization which is willing to give support to the new contributors who are willing to learn and do things I would like to join Fedora.

Past involvement with the Fedora project/other open source projects as a contributor

This is my first time in participating and getting involved in a FOSS related project.

Participation in the past GSoC programs

This is my first time in participating in GSoC.

Contributing/supporting the Fedora project after the GSoC 2014 program

I am very much willing to contribute and commit myself in supporting the Fedora project. I have developed my interest in the UX/UI and Human Computer Interaction related areas and hence would like to be a part of the Design Team of Fedora and work as a long-term contributor.

Why choose me

From my childhood I have developed a great passion towards Arts and Design related stuff. Even after being privileged to be selected to the Department of Computer Science and Engineering, University of Moratuwa, Sri Lanka, my passion towards designing never ended. I started looking for newer aspects related to design stuff related to Computer Science and found the fields UX/UI and Human Computer Interaction as fields that draws my interest.

I believe if we have passion towards something, we can make the maximum out of it. Hence I will be a developer with passion, commitment and with never ending thirst to dig deep and find the best solution.

And I'm interested in contributing towards FOSS because I have reaped many things out of FOSS which has helped me to learn a lot of new things related to my areas of interest and Computer Science. Therefore I need to be a part of the FOSS community and help the new people who are like me wanting to learn things new and give them support.

Also I am currently a 2nd year undergraduate in Department of Computer Science and Engineering, University of Moratuwa and I have been involved in programming since end of year 2011. I have experience in both Desktop applications as well as web development since I have been involved in a number of projects carried out in our university.

You can view my Skills and Abilities and the Projects I have done by visiting my user page at Fedora.


Project Proposal

Overview

Ask Fedora is a well known knowledge base to provide support for the Fedora users all over the world. It also a support forum where we can question things and answer as well.

As quoted from the Fedora GSoC project ideas page, "Over the years of its existence, AskFedora's popularity has increased and there are 11,000+ questions that have been asked on the website and has 12,500+ contributors as of today." This shows the popularity of Ask Fedora and with time it has reached to the point to have a complete UX and UI overhaul in order to provide a good user experience for the users.

Now the period where the programmers considered only the back end of the applications needs to be perfect is over. Currently numerous type of research activities are carried out in the fields of UX/UI and Human Computer Interaction to search means of providing better user experience. In such an era the need to provide a better user experience for Ask Fedora is critical.

Some drawbacks in the current interface design of Ask Fedora

  • Poor use of color schemes.
  • Lack of consistency in some of the pages.
  • Lack of attractiveness.
  • Lack of a good responsiveness when it comes it small scale devices such as mobiles.
  • At the bottom of the footer the links to about, faq, help, privacy policy and give feedback seems unnoticed and rarely being used by the users.

What the project fulfills

  • The above mentioned problems will get solved and the users will be provided with a consistent and responsive interface to interact with Ask Fedora.
  • Ask Fedora will be attractive and uncluttered and will use a good color scheme which will make the user experience better.

Experience in me in order to meet the project requirements

  • I am a student in the Department of Computer Science and Engineering, University of Moratuwa (The most sort after university for Engineering studies in Sri Lanka) and I’m studying in the end of 2nd year with a Grade Point Average of 4.1 out of 4.2.
  • I have expertise in languages HTML, CSS, PHP, Javascript, Java and C and I am currently mastering Python and DJango Framework which is necessary for the development of this project.
  • I have applied MVC architecture in my web based projects and I have knowledge in Symfony which is also a framework based on MVC architecture. As DJango is also a framework based on MVC architecture, my knowledge about MVC will be useful here.
  • I have built web sites using HTML, CSS, PHP and Javascript (One of the hosted web sites : desolator.loomhost.com)
  • I am currently learning how to develop responsive websites.
  • I have sufficient knowledge about the Git version control system and has used Git for many of my projects. My GitHub account: GitHub
  • I have been in the mentoring program for GSoC 2014 which was held in our university in order to provide pre-knowledge of the importance of contributing towards FOSS development and how to make myself present in the mailing lists etc. I was mentored by Mr. Andun Sameera Liyanagunawardana who was a 2 times GSoC winner and an active open source contributor. (You can view his recommendation on me on my linkedin page here: LinkedIn )
  • I have my blog here at Blogger. I have written articles about Cloud Computing etc. on my blog and I am willing to blog about the progress of this project continuously.

Final Deliverables

  • The main of this project is to improve the UX/UI of Ask fedora and the final outcome of this project would be a consistent, totally responsive complete overhaul on the UX/UI of AskFedora with complete rounds of testing and bug fixing.
  • Future development might include doing a research on the use of Ask Fedora by using a web analytic tool and find the areas which are most frequently used by the users and the areas which seems to be getting unnoticed etc. and do further improvement by using the results.

My current approach towards the project (Within 3 days of time from 22nd Match 2015 to 24th March 2015)

  • I have studied the mockups provided regarding the project and have built a rough web interface according to them. You can view it at here.
  • I have also built an interface for the User Profile page of AskFedora on a mobile scale. You can view the code at here at my github repo GitHub
  • And in order to get familiarized with the askbot code base I have a cloned it from GitHub
  • I have installed OpenShift rhc Client Tools and have learnt to create a new Python web project using that.
  • I have also cloned the source for testing repository from GitHub
  • And I have learnt to communicate in mailing lists and IRC channels as well by subscribing into the Fedora summer-coding mailing list and Fedora developers mailing and as well as to the IRC channels.
  • I have communicated with the mentors Saup Banskota and Suchakra Sharma via mailing lists and via IRC and got to know more about the project and the technical things that I need to master in developing this project.
  • And I have studied the AskFedora redesign plan as provided in the following document document

How I plan to implement the proposal in sync with the redesign plan given

As also highlighted in the redesign-plan, the main approach for the project would be simplified as the following:

Step 1:

  • Analyze the current UX of the system, identify the drawbacks of the current system and discuss the possible improvements.
  • This step includes identifying the user profiles and the problems faced by them with the current design of AskFedora.

The user profiles include:

  • The Seekers – People with specific questions to ask and who will land directly on the main page or on the question page of AskFedora.
  • The Contributors – People who want answer the user problems. They will be mostly using “Profile” and “Tags” pages in order to find areas which they want to answer.
  • The Surfers – These are the people who land directly on the “Questions” page as a result of searching something via a search engine like Google and who may not want to sign up or login.

Step 2:

  • Further develop mockups for the pages. Analyze the mockups, discuss their drawbacks and get the mockups finalized.

Step 3:

  • Develop the designed interfaces using HTML, CSS, Java Script and Python and with good responsiveness.

Step 4:

  • Integrate them with ASKBOT.

Technical Details

  • Use of OpenShift (The Open Hybrid Cloud Application Platform by Red Hat) which is a cloud based service where I can host my applications in the public cloud and share my designs with the team.
  • Use of mock up design open source tools like Inkspace.
  • Use of LibreOffice (An open-source kanban board) where the team can organize things in cards, and cards in lists that will give a better overview of what is completed, what are the things on progress and what are the things to be done.
  • AskFedora is powered by AskBot which is a DJango based web application where Django is a free and open source web application framework, written in Python. DJango follows the model–view–controller architectural pattern. And I would be studying the DJango framework and will be working with it when integrating my designs with the AskBot.
  • Languages that can be used in the development process: HTML, CSS, Javascript, Saas (A css preprocessor where we can use features that don't exist in CSS which makes the code more simpler with the use of variables, nesting, mixins, inheritance etc.), Python.
  • Further Compass (An open-source CSS Authoring Framework which works with Saas) can be used as a mixin library with Saas which will provide cross browser compatibility so that we will not have to handle CSS hacks.
  • Also Susy (A Compass responsive grid plugin) can be used to produce responsive web pages more easily by following a bottom-up approach (Doing the interfacing of the mobile devices first and moving into larger screens) in designing the web interfaces.

Timeline

I would like to start having a look and master the technical stuff that I need to fulfill even before the Community bonding period starts.

So, my timeline goes as follows:

Until 27th of April 2015 (Upto the start of Community Bonding Period)

  • Master Python and DJango based web application framework
  • Gain knowledge in Saas, Compass and Susy
  • Getting familiar with the development environment of AskBot
  • Understand the AskBot pages flow and possible improvements
  • Learn responsive web design in detail

Community bonding period (27th of April - 25th of May)

  • Discuss further about the redesign plan of AskFedora via mailing lists and communicating actively in the IRC channels
  • Present my ideas on how to change the current design of AskFedora reflecting my own ideas.
  • Present what I have already done with the design of AskFedora web interfaces and mock ups, receive feedback from the mentors and further carry on development work on the mock ups and interfaces according to their feedback.

Work Period (26th of May – 26th of June)

  • Week 1-2
    • Finish doing mockups for all the pages in AskFedora and get them finalized.
  • Week 3-4
    • Code the UI for the mockups.
    • First finish with the responsive UI for the Main page and Q/A page and integrate them with the AskBot
    • Testing and bug fixing

Work Period (27th of June – 26rd July)

  • Week 1-2
    • Code responsive UI for all the other pages
  • Week 3-4
    • Find and code the separate and individual left out elements
    • Integrate them with AskBot
    • Testing and bug fixing

(27th of July to 17th August)

  • Final integration with AskBot
  • Testing and bug fixing

Potential Mentors

Sarup Banskota and Suchakra Sharma have offered to mentor me.


Work already done

This first one is the interface I created by referring the mockups provided.

And the second one is the mobile interface I created for the User Profile page.

alt AskFedora UI test
alt AskFedora UI test


alt AskFedora Userpage
alt AskFedora Userpage