revolution-irc icon indicating copy to clipboard operation
revolution-irc copied to clipboard

App redesign

Open MCMrARM opened this issue 6 years ago • 19 comments

Android P has pretty much started a notable Material redesign. This probably should be addressed.

After thinking about it for a bit, I decided that the application should be redesigned overall, and decided to reuse this issue for this purpose.

MCMrARM avatar Nov 05 '18 22:11 MCMrARM

Could that mean dropping support for android 4.2?

danieru98 avatar Nov 21 '18 18:11 danieru98

I don't think so.

MCMrARM avatar Nov 21 '18 19:11 MCMrARM

New UI concept: Home Channel Note that the old UI is not going away anywhere, and this is to be considered a second option (most likely default though);. The main reason I want to redesign the UI is so we can use slide-from-left to exit to the channel list screen, which allows in more flexibility for grouping. I'd like to ask for your feedback.

MCMrARM avatar Feb 14 '19 21:02 MCMrARM

Concept 2: https://mrarm.io/u/Clipboard%202019-02-15%2022-22-12.png

MCMrARM avatar Feb 15 '19 21:02 MCMrARM

Padding fix: Concept 1 Concept 2

MCMrARM avatar Feb 15 '19 21:02 MCMrARM

Here's how the current new-ui branch looks like (video, still uses legacy theme): http://mrarm.io/u/device-2019-02-21-190654.mp4

MCMrARM avatar Feb 21 '19 18:02 MCMrARM

Looks good but maybe you should group channels under the server button so that one doesn't have to scroll too much if they have lots of server with lots of channels and the one they wanna reach is at the bottom of the list

target111 avatar Feb 22 '19 06:02 target111

I don't understand - what do you want to group them by?

MCMrARM avatar Feb 22 '19 12:02 MCMrARM

Overall there's going to be a Search button and maybe a scrollbar as well in the Servers tab, I think.

MCMrARM avatar Feb 22 '19 12:02 MCMrARM

From what I was able to see in the video, the server window probably displays all network names along with the channels that you've joined on that network, underneath. If one would want to reach a channel from a network that is at the bottom off the list, they will have to scroll through a lot of stuff in case there are many networks present above, so what I meant is: in the server window, display only network names and when those names are clicked, list the channels currently opened on that network. If none of what I say makes sense then it's probably my fault because I couldn't understand the interface from that short video very well.

target111 avatar Feb 23 '19 16:02 target111

fullscreen option is also much appreciated

kairusds avatar Mar 18 '19 05:03 kairusds

A good question is how the chats should actually be organized:

  1. The all-chats-go-to-one-place view
  • How customizable should it be?
    • Should you be able to disable displaying last message for all channels? Probably yes as that'd make it more compact.
  • We probably want different ways to sort it
    • Alphabetical sort needs a letter scrollbar
    • Does a recent-based chat even make sense? IRC is not exactly like normal chat messaging apps.
    • Are there any other approaches we could consider? Perhaps some sort of algorithm could be used to decide the order or even a neural network?
  1. Server-grouping based
  • When would it be preferable over the chat list?
  • Do the server groups need to be collapsible?
  • Is a quick way to disconnect required?
  1. Are there any other viable ways to group the channels?

MCMrARM avatar Apr 02 '19 17:04 MCMrARM

I'd appreciate your thoughts on the last comment, as I am unable to answer the questions in a way that can satisfy everyone myself, and there'll probably be no going back from the new UI.

MCMrARM avatar Apr 02 '19 17:04 MCMrARM

Does a recent-based chat even make sense?

Yes, people (including me) may want to know what channel was active last.

Are there any other approaches we could consider? Perhaps some sort of algorithm could be used to decide the order or even a neural network?

Perhaps most active overall?

When would it be preferable over the chat list?

Most of the time if someone has quite a few channels. One of the things I've seen a lot of people choose Matrix or Discord over IRC for is a lack of organization, which could present other features for grouping channels but I think that the simplest form is per-server grouping.

Do the server groups need to be collapsible?

Probably not, this will add another button onto the list and will likely be annoying while scrolling if accidentally pressed.

Is a quick way to disconnect required?

Long-pressing on the channel or server for a context menu would be enough. This menu should also have a checkbox for auto join/connect.

Are there any other viable ways to group the channels?

By prefix may work, for example there are several #minetest- channels, several #debian- channels, and several #kde- channels that could all be grouped together. This would need to ignore extra #s however due to Freenode's double-hash prefix for offtopic channels.

benrob0329 avatar Apr 02 '19 18:04 benrob0329

Also, additional questions for channel grouping:

Feature description: Channel grouping would let you group together channels that you frequently access. Usage examples: Important Chats (group: #revolutionirc, #privatechat1, #privatechat2, anotheruser); Work (#general - Slack 1 IRC Bridge, #support - IRC Bridge 2). Ways the channel groups could be used for:

  • Show tabs for the channels in the group in the new UI.
  • Show the channel groups in the channel list.

Questions:

  • Would you use such a feature?
  • What groups would you create?
  • Do you think the same groups would make sense to be both used for the in-chat UI tabs and groups in the channel list?
  • Should you be able to create overlapping groups?

MCMrARM avatar Apr 02 '19 18:04 MCMrARM

The channel groups would additionally replace the current server tab system, which is going away with the new UI.

MCMrARM avatar Apr 02 '19 18:04 MCMrARM

Re-redesign design: Main screen

Customizable server icons at top, server groups in the main view, view types on bottom.

MCMrARM avatar Apr 03 '19 11:04 MCMrARM

Is the redesign arriving to the play store any time soon?

target111 avatar Nov 21 '19 09:11 target111

Because of the advancement of the Android UI framework, the way I built the new UI feels weird and would make further maintenance more difficult. As such I consider the newui branch dead and if the new UI is to happen it should be rewritten from scratch. Some of the ideas that were part of the new UI should also be reconsidered.

I will try to find some time soon to rewrite the chat view in the current code as well as the other recyclerview adapters to a more modern pattern (we have ConcatAdapter now in the SDK). I was writing an Android app in Kotlin recently and was able to use these new UI components and know how to use them.

MCMrARM avatar Dec 27 '20 15:12 MCMrARM