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

Heya! 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) instead. 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 again. 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! Florian -- 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://lists.schokokeks.org/pipermail/qutebrowser-announce/attachments/20190318/29753893/attachment.asc>