dino icon indicating copy to clipboard operation
dino copied to clipboard

Mobile UI

Open zuglufttier opened this issue 8 years ago • 51 comments
trafficstars

Now that the Librem 5 got funded (https://puri.sm/shop/librem-5/), there might be a demand in the near future for a xmpp client that works on a small screen.

zuglufttier avatar Oct 12 '17 08:10 zuglufttier

Not only Librem 5. There are people using Gajim on PocketCHIP (https://getchip.com/pages/pocketchip) with 480x272 pixels and the Pyra (https://pyra-handheld.com/) will also be ready soon™. There is a lot of demand for "small screen".

ghost avatar Oct 12 '17 21:10 ghost

Messages app for Gnome has some great mockups for messaging application on phones. See here: https://gitlab.gnome.org/Community/Design/app-mockups/blob/master/messages/messages.png

tigre-bleu avatar Aug 03 '18 08:08 tigre-bleu

In order to implement a responsive UI, Dino would just have to use appropriate widgets from the libhandy library: https://source.puri.sm/Librem5/libhandy

dos1 avatar Jul 07 '19 01:07 dos1

There are test image for the Librem 5 available: https://developer.puri.sm/Librem5/Development_Environment/Boards/qemu.html

So one could try to get things running already ;) First test made dino start but I couldn't even start one chat. Don't know what exactly happened as the whole VM became unresponsive.

zuglufttier avatar Jul 17 '19 14:07 zuglufttier

Running is not an issue. The UI is ;)

Screenshot_20190717_163857

dos1 avatar Jul 17 '19 14:07 dos1

Yes... And I don't understand why Purism insisted to develop their own XMPP client... It will takes months or maybe years to implement all the features. Dino is now in a pretty good working state, I think.

zuglufttier avatar Jul 17 '19 14:07 zuglufttier

I would love to see a mobile Dino version for the PinePhone, which is now shipping and slowly creates a real demand for a good XMPP client on Linux phones. ;)

ericschdt avatar Feb 10 '20 14:02 ericschdt

I started initial work on using libhandy in Dino for a better mobile UI. Feel free to try it out from the feature/handy branch.

mar-v-in avatar Mar 14 '20 00:03 mar-v-in

For anyone interested, the main window has been made adaptive, and here's a recording of the app being resized and used at mobile size.

Thanks a lot for tackling that issue, it's going to be a bliss on mobile!

thibaultamartin avatar Mar 15 '20 21:03 thibaultamartin

Any ETA of this on master? Looks awesome!

masipcat avatar May 15 '20 18:05 masipcat

I am now using dino as my main IM client on pinephone (under sxmo / postmarketOS). It works pretty great as-is, though it has a papercut that I cannot close a conversation without trying to very quickly tap to make the hidden "X" show up, then tap again to close. Would be nice if the "X" just always showed.

Related to running on mobile, idle CPU usage seems high. Idle GPU for Gajim on my pinephone is close to 0, but for dino is always at least 2%, often as much as 5 or 7%. This obviously doesn't help the already bad battery situation for my poor device...

singpolyma avatar Jul 09 '20 03:07 singpolyma

For what it's worth, libhandy 0.90.0 has just been released with stable API :)

dos1 avatar Aug 07 '20 14:08 dos1

...and now there's libhandy 1.0 as well

dos1 avatar Sep 08 '20 18:09 dos1

Some juicy screenshots from the branch feature/handy:

Thanks everyone involved for the good work!

derlaft avatar Sep 19 '20 00:09 derlaft

This branch does work well on the Librem 5 QEMU, but there seems to be a race at a very specific window width, that makes it not very usable on desktop. See https://github.com/dino/dino/issues/731#issuecomment-621127548.

mimi89999 avatar Sep 28 '20 18:09 mimi89999

Hello, I rebased the handy branch and ported to handy 1.0. https://github.com/mimi89999/dino/tree/handy @mar-v-in You can pull changes to your branch and even squash out my commit.

mimi89999 avatar Oct 11 '20 19:10 mimi89999

Related to this topic, there is a project from Purism in which you can vote to support Dino: https://puri.sm/fund-your-app/

esu23 avatar Nov 02 '20 10:11 esu23

