Web Based Scheduling/vCal

The usage of vCal and iCal is a good choice. Although they have not became the industry standard yet, vCal and iCal are supported by many different calendaring systems. Using these two calendar formats enhances data compatibility and facilitates the transferring of calendar data across different calendar systems. This is especially important for this system which has been suggested to be used as a data provider (i.e. provide data to outside public groups harvesting calendar data). This web-based scheduling system also has a great feature - aggregate schedule. Aggregate schedule reveals group schedule but it does not reveal individual members' schedules, so group members know not to set meeting at the non-vacant time. It informs group members the vacancies of time slots, but it doesn't identify the exact busy members and it doesn't disclose what events prevent these members from attending meetings at some time slots. This helps to preserve group members' privacy.

The demo showed only user side features (scheduling for personal meeting, course selections, etc.). It would be interesting to see some features benefiting the administrative side. For example, the system can muster calendar data and help the administrative faculty to generate the optimal schedule for lecture hours, office hours, and exam hours such that this schedule would maximize resource utilizations and stockholders' satisfaction. Also, the demo didn't show much about the transferring of vCal and iCal files across various applications. Hence, the system can further be improved by adding functions that interact with external systems using vCal and iCal data as well.

University schedule

Most appealing about the project

In this project, the web application try to produce an optimal schedule that helps student and school to set up their schedule and meeting. This application helps interact with large group of people. The team provides a lot of information about existing techniques that helps to develop the application like MYSQL, PHP, HTML, XML, and OUTLOOK. Their demo is very organized, and the application is very clear to show us how the application should looks like. They develop a lot of functions in their application like calendar, set meeting, notification, optimal schedule, etc, and I'm really very interested in their algorithm of finding the optimal schedule for meeting. Also, they capture a lot of issues that we currently have with setting up the schedule.

Constructive suggestion for improvement

My recommendation is that they can try to provide schedule not only for meeting but also for room and equipment booking. In addition, their application can provide e-mail notification to notify all people that there is a new meeting set up for them, so they still can get noted if they didn't go to the web site. Also, the application can provide meeting detail print out, so they can have a hard copy or they could post that up on the board. Their algorithm can provides priority for different room, group, meeting, people, etc, when finding the optimal schedule. Finally, people who choice the meeting time can set up the optimal schedule for them, and the application can try to find out the optimal schedule that satisfy most people's own optimal schedule.

Commentary on vCal

Business Perspective This project deals with issues in a new area. There are demands on personal information exchange software. In particular, a web-based software would be very useful.
Features Perspective The project provides reasonable features. Since this is an overall fairly simple program, it'd be very nice to have an API implemented so that it can be embedded into another portal website. For example it could be embedded in mysfu.ca. To achieve this goal, an API must be provided.

The security issue was not emphasized. How to protect the right of privacy was not disclosed. The project prohibited one member to obtain other member's scheduling information. In fact this should be allowed in the groups. There's no particular reason why a group member should not view other members' schedule in the group. Instead of "lock all" information - a one-layer approach, multiple-layer approach should be considered.

Architechture Perspective The project used the typical Apache/PHP/MySQL approach. This is very suitable for the purpose of the project. However the implementation didn't follow the project proposal. As mentioned in the first half presentation, what makes vCal or iCal popular is that they provide standard file formats for information exchange. The implementation didn't address this issue. The contents stored in the database are pulled out to the clients in a generic manner. The automatic generation of .vcs or .ics files was not emphasized. In the "additional features" it was mentioned that .vcs or .ics files would be output, but by watching the slides and reading the project website, I cannot see how this key feature works.

On the other hand, the exchange of the personal information is commonly implemented by XML. Because vCal or iCal files are essentially in text format, XML provides a easier way to store and pass these contents. Furthermore, if XML has been considered, database can be cast away. This makes the application more compact so as to be embedded into other portal website, as mentioned above.

Implementation Perspective Perpetual scheduling requires some build-in algorithms available. What these algorithms are and how they work were not disclosed. Why people would logon to this system and rely on it? Is the schedule provided by it always optimal? All these issues depend on the quality and reliability of the algorithm the implementation employed. Therefore this should have been paid more attention.
Overall The project has an attractive business aspect. Some dynamic web contents were implemented. Some researches have been performed. However, how those researches affected the architecture design and implementation was not clearly disclosed.

Commentary 1a (vCal)

I found this vCal system to be very useful to a university student, especially when you have to schedule a lot of project group meetings that involve many group members. From my past experience, having to manually setup a meeting time that fits everyone's schedule is like running six laps in a stormy weather. This vCal system can alleviate the hassle while not sacrificing the issue of privacy. The most appealing feature of this system is its portability; vCal is a "standard" that is supported by most major calendar software venders. For example, I am using Outlook and not until today did I know I can easily important a vCal schedule into my calendar with just a few mouse clicks. Aside from the system, I like the idea that you can extend the system to automatically grab schedule information from different databases. The university might want to use the the system to setup the optimal course schedules for each semester.

I think this system can be extended to allow users to book their TA or advisor office hours. However, the system should not allow the user to book a time slot too much ahead of time. I notice that some students tend to reserve the advisor office hours in advance just in case they have any questions, and if not, they would just cancel the appointment at last minute. Some features that I would like to see in this system is the ability to sync the calendar with a PDA , or at least the system be compatible with any PDA's mini browser so PDA users can use the system on the go.

Commentary on VCalendar Presentation

The most appealing thing I found about the project was the amount of help that I think it would provide in setting group meeting times. I have a had problems in the past with groups having big difficulties in choosing a time to meet, and so this tool would help find a good meeting time or show people that there is no good meeting time. The fact that you can show people that there may be no perfect solution where all the group member can meet is so useful as most people need to be shown before they will believe this. I think implementing this idea on the web is also useful because it gives the group members access to the schedule but keeps the privacy of everyone, whereas an application done for one system would limit the amount of people that could access it. I also think it was a smart idea to use the predefined vCal (or iCal) standard as it allows the schedules to be downloaded and accessed in other programs. I found the calendar layout feature very helpful as navigating would be easier since it is possible to click on the separate days and also highlighting the days that already have bookings makes it easier to find the bookings.

I think a problem may arise with the frames that are being used. I do not know if they have checked it but there may be problems with the interface using different browsers or if the computer has a different screen resolution. I was also curious about what extra times people are allowed to add to their schedule, for instance, are they taking in the time it takes for people to travel to the meeting? In some cases, it may take certain members more than an hour to make it to a group meeting and I don't know if this is included in the scheduling. I also noticed that when they were adding users to a group that it was a drop down box of a set of users. I do not know how this is set up but if the list is all users in the system then it may be very difficult to use when there are many people in the system. For certain types of groups, I was thinking that it might be useful to allow people in the group besides the owner to add people to the group. For instance, in the class group, it makes sense to only allow the owner (teacher) to add people to the group, but for clubs or even group projects, it may make sense to allow other users besides the owner to add members.

VCal: A Blooming Possibility

The presentation of VCal was clearly articulated and organized. This easy to hear presentation was also easy to understand. VCal is an innovative idea and I can see it being extremely useful for students in the future. Scheduling group meetings is always difficult but especially so with a student's schedule which usual combines classes, homework and work. VCal helps you organize yourself by keeping track of not only your schedule but by allowing you to see your group members schedule so group meeting times can be easily suggested. VCal protects your privacy by not giving your exact schedule to other group members. In fact it just displays a busy designation in that hour. I extremely liked this minor security feature. VCal will be able to suggest group meeting times in the future as well. This feature will be extremely useful for students as time constraints are always a factor. The automatic integration of class times and exams is helpful as it reduces the errors plausibly made by students. The User Interface is clear and easy to understand. It is well organized and the functions were clearly laid out and easy to find making this program usable by all non-computing students as well. The calendar output can always be saved and upload by any PIM tool. This creates portability.

Unfortunately, the VCal exports events individually. Integrating the entire school calendar would take a considerable amount of time and effort. Most likely, with out an easier way to transport the information from VCal to any PIM tool, I would be unlikely to use VCal at all. Creating meetings and creating groups seemed like a lot of excessive information had to be added. This requirement I did not understand. Adding groups and meeting should only require an extremely small amount of data. The more data a user is required to enter, the less time it saves, and VCal is suppose to be a time saver. Myself, I would not use the system until the amount of information required to use each function has decreased. Considering the VCal system is still unfortunately not secure, I would have a problem with entering any amount of personal data into that system. The VCal system enlightens many interesting possibilities but needs some basic refinement. The core ideas are there but the manner in which they are implemented needs simplification.

Most appealing about the project

Although at first I do not quite understand what the project is, but after look through the proposal and the presentation, I am interested in the functionalities that the project will provide:

And the information communication between applications:

And some distinguished feathers compareing to current system:

Commentaries to the project

Commentary on Web-Based Scheduling / vCal

Positives

The group did a good amount of research, including investigating calendar formats, scheduling functionality, and the need for university calendar scheduling. It was great to see them research existing calendar formats and use it as a basis for their project instead of reinventing the wheel. I liked the demo showing existing functionality within Outlook on importing an vcal file. They also looked at strengths and weaknesses of the ical and vcal formats, for instance vcal is not particularly studied for recursive schedules. Also I thought their prototype web site was impressive, it was well laid out and seemed usable.

