Return to Home Page

Matrix Chat Client

I used Trixnity to build a Matrix chat client for my car.

Trixnity was perfect for my use-case. I wanted something that handled for me:

The main goal was to write a handful of screens that were fed minimally by some Kotlin Flows that populated the data. Trixnity fit the bill. The trick was to design a UI that could only be used by a rotary knob that clicks.

Screens

--- config: theme: default --- flowchart LR ChatAppHomeScreen["`_Screen_ Chat App Home`"] ChatRoomScreen["`_Screen_ Chat Room`"] PictureViewerScreen["`_Screen_ PictureViewer`"] RoomMembersListScreen["`_Screen_ Room Members List`"] ContactInfoScreen["`_Screen_ Contact Info`"] RoomSelectorScreen["`_Screen_ Room Selector`"] RoomInfoScreen["`_Screen_ Room Info`"] RoomUploadsScreen["`_Screen_ Room Uploads`"] subgraph Settings ChatSetupMenuRoot["`_Screen_ Chat Setup Menu Root`"] LoginScreen["`_Screen_ Login`"] LoginScreenLoading["`_State_ Loading`"] LoginScreenPromptCred["`_State_ Prompt Credenitals`"] LoginScreenFailed["`_State_ Failed`"] LoginScreenSuccess["`_State_ Success`"] LoginScreen <.- LoginScreenPromptCred LoginScreen <.- LoginScreenFailed LoginScreen <.- LoginScreenLoading LoginScreen <.- LoginScreenSuccess NotificationPreferences["`_Screen_ Notification Settings`"] LogoutAction["`_Action_ Logout`"] end ChatAppHomeScreen-- Not Logged In --> LoginScreen LoginScreen-- Check Stored Credentials and Login --> LoginScreenLoading LoginScreenLoading-- No Creds --> LoginScreenPromptCred LoginScreenLoading-- Ok --> LoginScreenSuccess LoginScreenLoading-- Failed --> LoginScreenFailed LoginScreenFailed-- Go Back --> ChatAppHomeScreen LoginScreenPromptCred --> LoginScreenLoading ChatAppHomeScreen <--> ChatSetupMenuRoot ChatSetupMenuRoot --> LoginScreen ChatSetupMenuRoot --> LogoutAction LoginScreenSuccess --> ChatAppHomeScreen ChatSetupMenuRoot <--> NotificationPreferences ChatAppHomeScreen <-- Open Preselected Room --> ChatRoomScreen ChatRoomScreen <--> RoomMembersListScreen ChatRoomScreen <--> RoomUploadsScreen RoomUploadsScreen <--> PictureViewerScreen ChatAppHomeScreen <--> RoomSelectorScreen ChatRoomScreen --> RoomInfoScreen RoomInfoScreen -- Go back --> ChatRoomScreen RoomSelectorScreen --> RoomInfoScreen RoomInfoScreen -- Go back --> RoomSelectorScreen RoomMembersListScreen <--> ContactInfoScreen

Screenshots

Matrix Home

Settings

Matrix Settings Home

Service Settings

Room List

Room List

Room Peek

Room Info

Chat Room View

Room Chat View

Room Menu

Message Writer

Write Menu

Keyboard Entry

Message Entered

Return to Top