Documentation Workshop 2019

From Qt Wiki
Revision as of 00:45, 8 March 2019 by JKSH (talk | contribs) (Add thoughts/suggestions)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Location

Oslo, Norway - Qt office, room: Excellence

Date and time

11-12 March 2019, 10:00-17:00

Description

A two-day workshop about the state of Qt's documentation. The aim is to get a clearer high-level vision for the docs, and establish a few key actions to proceed with to make that vision a part of reality.

Contact the Qt documentation team for further information or to let us know you'll join (yes, you should!).

Agenda

The agenda is subject to change at short notice, and should be a tool to guide the workshop rather than a restraint.

Time Monday Tuesday
10-11 QDoc Publishing Qt documentation
11-12 QDoc strikes back Docs in Creator vs online
12-13 Lunch Lunch
13-14 Why documentation

Partner session w/Luxoft

Examples & tutorials
14-15 Rethinking examples

(or: Establishing an onboarding vision)

Qt6: Opportunities
15-16 Usability Discussion ("brainstorming")
16-17 Discussion ("brainstorming") Action plan

Online Help vs. Online Documentation

Currently, we use QDoc to generate both the Qt help files that can be opened in the Qt Creator Help mode and in Qt Assistant and the documentation sets that are published online at the Qt Documentation web site. The contents of the documentation sets are the same, regardless of how they are delivered and where they are released. However, the help viewer used in Qt Creator and Qt Assistant has the functionality to display a table of contents, index, bookmarks, and free-text search. These functions are not available online. Online, we use a fixed sidebar TOC and Google search.

Separate sets of templates are currently generated to create the help files and the online documentation. This is done to save space in the help viewer.

Requirements

Currently, either QTextBrowser or Qt WebEngine can be used as the help viewer back end in Qt Creator. The basic requirement from the Qt Creator team is that the API reference documentation must be accessible from Qt Creator (when pressing F1) without internet access or Qt WebEngine support. This is because of the following issues:

  • Performance - Including Qt WebEngine in the Qt Creator packages increases the download size and makes startup slow.
  • Security - Network access and web engine introduce security issues. In some application areas, network access is not allowed at all.

In principle, the Qt Creator team does not have a problem with introducing bells and whistles into the online documentation that are not supported offline. If possible, the additional documentation should be accessible through an external link to the online docs.

An additional requirement is that the help should follow Qt Creator theming (QTBUG-32778).

Wish list

  • Integrate external documentation in Qt Creator, similarly to the current Qt reference documentation integration. For example, if you press F1 on
    std::string (STL)
    
    the C++ documentation (standard reference) should open in a browser. Pressing F1 on
    printf()
    
    should open documentation for the C library or a man-page. F1 on
    Win32APiFunction
    
    should point the browser to Microsoft Documentation if it is possible to figure out the URL.

Ideas for discussion points

  • The state of QDoc and its future
    • Current issues
    • Prioritisation
  • How to renew, drop, and create new examples?
  • How to improve the usability of Qt documentation?
    • Usability of online and offline documentation
    • Utilizing Analytics and/or User studies?
  • How to improve the4 look and feel of Qt documentation?
    • The current look and feel is dated, it doesn't look fresh and minimalist like other developer products. Can we redesign the layout?
    • Can we provide developers with diagram templates, to encourage them to include diagrams that match Qt's branding?
  • What do we want to achieve with examples/demos/tutorials? What are the objectives for the user to learn from each example?
    • How do these relate to the certification process we have?
  • How to create examples, tutorials, which explain why something is implemented in a certain way?
  • How to categorize/prioritize examples and tutorials?
  • Qt Creator vs. our own structure within the documentation
  • Learning track(s) for different topics/technologies (certification as a goal?)
  • How to create even better tutorials for first comers?
    • For example, Hello World, which really explains how to add modules, headers, source files, and other resources.
    • How much of this can/should be covered by Qt Creator's Wizards?

External thoughts/suggestions

  • In the forums, we see newcomers tripping up on the same issues year after year after year:
  • To avoid excessively verbose docs like the previous point, interactive docs (like https://pages.github.com/ ) could be used to present only the info that's relevant to the particular user.
  • What do you think of officially adopting the Qt Doc Search browser extension into the Qt Project and promote it in the Qt website/documentation?
    • (Disclaimer: This suggestion is posted by the extension's author)

External resources

https://blog.qt.io/blog/2019/03/01/the-future-of-documentation/