Make Koko a possible successor of Gwenview
Open, Needs TriagePublic

Description

Koko is a Kirigami convergent application to view images; it handles well touch input both on phones and touchscreen laptops. It should be a medium term goal to bring Gwenview features to Koko in order for it to be used in desktop as well.

Gwenview main view:

Koko main view:

Mockups:

It pains me to admit this, but I'm in favor. Gwenview's codebase is really old and hard to modernize, and it's not exactly a super feature-rich app in the first place. It's probably for those reasons that development activity is very low. I think this seems like a reasonable thing to shoot for.

Of course distros choose the default apps, but we could encourage them once Koko is ready.

niccolove updated the task description. (Show Details)May 29 2020, 6:25 PM
manueljlin updated the task description. (Show Details)May 29 2020, 7:16 PM
manueljlin updated the task description. (Show Details)May 29 2020, 7:27 PM
twitt added a subscriber: twitt.May 30 2020, 12:40 PM

Recently I got into the source code of Gwenview. I was missing a crop tool that allows arbitrary rotations. While a rough implementation in Gwenview was quite easy, I never solved all problems to also retain the old behavior, which is why I not yet committed it. However, after getting a deeper look into the codebase of Gwenview, I agree that several things could be refactored or rewritten, although I still like the application itself. If someone could review/help, I would spent some time on polish or adding some new features.
Personally, I am not a fan of mixing mobile and desktop applications as it is difficult to implement a good usability that works with touch, mouse and keyboard at the same time. A prominent example might be Adobe Lightroom which still fails to have a unified user interfaces that works for mobile and desktop devices.
However I the mookups look cool and also very much like the name Koko for an image application. Unfortunately I never worked with QML and I was not even able to start it (error message: module "org.kde.koko" is not installed :/ ). According to the git log there were nearly no new features added within the last two years, so I am not sure if replacing Gwenview would help to gain activity.

ognarb added a subscriber: ognarb.May 30 2020, 2:39 PM

@twitt The error you are getting is because you didn't source the prefix.sh with source prefix.sh then it should just work™.

I already started implementing the mockup: https://invent.kde.org/plasma-mobile/koko/-/merge_requests/1

twitt added a comment.May 30 2020, 4:43 PM

@ognarb thanks! It did not work out of the box, but it helped me make it run (I'm on arch linux and had to change the kirigami version to 2.4 and remove the usage of ImageColors to make it run)

For it looks nice and feels more modern. I like the simplicity and the simple file sharing I am used on the smart phone. It reminds me of the early days of Discover, Elisa or Kube. Although they look really nice and improved over the time, they never convinced me as desktop applications. I am missing a context menu and the variety of configuration options I am used to - they seemed to be designed rather for touch interfaces than old style desktop interfaces (mouse/keyboard). Which is fine and I am sure a lot of people are using it, it's just not for me :)

tosta added a subscriber: tosta.Jul 3 2020, 10:41 AM

I think the image gallery (or image/video) app must be like Piktures is for Android.

Piktures for Android

Current look of Koko:

ognarb claimed this task.Jun 11 2021, 2:50 PM
ndavis added a subscriber: ndavis.EditedJun 12 2021, 1:03 PM

I think something we should keep in mind is that a lot of current Gwenview users don't actually want to use most of Gwenview's features. I'm not saying we shouldn't have them, but we should make sure we don't add more complexity to the UI than we really need to in the most common situations. I think the most common situation is when an image is being opened via another app like Dolphin. In that case, I think it's best to focus on just displaying the image, which Koko already does in its current state.

Perhaps taking the minimalism further would be a good idea? By default, have just the image when you open an image from Dolphin in Koko. To show the controls, hover or tap/click on the image.

A potential advantage of taking that kind of approach could be that it would be easier to optimize startup time. I think a fast startup time is valuable for an default image viewer.

I generally agree with that, but I wouldn't want to take it too far, as I think you can with minimalism. At least for the desktop use case where there is generally plenty of screen real estate available, I think it would be good to at least display the toolbar as well without requiring additional user interaction.

tbf feature wise koko already has most of the gwenview's features excluding some niche stuff like video support, so it's not like it can really get more complicated than it already is :P

I wouldn't call video support niche, as I think a lot of people who take family photos will have videos interspersed with their images. This is certainly the case for me, my wife, and my parents.

mikeljohnson added a comment.EditedJun 16 2021, 8:22 AM

bad example haha, I might actually work on this today, since it should be pretty simple (famous last words)

but I can't think of anything else, so :P

this has just landed 🎉

That's great! @mikeljohnson, what do you think the next step for Koko is?

This comment was removed by mikeljohnson.

Next steps:

  1. Achieve rough feature & UX parity
  2. Do lots of promo: start talking about Koko and writing blog posts about it, ask me to start mentioning it in the weekly blog post
  3. Do distro outreach: ask distros to ship it by default instead of Gwenview
  • I think the Koko information sidebar, when opened, should stay there as a sidebar rather than a overlay
  • I think the "crop" tool is a bit behind the Gwenview's:
    • Crop area should be same size as the image by default, and should not be able to be bigger or outsite the image itself
    • You should be able to set a aspect ratio for cropping, potentially "keep the same ratio as original image"

tbh not a fan of that idea especially considering that we wanna minimize the amount of chrome at any given time