Skip

Group Calendaring

Facilitator: Jean-Guilhem Rouel

Providing groups with a good solution to manage their meetings has been requested for a long time. This breakout will consist in a demo of what W3C is currently working on and a discussion to gather initial feedback from interested parties.

Slides

Minutes (including discussions that were not audio-recorded)

Previous: W3C 2020: Living Standards and Reviews All breakouts Next: W3C New York Metro Chapter Meetup

Skip

Skip

Transcript

So Hello everyone, and thank you for being here today.

This breakout will be in two parts.

I will first present you the project and what has been done until now.

And then we can have a more open discussion about it.

As Philip said, the first half of this session will be recorded.

And so if you want to ask questions, you can raise your hand in zoom and we will give you an opportunity to voice them in the second half of the session.

So I'm Rouel Guilhem you can refer to me with he, him, his pronouns.

And I work in the W3C systems team.

And these days, I'm mainly doing software development.

If you haven't done so yet, you can join the channel #group_calendering on W3C IRC server.

So today, I'd like to discuss about the W3C group calendaring project.

We felt it was important to show you what we are working on and give you a chance to comment.

I will first give you some background on the project before we move on to the demo of this service as it is in its current state.

The slide I'm going to show you, are available on the web.

You can find the link in the chat on the breakout page.

Okay.

So, without going into details, I will give you fast an overview of what the main goals of this project are.

The first one is, of course to provide W3C groups, so working groups, interest groups, community and business groups, task forces, but also the AB and TAG.

With a way to schedule and monitor their meetings.

Those groups also need to be able to schedule joint meetings, for example between two working groups and also invite additional individuals to participate.

The invited people and groups need to be notified by email and to be able to add those meetings to their own calendars.

Also, people creating events need to be able to attach additional information to them, such as an agenda, instructions for joining the meeting, or link to minutes after the meeting ended.

And finally, it should provide a Web view of the calendar to make it easy to find a group schedule as well as your own.

Of course, these are not the only requirements, you can find more information on the pages that are linked from the from the slide.

So after establishing a set of goals, we moved on to Discovery Phase.

During which we tested a number of possible solutions, both external and homemade ones.

I've published a report that's available in the form of a blog post.

It's also linked from the slide and I'm gonna show you a summary of our findings now.

So we first tested a few third- party services such as Nextcloud,SoGO.

These are CalDav servers.

Their main advantages are that they already exist, which is quite a good thing.

And as CalDav servers, they support creating events from local clients such Thunderbird.

You can also, they also allow to create a recurring meetings, invite people and sending reminders as well as publicly sharing calendars.

So that everyone can subscribe to them even if they are not invited to the meetings.

But these external tools also come with some limitations.

They work very well for organizing meetings between indivivuals but their support for group meetings varies a lot, and is usually quite limited for our needs.

Also CalDav client support varies greatly, which will likely lead to a lot of requests for help and confusion from users.

Another problem is that the integration with the rest of our ecosystem wouldn't be as easy.

And CalDav itself also lacks some structure to add additional information.

So we would risk ending up with each group adopting its own set of requirements for creating for organizing meetings.

And this would make integration even harder.

For example, we wouldn't be able to easily produce a list of all meeting minutes that a group has created if we had that's something we want to do in the future.

Another problem is that it's not possible to restrict some information of a meeting to some people.

For example, we don't want meeting passwords to be visible to everyone.

And we only want people that are invited to the meeting to see them.

And finally, we realized that, although it's possible to publicly share calendars, using those services.

By doing so, we would expose participants email addresses as well, which is a big privacy concern.

So the next step for us was to evaluate and prototype what the service could look like if we were to develop it ourselves.

The main advantages of the solution are basically that they solve the issues with third party services.

It would be easier to integrate with the rest of our ecosystem, for example, our groups data base our API, or integrate the calendars in the website etc.

We would also provide a single user interface for everyone.

So that's, that should cause fewer issues and confusion.

And we can also structure information and restrict access to it.

So that we can easily extract parts of it, depending on our needs.

And as well to help us respect privacy and security by not exposing sensitive data.

But on the other hand, writing a new tool ourselves, we would only be able to support a very little of the CalDAV protocol.

But as we've seen earlier, it may not be such a bad thing.

Considering all the interoperability issues that we would face otherwise.

And the second big difficulty is that handling recurring meetings properly is very hard.

And this is something that CalDav services and clients are fairly good at.

But again, with varying experiences.

So in conclusion, after performing all those tests for a few months, and prototyping.

It appeared that using an existing service would actually be very difficult and would require a lot of custom and potentially very hard development, as we would need to integrate our very specific needs in a tool that wasn't meant for them.

This would also make this less future proof than developing something from scratch because we would have to adapt every time a new version of the used tool gets released.

So thus decided that creating a custom solution would fit our needs better.

It would be more flexible and even better integration and wouldn't be so hard to implement with the notable exception of recurring meetings, as I mentioned earlier.

So before we move on to the demo itself.

Let me share with you where we are right now, and what we will provide in the First version of the service.

So development of the solution has already started.

And we are expected to release the First version early next year probably in January.

And chairs and staff contacts will be able to schedule meetings and joint meetings.

Invitations will be sent by email, along with an attached ical file.

So they can add those events to their own calendars.

Group meetings will be visible on their group's page.

