Sprint 1 - Moviles-SEC-2-G25/Wiki GitHub Wiki
University students often want to introduce more variety into their free time, but trying something new can require planning, decision-making, time, and sometimes social coordination. Even when they are interested in new experiences, familiar activities are often easier because they require less effort and uncertainty.
Our previous research identified several recurring barriers:
- Planning and organizing a different activity can require more effort than repeating a familiar routine.
- Too many possible options can create decision overload.
- Limited or unpredictable free time can make searching for activities difficult.
- Some users may avoid otherwise interesting activities when they require uncomfortable levels of social interaction.
- Uncertainty about duration, cost, distance, or difficulty can discourage users from committing to an unfamiliar experience.
- Repetitive recommendations can reduce the novelty that users expect from the experience.
The central problem is therefore not simply a lack of available activities, but the friction involved in discovering, selecting, and starting something different.
Sidequests is a mobile discovery platform that recommends small, personalized, game-like activities designed to help university students break out of repetitive routines without requiring extensive planning.
Instead of asking users to search independently for something new to do, the application presents a small number of Sidequests that match their current context and preferences.
Recommendations may consider:
- Available time.
- User interests.
- Preferred difficulty.
- Estimated cost.
- Location.
- Time of day.
- Preferred level of social interaction.
- Previously accepted, skipped, and completed quests.
A typical interaction would be:
- The user opens the application.
- The user indicates or confirms relevant contextual information such as available time.
- The system identifies compatible Sidequests.
- A small set of personalized recommendations is displayed.
- The user reviews the duration, difficulty, cost, location, and social characteristics of a quest.
- The user accepts and completes the activity.
- The user can provide simple feedback.
- Future recommendations improve according to previous interactions.
The objective is to make trying something different easier than independently searching for, comparing, and organizing an activity.
The primary revenue model proposed for Sidequests is Sponsored Side-Quests, a form of native advertising in which local businesses, university organizations, cultural institutions, or event organizers can pay to make relevant activities available through the platform.
Unlike traditional banner or interstitial advertising, sponsored content would maintain the same Side-Quest format as the rest of the application and would only be recommended when it matches the user's context and preferences.
For example, a local cafΓ© could sponsor a Side-Quest such as:
"Try a drink you have never ordered before at a nearby cafΓ©."
A cultural organization could promote:
"Visit a free exhibition located within 15 minutes of campus."
Sponsored Sidequests must always be clearly identified as sponsored content and should continue respecting the user's available time, interests, location, budget, and social preferences.
- Users: discover relevant experiences without having to search and plan them manually.
- Local businesses and organizations: reach users who are already interested in discovering new activities.
- Sidequests: generates revenue without requiring every student to pay for access to the core experience.
The platform would not need to sell personally identifiable user information. Behavioral and contextual information would be used internally to determine whether a sponsored Sidequest is relevant to a user.
University students who want to introduce more variety into their free time but frequently remain in familiar routines because discovering and organizing new activities requires additional time, effort, decision-making, or social coordination.
Users need an easy way to:
- Discover something different to do.
- Find activities that fit the time they currently have available.
- Avoid spending excessive time comparing alternatives.
- Find activities related to their personal interests.
- Control the expected cost, effort, difficulty, and social interaction of an activity.
- Try new experiences without extensive planning.
The research identified several recurring barriers:
- Planning a different activity requires more effort than repeating a familiar routine.
- Too many alternatives can create decision overload.
- Limited or unpredictable free time makes searching difficult.
- Some users reject interesting experiences when they require uncomfortable social interaction.
- Unclear duration, cost, distance, or difficulty increases uncertainty.
- Repetitive recommendations can reduce perceived novelty.
Users currently rely on alternatives such as:
- Repeating familiar activities.
- Browsing social media for ideas.
- Searching Google, maps, or event platforms.
- Asking friends what to do.
- Waiting for another person to organize a plan.
- Saving activities or places for later and never acting on them.
These alternatives either require active searching and planning or depend on someone else taking the initiative.
The initial target population is reachable through:
- University communities.
- Student organizations.
- Campus events.
- Social media.
- Peer recommendations.
- University communication channels.
For university students who want more variety in their free time but are held back by planning effort, choice overload, limited time, or social friction, Sidequests transforms available moments into small personalized challenges adapted to the user's interests and current context, making trying something new easier than planning it independently.
| Scenario | Persona / Focus | Problem | Alternatives | Solution |
|---|---|---|---|---|
|
1. The Routine-Locked Student Camilo has free time but usually falls back on the same familiar activities instead of trying something different. |
Camilo (22) Focus: Routine inertia reduction |
He wants to try new activities but usually defaults to familiar options because planning something different requires additional effort and initiative. | 1. Watch movies or series. 2. Play basketball. 3. Wait for friends to organize a different plan. |
Personalized Side-Quest Recommender that suggests small, low-effort challenges based on interests, available time, and preferred difficulty. |
|
2. The Socially Cautious Explorer Camilo finds a new activity interesting but hesitates because it involves unfamiliar people or environments. |
Camilo (22) Focus: Social comfort adaptation |
He is interested in new experiences but may reject them when they involve strangers or situations that feel too far outside his comfort zone. | 1. Avoid the activity completely. 2. Participate only with close friends. 3. Wait until an activity is interesting enough to overcome the discomfort. |
Adaptive Social Side-Quests that let users choose between solo, close-friend, or social challenges and gradually increase social exposure according to their comfort level. |
|
3. The Unsatisfied Explorer Valentina has unexpected free time between classes or during the weekend and wants to do something different instead of getting bored. |
Valentina (21) Focus: Cognitive load reduction |
She feels overwhelmed by the large number of options and plans available on social media. Evaluating and comparing alternatives creates enough friction that she eventually abandons the search. | 1. Keep scrolling on TikTok or Instagram. 2. Go to the same familiar cafΓ© out of convenience. 3. Ask friends to make the decision for her. |
Smart One-Quest Suggestion that provides one highly curated and easy-to-execute activity instead of presenting many alternatives, reducing decision-making friction. |
|
4. The Procrastinating Explorer Valentina remembers a place she saved on social media and has time to visit it, but the required planning prevents her from taking action. |
Valentina (21) Focus: Zero-logistics planning |
She wants memorable and spontaneous experiences but loses motivation when an activity requires logistical preparation, long travel times, or significant financial or time commitments. | 1. Let saved places accumulate without visiting them. 2. Wait for a friend to organize the plan. 3. Stay home consuming passive content. |
Instant Plans that transform saved places into ready-to-execute activities by automatically providing routes, estimated costs, and other relevant logistics. |
|
5. The Unmotivated Explorer A student decides to try a new activity but loses motivation before actually starting it. |
University Student Focus: Follow-through motivation |
The student wants to try new activities but struggles to follow through when there is no external motivation or encouragement to complete the experience. | 1. Ask friends to join. 2. Wait for someone else to organize the activity. 3. Depend entirely on personal motivation. |
Group Quest Challenges that allow students to join or create small challenges and receive reminders, progress updates, and rewards for completing them. |
|
6. The Time-Conscious Explorer A busy student has some free time but hesitates to try something new because they are unsure whether it will fit their schedule. |
University Student Focus: Time-value certainty |
The student may avoid unfamiliar activities because they cannot easily determine whether the experience will be worth the limited free time available in a busy academic schedule. | 1. Ask friends for recommendations. 2. Search for reviews online. 3. Choose a familiar activity that is already known to fit the schedule. |
Time-Aware Side-Quest Recommendations that show estimated duration, difficulty, location, and relevant activity details before the user commits. |
|
7. The Planning-Friction Explorer A student has free time and wants to do something different but gives up when finding and organizing an activity requires too much effort. |
University Student Focus: Planning effort reduction |
The user wants to do something different during free time, but searching for, selecting, and organizing an activity requires more effort than repeating a familiar routine. | 1. Repeat a familiar activity. 2. Wait for a friend to organize a plan. 3. Search manually on social media, Google, or event platforms. |
Context-Aware Side-Quest Recommendations that present a small set of activities filtered according to available time, interests, desired difficulty, and relevant context. |
|
8. The Interest-Driven Explorer A user receives a new activity recommendation but ignores it because it does not connect with their personal interests. |
Camilo (22) Focus: Personal relevance |
The user may be open to trying unfamiliar experiences, but generic or poorly matched activities do not provide enough motivation to overcome routine inertia or discomfort. | 1. Ignore the recommendation. 2. Repeat a familiar activity. 3. Search manually for something related to personal interests. |
Interest-Aware Quest Matching that prioritizes Side-Quests based on the user's selected interests, previous completions, skipped quests, and feedback to increase the relevance of future recommendations. |
|
9. The Low-Energy Explorer Daniel has free time after class or work but feels too drained to start anything that requires preparation. |
Daniel Focus: Energy-based effort adaptation |
He has available time but not enough energy to use it actively. Many activity suggestions require preparation, travel, or commitment, so he rejects them even when the activity itself is appealing. | 1. Stay home watching streaming content. 2. Take a nap and let the free time pass. 3. Cancel previously accepted plans. |
Effort-Aware Quest Filtering that ranks quests according to required energy and preparation, prioritizing low-effort activities near the user's current location. |
|
10. The Budget-Constrained Explorer Daniel wants to try something new but hesitates because he cannot clearly estimate how much the activity will cost. |
Daniel Focus: Cost transparency |
Unfamiliar activities may involve hidden costs such as entrance fees, transportation, or food. Without knowing these costs beforehand, he may discard activities that genuinely interest him. | 1. Visit only free places he already knows. 2. Ask friends about prices before deciding. 3. Skip the activity entirely. |
Cost-Transparent Side-Quests that display an estimated total cost before acceptance and provide free or low-cost filtering options. |
|
11. The Novelty-Seeking Returning User After using the app for several weeks, Valentina begins receiving recommendations that feel too similar to activities she has already completed. |
Valentina (21) Focus: Recommendation diversity |
The main value of the app is novelty. When recommendations repeat previous quests or offer only minor variations, the application becomes another source of repetitive content and loses its appeal. | 1. Ignore the notifications. 2. Stop opening the app. 3. Return to scrolling on social media. |
History-Aware Diversity Ranking that excludes previously completed quests and promotes variety across categories when generating new recommendations. |
|
12. The Safety-Conscious Explorer Camilo receives a recommendation for an unfamiliar location but hesitates because the activity would take place alone or after dark. |
Camilo (22) Focus: Perceived safety and context |
Even when an activity is interesting, the user may reject it when the location, time of day, or possibility of going alone creates a sense of risk. | 1. Go out only during daylight hours. 2. Restrict activities to familiar neighborhoods. 3. Ask a friend to join and cancel if nobody is available. |
Context-Filtered Safe Quests that rank activities according to time of day, location, and relevant context while offering safer or group-based alternatives when appropriate. |
- This link (https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6745318) discusses the lack of time as a form of βtime poverty.β Although this phenomenon is studied in the United States, a parallel can be drawn with Colombia as a similar context, since many students at the university have to work and study at the same time. This time poverty increases stress and reduces their ability to plan additional activities.
- Research on the fear of missing out (FoMO) shows that it is
linked to greater difficulty in making decisions, less time spent evaluating options, and greater regret after making a decision. (https://sciety.org/articles/activity/10.31234/osf.io/eu39h_v1)
The interview originally conducted by SebastiΓ‘n Maldonado during MS2 focused on the Skip the Line Campus Lunch Pickup problem. Since the team later converged on Side-quests: Breaking Out of the Routine, this prospective user was developed using secondary research related to leisure participation, barriers to activities, and engagement in personally meaningful activities. Research on leisure constraints identifies different types of barriers that can influence participation in recreational activities. These include intrapersonal constraints, such as psychological barriers; interpersonal constraints, such as the availability of other people; and structural constraints, such as resources or other conditions that interfere with participation. Research related to behavioral activation also supports the relevance of engaging in pleasurable and personally meaningful activities, frequently incorporating mechanisms such as activity selection, scheduling, and monitoring. Based on these findings, this Empathy Map represents a time-constrained university student who is interested in having enjoyable and varied experiences but whose participation can be limited by time, effort, available companions, and the relevance of the activity.
BQ1:
At what specific software module does the app most frequently crash when a user brings the app back to the foreground after tracking a location-based quest in the background for more than 10 minutes?
BQ2: Group Challenge Module
How many participants successfully join a Group Challenge, and how often does the Group Challenge module fail to create, register, or update participant progress during an active challenge?
BQ3: Onboarding Drop-off
At which step of the initial preference setup do users most frequently abandon the process, and how does completing each step affect the acceptance rate of their first recommended Side-Quest?
BQ4: Instant Plans
How much does providing ready-to-execute Side-Quest plans reduce the time and number of interactions required for a user to start a Side-Quest?
BQ5: Personalized Quest Recommendation:
Given the user's available time, preferred level of social interaction, interests, and previous quest interactions, which three available Sidequests have the highest relevance for the current session?
BQ6: Quest Abandonment Reasons
What are the most frequent reasons users select when abandoning an active Side-Quest, and how do these reasons vary according to the quest's estimated duration, cost and distance?
BQ7: Group Challenge Adoption
What percentage of active users join at least one Group Quest Challenge, and how does the completion rate of group challenges compare with individual Side-Quests for the same users?
BQ8: Recommendation Diversity
How does increasing the diversity of Side-Quest recommendations affect acceptance and return rates among users who have already completed multiple Side-Quests?
BQ9: Quest Category Performance:
What is the completion rate of each Sidequest category among quests accepted during the last 30 days, and which categories have the lowest completion rates?
BQ10: Location-Independent Mode Usage
What proportion of sessions uses the location-independent filter instead of location-based Side-Quests, and how do time of day and weather conditions affect that proportion?
BQ11:
What are the specific commercial blocks in BogotΓ‘ where users spend more than 20 minutes completing physical sidequests on weekends, providing high-value foot-traffic data to pitch to local businesses for sponsored "checkpoint" quests?
BQ12: Sponsored Quest Performance
What is the acceptance and completion rate of sponsored Side-Quests compared with non-sponsored ones, segmented by business category and by the user's declared interests?
BQ13: Adaptive Quest Optimization:
For users who frequently skip recommended Side-Quests, how does automatically adapting quest duration, difficulty, and category based on previous interactions affect both recommendation acceptance rate and overall quest completion rate?
BQ14: Social Comfort Personalization:
For users with low willingness to participate in socially demanding activities, does adapting Side-Quest recommendations to their preferred social exposure level increase completion and return rates compared with showing non-personalized social challenges?
Data source nodes are replicated per branch for readability. Repeated nodes with the same name represent the same source.
| Element | Description |
|---|---|
| User Action | The user finishes an active Side-Quest and marks it as completed. The user then provides quick feedback indicating whether the activity was enjoyable and whether they would like to receive similar quests in the future. |
| System Response | The system records the quest as completed, stores the user's feedback, updates progress and achievements, and adjusts the recommendation profile so future Side-Quests better match the user's preferences. |
| Execution Context | The user has just completed a Side-Quest and wants to register the experience with minimal interaction. The feedback should require only a few taps so that the reflection step does not create unnecessary friction. |
| Element | Description |
|---|---|
| User Action | The user receives a Side-Quest recommendation but decides that it does not fit the current mood, available time, difficulty, or social comfort level. The user skips the recommendation and requests another option. |
| System Response | The system records the skipped quest, uses the reason for rejection when available, and generates a new recommendation that better matches the user's current context and preferences. |
| Execution Context | The user wants to do something different but does not want to browse a long list of alternatives. The interaction should preserve the low-friction experience by replacing the rejected quest quickly. |
| Element | Description |
|---|---|
| User Action | The user opens the discovery screen and requests Side-Quest recommendations after indicating the amount of free time currently available. |
| System Response | The system evaluates the user's available time, interests, previous quest interactions, preferred social interaction level, and available quest information. It then displays a small set of compatible Side-Quests ranked according to relevance. |
| Execution Context | The user has some free time between activities and wants to do something different without manually searching through multiple alternatives. The device may provide the current location if the user has granted location permission. |
| Element | Description |
|---|---|
| User Action | The user selects one of the recommended Side-Quests, reviews its duration, difficulty, estimated cost, location, and social requirements, and chooses to accept it. |
| System Response | The application registers the quest as accepted, displays the instructions required to complete it, saves its relevant information locally, and updates the user's current quest status. |
| Execution Context | The user has selected an activity that matches the available time and current preferences and is preparing to begin the activity. The user may leave the application, move between locations, or temporarily lose network connectivity while completing the quest. |
| Element | Description |
|---|---|
| User Action | The user is currently on an active Side-Quest but gets interrupted or realizes they cannot complete it. They open the app, select the option to abandon the quest, and optionally provide a quick reason (e.g., "Ran out of time," "Location closed," "Too difficult"). |
| System Response | The system clears the active quest status without heavily penalizing the user's overall progress. Crucially, it instantly unblocks the user's state, allowing them to immediately browse, request, and start a new Side-Quest. It also logs the abandonment reason to adjust future recommendations. |
| Execution Context | The user has encountered a real-world obstacle, such as a sudden schedule change, bad weather, or a closed venue. The user needs a graceful, guilt-free way to exit the activity state and return the app to its baseline discovery mode so they can pivot to a different activity right away. |
| Element | Description |
|---|---|
| User Action | When browsing or requesting a new activity, the user toggles a filter to choose between location-based Side-Quests (which require traveling to a specific spot) and location-independent Side-Quests (which can be done from anywhere and require no location verification). |
| System Response | The system adjusts its recommendation pool. If "location-based" is selected, it uses the device's GPS to find nearby tasks and enables location verification for completion. If "location-independent" is selected, the system bypasses GPS tracking and serves universal quests (e.g., "Organize your phone's camera roll," "Call a friend," or "Meditate for 10 minutes"). |
| Execution Context | The user wants to engage with the app but might be restricted by factors like late hours, bad weather, limited mobility, or a simple desire to stay indoors. The toggle provides necessary flexibility, ensuring the user can still participate and progress without being forced to travel or verify their physical coordinates. |
| Element | Description |
|---|---|
| User Action | The uer completes several Side-Quests and continues using the application |
| System Response | The system analyses the user's previous completed and skipped quests and adjusts the difficulty of future Side-Quests. If the user consistently completes easier challenges, the systema gradualy introduces more challenging activities. |
| Execution Context | The user has accumulated enough interaction history for the system to identify their current level and adapt future challenges without requiring the user to manually change the difficulty |
| Element | Description |
|---|---|
| User Action | The user finds a group Side-Quest and chooses to join the challenge with other participants |
| System Response | The system registers the user as a participant, displays the current challenge progress and participating members, and updates the group's progress as participants complete the required activities. |
| Execution Context | The user wants additional motivation or social interaction to complete a Side-Quest and chooses to participate in a collaborative challenge. |
| Element | Description |
|---|---|
| User Action | On first use, the user completes a short setup where they select their interests, preferred difficulty, typical available time, budget range and preferred level of social interaction. The user can skip optional steps and later modify any of these preferences from the profile screen. |
| System Response | The system stores the selected preferences locally and associates them with the user profile, uses them as the initial input for the recommendation engine, and immediately reflects any later change in the next set of recommended Side-Quests. Skipped steps are replaced by neutral default values so the user is never blocked. |
| Execution Context | The user is opening the application for the first time or wants to correct preferences that no longer reflect their situation. The setup must remain short, since users expect minimal onboarding and may abandon the process if it requires too much effort before showing any value. |
| Element | Description |
|---|---|
| User Action | After finishing a Side-Quest that requires evidence, the user takes or selects a photo and submits it to confirm completion. |
| System Response | The system compresses the image, associates it with the completed quest, marks the quest as completed in the interface without waiting for the upload to finish, and queues the file for background synchronization. The photo is stored in the user's quest history. |
| Execution Context | The user has just finished an activity in a physical location and wants to register it quickly before continuing with their day. Network conditions may be unstable and the user may close the application immediately after submitting. |
| Element | Description |
|---|---|
| User Action | The user receives a notification suggesting a Side-Quest at a moment when they are likely to have free time, and taps it to open the application. |
| System Response | The system opens directly on the suggested Side-Quest detail, showing its duration, difficulty, estimated cost and location, so the user can accept it without navigating through the discovery flow. It also registers whether the notification led to an accepted quest, was dismissed or was ignored. |
| Execution Context | The user is not actively looking for an activity and may be between classes, commuting or at home. The notification must respect the user's notification settings and must not interrupt an already active Side-Quest. |
| Element | Description |
|---|---|
| User Action | The user receives a recommendation that includes a Side-Quest sponsored by a local business or organization, clearly labelled as sponsored content, and decides whether to accept it like any other quest. |
| System Response | The system only includes the sponsored quest when it matches the user's available time, interests, budget and location, displays the sponsorship label, and records acceptance, rejection and completion so the performance of sponsored content can be reported to the sponsor in aggregated form. |
| Execution Context | The user is browsing recommendations as usual and does not expect the experience to change because a quest is sponsored. The sponsorship must never override the user's contextual constraints or degrade the relevance of the recommendation. |
| Element | Description |
|---|---|
| Scenario name | Recommendation service responds slowly |
| Quality attributes | Performance, availability |
| App status and context | The user has opened the app and requested a new personalized Side-Quest. The application has the user's basic preferences and recent quest history available. |
| Changes in the context | The backend recommendation service experiences unusually high latency or temporarily takes longer than expected to return a ranked set of quests. |
| System reaction | The application displays a loading state for a limited period and, if the personalized recommendation cannot be obtained quickly, shows a fallback set of locally cached or generally relevant Side-Quests. The user can still start an activity without waiting indefinitely. |
| Element | Description |
|---|---|
| Scenario name | User denies location permission |
| Quality attributes | Usability, privacy, resilience |
| App status and context | The user is requesting Side-Quest recommendations for the first time or has disabled location access in the device settings. |
| Changes in the context | The application cannot access GPS information required for nearby or location-sensitive recommendations. |
| System reaction | The application continues working without blocking the user. It requests optional manual location input or provides quests that do not depend on precise location. The system clearly explains that location-based recommendations may be less accurate while preserving the user's privacy choice. |
| Element | Description |
|---|---|
| Scenario name | Internet connection lost during an active Side-Quest |
| Quality attributes | Eventual connectivity, resilience |
| App status and context | The user has already accepted a Side-Quest and the application is displaying its instructions and tracking its current completion state. |
| Changes in the context | The user moves to an area with poor or unavailable internet connectivity while completing the Side-Quest. |
| System reaction | The application keeps the accepted quest, instructions, and locally generated progress available. Actions that require synchronization are stored locally and automatically synchronized with the backend when connectivity becomes available again. |
| Element | Description |
|---|---|
| Scenario name | Application moves to the background during a location-based Side-Quest |
| Quality attributes | Performance, resilience |
| App status and context | The user is completing a location-based Side-Quest and temporarily leaves the application to use another app. The current quest and its progress are active. |
| Changes in the context | The application remains in the background for several minutes and the mobile operating system may reclaim memory or suspend application resources. |
| System reaction | The application preserves the minimum necessary quest state so that, when the user returns, the active Side-Quest and its progress can be restored without restarting the activity or losing previously recorded information. |
| Element | Description |
|---|---|
| Scenario name | Device enters low battery mode during an active Side-Quest |
| Quality attributes | Efficiency, Usability, Performance |
| App status and context | The user is actively engaged in a location-based Side-Quest that relies on continuous GPS tracking and potentially the camera for verification. |
| Changes in the context | The user's device battery drops below a critical threshold (e.g., 20%) and the operating system triggers a low-power or battery-saver mode. |
| System reaction | The application detects the low battery state and automatically reduces the frequency of GPS polling, disables heavy UI animations, and defers non-essential background data synchronization. It prioritizes core functionality so the user can complete and verify the quest without draining the remaining battery. |
| Element | Description |
|---|---|
| Scenario name | Slow or dropped connection while uploading a picture for quest completion |
| Quality attributes | Resilience, Usability, Eventual connectivity |
| App status and context | The user finishes a Side-Quest and takes a photo to verify completion or share their experience with the community. |
| Changes in the context | The user's device captures a high-resolution image, but the network connection is extremely slow, drops entirely, or the user immediately closes the app after pressing "Submit". |
| System reaction | The application instantly marks the quest as "completed" on the UI to prevent blocking the user. The heavy image payload is compressed and queued for a background upload. If the connection fails, the app caches the image locally and silently retries the upload once a stable connection is re-established, ensuring the user experience remains frictionless. |
| Element | Description |
|---|---|
| Scenario name | Protection of personal and behavioral Data |
| Quality attributes | Security, Privacy |
| App status and context | The user has completed, skipped, or rated multiple Side-Quests, generating behavioral information used to improve recommendations |
| Changes in the context | An unauthorized component or user attempts to access the user's behavioral history or personal preferences |
| System reaction | The application restricts access to the user's behavioral data through authentication and authorization machanisms and prevents unauthorized users or components from retrieving private information |
| Element | Description |
|---|---|
| Scenario name | Recommendations adpat after significant changes in user behavior |
| Quality attributes | Adaptability, Personalization |
| App status and context | The user has an established recommendation profile based on previous Side-Quest interactions. |
| Changes in the context | the user's behavior changes significantly, such as repeatedly skipping a previouly preferred category or completing activities with a different difficulty level |
| System reaction | The system updates the user's recommendation profile and adjusts future Side-Quest suggestions to reflect the new behavioral pattern |
| Element | Description |
|---|---|
| Scenario name | An external service required for contextual filtering becomes unavailable |
| Quality attributes | Interoperability, availability, resilience |
| App status and context | The user requests recommendations and the Context-Aware Service is enriching candidate quests with map, distance and weather information obtained from external providers. |
| Changes in the context | One of the external providers returns an error, times out, or exceeds its request quota. |
| System reaction | The application degrades gracefully instead of failing: it discards only the unavailable contextual dimension, still returns recommendations using the remaining criteria, and indicates that distance or weather information is temporarily unavailable. Failed calls are retried with backoff and cached values are reused when they are recent enough. |
| Element | Description |
|---|---|
| Scenario name | Large number of simultaneous recommendation requests |
| Quality attributes | Scalability, performance |
| App status and context | The application is operating normally and the quest catalog has grown considerably as new sponsored and community quests are added. |
| Changes in the context | A large number of users request recommendations at the same time, for example at the end of the academic day or during a campus event. |
| System reaction | The system maintains an acceptable response time by prioritizing the ranking of a bounded candidate set instead of evaluating the entire catalog, and relies on caching for frequently requested contexts. If demand exceeds capacity, requests are queued and the user receives locally cached quests rather than an error. |
| Element | Description |
|---|---|
| Scenario name | Local quest state conflicts with the state stored in the backend |
| Quality attributes | Data consistency, resilience |
| App status and context | The user has an accepted Side-Quest with progress registered locally while offline, and the same profile also has state stored in the backend. |
| Changes in the context | Connectivity is restored, or the user signs in from a different device, and the locally stored quest state does not match the state registered in the backend. |
| System reaction | The system reconciles both states using the most recent completion events, preserves progress that only exists locally, and never silently discards a quest the user already completed. If a genuine conflict cannot be resolved automatically, the application keeps the state most favorable to the user and reports the inconsistency for later review. |
| Element | Description |
|---|---|
| Scenario name | A recommended Side-Quest is unsafe or inappropriate for the user's context |
| Quality attributes | Safety, usability, privacy |
| App status and context | The user is receiving recommendations that may include quests published by sponsors or by other members of the community. |
| Changes in the context | A quest turns out to be inappropriate, to involve a risky location, or to be recommended at a time of day or in a context where completing it would not be safe for the user. |
| System reaction | The system filters quests according to time of day, location and the user's declared social comfort level before recommending them, allows the user to report a quest, and removes reported content from that user's recommendation pool immediately while it is reviewed. Sponsored quests are subject to the same restrictions as any other content. |