@esu23 FYI, Purism's "Fund Your App" campaign is a fundraiser for Purism. If you donate and vote for Dino there, I wouldn't expect any of the donation to be actually used directly for Dino. However, Purism is contributing to GTK, libhandy and other libraries and such contributions may become beneficial to Dino. No Purism representative contacted us prior to including the Dino logo on that page.

mar-v-in avatar Nov 02 '20 10:11 mar-v-in

@mar-v-in I have been testing @mimi89999's branch on my pinephone (running postmarketOS), and it's quite functional. There are only a couple of windows I've found that don't fit: the initial window that comes up to log in, and the settings window

It's really nice having OMEMO and working file transfer, and see value in merging their changes (or something close to it) soon so that this app is somewhat usable on smaller displays. I'd be more than happy to test anything else and/or include screenshots, etc. Let me know if I can help.

Screenshot:

20201121_21h12m27s_grim

craftyguy avatar Nov 22 '20 05:11 craftyguy

@mimi89999 I merged your commit into the feature/handy branch and updated the branch to the current master.

If someone has additions for the feature/handy branch in the future: It is possible to open PRs for branches other than the master. In github's "Open a Pull Request" dialog, just set the "base" to feature/handy.

fiaxh avatar Nov 22 '20 11:11 fiaxh

@fiaxh thanks! Is there a list of what's left TODO with that branch before it is ready to merge into master (beyond the two things I found in my testing, mentioned above)? Some folks (myself included) might want to help out, and having such a list would be useful.

craftyguy avatar Nov 23 '20 00:11 craftyguy

@craftyguy Could you please show screenshots of the windows that don't fit? For the settings window, I guess that it depends on line length of the translations. Do the account setting window and group chat details window fit?

mimi89999 avatar Nov 26 '20 12:11 mimi89999

For the settings window, I propose to use such an UI. The entire row/cell is clickable and toggles the checkbox: Capture d’écran du 2020-11-26 17-08-56

mimi89999 avatar Nov 26 '20 16:11 mimi89999

@mimi89999

Settings window:

20201126_21h59m45s_grim

And account details window:

20201126_22h00m07s_grim

craftyguy avatar Nov 27 '20 06:11 craftyguy

@craftyguy The first screenshot is not the settings window, but the contact details window. Anyway, it should be fixed in https://github.com/dino/dino/pull/948. Please test.

mimi89999 avatar Nov 27 '20 10:11 mimi89999

Thanks @mimi89999 for your work! #948 and #949 look great! Now the screen fits perfect.

I attach some screenshots:

Contact details

contact_details

Select contact dialog

contacts

They also look good to me in landscape mode.

esu23 avatar Nov 27 '20 19:11 esu23

@mimi89999 I can also confirm that #948 looks good, thanks!

I found a couple more windows that don't fit:

join channel

20201127_11h36m26s_grim

start conversation

20201127_11h32m54s_grim

craftyguy avatar Nov 27 '20 19:11 craftyguy

@craftyguy Those are already fixed in #949.

mimi89999 avatar Nov 27 '20 19:11 mimi89999

With those two PRs of @mimi89999 I'd say Dino is pretty usable in Phosh.

Nevertheless, I have made a list of some dialogs that still have some minor issues:

  • Account chooser.
  • Results in search mode (both 1vs1 and group chats) are a bit shifted to the left.
  • My omemo fingerprints dialog? I cannot test because the account chooser size.
  • ~~Contact's omemo fingerprints dialog.~~ Fixed in https://github.com/dino/dino/pull/985
  • Emoji chooser (The first column of emojis is not visible).
  • Group details dialog. Can this maybe be fixed similar to https://github.com/dino/dino/pull/948?
  • Keyboard shortcuts.

The workaround for all of them is changing into landscape mode.

I am editing the comment to keep track of the latest state.

esu23 avatar Nov 30 '20 00:11 esu23

Hello, The PRs fixing join channel, start conversation and contact details were merged. The updated is now available in PostmarketOS. For users on other distributions, please check if they are using Librem's fork of GTK. It's needed for better user experience. Please test the changes and report any issues with them and tag me.

mimi89999 avatar Jan 16 '21 10:01 mimi89999