GSoC 2016 - nanduni-nin/inqlude GitHub Wiki

Nanduni Nimalsiri is working on Improve categorization and search on Inqlude web site.

Timeline

  • May 23 - June 27: Students work on their proposals
  • June 20 - June 27: Mid-term evaluation
  • June 27 - August 15: Students continue coding
  • August 15 - 23: Students submit code and evaluations
  • August 23 - 29: Final evaluation by mentors

See full timeline for more details.

Resources

Project work flow

We are applying a design thinking inspired approach to the design and implementation of the new navigation structure. It consists of six phases: Understand, Diverge, Converge, Prototype, Test, Implement

Resources for design work flow

1. Understand

The first phase frames the project. It's about understanding who and what needs should be addressed and what is the context. It's about empathy with the user.

Audience

  • Primary target audience of the Inqlude web site is Qt application developers, who are using or are looking into using 3rd party Qt libraries in their applications. Inqlude helps Qt application developers to find Qt libraries that match their requirements.
  • A secondary target is Qt library developers who want to publish their libraries. Inqlude can also be considered as a central place for them and the web site should provide an entry point for library developers which helps them to publish their libraries.

Need finding

This is about discovering what people need by observing them performing some kind of an activity with Inqlude. We have observed how people try out Inqlude to get their work done. See Observations for more details.

We have also carried out a Mini Usability Test to collect more observations from several Qt users. Results are at Mini Usability Test Results.

Furthermore, we expanded the process of need finding by interviewing few Qt users and also communicating few Qt interest people via mailing lists. See Observations for more details.

Needs

Inspired by the observations, we came up with a list of needs or goals for Inqlude.

  • Finding libraries based on filters for specific attributes or tags
  • Reliable search
  • Search results specific to the use case of finding libraries
  • Not have broken links to external web sites
  • View up to date data about libraries and be sure about how current the information is
  • See maturity level of library on the details pages of all libraries
  • Display the latest releases or a separate timeline
  • Improve the formatting to enhance look and feel

Inspiration

To address the observed needs, we collected inspiration from designs of the existing tools, which relate to the thinking around the observations. See Inspiration for more details.

Point of view

While browsing the Inqlude web page gives users access to most content they expect there, finding libraries for specific requirements is more difficult. A reliable search, together with a mechanism for finding libraries based on specific filters or attributes would help users to find libraries easily. Having the library metadata accurate and up to date is important in order to find appropriate libraries that match the user requirements.

2. Diverge

The second phase is about creating ideas on how to address the needs of the users. It's about quantity, about thinking broad and wide, about generating a lot of input in a short time.

Iterative sketching

As this phase focuses on brainstorming and getting ideas out, we needed as much inspiration as possible by creating sketches of various possible solutions. A process of divergent thinking has been used to come up with different types of quick sketches on paper. They are available here.

Storyboarding

Using the inspiration collected from the previous phase, a set of storyboards has been created to come up with different design ideas that address the point of view. These storyboards demonstrate the work flow of what different interfaces do and how they are used to accomplish tasks in a real usage scenario. For example: work flow of somebody using the web site to find a qt library. The storyboards are available here.

3. Converge

The third phase is about consolidating ideas and distilling realistic solutions. This includes taking decisions about solutions.

Consolidating the ideas

Taking into account all of the possibilities exposed during earlier phases, we condensed the ideas that we feel the best about. Some most promising ideas we found are:

  • Better search with more meaningful results.
  • Adding categories for libraries, where a library can potentially have more than one category. This probably will also include a way of filtering of the libraries based on multiple selection of topics.
  • Highlighting new releases in a way which shows activity and gives users an indication what is active and popular.

List of proposed categories is at https://github.com/cornelius/inqlude/tree/master/topics.

Refining the sketches

After choosing a concrete direction, I jumped into the process of wireframing by creating some interactive prototypes that varied in interface, but offered the same basic functionalities. I used a program called Balsamiq to create interactive pdfs for the Inqlude website designs.

I made more designs and refined them further by getting them peer reviewed with my mentor. Iteration upon iteration, I adjusted the designs getting to the details while improving and refining them. These iterative designs are available here.

4. Prototype

The fourth phase is about creating something which can be tested.

This was about building a more functional and high fidelity prototype with complete interactivity, which could be used for user testing. This gave some valuable input on how to improve the prototypes and where to focus when building the next step.

5. Test

The fifth phase is about testing and learning.

6. Implement

The sixth phase is about deciding on the final solution and implementing it.