Made the IDAA ideas more staff friendly.
The IDAA Posts now show the person's name even if anonymous.
This commit is contained in:
58
documentation/PROPOSAL__IDAA_UI_UX_Roadmap_2026.md
Normal file
58
documentation/PROPOSAL__IDAA_UI_UX_Roadmap_2026.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# IDAA Recovery Meetings: UI/UX Improvement Roadmap
|
||||
|
||||
This document outlines proposed enhancements for the IDAA Recovery Meeting module. The goal is to make it easier for members to find and attend meetings, especially on mobile devices, while providing IDAA staff with better tools to manage meeting data quality.
|
||||
|
||||
## 🏆 The "Big Wins" (Highest Member Impact)
|
||||
|
||||
### 1. Automatic Timezone Conversion
|
||||
* **The Problem:** Meetings currently show their "native" time (e.g., 7:00 PM Central). Members must manually calculate the time for their own location.
|
||||
* **The Fix:** The app will automatically detect the member's local timezone and show a converted time side-by-side (e.g., *"7:00 PM Central — 8:00 PM your time"*).
|
||||
|
||||
### 2. "Live Now" & "Today’s Meetings"
|
||||
* **The Fix:**
|
||||
* **Live Now:** A high-visibility green "LIVE" badge will pulse next to meetings currently in progress.
|
||||
* **Today’s Section:** A dedicated section at the very top of the list will show only meetings happening today, sorted by time, so members don't have to scroll through the full 140+ meeting list.
|
||||
|
||||
### 3. Clearer Meeting Schedules
|
||||
* **The Problem:** Days of the week are currently listed as a flat string (Sunday Monday Wednesday).
|
||||
* **The Fix:** Convert schedules into natural language one-liners: *"Mondays, Wednesdays, and Fridays at 7:00 PM."* This is much faster for the human eye to scan.
|
||||
|
||||
### 4. Favorites ("My Meetings")
|
||||
* **The Fix:** Members can "Star" their regular meetings. These favorites will be pinned to the top of their list for one-tap access every week.
|
||||
|
||||
### 5. "Add to Calendar"
|
||||
* **The Fix:** A button to automatically add a recurring meeting to a member’s Google, Apple, or Outlook calendar, including the Zoom/Jitsi link in the calendar event description.
|
||||
|
||||
---
|
||||
|
||||
## 🛡️ Staff Tools & Data Quality
|
||||
|
||||
### 6. "Confirmed Only" Default View
|
||||
* **The Strategy:** To encourage meeting chairs to keep their information current, we propose defaulting the list to show **only** meetings confirmed by the Central Office.
|
||||
* **Member Benefit:** Higher confidence that the meeting they are about to join is active and the link is correct.
|
||||
* **Staff Benefit:** Creates a natural incentive for chairs to contact IDAA to get "Verified," as unverified meetings would require an extra click to see.
|
||||
|
||||
### 7. Mobile-Friendly "Not Confirmed" Explanations
|
||||
* **The Problem:** On mobile, the warning badge for unconfirmed meetings doesn't explain *why* it's there or *how* to fix it.
|
||||
* **The Fix:** Tapping the badge will show a simple popup: *"This meeting hasn't been verified recently. If you are the chair, please email info@idaa.org to confirm."*
|
||||
|
||||
---
|
||||
|
||||
## 📱 Ease-of-Use & Mobile Polishing
|
||||
|
||||
### 8. Prominent "Join" Buttons & Easy Sharing
|
||||
* **The Fix:** For virtual meetings, we will move the "Join Zoom" button to a prominent, full-width position at the top of the card. We will also add a "Share" button so members can easily text a meeting link to a sponsee.
|
||||
|
||||
### 9. Simplified "Quick-Filter" Chips
|
||||
* **The Fix:** Instead of small checkboxes, we will add large "Chips" (buttons) for common filters: `[🖥 Virtual]` `[🏠 In-Person]` `[🩺 IDAA]` `[Caduceus]`. These are much easier to tap on a phone screen.
|
||||
|
||||
### 10. Intelligent "No Results" Guidance
|
||||
* **The Problem:** If a member filters too narrowly (e.g., "Caduceus meetings in Hawaii on Tuesdays"), they just see a blank screen.
|
||||
* **The Fix:** A helpful prompt will appear: *"No meetings found for these filters. [Clear all filters →]"* to prevent members from thinking the app is broken.
|
||||
|
||||
---
|
||||
|
||||
### Next Steps
|
||||
1. **Feedback:** Staff identifies which 3–4 items are the highest priority for the next update.
|
||||
2. **Prototype:** We implement the high-priority items in the testing environment for staff review.
|
||||
3. **Deployment:** Changes are pushed live to the IDAA website.
|
||||
@@ -114,7 +114,20 @@ $effect(() => {
|
||||
<section
|
||||
class="ae_section ae_meta post__meta mt-4 flex flex-row items-center justify-between gap-2 text-xs text-gray-500">
|
||||
<div class="ae_group flex flex-col gap-1">
|
||||
{#if $lq__post_obj?.anonymous}
|
||||
{#if $ae_loc.trusted_access && $lq__post_obj?.anonymous}
|
||||
<div class="post__posted_by">
|
||||
Posted by: <span class="fas fa-user-secret"></span>
|
||||
<span class="post__full_name">
|
||||
{$lq__post_obj?.full_name}
|
||||
*Anonymous*
|
||||
</span>
|
||||
{#if $ae_loc.trusted_access && $lq__post_obj?.email}
|
||||
<a
|
||||
href="mailto:{$lq__post_obj?.email}?subject=IDAA BB Post"
|
||||
>{$lq__post_obj?.email}</a>
|
||||
{/if}
|
||||
</div>
|
||||
{:else if $lq__post_obj?.anonymous}
|
||||
<div class="post__posted_by">
|
||||
Posted by: <span class="fas fa-user-secret"></span>
|
||||
<span class="post__full_name">Anonymous</span>
|
||||
@@ -251,7 +264,20 @@ $effect(() => {
|
||||
class="post_comment__posted_by comment_by_container">
|
||||
<span class="comment_by_lable"
|
||||
>Comment by:</span>
|
||||
{#if post_comment_obj.anonymous}
|
||||
{#if $ae_loc.trusted_access && post_comment_obj.anonymous}
|
||||
<span class="fas fa-user-secret"></span>
|
||||
<span
|
||||
class="comment_by_full_name anonymous"
|
||||
>
|
||||
{post_comment_obj.full_name}
|
||||
*Anonymous*
|
||||
</span>
|
||||
{#if $ae_loc.trusted_access && post_comment_obj?.email}
|
||||
<a
|
||||
href="mailto:{post_comment_obj?.email}?subject=IDAA BB Post Comment"
|
||||
>{post_comment_obj?.email}</a>
|
||||
{/if}
|
||||
{:else if post_comment_obj.anonymous}
|
||||
<span class="fas fa-user-secret"></span>
|
||||
<span
|
||||
class="comment_by_full_name anonymous"
|
||||
|
||||
@@ -160,7 +160,22 @@ onMount(() => {
|
||||
|
||||
<div
|
||||
class="ae_footer ae_meta post__meta m-1 flex flex-row items-center justify-center gap-2 text-sm text-gray-500/80">
|
||||
{#if idaa_post_obj.anonymous}
|
||||
{#if $ae_loc.trusted_access && idaa_post_obj.anonymous}
|
||||
<div class="post__posted_by">
|
||||
<span class="text-xs">Posted by:</span>
|
||||
<span class="fas fa-user-secret"></span>
|
||||
<span class="post__full_name">
|
||||
{idaa_post_obj.full_name}
|
||||
*Anonymous*
|
||||
</span>
|
||||
{#if idaa_post_obj.email}
|
||||
(<a
|
||||
href="mailto:{idaa_post_obj.email}?subject=IDAA BB Post"
|
||||
>{idaa_post_obj.email}</a
|
||||
>)
|
||||
{/if}
|
||||
</div>
|
||||
{:else if idaa_post_obj.anonymous}
|
||||
<div class="post__posted_by">
|
||||
<span class="text-xs">Posted by:</span>
|
||||
<span class="fas fa-user-secret"></span>
|
||||
|
||||
Reference in New Issue
Block a user