[qutebrowser-announce] Roadmap for 2019 and state of extensions

Florian Bruhin me at the-compiler.org
Mon Mar 18 15:02:48 CET 2019


I've wanted to write this mail for a while, but for a long time it
wasn't exactly clear what my bachelor thesis is going to be about, and
then I also caught a bad flu last week - but now everything is more or
less back to normal! \o/

I figured it's about time that I have something nice to link to when
asked for my current plans on qutebrowser, and I've also been asked
about how things look for extensions and that research project - so
without further ado:


The research project on qutebrowser extensions was quite a success from
the academic perspective - I'm happy with how the documentation turned
out[1], and I ended up getting a (Swiss) 5.5 for it, which is basically
equivalent to a 90% (with possible 10% increments), so I can't complain!

[1] https://github.com/qutebrowser/qutebrowser-hsr-sa/releases/download/final/sa.pdf

However, the focus on actual code was relatively small - out of a total
of 237 hours spent on the project, only about 60 hours actually were
spent on implementation, which included introducing the mypy type
checker to qutebrowser's codebase/CI.

It resulted in a basic extension API which is used inside qutebrowser
for various functionality (such as its adblocker), but that API isn't
open to "real" extensions yet, and a lot of things aren't possible yet.


Originally it was planned to continue working on it with the same
advisor as a bachelor thesis. However, we ended up getting another
advisor for $reasons, who preferred to push his own project (a hex
editor showing files in a structured way, think wireshark but for files)

When in week 3 or so, I found out that there's an existing project which
pretty much does what we were supposed to do[2], so we decided to find a
new topic.

[2] https://www.synalysis.net/ and https://hexinator.com/
    Also, Wireshark can open e.g. ELF files as well!

Back on square one, I was pretty much free in selecting a topic.
However, I realized I don't really want to continue working on
qutebrowser extensions for my bachelor thesis, for a variety of reasons.

I really wanted to do something different for once, but the main reason
was how the PR situation is looking currently:

Given that time was pretty tight already, it wasn't possible to take
care of open pull requests - I'd have to continue refactoring things and
ignoring (~60) open PRs, which was already quite troublesome with the
existing research project. Given that pretty much nobody cared about my
notice to hold back contributions, I'm forced to spend time on a lot of
things other than extensions while not really having the time to do so
(and doing so outside of the bachelor thesis means I spend pretty much
all my time on qutebrowser, I'd really like to do something other than
that as well).

Instead, I decided to propose a different topic tangentially related to
qutebrowser: Writing a crash report server which can collect/categorize
(qutebrowser) crash reports, and integrates something like a ticket
system - in short, I want to be able to easily read and answer to crash
reports I get. Currently, those are sent to a pastebin and I handle them
manually, which worked out when there was around one report per day -
but with qutebrowser getting more popular, I'm also seeing more crash
reports coming in, with almost 1000 unread ones.

Some automation should help me to take care of that, make my life
simpler with future crash reports, and also is a nice topic for a
bachelor thesis which isn't just "more work on qutebrowser extensions".


As for what happened in 2019 so far: I've been quite busy with fixes for
Qt 5.12 and then releasing v1.6.0. Over the next few days (as soon as a
new PyQt release is out), I'm also going to release v1.6.1.

Until I'm handing in my bachelor thesis (mid-June), I'm going to be
quite busy with that (and another course where we're writing a compiler,
which is quite interesting, but also quite some work). The rest of the
time will probably be spent with looking at lots and lots of pull
requests - I don't really expect to have any time left to continue
working on extensions besides that, I'm afraid.


However, after mid-June, I'm almost finished with my studies (only one
open-book exam remaining in August, C++ Advanced). My plans after that
currently look as follows:

- Work some 40% (i.e. 2 days a week) as an assistant at the university,
  likely helping out with some mixture of teaching Python, C and
  assembly :D

- Found my own (one-man) company and doing occasional freelancing stuff
  (like giving trainings in companies about Python and especially
  pytest). I've been doing some things like that in parallel to the
  studies, with little revenue, so I wasn't forced to do bureucratic
  stuff - but it's probably about time to make it official!

- The rest of the time (probably 2-3 days a week), work full-time on
  open source software based on donations - primarly qutebrowser! I plan
  to launch another crowdfunding, this time focused on recurring
  donations (Patreon/OpenCollective likely), with t-shirts and stuff

That's the rough plan - depending on how things turn out financially,
I'll be able to adapt, and at some point (say, 1-3 years later) I'll
probably go back to finding a full-time job somewhere, and/or pursue a
master's degree.

With that plan, I'll (finally!) be able to spend a lot of time on
qutebrowser again, while still having a life outside of
qutebrowser-stuff as well. I also expect things to progress much faster
than during the research project, because the primary focus is getting
things done for qutebrowser, not writing a lot of documentation ;-)

The crowdfunding campaign and the work I'll do initially will be focused
around extensions - extending (hah!) the API, making loading third-party
extensions possible, distribution of extensions (with some kind of
extension store/"manager"), moving more code from the core into
extensions, etc.

Long story short: I'll soon have quite some time dedicated all around
extensions - but it's going to take some time until I can start.


tl;dr: Research project went good, extensions aren't where I'd like them
to be yet, until mid-June there likely won't be any work on extensions,
but after that I hope to dedicate a couple of days per week to it!


https://www.qutebrowser.org | me at the-compiler.org (Mail/XMPP)
   GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc
         I love long mails! | https://email.is-not-s.ms/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://listi.jpberlin.de/pipermail/qutebrowser-announce/attachments/20190318/29753893/attachment.asc>

More information about the qutebrowser-announce mailing list