Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Page Properties
Quick Next!

Status

Status
colourYellow
titleIN DISCOVERY

Contributing Team

Marco Morales

Earlier Discovery

Discovery

Linked Initiatives

FC-0034 (Product / Design definition)

Overview

This initiative introduces an integrated in-app dates feature to our mobile applications, enhancing user engagement with course schedules. Users have the ability to sync these schedules (in bulk or course by course) with their personal calendars, ensuring they receive real-time updates on course changes, timely notifications for upcoming deadlines, and automatic schedule adjustments if a due date is missed. Within the app, these dates link directly to relevant course materials, offering streamlined access to content. Additionally, users can adjust course deadlines and set personalized course goals.

...

Feature

Requirements

App Level Date Settings View

The "App Level Dates Settings" is a centralized feature allowing users to manage various aspects of their dates / calendar experience within the learning platform. This includes syncing preferences with external calendars, visibility controls for course deadlines, and archival settings for course calendars post-completion.

Requirements

  • Access Point: Users can access date settings through a nested page within from their account settings. This ensures easy navigation without cluttering the primary interface.

  • Sync Preferences (Setting 1): Upon enabling calendar syncing, users should be prompted to select their sync destination (e.g., Google Calendar, Apple iCloud) and name their calendar for easy identification. This setting is crucial for personal organization and cross-platform consistency.

  • Preemptive Calendar Cleaning Setting (Setting 2) (Updated for proactive action): Within the settings, users encounter a toggle or checkbox labeled "Automatically remove course calendar upon completion." When this option is enabled, the system will automatically remove a course's calendar data from both the app-level calendar and any synced external calendar once the course is marked as completed. This automatic action is based on the user's preference set in advance, streamlining the management of course-related calendar entries and keeping the calendar updated with current and future courses.

Experience Suggestions / Notes

  • Intuitive Controls: The calendar settings should be designed with clear, easy-to-understand toggles or checkboxes. Tooltips or help icons can provide users with instant information on what each setting does, enhancing the user experience.

  • Visual Indicators for Sync Status: If a calendar is successfully synced with an external system, display a visual indicator (like a checkmark or sync icon) next to the calendar's name. This feature reassures users that the sync is active.

  • Prompt for Archival Action: Use non-intrusive yet noticeable prompts (like notifications or pop-ups) when asking users to decide on archiving or cleaning calendar data post-course completion.

DRAFT BEING REVISED UNDER THIS LINE

Syncing With Personal Calendar

"Syncing with Personal Calendar" allows users to integrate their educational schedules directly into their personal calendar environments. This feature recognizes the diversity of users' preferences, offering the flexibility to either incorporate educational events into existing calendars or create a new dedicated calendar within their personal calendar system.

Requirements

  • Accessing Calendar Sync Settings: Users begin by navigating to their app-level settings, where they can find the option to synchronize their calendars under the 'Calendar Settings' section.

  • Authentication Prompt: Selecting the sync option triggers an authentication process to ensure secure data handling. Users confirm their identities through a secure login or biometric verification, depending on their device capabilities.

  • Calendar Naming and Setup: After successful authentication, users are redirected to their native mobile calendar app. Here, they can choose to add the educational events to an existing calendar or create a new one specifically for these events.

    • Adding to Existing Calendar: If users choose to add events to an existing personal calendar, they are prompted to select which calendar they wish to integrate with (e.g., a specific Gmail calendar).

    • Creating a New Calendar: Should users prefer to keep their educational events separate, they have the option to ‘Add Calendar.' This action presents them with a simplified interface where they can name their new calendar, set a color for easy identification, and confirm it's linked to their account (preset to their iCloud, for instance).’

  • Syncing with Apple iCloud (for iOS users):

    • Destination Selection: Users are then asked to choose where they want their new calendar integrated. If iCloud is selected, the following steps are initiated.

    • iCloud Integration Steps: The app requests permission to access and manage the user's iCloud Calendar. Once access is granted, "{Learning Site Name Dates}r" is created within the iCloud environment, appearing distinct from other calendars. A confirmation message is displayed, indicating a successful integration.

    • Viewing and Interaction: Users can view the new calendar by opening their Apple Calendar app, where "{Learning Site Name Dates}" is listed as a separate calendar. This calendar features various educational entries, such as assignment deadlines and exam dates. Users can interact with this calendar similarly to their other calendars, including setting reminders, toggling its visibility, and more.

  • Integrating with Gmail Calendar (for both iOS and Android users):

    • Destination Selection: If users opt to integrate with their Gmail account, they are guided through a different set of steps.

    • Gmail Integration Steps:

      • The app doesn’t create a new calendar in the Gmail account. Instead, it prepares to add educational events to an existing calendar.

      • Users are prompted to select which Gmail account they want to sync their educational events with. They might see a list of their Gmail accounts (if there are multiple) or just the one they're currently using on their device.

      • After selecting the desired Gmail account, a confirmation prompt appears, asking users to confirm that they want to add the educational events to this specific calendar.

  • Subsequent Syncing:

    • Automatic Sync for New Courses: After the initial sync setup, the system automatically recognizes the user's sync preferences for future course enrollments. This means:

      • When users enroll in new courses, the system automatically triggers a sync for these new course calendars with the user's personal calendar, based on their established preferences. There's no need for users to revisit the sync settings or re-initiate the sync process manually for each new course.

      • The 'sync' toggle in the settings doesn't reset to the 'off' position after the initial setup. Instead, it remains 'on,' indicating that the automatic sync feature is active. Users can choose to turn off automatic syncing at any time if they prefer to sync manually in the future.

    • Toggling Sync Off and On: If a user decides to toggle the automatic sync off, this action temporarily halts the automatic synchronization of course calendars with their personal calendar. Events and deadlines from courses enrolled during this period will not be synced to the user's personal calendar until they re- enable the feature. When the user toggles the sync back on, the system behaves as follows:

      • Re-initiation Prompt: The system recognizes that sync was previously set up and prompts the user with a message like, "Would you like to continue syncing with [Previous Calendar], or set up sync with a new calendar?"

      • Continuing with Previous Sync: If the user opts to continue with the existing setup, the system reactivates the sync without repeating the initial setup process. It automatically syncs the calendars for any courses enrolled while the feature was off, using the user's established preferences.

      • Setting Up New Sync: If the user wants to sync with a different calendar, the system initiates the setup process as if it were the first sync. Here, the user will go through the steps of selecting an existing calendar or creating a new calendar for sync.

      • Duplication Warning: In the case of setting up a new sync, the system warns about potential event duplication, as events from courses during the 'off' period might now be added to a different calendar. The warning could be, "Syncing with a different calendar may lead to duplicate events across multiple calendars. Do you want to continue?"

      • User Decision: The user has the option to acknowledge the duplication risk and proceed or to cancel and stick with the previous sync settings. If they proceed, they complete the new sync setup, and the system begins syncing with the newly selected calendar.

