logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git

visurf-announcement.md (4430B)


  1. ---
  2. title: visurf, a web browser based on NetSurf
  3. date: 2021-09-11
  4. outputs: [html, gemtext]
  5. ---
  6. I've started a new side project that I would like to share with you:
  7. [visurf][0]. visurf, or nsvi, is a [NetSurf][1] frontend which provides
  8. vi-inspired key bindings and a lightweight Wayland UI with few dependencies.
  9. It's still a work-in-progress, and is not ready for general use yet. I'm
  10. letting you know about it today in case you find it interesting and want to
  11. help.
  12. [0]: https://sr.ht/~sircmpwn/visurf
  13. [1]: https://www.netsurf-browser.org
  14. NetSurf is a project which has been on my radar for some time. It is a small web
  15. browser engine, developed in C independently of the lineage of WebKit and Gecko
  16. which defines the modern web today. It mostly supports HTML4 and CSS2, plus only
  17. a small amount of HTML5 and CSS3. Its JavaScript support, while present, is very
  18. limited. Given the [epidemic of complexity in the modern web][2], I am pleased
  19. by the idea of a small browser, more limited in scope, which perhaps requires
  20. the cooperation of like-minded websites to support a pleasant experience.
  21. [2]: https://drewdevault.com/2020/03/18/Reckless-limitless-scope.html
  22. I was a [qutebrowser][qute] user for a long time, and I think it's a great
  23. project given the constraints that it's working in — namely, the modern
  24. web. But I reject the modern web, and qute is just as much a behemoth of
  25. complexity as the rest of its lot. Due to stability issues, I finally ended up
  26. abandoning it for Firefox several months ago.
  27. [qute]: https://qutebrowser.org
  28. The UI paradigm of qutebrowser's modal interface, inspired by vi, is quite nice.
  29. I tried to use Tridactyl, but it's a fundamentally crippled experience due to
  30. the limitations of Web Extensions on Firefox. Firefox has more problems besides
  31. — it may be somewhat more stable, but it's ultimately still an obscenely
  32. complex, monsterous codebase, owned by an organization which cares less and less
  33. about my needs with each passing day. A new solution is called for.
  34. Here's where visurf comes in. Here's a video of it in action:
  35. <video src="https://mirror.drewdevault.com/visurf.webm" controls>
  36. Your browser does not support HTML5 video, or webm. Here's a direct link:
  37. <a href="https://mirror.drewdevault.com/visurf.webm">Watch this video</a>
  38. </video>
  39. I hope that this project will achieve these goals:
  40. 1. Create a nice new web browser
  41. 2. Drive interest in the development of NetSurf
  42. 3. Encourage more websites to build with scope-constrained browsers in mind
  43. The first goal will involve fleshing out this web browser, and I could use
  44. your help. Please join #netsurf on irc.libera.chat, [browse the issue
  45. tracker][4], and [send patches][5] if you are able. Some features I have in mind
  46. for the future are things like interactive link selection, a built-in
  47. readability mode to simplify the HTML of articles around the web, and automatic
  48. redirects to take advantage of tools like [Nitter][6]. However, there's also
  49. more fundamental features to do, like clipboard support, command completion,
  50. even key repeat. There is much to do.
  51. [4]: https://todo.sr.ht/~sircmpwn/visurf
  52. [5]: https://lists.sr.ht/~sircmpwn/visurf-devel
  53. [6]: https://github.com/zedeus/nitter
  54. I also want to get people interested in improving NetSurf. I don't want to see
  55. it become a "modern" web browser, and frankly I think that's not even possible,
  56. but I would be pleased to see more people helping to improve its existing
  57. features, and expand them to include a reasonable subset of the modern web. I
  58. would also like to add Gemini support. I don't know if visurf will ever be taken
  59. upstream, but I have been keeping in touch with the NetSurf team while working
  60. on it and if they're interested it would be easy to see that through.
  61. Regardless, any improvements to visurf or to NetSurf will also improve the
  62. other.
  63. To support the third goal, I plan on overhauling [sourcehut's][3] frontend[^1],
  64. and in the course of that work we will be building a new HTML+CSS framework
  65. (think Bootstrap) which treats smaller browsers like NetSurf as a first-class
  66. target. The goal for this effort will be to provide a framework that allows for
  67. conservative use of newer browser features, with suitable fallbacks, with enough
  68. room for each website to express its own personality in a manner which is
  69. beautiful and useful on all manner of web browsers.
  70. [3]: https://sourcehut.org
  71. [^1]: Same interface, better code.