And everyone with the W3C account, we'll also be able to view a list of all the meetings they are invited to.

Calendar and individual meetings, will also, can also be exported as a ical file to import in your calendar.

And finally, recurring meetings will likely not be integrated in this First version, as a require very careful design and implementation.

But we will provide some alternatives to make them not too painful to manage.

An idea is to allow copying meetings so that if you have created a meeting, then the next week, you can just duplicate this meeting and edit it as you see fit.

Okay, so that's it for the background on the project, while the solution we chose and why and what we have been doing so far.

So now I'm gonna show you a demo of what's currently, what currently works.

So it's only running on my computer for now but we will make it available to you in the future.

So first of all, be aware that of course everything I'm going to show you is not final and may change in the coming weeks.

And we will fast start, for, with where we can find a group's meeting.

In this case, the CSS working groups calendar.

So if you go to the group's page, as I'm showing you in the presentation.

You now have a calendar link and clicking on it.

You will see the calendar for the CSS Working Group.

At least, all the upcoming meetings.

And you also have the options to instead view past meetings if you need to go to do some digging in the past.

You can also export the old calendar as ics or export additional individual events as ics and import them in your own calendar.

From, on this page it's also possible to change the timezone, because by default, the timezone used is the one that was set when the event was created.

So you are, you can change it, if you were, if you prefer to see the or the events in a in a specific time zone.

So for example here, you set it to UTC.

Then if you want to have more information about a specific meeting, you can click on More information.

Yeah and you will see this page, which shows everything we know about the meeting.

So we have its name, date, description, the agenda, inform instruction for joining the meeting, as well as who's invited to participate.

So right here, I'm seeing joining instructions, because I'm logged in and I have the proper permissions to do so.

But it's a it's actually restricted to trusted people.

So basically, all of our membership, as well as everyone who participates in the groups or all are invited in to the meeting.

And if I'm not logged in, here is what I see.

So as you can see, this has no joining instructions anymore.

On this page, you can also change the time zone if you want.

And you also have a direct link to join the meeting.

Again, if you are logged in and have the proper permissions.

So the last thing is that, we also created a view ,that I called My Calendar, which displays all the meetings that I've been invited to, either because I am a participant in one of the groups that are invited to the meeting, or if I have been invited explicitly.

But as you can see, this view is very similar to the one we've seen before.

So I will not go into more details about it.

So let's see now how to create new year, new events.

So first, it's important to note that only chairs and team contact will be able to do so.

If you think that's a bad idea, and that more people should be able to create events, please let us know.

And I will create an event right now.

So this is a form to create events.

So you can first add some basic information.

For example, then its name, and you can also add a description.

In the description field, you can use markdown if you want to format the, if you want to format the text to use for example list of, add links in it.

You can also specify your location, it's mostly useful for physical meetings.

And then you can of course select the start and end date, as well as the corresponding time zone.

This is likely the place where in the future you will be able to schedule recurring meetings as well.

Then we can add some participants so we can add groups or individuals.

For example, if I want to create a joint meeting between the CSS Working Group and SVG one, I can start typing up CSS Work Group and SVG Working Group.

And then when I create the event, this particular meeting will appear in both calendars.

I can also invite individual people.

Oops!

So one thing to note about individuals is that right now you can only invite people who have W3C accounts and not just anyone in the world.

That's something we may add in the future.

And again, if you think it's useful or not, please let us know.

Then you can specify the agenda for the meeting.

In two ways, you can either add just a link to another page that holds the agenda or you can enter it directly here again if you are using not Markdown And you can also specify both if want.

And then two similar fields to add direct link to the meeting.

So the goal is that, when clicking on those link.

People will join the meeting directly without having to enter any phone number or password etc.

And you can also add more instructions, if you want in any in this box.

These two fields will only be visible to trusted people.

And finally, you can add a link to the meetings in minutes.

Usually you want, you will probably not want to do that, when you schedule the meeting, because chances are that you won't have the link to the minutes yet.

But in case you use permalinks from them, you can already set them here.

And finally, the status is something I'm currently working on actually.

And it allows you to create an event as draft.

So that doesn't appear anywhere, but on your own calendar.

And also which won't send notifications to participants.

You can also have other statuses such as tentative or confirmed.

And you can also cancel a meeting later, if necessary.

So I'll just go ahead and create this simple event, which will then bring us to the last part of the presentation.

So the event was created.

As you can see, it looks exactly like the page I showed you earlier.

And I should also have received an email where the notification of the event.

So I will try to show you that now.

Here it is.

So we have this is my Thunderbird, my mail client.

And as you can see, we have here all the information that we had on the page.

And this email will be sent to everyone who is being invited, so to all the group participants, and also to the individuals that have been explicitly invited.

And it also includes an ical file that a number that shows a summary of right here.

And I can accept it if I want to add it in my own calendar.

And so now if I look at my agenda, I can see it here.

And if I open it, I have the description and the agenda, as well as the list of participants.

I will not show you how to edit meetings because it's exactly the same form.

So it wouldn't be any more information to give you.

And this is where we are right now.

As I've mentioned, I'm currently working on the status bit.

And the next thing I intend to work on is allowing people to duplicate events.

So they don't have to re-enter all the information every time.

Skip

Sponsors

Platinum sponsor

Coil Technologies,

Media sponsor

Legible

For further details, contact sponsorship@w3.org