Future Development

In future iterations, selective course calendar syncing could be introduced, allowing users more control over which course deadlines appear in their personal calendars. This feature would necessitate a user-friendly selection interface during the sync process, ensuring a seamless experience while enhancing personalization and control.

App-Level Dates Page

Overview

The "App-Level Dates Page" feature consolidates all user course deadlines, schedules, and activities in one central hub within the app. This comprehensive view ensures users can quickly glance at their educational commitments for all the enrolled courses to enhance their time management.

Requirements

Access Point: Users find the App-Level Dates Page through a dedicated icon/tab on the main user dashboard. UX Suggestion: Use a familiar calendar icon to represent this feature, ensuring users intuitively understand where to click to view their aggregated course schedules. - Comprehensive List View: Upon accessing the page, users see a chronological list of all upcoming deadlines and activities from their enrolled courses, each tagged with the course identifier and status. UX Suggestion: Implement a smooth scrolling feature, with a clear visual hierarchy (e.g., bolder text for closer deadlines; grayed out/crossed out for passed deadlines) that guides users' eyes naturally through their schedule. - Hyperlinked Course Items: Each listed item is clickable and redirects users to the specific course content or assignment page, streamlining the navigation process. - Course Visibility Customization (MVP Feature): Users can “filter” (not deleting) which courses they see on their calendar, avoiding clutter from courses that are less relevant or already completed (users can choose to turn on “deleting the finished courses calendars”/Feature 1 in settings as well) . UX Suggestion: Provide a clear filtering interface, such as dropdown menus or toggle switches, that respond immediately to user input, reinforcing a sense of control.

Future Development

Calendar View (Interactive): Explore the possibility of a more interactive calendar layout, where users can view their schedule in a daily, weekly, or monthly format, with easy navigation between these views. Learning Analytics Integration: Investigate the potential for incorporating learning analytics that provide users with insights into their study patterns, helping them optimize their time and educational outcomes. (This might be a totally different section, just putting a thought here)

Course-Level Calendar Page

Overview

The "Course-Level Calendar Page" serves as a dedicated hub within each course, displaying all relevant deadlines and activities for that specific course. This feature enhances user focus and management of individual course schedules, with the added functionality of custom sync settings to personalize calendar integration further.

Requirements

Access Point: Users access the Course-Level Calendar Page via a visible 'Dates' tab or icon within the course's main page, ensuring immediate navigation from the course content. - List View of Deadlines: Upon entry, users are presented with a chronological list of deadlines specific to the current course. Each deadline is hyperlinked, allowing users to click and be redirected to the corresponding course content or assignment page for immediate access and action. - Sync Toggle at Course Level: Unique to the Course-Level Calendar Page is the ability for users to control calendar sync settings for that particular course. A toggle is provided to enable or disable syncing for the course's calendar with their external personal calendar. - App-Level Sync Setting (Feature 1): This is a global setting that applies to all courses by default. When you enable sync at this level, it assumes you want all your course calendars to sync with your external personal calendar. - Course-Level Sync Setting (Feature 4): This setting allows for more granular control. When you toggle off the sync for a specific course, it instructs the system to exclude that particular course calendar from syncing with the external calendar, even though the global setting is to have all courses synced. This hierarchy of control ensures that if the user prefers not to have a particular course's deadlines in their personal calendar, they can opt out on a course-by-course basis, overriding the app-level sync settings. - Real-Time Sync Status: The page should also display the current sync status, informing users whether the course calendar is being synced with their external calendar. If the user has toggled off syncing, a visual indicator should make it clear that this course's deadlines are not being shared with any external calendar.

Future Development

Interactive Calendar View: In later versions, consider developing an interactive monthly calendar view, allowing users to explore deadlines within a broader timeframe.

...