[Editor's Note: To learn more about Notes R5 Calendar and Scheduling, check out the discussion with Ryan in theDeveloper Spotlight
. For specific information on using Notes R5 Calendar and Scheduling, see "Notes R5: Calendar and Scheduling
With changes in task management, repeating meetings, resource reservations, and more, Calendar and Scheduling in Notes R5 is at the top of its game. Meet Ryan Jansen, the developer behind these exciting changes, and learn more about the new functionality.
What are your goals for improving Calendar and Scheduling for R5?
The main goal is to improve usability, not just for Calendar and Scheduling (C&S), but for mail as well. R4.5 was the first release of C&S and it had many features, but most people didn't know this because the features were hidden in menus or the software did them automatically. In some cases, C&S also didn't do what customers expected it to do. In R5, we try to place a lot more of the actions that you can take right where you can see them. We also improved the user interface so it looks neater and cleaner.
The second goal is to organize the template better. Many end users might not care about this, but it makes it a lot easier from a development point of view. We changed where the code lives, how we use it, and how much can be shared (there is a lot of front-end code that is shared). We basically threw out all existing templates and code for R5 mail and started fresh. We also ported most of the C&S processing code from the template to C, making it smaller and faster than before.
We wanted a good foundation going forward for enhancing the mail template, so we won't have to rewrite from scratch every time we want to add something new or make other improvements. We also don't want to worry about breaking code when we make a change. We tried to make the template more readable and understandable by other developers.
Why couldn't you do that with the old template?
The R4.5 template used numerous global variables. This meant that some functions assumed that certain variables would be set up for them, and in some cases, this wasn't true; and in other cases, it was true, but the code was hard to share. We tried to significantly reduce the number of global variables, so they are very minimal now. Most functions take parameters of variables to operate on, so we can now reuse and share code that we couldn't before. It also means that if you change a function, you have a better idea of the scope of the changes you are making. The template we have now is more readable and easier to follow.
Can you tell us more about the new look-and-feel of the Calendar in R5?
We now use field-driven tables for Calendar entries. This makes the interface look similar to other Calendar products that users may already be familiar with. We also put pop-up menus on action buttons, so that actions are more visible and easily accessible. You don't actually have to open up the document now. You can take most actions from the view. This makes doing what you want to do much faster. For example, let's say that you are the chairperson of a meeting and you want to reschedule it, or look at the status of who is coming to the meeting. In R4.5, you would have to find the meeting document, double-click to open the document, and then find the button to do the action you want. Now, you just select the document in the Calendar view, and click on the Owner Actions button to choose the action you want to take.
[Editor's Note: The following screen shows the new look of the Calendar, along with the new action buttons.]
Figure 1. The R5 Calendar and action buttons
Can you tell us a little bit about task management? How will it change in R5?
Tasks came in R4.0 as part of mail, and appeared in a separate To Do view. They had some group capabilities, but didn't allow much management or workflow. We didn't add much to tasks in R4.5, except that you could display tasks on your calendar. In R5, tasks -- now called "to-do's" -- appear by default on the calendar, and if you want, they can follow you from day to day.
We've also added workflow capabilities. If you receive a to-do that is not in your area of expertise, you can delegate it. Assignees of a task have more control to modify, accept, or delegate the to-do. Notes sends a notice to the person who assigned you the to-do, saying that the to-do was delegated to someone else. As the owner of the to-do, you can cancel the to-do and it sends a notification out, or you can move the due date.
We are also working on repeating to-do's, so if you always do something at the end of the month and you want to schedule it for the next two years, you don't have to manually create each to-do. You can click on a button and the to-do then appears on the last day of the month for the next two years. Lastly, we've added alarms for to-do's. An alarm can display a message box, play a sound, or send a mail notice when you want to be reminded of a to-do.
What are group calendars?
This is a great feature, similar to the free time dialog box, but with a significantly different UI. There is a new folder in your mail file called Group Calendars. If you go to the folder, all of the Group Calendar documents that you use or manage are there. You can click on the Group Calendar button and a dialog box appears. If you manage five people's calendars, you can create a group calendar containing all of these people. When you want to see what members of this group are doing for the next week, you just click on the document and see their free time, or their calendar, for the next week. Basically, it's a way to organize those people's schedules that you like to look at often. There are some other features -- if you receive a mail message, for example, and the Send to and Copy to fields contain a list of people that you often communicate with, and you want to see their schedules, you can just drag that list and drop it in the Group Calendar folder, and a new group calendar is created for you.
Repeating meetings are different now. How are they different?
The big difference is in performance. In R4.5, when you created a repeating meeting, Notes created a new meeting document for each date. To schedule a meeting once a week for one year, you would have 53 documents, counting the original. If you invited 10 people, then each person received 53 documents. Now we create one document with all the information in it. Sometimes you might get to the summary limit of what you can have in a view, so before you get to that limit, we put the information in multiple documents, and try to keep them as compressed as possible. So, if you create a meeting invitation for a meeting that is once a week for the next year, Notes should create one document. Instead of taking several minutes to complete the operation, it takes a few seconds. It's much faster for end users, and administrators will like it because it takes up less resources on the servers. Also, if you make a change to the meeting and you click Apply to All, you don't have to replicate 53 documents, just one. The views also don't have to index all 53 documents.
Another important change is that in R4.5, repeating meetings were broadcast messages. That meant you couldn't accept or decline them. In R5, you can accept, decline, delegate, and so on. They are no different than a non-repeating message.
How have resource reservations changed?
We've added the concept of owners. In R4.5, resources had no owners, so if you wanted to reserve a resource, and you had access to the server, you could reserve the resource. Customers have been asking for a feature that only allows one person, or a couple people, to control this. So, we added ownership. Now you have several options -- you can still allow anyone to access the resource, or you can put an owner in, so that all requests are forwarded to that owner and they can approve the request or deny it. You can also say that only members of this list can reserve a room. If you are on that list, then Notes automatically processes your request. You can also merge the last two together and specify that if the user is a member of the list, Notes should process the request, and if not, Notes should forward the request to a specified resource owner.
You can also temporarily disable reservations. This might come in handy if your organization changed locations. Another change we've made is allowing you to create, within the reservation database itself, a repeating room reservation. Also, you used to have to click on a button to get a list of room resources. Now you have a field with type-ahead support, so if you generally know the name of the room, you can just start typing and Notes finds it. Also, when you click on the address book to see a list of rooms, you get cascaded address books, which you couldn't do before.
Will I be able to print my calendar, so I can take it to a meeting on the road? How will this work?
You can print out your calendar in daily, weekly, monthly, and trifold formats. When you select one of these formats, you can customize the layout of the format in many different ways. For example, you can set up a trifold printout to include daily to-do's in the left section, daily calendar entries in the middle section, and a full monthly calendar in the right section. As with Lotus Organizer, you can select different paper types and sizes for printing your calendar. You can select Franklin Planner, Day-Timer, Day Runner, Avery, and so on. R5 also includes a print preview, so you can check your printout before you actually print it.
How will upgrading work?
Upgrading will be transparent. Whatever calendar entries you have in R4.5 should behave no differently in R5. The only problem you may have is if you are using R5 and you create and send repeating meeting invitations, users receiving the invitation (who have not upgraded to R5) will need to use the most recent R4.5 and R4.6 mail templates. Those templates can handle the R5 format easily.
Can you talk a little about how Calendar and Scheduling will work with PDA's (Personal Digital Assistants, such as Palm Pilot and IBM WorkPad)? What are the plans in this area?
I've been in contact with some of the PDA vendors to update them on changes we're making. We won't come up with tools that pull information out of the calendar -- we've left that up to business partners. Now that we have most of the functionality in the core product, we do have the issue of what would business partners want us to expose. We want to expose the code in a way that is really usable. I am curious about how people want to work with this stuff.
Right now, when I schedule a meeting, such as an interview, where multiple people will interview one person for an hour each, my time is blocked off as busy during the entire length of the interview, even though my part of the interview only lasts one hour. Will this change in R5?
This is post R5, something I call staggered invitations. You can schedule user A from 1:00 to 2:00, and user B from 3:00 to 4:00. When the users accept the invitation, it is only for their specific block of time . If I scheduled the interview, and I move the interview up a day, the reschedule notice goes out and updates them for just their block of time. I could also swap people in and out. We ran out of time for this in R5, but it is in the works!
Are there any other new features we haven't talked about?
We've made some improvements in meeting workflow. Right now, any time you accept or decline a meeting invitation, Notes fires off a response message. What if, when you decline, you want to say why? You could do this in R4.5, but it wasn't very obvious and the number of useful editing features were minimal. You can now reply with or without comments, and when you choose to include comments, a new mail message appears that allows you to enter your comments. You can also specify, when you decline, that you want to be informed of updates. Then if the meeting is rescheduled, Notes informs you.
From the chairperson's point of view, when you reschedule a meeting, you can now include comments saying why. Also, when you cancel a meeting, you can specify that you want all the documents regarding that meeting to delete, not just disappear, from your calendars.
What about holidays?
Holidays are important. The way we implement holidays, they are documents in the Domino Directory. The administrator can make holidays available or choose not to make them available. We have a default set of holidays and you can remove them or modify them to create corporate holidays. You can also set them to repeat, and as with meetings, a repeating holiday is one document, so you won't see a thousand of them. You can click a button to import the holidays in. If you try to do this several times, we won't duplicate the holidays. The nice thing is that holidays are centrally managed and centrally available, but also customizable. I don't believe competitive products have this flexibility.
How do you think we are stacking up against the competitors?
I think we are looking really good, but we still have more to do. R5 won't solve all issues for everyone. But R4.5 was the first release of Calendar and Scheduling, and R5 is the second release. I think we've made vast improvements, and a lot of good changes. We've improved the way existing features work, but we've also added a lot of new features. We now have a good combination of features and improved UI.
What else are you working on for R5?
LotusScript. I did some enhancements to the front-end classes. I added picklists, File - Open and File - Save dialog boxes as well as functions that allow you to find what the current database window is.
What are the long-term goals for C&S -- beyond R5?
Things we hope to get to in R5, but aren't sure we will, include allowing users to specify the rooms they normally reserve and defaulting to one of these rooms when they go to choose a room reservation, enhancing calendar delegation, and making it easier to manage the calendar.
In the long term, after R5, we will work on the staggered invitations we talked about earlier. Also, we'll allow you to invite people to anything -- appointments, events, anniversaries, and so on. We'd like to at some point add resource groups. For example, say you have a huge room called Room A, and it has dividers, so you could divide it into three rooms. Resource groups would give you a way to handle this. We would also like to tie resources to certain rooms. At some point, we would like to link calendar entries with other documents, such as to-do's. To-do's could then adjust, for example, according to when a meeting was being held. The wish list of things we want to do really goes on and on. We plan to keep adding new features and improving the product.
Ryan has been with Iris since June of 1996. He was previously employed by Lotus and has also worked for a Lotus Premium Business Partner. At Iris, Ryan is one of the developers who works on Calendar & Scheduling in the Notes R5 Mail template. He spends most of his non-working hours playing with his newborn daughter and wife.