Skip to content

Convert message list to new, 2023+ design #157

Closed
@gnprice

Description

@gnprice

In the current prototype, the visual design of the message list is based closely on Zulip web's design as it was last December, when I started on the prototype and wrote most of the code we have for that so far. This also makes it broadly similar to the zulip-mobile RN app, which uses a design based on the same generation of Zulip web's design.

Since then Zulip web has undergone a substantial redesign, to designs by @terpimost:
https://blog.zulip.com/2023/05/31/zulip-7-0-released/#redesign
and some of the major changes there are in the message list. Among them:

We should target the new design, instead of the old.

Probably the way to do this is to basically go from scratch, rather than incrementally modify the existing design. (This is one advantage we have as a prototype compared to making the same change in web.) That means:

  • In all the places in widgets/message_list.dart and widgets/content.dart where we're controlling styling and layout, expect to rip that code out and replace it with newly-written code. (On the other hand, the code that's about finding appropriate data to show, or walking a ContentNode tree, should mostly not need to change for this.)
  • To write the new versions of that code, repeat the reverse-engineering work I did back in 2022-12 on web's design, but this time on the new design. Look at the corresponding rendering in web using browser devtools; refer to the CSS styles for exact values for spacing, a rounded corner's radius, and so on; and use Flutter desktop to put the prototype side by side with web on screen, and Flutter's fast hot reload to dial details in exactly.

We won't want to match web's design exactly:

  • Notably there's that wide gutter at the right of the message content, which is costly on a mobile-sized screen and in any case serves no purpose on a touchscreen because it's just reserving space for UI to appear on hover. So we'll cut that gutter.
  • The "blue box" cursor is for the sake of keyboard shortcuts, and we'll leave it out.
  • There's probably some other aspect of the message list where there'll be a good reason for mobile to differ from web, but I'm not thinking of one right now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    a-contentParsing and rendering Zulip HTML content, notably message contentsa-designVisual and UX designa-msglistThe message-list screen, except what's label:a-content

    Type

    No type

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions