Closed Bug 1748449 Opened 4 years ago Closed 3 years ago

[meta] Re-design invitation display for easier reading.

Categories

(Calendar :: E-mail based Scheduling (iTIP/iMIP), enhancement)

enhancement

Tracking

(thunderbird_esr102 wontfix)

RESOLVED FIXED
106 Branch
Tracking Status
thunderbird_esr102 --- wontfix

People

(Reporter: lasana, Assigned: lasana)

References

Details

(Keywords: leave-open)

Attachments

(11 files)

The current version provides the event data to the user in a table which can be difficult to figure out what's happening at a glance. There is also little interactivity beyond links and the table is displayed in a content <browser> mixed with the message contents.

There are various visual improvements that can made such as:

  1. displaying the most important information as prominently as possible.
  2. optionally display the timezone for the "When" part.
  3. make it clear an event has been cancelled, especially when looking at previous messages.
  4. display recurrence information in a friendlier manner.

I attached some mockups I drew.

Attached image original.png
Attached image improved.png

Comment on attachment 9257498 [details]
improved.png

I like the "Organizer" role being written as explicit text. It's much clearer than the current icons that combine the role with the type and status. I'm guessing the idea is to only show the role and type when they differ from "REQ-PARTICIPANT" and "INDIVIDUAL" respectively.

For the participation icon, how do you plan on showing "TENTATIVE" and "DELEGATED"?

