keepassxreboot / keepassxc

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
https://keepassxc.org/
Other
20.75k stars 1.44k forks source link

Mobile-sized desktop gui for Linux phones #5676

Closed ChanceNCounter closed 3 years ago

ChanceNCounter commented 3 years ago

Summary

I'm beginning in earnest to develop for PinePhone. Although some of the mobile UIs - I'm not sure which, yet - support moving windows, Phosh does not, so applications which have not been "ported" to fit on my device's screen are effectively unusable.

However, most of the mobile distros are just that. They run mobile-"sized" desktop clients. Firefox, on Manjaro-ARM, is just Firefox, modified to fit on the PinePhone screen.

Context

For the foreseeable future, most "mobile" Linux apps will remain mobile-friendly desktop applications. I don't think devs should start rewriting, forking, or otherwise splitting development for these devices, except to the extent that they might not run correctly on low-power devices (or, for whatever reason, on ARM.) Instead, I think the community should set out to offer "ultra-compact" UIs for those programs which already run on these devices, but cannot be used due to screen size or layout.

louib commented 3 years ago

There's https://gitlab.gnome.org/World/PasswordSafe but I never tried it. The project says it uses the KeePass v.4 format and libhandy is listed as a dependency, so I'm assuming the UI is mobile-ready.

I'm not sure how realistic it is to expect the current team to support a new UI that's mobile-first, unless someone steps up to develop and maintain that specifically. One of the initiatives that we have at the moment is to make the core encryption and database formats available as a library, so we could at least avoid code duplication in projects that use the KeePass format (The project mentioned above uses python3-pykeepass, for example).

ChanceNCounter commented 3 years ago

I realize that no UI request is exactly trivial, but I don't think this needs a whole new UI. For my part, I'd be happy if they just smooshed all the buttons from compact mode into a dropdown bar and resized the window.

louib commented 3 years ago

@ChanceNCounter is that something you can easily do with QT? libhandy is a GTK library unfortunately, so it wouldn't be straightforward to migrate only some of the components to responsive components.

ChanceNCounter commented 3 years ago

Nesting menu bars would do the trick. I wanna stress, I'm not suggesting a unified UI to look right on mobile distros. The various DEs have different aesthetics anyway, and folks will eventually start ricing them. It's moot, it can "look" just like it looks on desktop. It just needs to fit on the screen.

I really don't want anything fancy, I just don't think this is the sort of thing that could justify a fork. That'd be a lot of maintenance just to keep a half-wide version of compact mode.

phoerious commented 3 years ago

Considering that we closed #3779 and are working on #5717, I see three options going forward:

Since this is not something we will be addressing immediately, I am closing this for now.

ChanceNCounter commented 3 years ago

This is why mobile linux will experience a 15-year wait for adoption, just like desktop did. Every project is gonna be too much work for the existing group, and not enough of a job to justify anybody else doing it.

droidmonkey commented 3 years ago

I don't think forcing a desktop aligned operating system onto a small form factor is a good idea to begin with. Android is already running a modified Linux kernel and has a robust app ecosystem. From my vantage point the Pine project is an exercise in futility and will only succeed if they fund conversion projects.

ChanceNCounter commented 3 years ago

I don't think the intention is to force a desktop-aligned OS onto a small form factor. The problem is that there is no ecosystem (as you and I have just demonstrated =P) for creating a boatload of mobile ports, so everybody's stuck trying to make desktop apps fit. The system itself is just a system; all the major UIs are mobile-oriented, and several distros are using core apps from PostmarketOS (like their not-a-DE and their keyboard.)

Android is Linux the way Mac is Unix, which is to say, it's only technically Linux. The implications of the two are radically different, but it's hardly a "Linux phone."

Pine doesn't fund any software, or I wouldn't have turned up here. They make hardware, and it's the Linux community's problem to develop for it. I'm not wild about it, but considering that they're operating on a shoestring budget, it's not too surprising.

At any rate, there is no such thing as a PinePhone or a Librem port - because there is no such system as "PinePhone" or "Librem" - and conversions will remain overkill as long as you can spin up a regular Qt or pick-your-poison program.

droidmonkey commented 3 years ago

Hehe thanks for dropping by. It would be pretty cool if PinePhone ran an android emulator then you could use both android apps and desktop apps. Til then, will be interesting to see where this goes

louib commented 3 years ago

@ChanceNCounter

Pine doesn't fund any software, or I wouldn't have turned up here. They make hardware, and it's the Linux community's problem to develop for it. I'm not wild about it, but considering that they're operating on a shoestring budget, it's not too surprising.

I think they do fund software via contributions when buying PinePhones (for example the 10$ going to PmOS for the community edition).

@droidmonkey

It would be pretty cool if PinePhone ran an android emulator then you could use both android apps and desktop apps.

I think you can do that with https://github.com/anbox/anbox. This is what I've seen people use in order to run Android apps on Linux, whether mobile or desktop.

ChanceNCounter commented 3 years ago

@louib That's true, but minimal (in a reasonable way) and only funds OS development. That means important software, but nothing I'd call an app, "just" the things without which it'd hardly be a proper smartphone.

None of this is really a strike against the thing. Purism is also mainly just hardware + OS. It just means the FOSS community is on its own to populate the mobile ecosystem. That "the mobile ecosystem" is largely just desktop, optimized for light hardware, rearranged to fit on the screen, and combined with telephony, that's as much a pro as it is a con. Less porting, more packaging, which is good when there's basically no money going into it.

louib commented 3 years ago

@ChanceNCounter

None of this is really a strike against the thing. Purism is also mainly just hardware + OS.

That, and they are developing libhandy and porting the core applications (for example the calls app, the chatty app, etc).

I'm still skeptical that the current UI can "just smoosh all the buttons from compact mode into a dropdown bar and resize the window." to make it usable on mobile, but I'd be glad to be proven wrong. I still think that a UI optimized for mobile would offer the best UX, which is why it would make sense to go with another UI just for mobile. But since there's already projects working on that (see https://gitlab.gnome.org/World/PasswordSafe), that's why my suggestion was to focus on those projects, and eventually export a libkpxc lib for reuse in those other projects.

ell1e commented 3 years ago

which is why it would make sense to go with another UI just for mobile.

Fwiw, I think this is why a lot of Android apps are so much worse than their desktop counterparts. Developing a separate UI wastes so many resources that often a lot of functionality is not readded. Pretty sure that at least some of the point of the PinePhone/Librem 5 is to not have severely handicapped mobile apps, which is why I don't understand the "exercise in futility" comment either, or the Android emulator remarks. If people wanted shoddy mobile apps, they'd be using Android, not a PinePhone, as I see it. So anything else than an adaptive UI that keeps the full functionality and avoids this mindless fork-and-handicapped-mobile-rewrite procedure is, again in my opinion of course, missing the entire point of Linux phones.

GNOME Password Safe for example is going a good path here UI-wise, but lacks a lot of KeePassXC's functionality - but it shows that it is feasible to do a responsive password manager UI, as should also show my mockups. I understand if that isn't feasible with your current resources though. I just wanted to explain in detail why I think any completely separate UI, or even an entire project fork for mobile, or pointing people to Android apps doesn't make sense in my opinion, compared to making proper programs responsive. I get that this still may not go anywhere, I just thought this input might be useful.

Keksimus69 commented 2 years ago

Sorry to necro this, but if you run $ scale-to-fit org.keepassxc.KeePassXC true it will force the application to scale to the screen. Works really well on my device. I've tested it on Phosh with 250% scaling and the horizontal screen resolution on my device is 1080 pixels. Not sure how good it will look on a PinePhone cause of the lower resolution and slightly smaller screen, but it might help.

slondr commented 1 year ago

@Keksimus69 What is "scale-to-fit"? How did you install that?