UX improvements - #1864
Conversation
… state machine Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/14e8b66f-2b42-4b72-9326-f8ca92f34202 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…space, improve comment Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/14e8b66f-2b42-4b72-9326-f8ca92f34202 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…ntials compat comment Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/14e8b66f-2b42-4b72-9326-f8ca92f34202 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…-friendly messages Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/ecfa02e6-fcb2-4860-81da-7ee04710ca0b Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…message, aria-label Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/ecfa02e6-fcb2-4860-81da-7ee04710ca0b Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…gth check Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/ecfa02e6-fcb2-4860-81da-7ee04710ca0b Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…rror Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/0ee3fc09-4c14-487b-8a73-0d615eea9502 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…t before shutdown, scrollable list, refresh icon-button Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/40b01921-e8bb-4c58-a4e7-0b87b6452003 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…ing-flow feat: AP+STA provisioning flow with non-blocking connection state machine
…ustom SVG slots, close button on success, CTA button on failure" Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/c4cd583a-623e-4a50-a6fc-78fd3278b60a Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…credentials exist in startConfigPortal Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/c4cd583a-623e-4a50-a6fc-78fd3278b60a Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…re-fill on failure, NeoPixel+SVG example Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/161f2d34-fa3e-4852-9515-f1403a075866 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/161f2d34-fa3e-4852-9515-f1403a075866 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…(ESP32+ESP8266) Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/973ba48e-bc42-4f3b-94df-b260f00a807c Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…save-password prompt Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/145f7cd2-fd3c-4269-9c20-94059a8daf33 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…rd reveal toggle Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/145f7cd2-fd3c-4269-9c20-94059a8daf33 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…nect when provisioningState==CONNECTED Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/766ee956-303b-4469-acc3-630d49db4384 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/766ee956-303b-4469-acc3-630d49db4384 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…mp fix, styled exit screen Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/1108e909-22b3-4494-9488-b0a7b4b1a9b5 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/c9538a0a-2913-4762-bb42-713232d9c188 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/b5b9f0ec-a49c-48e7-864d-bb52f1cd9b05 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/403705aa-2786-4769-a557-f193890f713c Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
…zone Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/5b9dfd4b-2fc9-42a6-9a70-608710051d4e Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
Agent-Logs-Url: https://github.com/lemio/WiFiManager/sessions/b23b97d2-6313-434e-8e1f-735297b66880 Co-authored-by: lemio <877056+lemio@users.noreply.github.com>
Added a link to the GitHub repository for assets.
UX improvements: dark mode, WiFi list styling, LED callback API, custom SVG slots
|
Yeah its time to make something new for esp32 only, plenty of memory and overhead and multitheaded stability. To be honest I think serial wifi and wifi_prov_mgr are much more user friendly |
|
Hey, Thanks for your comment; would be great to do some user-testing comparing the different methods. Not sure what serial wifi refers to? I built this webserial flasher that can adjust wifi credentials in the binary during web flashing, this is fine for developer-users (tech savvy etc.) but for normal users this has some problems:
With wifi_prov_mgr as it is from the esp32 example I do see some problems:
Things that could be fixed:
It seems like the SoftAP method with captive portal is a relatively robuust option that will most likely work in 10 years from now; and on devices from 10 years ago (that can't handle installing apps, don't have BLE...); while all these 'custom' apps and new flows are not as established; they could be added; but as a baseline to cover 5 years support after last item sold the method of this library is actually good. |
Hey there;
Not sure if this will work (since this is quite a big merge). But I was playing around with improving the user experience for the configuration of Wifi. Not saying that this is the way, but suggesting some stuff that might be relevant to think about. From experience user testing smart and connected products; users generally don't read, don't follow instructions and systems don't behave according to the happy flow; making the setup better can greatly benefit the first interaction with a product, Some general concepts that I tried to adhere (stolen from Nielsen Norman)
wifimanager-ux.mp4
I'm not sure if it is a good idea to push this all as is; since it is mostly vibe coded and not well considered if it comes to performance and stability.
The design should always keep users informed about what is going on, through appropriate feedback within a reasonable amount of time. -> For this I kept the AP open even when successfully connecting to Wifi to show the user that it was succesfull, included the onboard LED as an extra indicator
Users often perform actions by mistake. They need a clearly marked "emergency exit" to leave the unwanted action without having to go through an extended process. -> This is currently the problem with WifiManager, the user is just left in the blue if their actions are successful.
Error messages should be expressed in plain language (no error codes), precisely indicate the problem, and constructively suggest a solution. -> When the user fills in a wrong password; or the system can not find the SSID we can give the user precise instructions and have clear call to action on what to solve (change the password; bring the device closer to the router)
It’s best if the system doesn’t need any additional explanation. -> Especially when the user is in the captive portal, the phone can not be used to look something up. From here on the wifimanager should be self documenting. I added optional (animated) SVGs so as a maker we can show the product feedback that is expected in each stage.
Issues
Main Changes