Product Design
The Evolution of Schedule
May 2022
Team: 1 Product Manager / 1 full-stack engineer / 1 designer
Status: Live in 2023
Why Schedule Matters
Imagine a busy office environment. During the day, the people are expected to be present in the scene. But after hours, a single person lingering becomes a cause for concern. "Schedule" allows users to define these scenarios, enabling targeted monitoring for a wide range of environments – from bustling supermarkets to quiet nighttime parking lots.
Simplified diagram of how Calipsa processes the alarms
This focus on relevant events not only improves user experience, but also translates to cost savings for Calipsa. By processing data only when necessary, "Schedule" reduces processing power and associated costs. This creates a win-win situation: users benefit from focused alerts, while Calipsa benefits from optimised resource allocation.
The Legacy System's Shortcomings
As Calipsa's product line expands, the current scheduling feature struggles to keep pace. Here's how it falls short:
- Cumbersome Setup: Creating a schedule requires navigating a clunky 4-step wizard, making it a time-consuming process.
- Repetitive Application: Users are forced to reapply the same schedule to each new site, a monotonous and inefficient task.
- Limited Visibility: There's no clear overview of which items already have schedules, what type of schedule they are, or the ability to edit them easily. Deleting schedules is a tedious process, requiring manual removal one by one.
- Multi-Product Complexity: Using multiple Calipsa products with the legacy schedule becomes overly complex, hindering efficient workflow.
Structure of Schedule during 2019-2022
The clunky setup wizard
Schedule page
Proposal no. 1
Schedule as an independent module
This initial proposal aimed to simplify the schedule creation process by treating it as a separate module. Here's a breakdown:
Apply the schedule to a group of cameras
Setup modal
Concept:
- Streamline the setup process from a 4-step wizard to a single modal window.
- Users could create one schedule and progressively add cameras to it.
Pros
- Centralized Management: Users could add, manage, and delete schedules from a single location.
- Informed Selection: Schedule details would be visible while selecting cameras, aiding in informed choices
Cons
- Potential Overlaps: This approach doesn't prevent users from creating overlapping schedules, leading to potential detection errors.
- Complex Intervals: Creating multiple time intervals within a day for a single schedule would remain challenging.
Technical Considerations:
Following discussions with the engineering team, it became clear that Calipsa's current architecture wouldn't readily support this proposal. Grouping cameras across multiple sites and clients would be a significant development hurdle. This approach would also place a heavy reliance on the existing "Superselector" functionality, which isn't designed to handle large volumes of data efficiently, potentially impacting performance.
Proposal no. 2
Visualizing Schedules at Site Level
This proposal revisits the concept of associating schedules with individual sites but introduces a visual aid to enhance usability.
Concept:
- Schedule details would be presented as a weekly table within the site settings.
- This table would visually highlight any overlapping schedule conflicts, allowing users to easily identify potential errors.
Pros:
- Improved Clarity: Users gain a clear overview of their schedule details at a glance.
- Conflict Detection: The visual format aids in readily identifying overlapping schedules, reducing errors.
Cons:
- Scalability Limitations: This approach doesn't address the need for scalability. Users would still need to create the same schedule repeatedly for different sites.
- Complex Schedules: Users would still require creating multiple schedules for scenarios with multiple time intervals within a day.
Error warning message
Proposal no. 3
Hybrid Approach
This proposal merges the strengths of proposals 1 and 2 to create a more scalable and user-friendly solution.
Streamlined Setup modal
Concept:
- Grouped Scheduling: Introduce the ability to apply a single schedule to a designated group of cameras.
- Streamlined Setup: Simplify the setup process by condensing the 4-step wizard into a single modal window.
- Visualized Scheduling: Replace the repetitive "on/off" selection for repeating schedules with a draggable visual table. This table would provide a clear overview of the schedule details.
- Simplified Exception Handling: Combine the remaining schedule types (other than repeating) into a single "one-time" category for exceptional cases.
Pros
- Centralized Management: Users could add, manage, and delete schedules from a single location.
- Informed Selection: Schedule details would be visible while selecting cameras, aiding in informed choices
- Improved Clarity: Users gain a clear overview of their schedule details at a glance.
- Simplified options: Instead of offering 5 types of schedule and asking it to be ON or OFF, we replace it with a draggable visualised table. It will replace all ‘Repeating’ schedules. The other types will be combine as ‘One-time’ schedule for exception cases.
Cons
- Technical limitations: Similar to proposal 1, this approach might require significant development effort due to limitations of the current "Superselector" functionality.
Proposal no. 4
Modular Scheduling with Mapping Engine
This proposal revisits the concept of an independent "Schedule" module, but introduces a mapping engine for increased flexibility.
Camera Set -> Rule -> Schedule
Mapping page
Concept:
-
Modular Design: Users can create independent elements like camera sets, rules, and schedules.
-
Mapping Engine: A central engine allows users to map these elements together. (Camera Set -> Rule -> Schedule)
-
Reusable Components: Users can reuse camera sets, rules, and schedules across different mappings, promoting efficiency.
-
Scalability: This approach allows for highly scalable scheduling, enabling users to create as many mappings as needed.
Pros
- Modular Reusability: The independent creation and reuse of camera sets, rules, and schedules promotes efficiency.
- Scalability: Users can create a high volume of mappings to accommodate complex scheduling needs.
Cons
Potential for Complexity: Users might need to create multiple groups or mappings, potentially increasing complexity.
Limited Visibility: There's a lack of immediate visibility into how many schedules a single camera might be mapped to.
Technical Challenges: While the engineering team appreciates the concept, implementing this proposal would necessitate a significant restructuring effort.
Proposal no. 5 (The base of current implementation)
Modular Scheduling with Cascading Application
This proposal leverages the benefits of modular scheduling while introducing a cascading application method.
The schedule will be inherited at the applied node
Concept:
- Modular Schedule: Similar to proposal 4, users can create reusable schedule modules.
- Cascading Application: Users can apply schedules at a site level. These schedules then "cascade" down, inheriting the settings. Exceptions can be made by overriding the inherited schedule at the camera or rule level.
Pros
- Modular Reusability: Schedules can be easily reused across multiple sites or rules, promoting efficiency.
- Minimal Architecture Change: This approach requires the least modification to Calipsa's existing architecture, making it a more feasible option.
- Streamlined Setup: Schedule creation combines both "repeating" and "one-time" schedules into a single entity, simplifying the process.
Cons
Reception
By Q2 2023, Calipsa successfully transitioned users from the legacy scheduling system to the new "Schedule" feature. To ensure a smooth migration and avoid disruption to customer operations, the engineering team developed a thoroughly tested script that seamlessly combined existing schedules into the new format.
While most Calipsa clients typically utilize 5-10 unique schedules, we discovered a valuable insight. A significant portion of our user base employs a unique schedule for each individual site they manage. This finding highlights the diverse needs within the security industry and underscores the importance of a flexible scheduling solution.
Continuous Improvement:
Post-Launch Enhancements (October 2023)
Following a successful rollout of Proposal #5's modular scheduling with cascading application, we prioritised further improvements based on direct user feedback received during a beta release with select customers:
1. Bulk Schedule Application: A user-requested feature, bulk schedule application was introduced within the bulk action menu. This streamlines the process of applying the same schedule to multiple sites or cameras simultaneously.
2. Easy drag & draw schedule: In a major improvement for user ease-of-use, we implemented a drag-and-draw schedule creation functionality. This replaces the previous method of inputting intervals with selection fields. Users can now directly create the schedule on a visualiser with a few strokes, significantly simplifying the schedule creation process.
3. Schedule Usage Visibility: To address the identified challenge of limited visibility into schedule application, we implemented a "Schedule Usage" feature. This functionality allows users to see exactly how many sites and cameras are currently using a specific schedule. Additionally, a filter option was added to enable users to quickly locate the applied sites or cameras.
4. UI Refinements & In-Flow Creation: Minor UI polishes were implemented to further enhance the user experience. We also introduced the ability to create schedules directly within the rule creation flow, improving workflow efficiency.