(In reply to Henry Wilkes [:henry] from comment #3)

Comment on attachment 9257498 [details]
improved.png

I like the "Organizer" role being written as explicit text. It's much clearer than the current icons that combine the role with the type and status. I'm guessing the idea is to only show the role and type when they differ from "REQ-PARTICIPANT" and "INDIVIDUAL" respectively.

I'm willing to say the role type is not too important to display here but I'm leaning towards either text next to where "Organizer" is shown or a tooltip. It could also probably only be shown for the user's identity.

For the participation icon, how do you plan on showing "TENTATIVE" and "DELEGATED"?

Tentative will likely be a question mark icon. I don't think we have much visual support for delegation but we can come up with an icon.

Status: NEW → ASSIGNED
Attached image progress.png

Making some progress here. Uploading a screenshot of what I have so far.

Before you proceed further, you need to figure out if there is any feasibility of having buttons in the content. That is not likely a small project...
Please also add an event description (a longer one) for the event you test with. Showing the description is essential. Your current screenshot also doesn't show the time at all.

For inspiration, from paperlesspost.

(In reply to Magnus Melin [:mkmelin] from comment #6)

Before you proceed further, you need to figure out if there is any feasibility of having buttons in the content. That is not likely a small project...

From the email discussion, I think the idea is to put the invite in a new and separate UI section (which would be a good idea, regardless of buttons), rather than the message <browser>.

Perhaps, but that it the issue: I think it requires rather significant surgery of the whole functionality.

(In reply to Magnus Melin [:mkmelin] from comment #9)

Perhaps, but that it the issue: I think it requires rather significant surgery of the whole functionality.

Yes it would require some reworking: no longer show the attachment invite "inline", and do something more like how we handle openPGP attachments. I.e. find an invite attachment => load it into the invite area.

But I think it is needed anyway. The way that the invite is inserted into the <browser> alongside the html already requires convoluted and asynchronous steps of:

This would be much cleaner if the <browser> and the invite area were separate because they could be constructed and loaded independently.

@lasana is this what you had in mind?

Indeed, the final goal for this new invitation display is to live in the message header and replace the IMIP bar, and it will be collapsible.
It will require a lot of changes, but it's a much needed implementation.

For inspiration, from paperlesspost.

Uh, that is very nice. That's a popup that appears when you reply to an invitation, right?
Definitely something worth exploring after the new invite is done, great stuff.

It's a web based service, and when you go to the "reply" link, this popup kind of thing is on that page yes.

I do think we should also use human language, not Accept/Decline/Tentative. Yes/No/Maybe may not fit in all occasions - as it can "sound" wrong to not accept an invitation, if you wanted to go but could not. Will attend/Might attend/Will not attend like they have in that popup could be a good weigh-off.

(In reply to Magnus Melin [:mkmelin] from comment #6)

Before you proceed further, you need to figure out if there is any feasibility of having buttons in the content.

This isn't in content its in chrome.

Please also add an event description (a longer one) for the event you test with. Showing the description is essential. Your current screenshot also doesn't show the time at all.

I have not reached there yet. I'm likely not to display descriptions in this widget if they contain html. In that case they can be shown in the message pane as usual.

(In reply to Henry Wilkes [:henry] from comment #10)

This would be much cleaner if the <browser> and the invite area were separate because they could be constructed and loaded independently.

@lasana is this what you had in mind?

Yes.

Attachment #9261790 - Attachment description: WIP: Bug 1748449 → Bug 1748449 - Introduce new widget for displaying invitations. r=aleca

This is the first step in re-designing the invitation display meant only to lay down the basic structure and give a taste of the new widget. There is
still much work to do but doing it in one go is counter-productive.

Some tasks outstanding include:

  1. Detecting the stage of the invitation and showing the appropriate UI.
  2. Support for recurring events.
  3. Toggle the timezone displayed.
  4. Hiding the fields we do not have values for.
  5. Improve the formatting of the attendees list.
  6. Allow the user to hide long attendee lists.
  7. Hooking up the action buttons.

Known issues (not exhaustive):

  1. When there is a lot of information, the message pane gets pushed out of view.
  2. When there is a lot of information, the widget is not as neat.
  3. There are two scrollbars.

To address 1,2,3 I intend to hide some information when too much, offering the user the option to display when needed. For the description, I am considering leaving that out all together in favor of the message body or keeping it really short, displaying the excess in a modal, popup etc.

Will the event summary part of the invite use the same structure and design as the new event summary that is being planned in the calendar view for bug 1685007? An earlier design is here https://bug1575195.bmoattachments.org/attachment.cgi?id=9139613

There's probably some context-relevant information that would be in one, but not the other, but I was wondering if they could share the same template and styling to make sure the calendar components have a consistent look.

Flags: needinfo?(lasana)
Flags: needinfo?(alessandro)

That would be nice, where feasible. I tried to put as many parts as feasible into their own custom element so making them more general should not be too hard.

Flags: needinfo?(lasana)

That would be nice indeed.
In order to do that we will first need to clean up our CSS a lot, in order to create reusable classes that are not specific to 1 element or 1 implementation only.
In general, reusing templates and keeping the style consistent across the application is the goal.

Flags: needinfo?(alessandro)

Latest screenshot for visual feedback. I moved the minidate to the top so it's more visible with longer invitations and removed the grey background.

I'm going to try having this "overlay" the message contents instead of pushing it down causing two scrollbars. It could be dismissed via an X button if the user wants to see the message contents instead.

Target Milestone: --- → 100 Branch

Marking this to leave open so we can continue using this bug for the follow ups.

Keywords: leave-open

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/7f61b80c5d25
Introduce new widget for displaying invitations. r=aleca

Pushed by mkmelin@iki.fi: https://hg.mozilla.org/comm-central/rev/daf7854eeb59 follow-up - fix css errors (making browser_parsable_css.js fail). rs=me

I get an error on c-c which refers to ./calendar/base/themes/common/calendar-invitation-display.css which apparently you have just added yesterday.

Any idea why I get the failure described in bug 1760012 ?

Regressions: 1760012

Also changes #calendarInvitationDisplay to <html:div/>.

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/565c734957f3
Fix crash caused by wrong css url. r=aleca

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/45dc671d6ed8
Follow up use separate translations for calendar-invitation-partstat-summary. r=aleca

Depends on: 1759590

Also hides the message body when the invitation display is shown.

Attachment #9284172 - Attachment description: WIP: Bug 1748449 - Hide invitation display when switching tabs or folders. r=#thunderbird-reviewers → Bug 1748449 - Hide invitation display when switching tabs or folders. r=aleca
Attachment #9261790 - Attachment description: Bug 1748449 - Introduce new widget for displaying invitations. r=aleca → Bug 1748449 - Part 1: Introduce new widget for displaying invitations. r=aleca
Attachment #9268273 - Attachment description: Bug 1748449 - Fix crash caused by wrong css url. r=aleca → Bug 1748449 - Part 2: Fix crash caused by wrong css url. r=aleca
Attachment #9268909 - Attachment description: Bug 1748449 - Follow up use separate translations for calendar-invitation-partstat-summary. r=aleca → Bug 1748449 - Part 3: Follow up use separate translations for calendar-invitation-partstat-summary. r=aleca
Attachment #9284172 - Attachment description: Bug 1748449 - Hide invitation display when switching tabs or folders. r=aleca → Bug 1748449 - Part 4: Hide invitation display when switching tabs or folders. r=aleca
Target Milestone: 100 Branch → 105 Branch

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/f6baa37ea7ae
Part 4: Hide invitation display when switching tabs or folders. r=aleca

Backout by geoff@darktrojan.net: https://hg.mozilla.org/comm-central/rev/85bd743b131d Backed out changeset f6baa37ea7ae which landed with a broken test.
See Also: → 1781420

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/e6a22bcf5488
Part 4: Hide invitation display when switching tabs or folders. r=aleca

Regressions: 1782832
Attachment #9288184 - Attachment description: Bug 1748449 - Part 4: Follow-up - Hide messagepaneContainer in message windows. r=#thunderbird-reviewers → Bug 1748449 - Part 4: Follow-up - Remove flex attribute on invitation display container dynamically. r=#thunderbird-reviewers
Attachment #9288184 - Attachment description: Bug 1748449 - Part 4: Follow-up - Remove flex attribute on invitation display container dynamically. r=#thunderbird-reviewers → Bug 1748449 - Part 4: Follow-up - Move invitation display to own container. r=#thunderbird-reviewers

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/6dac3bcf57e6
Part 4: Follow-up - Move invitation display to own container. r=aleca

Attachment #9287807 - Attachment description: WIP: Bug 1748449 - Part 5: Display updates to existing events. → WIP: Bug 1748449 - Part 5: Detect existing events, updates and cancellations. r=#thunderbird-reviewers
Attachment #9287807 - Attachment description: WIP: Bug 1748449 - Part 5: Detect existing events, updates and cancellations. r=#thunderbird-reviewers → Bug 1748449 - Part 5: Detect existing events, updates and cancellations. r=#thunderbird-reviewers

Moving forward, mark this as a meta bug and create child bugs blocking this one for the following parts.
No more multiple patches on the same bug.

Summary: Re-design invitation display for easier reading. → [meta] Re-design invitation display for easier reading.
Target Milestone: 105 Branch → 106 Branch

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/a3595b3e889e
Part 5: Detect existing events, updates and cancellations. r=aleca

Depends on: 1791220
Depends on: 1792432
Depends on: 1792487
Blocks: 1794656
Depends on: 1795309
Depends on: 1797650
Depends on: 1804720
Depends on: 1808240
Depends on: 1811077
Depends on: 1812651
Depends on: 1814979
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: