Intensity will show only one specific tree for the selected time. My booking list will show the booked events by the user and their intensity. The intensity in the list will be updated by the time when the other users in the group make a new booking. By doing so, the user might change his booking activities later for making them more green. This is important as it will allow users to cooperate in order to book all activities with a less intensity through suggestion functionality.
Booked activities' day and suggestted times can be represented by "day","from" and "to" fields, this will enable users to book any activity for any time (not weekly based). We can add new field to suggestion in order to provide more brief information about the suggested days. For example, "tomorrow", "two days later", or "next monday" can be used. The idea is demonstrated in the following figure.
A challenge to decide the intensity level for booking times:
Although we have not yet determined the interface for booking activity page, there is a common challenge for any design, which is how to determine a time interval having a low, medium or high intensity considering other users' booked activities. For example, lets assume there are two users in the same energy team, UserA and UserB.
The parameters of activities of the users are:
UserA-> From = 8:00 pm, To= 9:00 pm
UserB-> From = 8:50 pm, To= 9:10 pm
As it can be seen that the start time of the activity of UserB is between the start and end time of the activity of UserA. Whether the time interval, 8:00pm to 9:00pm, has medium or high intentsity is hard to decide since the activity of UserB needs only 10 mins in this interval.
Solutions:
- One possible solution is to assess the proportion of the coincided time with the whole activity duration. However, it is not feasible to check all activities when there is a large number of users in the energy team.
- Another possible solution came to my mind for this problem is that calculating expected load for each time intervals, and deciding the intensity level with respect to the amount of total expected load for the interval. However, this emerges a new issue, especially with the large number of users. The issue is how we will determine the amount of loads for the levels, we might use average of the team but it might not accurate with the users whose consumptions are dramatically diversed.
- In order to provide simple solution, currently what I implemented is just comparing the start time of an activity for an interval, if there is no any booked activity in the interval by any user of the team , then the interval has Low intensity. If there is only one activity, it has Medium intensity. If there are more than one activities, then it has High intensity.