-
-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inline "Auto Connect" menu item #38
base: master
Are you sure you want to change the base?
Conversation
Removes the dedicated "Always auto connect" menu item and replaces it with "Always Connect Example". This is more consistent with the menu items "Connect Example" and it also saves space.
If you just want to reduce the number of lines, I could also imagine simply not showing the domain name information at all. |
Interesting! I'm not convinced that the menu is a good model. After all, we're trying to improve it :) For example, I don't know what And why duplicate the names of all services? My guess would be that it grew like that and nobody dared to change it later.
Well, I'm not sure this is intended behavior or a bug, but the Connect/Disconnect buttons in
I have around 7 IKEv2 services and 7 Wireguard configurations. That results in a dozen services which VPNStatus displays, which causes the entire screen height to be taken up by the menu and I have to scroll down to see the second half. The way to solve this is either through submenus (one per service, but then you'd have to click multiple times to achieve something) or by condensing the menu to the essentials (no duplication). From your blog post introducing
Those two in combination probably call for a different interaction design than the original menu (because the list is longer and now you have two different ways to connect: automatically and manually).
I think I would be fine with that. But then I see no reason to have 2 lines per service in the lower auto-connect section but only one line per service in the upper section – unless you want to mimic the "visuals" of the native VPN menu, which maybe doesn't makes sense from an interaction point of view (given the features you add). With my pull request I tried to solve my problem as much as possible while changing as little code as possible. But maybe this is a deeper issue :) Thank you for your time. |
Thank a lot for your feedback. It seems we have different use cases: I primarily use the Connect menu items and occasionally the auto-connect feature, and I currently only have 2 VPNs. In your case, the current menu structure is indeed more cumbersome. I agree that we could likely find a solution. Perhaps the best approach would be to add a preference in the settings to switch between the original behavior and an alternative menu structure. That would allow us to have a completely different structure that try to solve your use cases in the best possible way without affecting other users. |
Here is how I'm thinking. Manually connecting and disconnecting a service, is the same amount of "interaction work" as checking and unchecking an "always connect" checkbox (in other words, one click per service toggles its state). The only semantic difference between the two is, when you turn off your computer:
So, there could be a single preference setting "Always keep connected" that accounts for that behavioral difference and it would be enough with one menu item per service:
When "Always keep connected" is set, it keeps the connection alive. If not, not. However, having read your blog-post again, I really think the core feature of your app is auto-connection "at your fingertips". Because if someone just wants to manually connect or disconnect a service, the native menu will work fine for that. Right? Or what is the unique selling point between the native menu and yours, if not auto-connection? Let me brainstorm: Why not only have auto-connection mode? Most of the app surface becomes irrelevant when using manual mode (the pause buttons, the connect/disconnect buttons, the SSID feature). Except for the icon and the compactness of the menu items, I see no difference. But maybe I just don't see it 😅 (I'm generally reluctant to adding preferences and increasing the complexity of the app. I've gone down rabbit holes before, where I thought it should be simple, but it added much complexity. With your app, I believe it's a good use case to do only one thing and do that well, that is, "just let me choose which VPN to be connected and which not" as Apple doesn't give that to us.) |
Hi!
In order to make the menu a little bit more concise, I thought I'd turn these three lines per service:
Into just two per service:
This is also more consistent with the menu items above that have the format "Connect New York".
(I also think the domain name information could be improved, but I'm not sure yet how. It's only shown for the "Always Connect" menu items below but not for the "Connect" menu items above. Maybe it could be removed altogether or always shown, but that would be for another pull request.)
As for the capitalization of words, I tried to interpret the Apple Guidelines to the best of my abilities and by comparing it to other apps.
As always, thank you for your time! I tried to get the tab indentation right this time :)