Criticism

The group did not talk about the negatives of Perpetual Scheduling, rather only focusing on the positives. Also it would be a good idea if they can implement an overall site search function. Lastly, I would have liked to see a compare and contrast between their web based implementation and existing web based schedulers, or discuss the current state of web based scheduling.

Comments to vCal Group

My personal experience, I have used Microsoft Scheduler at work and found schedulers very useful at setting meetings and looking another persons free time slots. Like most scheduling applications, It is very effective if everyone uses it. What I found interesting about this project is the ability to provide a scheduler applications without the need to install additional software, except for a compatible web browser. Also, I found is interesting that there is actually "standard" formats for events and to-do's, The standard of vCal is great considering that people who use another scheduling application can import/export events to the the web-based version or vice versa. Suggesting optimal meeting times is one of my favourite features. Instead of the user looking through the schedules of the other users, having the system performing the comparisons is just wonderful. I think it would be a very successful application feature for students setting up group meetings.

Just some questions regarding usage of the system. In order for the web-based application is to be successful, all the students would be needing to add/update events in their schedule or having them to actually use it. I like the fact that the system would automatically pull data from the course database and automatically add the events when the student attends classes. What other features in the system which can encourage the daily usage of the system? Since the application help set up meetings, perhaps providing a web-based chat/bulletin board integrated in the system so users can chat with their group, something similar to webCT, but more user-friendly.

Also, in the demo, you showed that a user can export/import a specific event. Is it possible to export/import a person whole schedule instead of one event at a time? I think it would be a great tool as it would help people who use other schedulers. Are there reasons why PHP is decided over JSP?

Great presentation on vCal, and I hope to see your system to be used in SFU, I'm sure I would use it!

Good Feature

The ideal behind the project is very good. At Post-Secondary institution, since students have diverse class schedules and personal arrangements, to arrange a meeting for a big group with 10 members is hard and time consuming in trying to get a perfect solution. A schedule tool is certainly welcome in settle down on such issue. Also the feature of showing the detail activity of each time slot for the day is really helpful in making up plans,such that users can budge his or her time efficiently.


Suggestion

A feature might be introuduced into the application is a dynamically update information for an empty time slot, such that, when a slot is selected, the system show a message about how mamy people has already chosen the time slot as meeting time. In this case, the user can foresee what might be the most likely meeting time before the final confirmation is sent out. The purpose of doing this is to help schedule and arrange the subsequence activities which have not been decided yet.

COMMENT ON Online Scheduling/vCalendar Project


This project intends to provide a useful web-based tool to help university students to create optimal activity schedules based on their group member¡¯s current course time table and other limitation so that it would allow schedule makers and individuals to better organize their time. I think the motivation of the project is very appealing. If it really works, it is a very convenient tool for university students to harmonize their many group activities, facilitate group project time management and club activity arrangement, etc.

But, I think that this project has the some drawback to affect its practicability. For example, it seems the system has to require that all information such as class and exam schedules of users to be pre-stored in the centralized database in order for the system to work, and this is actually not always available. I suggest the system should also allow users to specify time restriction and preference when they want to create or join a group, and system can also combine this instant information to dynamically provide optimal suggestion time schedules. For example, when a user creates a meeting request, if originally his time schedule is not available for the system at that time, or some of his time table has been changed, the system should be able to combine user instant input information with already existed information in the database to generate a good time scheduling suggestion.


University schedule

Most appealing about the project

The most appealing idea about this project is to the vCalendar object. Traditionally, calendars are viewed as a database. Each event/to-do is considered as data record within the database. By considering calendar as an object, and further enable the operations such as CUT, PASTE, COPY, and "drag & drop". The team had also provided a fair amount of information regarding existing techniques on developing related applications with MYSQL, PHP, HTML, XML, and OUTLOOK. However there is not enough mention about the actual algorithm used or implementation decisions

Constructive suggestion for improvement

Considering vCalendar as an object opens the new path for exchanging calendar information. Now, calendar information can be exchange, and modify in a distributive fashion, instead of a centralized way. Each entity within the scheduling application's scope can have their own view of its own calendar. So each room, or equipment can have their own calendar instead of just people. An interesting and flexible way to look as the vCalendar objects is to allow each faculty, student, professor, club, group, etc to have their own database. Whenever one party tries to make an appointment with another party, a piece of vCalendar is exchanged and inserted to each other's database. This can certainly reduce the workload of the central server, and preventing single-point failure leads to entire university become non-functioning as well.