Skip to content

ANNOUNCEMENT: Deprecating the Peek project #1191

@phw

Description

@phw

With this announcement I officially declare the Peek project deprecated. This is something I should have done for a while now, but I always told myself that I will eventually do a last release, fixing some issues. As you know this never happened.

The last release has been 2 years ago, and even then activity was not very high, while issue reported piled up. The reason for the deprecation are manifold, but I try to explain. Peek started out as a small project with two goals:

  1. To solve a personal itch for a small, simple screen recording tool that can record into animated GIF, because at the time of creation sharing proper videos often was not possible on many platforms. My main use was short videos of partial UI elements, and that is what I used Peek for.
  2. As an experiment if it would be doable to implement the single window user interface Peek provides using standard Gtk3 widgets.

I really did not expect the kind of interest Peek gained. I am very thankful to everyone who used this software and who gave me feedback.

But now I am convinced that Peek faces some issues that are not solvable. The first goal in itself has become mostly obsolete. GIF was never chosen because it is a great format for videos, indeed it is very much unsuited for the purpose. It was chosen because it provided web compatibility. And I think the web today has much better for support for video formats. I never had intended Peek to become a feature-complete screen recording tool. It had always been meant for those small, short screen captures. If it would be just about this, though, I would be happy to continue maintaining Peek as this small tool it is.

The big issue is the second goal and how Peek fails it. While I am happy the UI worked as it did, there are too many technical challenges with it that I think Peek's UI has no future. Many of these have to do with how Wayland changed the way applications are being handled. This is a list of some of the technical challenges Peek's UI faces:

  • Peek's UI relies on the exact Window position to determine the recording area. On Wayland this is no longer an option, the application does not now its position. To workaround this Peek on Wayland always runs as an X11 application with XWayland. This was ok for a while, but even XWayland will eventually go away.
  • The click-through of the main window has some issues. Especially when running on Wayland this is very erratic. For some users it does not work at all, for those it does it raises the wrong windows on clicks. I assume that has something to do with mixing Wayland and X11 windows because of XWayland, but I am not sure. Also the whole click through depends on the window manager supporting this feature, which is not always the case.
  • Peek's UI makes some uses cases not easily possible. E.g. recording GNOME's top bar or full-screen recording (both never original goals of the project) cannot really be achieved and would require a different UI.
  • Implementing recording while moving the window is not possible.
  • Gtk3 is deprecated. At this point it is unclear whether Gtk4 would even be an option. It specifically no longer provides the deprecated API for the screen position of the application window.

Can the above be resolved? I don't think so, not with the current approach of Peek's user interface. For a proper support of screen casting solving the above issues you need a different UI, with a different way of selecting the recording area.

But developing a completely different UI is not in my interest. The whole point of Peek was to provide the UI it has. This experiment initially showed some success and found many people liking it. Thanks a lot for this support. But it has not stood the test of time and as of today this experiment is no longer successful.

Creating a new user interface would be very much a new project. There is little to reuse in Peek. If I would do it I would start a completely new project. But as I stated above I have no interest in it. There are other screen recorder exploring this space. I personally like the way Kooha is handling it. And even the built-in GNOME screen recording has become a viable option

There are additional technical issues with Peek that would need to be addressed:

  • On Wayland there was for a long time no standardized screen recording support. Hence Peek uses a GNOME specific interface. There are better solutions for this now, both Wayland extensions that are e.g. supported by wlroots and a newer DBus interface. Peek does not support either.
  • The integration of ffmpeg using the command line provides many compatibility issues and is one of the major causes for a lot of the bug reports. I think properly interfacing with ffmpeg as a library would result in a more reliable application.

These issues would be solvable, but with the problems described above I see little point in doing it.

This means this is the official end of Peek as a project. In the next days I will close the majority of issues and look over the remaining pull requests. I originally wanted to do a final release. But I feel uncomfortable releasing a software that on many systems works unreliable or not at all. If there is sufficient interest maybe we could do a small release just here for those who are really interested.

Thanks everyone. If you have suggestions for Peek alternatives please add them below.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions