Skip to content

Unintuitive UX with the "Connections" settings panel #165

@ethanjli

Description

@ethanjli

Bug description
Currently, ImSwitch's React-based GUI frontend can be run as a local client (i.e. served to your local web browser by an ImSwitch instance running on your local computer, connecting over a network connection to a remote ImSwitch API) or as a remote client over a network connection (i.e. served to your local web browser by a remote ImSwitch instance running on an RPi via imswitch-os, connecting to that same ImSwitch instance's API).

In the former case, the user must open the "Connections" settings panel to set the IP address and ports of the remote ImSwitch instance's API. In the latter case, the user also must do the same thing - which makes setup/onboarding more complicated than necessary.

This UX issue became clear in a meeting between @gokugiant and @beniroquai where Florian was talking about the confusing relationship between the "Connections" settings panel and the "UC2" settings page, and the need for some kind of first-boot wizard to initialize ImSwitch connection configurations.

Expected behavior
When the ImSwitch GUI is being served as a remote client from imswitch-os, the user should not need to enter the IP address and ports of the remote ImSwitch instance. Instead, the remote ImSwitch instance should serve the ImSwitch GUI in a "remote client" mode with whatever information the ImSwitch GUI needs to connect to the ImSwitch API, avoiding the need for the user to figure that out and enter that information themselves. This might be implementable as a flag (set via environment variable in a Docker Compose file and/or via ImSwitch config file and/or via any other methods) which toggles between "local client" and "remote client" modes, where the "Connection" settings panel is suppressed in "remote client" mode.

Additional context
For comparison, the Cockpit client, when it is run as a remote client (i.e. served from imswitch-os on the RPi), doesn't need you to tell it the IP address of the RPi; but you can instead run the Cockpit client as a local client, in which case it first displays a special page where you must enter the IP address of the remote computer for Cockpit to connect to, before it reaches the username/password login page:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions