Skip to content

Social UX: establish a stable controller grammar for messaging and Together #130

Description

@EriArk

Owner compact-layout correction, 8 October 2026: preserve the colourful warm TrainerOS palette and most space for messages. Use compact touch Send/attachment/voice/call icons, one persistent composer and ellipsis by person/group/community names for contextual/profile/game actions. Controller input remains parallel: X compose, Y compact Together/activity access, Select context. Together is shared party state/access, not a mandatory large permanent panel or mega-menu. Reuse real Fluxer profiles/relationships/permissions. Messages combines DMs and groups; other faces are Communities and Discover. See installed compact revision; future-route, human and TV acceptance remains open.

Parent: #127

Goal

Make controller actions predictable across Social.

Current context-sensitive behavior overloads the same buttons: Y may Send, Latest, Ask to join, Play together or toggle a community filter; A may open, edit, compose or act on a message depending on hidden reading state.

Target grammar

Input Default Social meaning
A Open / select / confirm
B / Left Back one local level
X Write / compose
Y Together
Select Context / conversation options
L2/R2 Social faces

Exact conflict resolution can follow existing device controls, but the common actions above should become muscle memory.

Sending uses the persistent composer's compact Send button and the keyboard/controller's explicit Send action. Do not require an extra Apply step or make Y Send in the normal conversation surface.

Scrolling old history may keep a dedicated Latest route, but do not silently replace the core Together action based on whether the user happened to scroll upward.

Reading messages

Reduce the need for a hidden reading mode. The screen should make it obvious whether focus is in the conversation list, message log, Together area or composer/context.

Message-specific edit/delete/media actions can remain contextual after selecting a message.

Acceptance

  • The footer does not regularly redefine A/X/Y between unrelated meanings in the same screen.
  • X consistently begins writing in a conversation.
  • Y consistently opens/acts on Together where available.
  • A remains selection/confirmation rather than unexpectedly opening the composer.
  • Old-history navigation and message editing remain fully controller accessible.
  • Flip/Odin walkthrough demonstrates the grammar without a tutorial.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions