Changes in vino (GNOME VNC Server) for 2.22


I’ve just put in vino configuration applet the ability to control settings before “hidden” in gconf:

preferences-general

preferences-advanced

This closes #361891, is listed in our roadmap, and will make a lot of users more happy.

Any comments about such user interface change?

25 thoughts on “Changes in vino (GNOME VNC Server) for 2.22”

  1. I think the change looks good and will be a nice upgrade. The only concern I have (and its been a long-standing bug) is the limitation on 8 character max passphrases. If that can be extended I’m 100% with this app/service.

  2. I would move “Notification Area” to “Advanced”. And perhaps turn it into a combo box.

    I don’t think people setting up a VNC server care about the notification area at all, unless they’re advanced users.

  3. I’d make the same comment as thebluesgnr on the Notification Area.

    And I have a concern at the label “Users can view your desktop using this command : vncviewer wendel-laptop:0” : this is misleading for users as it will obviously not work from any computer in Internet, and sometimes not work in local network.
    IMO, I think developping a bit this section would help, e.g.
    “[…] this command :
    from local network : vncviewer local_IP:0
    from Internet : see help”
    And the help section would be expanded to explain how to deal with port forwarding in a common home configuration (ADSL router + computer).

  4. A few comments:

    What does “local” mean? From the same machine? From the same network? From the same state (as opposed to “long-distance”)? 🙂 How about “Only allow connections from this machine ($hostname).”?

    The “Advanced Settings” heading seems redundant with the “Advanced” tab.

    How about moving the “Lock screen on disconnect” preference to the main page, and grouping the rest under a heading “network settings”?

  5. I don’t like the changes at all. Before, it just worked. Now, the user is confronted with a lot of options 🙁

    I agree with “I would move Notification Area to Advanced. And perhaps turn it into a combo box.”, this way at least the first page will stay the same.

  6. Jonh, good that you ask: You moved your options on a “Advanced” tab, and as a rule of thumb I’d say everytime you add an “Advanced” tab to your UI you didn’t find the proper metapher yet.

    I agree with showing the local connection, alternate port and lock screen on disconnect option. But:

    – I’d move “lock screen on disconnect” into the security group, as this is a security feature
    – and I’d move “local connection” and “alternate port” into a “Network Options” group

    Regarding “encryption”? Encryption usually is a good thing. So what’s the use-case for disabling it? Without a reasonable use case I’d remove that option from the end-user UI, as it is just visual clutter in that case.

    Same for the notification area icon: What are the use-cases for always showing it? What are the use-cases for never showing it? Maybe I am simple minded, but in my opinion the only reasonable setting is “show when someone is connected”: This setting provides highest security, as it’s easy to realize when someone connects: “Uh, the status area changed?” Always showing the icon blurries that effect. Never showing it is quite wrong I guess. IMHO you should never show a notification area symbol should for the purpose of qiving quick access to the settings of some service. If an user really wants quick access, that user should create a starter icon.

    Yes, in my comments about the notification icon I sound like an user interface nazi, but Havoc Penningtons biggest contribution to GNOME was his observation that you need the guts of making decisions, if you want to create a smooth and consistent user experience. Even if that means getting called an user interface nazi.

  7. About the paddings: in the gnome-control-center capplets, all tabs have a border width of 12 pixels. Between the sections inside the tab, there is usually 18 pixels of spacing. It would be great if these spacings would also be used for this dialog.

  8. I agree with most comments here. But I have my own pet-peeve with vino.

    The most important setting for me is the alternative port though. Not just because I need to change it, but because this way i actually know which port I have to forward on the router. I had to go hunt with google for that kind of info before. That is a _huge_ usuability mistake.

    So, keep that in mind when redesigning the vino interface. Make sure we can easily tell and change which port it uses. Nowadays everybody is behind some kind of router. Also does vino support uPnP, etc. to auto-configure the port on the more expensive routers?

    Also, it would be nice to the see the actual remote-ip here. But I don’t think that’s possible without some server side code. (a page on the ubuntu website that just replies with the remote ip addres or something)

    What would be even greater: create some url that the user can send/email whatever. This url will launch vncviewer when clicked. A sort of vnc://xxx.xxx.xxx.xxx

    Great for on IRC/Jabber/Email. I would even go so far as to have a big ’email this link’ button next to it (which would launch the default email client)

    And put that in place of the ‘vnviewer . ‘ command line. Terminal usage should be optional, remember?

    vnc://myip

    Also, I would love to be able to configure wether or not a remote user is allowed to sudo.

    But high priority for vino for me:
    – ordinary users should be able to enable it and email me a link
    – ordinary users with modern routers should have that router auto-forward the port (or use another port if the port is already taken)
    – ordinary users should be able to copy/paste email some link that allows another ordinary user to login to their desktop. They might even use it themselves to log in to their own desktop just by saving the link.

  9. I would dump the notification area settings and default to only showing it when someone is connected. (Seriously, what’s the point of the other alternatives?)

    As for the advanced settings, I would leave them in gconf. Or maybe merge some of it with the main tab.

    I’m not sure. “Only allow local connections” and “Require encryption” could be placed under security.

    But I think you should think more about why you feel exposing the port number in this prominent way is needed. (Not many Joe Averages know what it is.)

    Is “Lock screen on disconnect” needed at all? I mean, just lock the screen when you disconnect. Or have a short timeout on your screensaver.

  10. Looks nice, I don’t think it’s redundant at all. However, I agree that Notification Area part should be moved to Advanced and turned into combo box. Also part of command how to view remote desktop is somehow not right – first of all, it won’t work in Internet scale, second, not all LANs has way to retreive local host names. For example, it _might_ work in newest Ubuntu, as it generates ZeroConf host name for computer and it can be reached from Macs or Bonjour aware Windows, but other scenarios, it’s quite difficult. I don’t know how to fix it – yet – but probably it would be safe to remove current version and give some additional instructions window when user requests how to connect to his desktop.

    Also, what is implications to request encryption by default? Can it cause havoc or problems? Which viewers don’t support encryption?

  11. “But I think you should think more about why you feel exposing the port number in this prominent way is needed. (Not many Joe Averages know what it is.)”

    That’s funny. Most Joe Averages I know _need_ to know what it is. They don’t until I or somebody else explains it to them. But they _need_ to know, because without it, their torrents don’t work, vnc doesn’t work. Stuff they _need_ to do, will not _work_.

    We are not in the position to dumb it down. It’s not about changing the default port, it is about KNOWING the default port.

    At least here in Holland, most people have a broadband connection. With that they usually get a multi-pc (or even wireless) modem. The majority of them doesn’t know what to do with a terminal, but they _all_ know how to forward a port on their router. They _need_ to know. Otherwise stuff just DOESN’T WORK.

    Do they like it? No! Would it be better if they didn’t need to know? Yes. But this is current situation. Not telling/showing the port is just going to make things WORSE.

    Hell, even I had trouble finding the port. It wasn’t in the man-pages. The google results were no good either. I got lucky at http://www.whatsmyip.net because they do a generic port check and also tell which port is used for what.

    Why keep the port a mystery? It shouldn’t take 30 minutes to figure out which port to forward on the router.

    The fact is, currently. Ordinary users are 90% of not capable of even enabling VNC. Because they can’t setup their modem/router correctly. None of the ordinary users is capable of actually using VNC to log in to their own desktop, because they wouldn’t know how. (They need to execute some sort of command on a terminal, but it doesn’t work, because the command is wrong. It doesn’t contain their remote ip address)

    So, average people can’t use VNC.
    Even experienced people, not afraid of the terminal, need a lot of time to find the correct information to make it work.

    Information that could just be available, but it’s not. Find me a page that says “go figure out your remote ip, and then use the command ‘vncviewer remoteip'” .. there is no such page I could find.

    So, the thing is VINO lacks _information_, not _configuration_.

    What it needs to tell is:
    – “make sure your router forwards port 5900 to [local-ip]”
    – “go to http://www.whatsmyip.net to find out your [remote-ip]”
    – “then you can type vncviewer [remote-ip] in a terminal on most linux systems”
    – “for windows systems go to [some website for a windows client]”

    You all want to dumb it down for ordinary users.

    Please explain to me how ordinary users are ever capable of using VNC without somebody explaining all this to them?

    Otherwise, the middle-group of a experienced users should be the target here. The type of user that understand the above information. Then more people will be able to use VINO.

    Currently, no ordinary user is capable of setting up VINO and accessing it from somewhere else.

    So, this whole dumb-down discussion is moot. Find ways to make it work first, THEN dumb it down.

    The usuability issues are not having too much to configure; Its having too litle information that is too hard to find.

  12. Peteris Krisjanis said:

    “but probably it would be safe to remove current version and give some additional instructions window when user requests how to connect to his desktop.”

    Exactly!
    It lacks information, not configuration.

    Users need to:
    – forward the port on their router
    – figure out their remote ip

    To access it they need to:
    – enter a terminal
    – use some other tool on windows

    How can we make this simpler?
    – support universal port mapping
    – lookup their remote ip for them
    – create a vnc url they can copy/past/email/whatever
    – link to a good windows and mac tool

    Making it harder to find the port, suggesting they can use their pc-name, etc. all just makes it even _more_ confusing.

  13. (I won’t respond directly to the rest, blog comments are no good for having conversations.)

    “That’s funny. Most Joe Averages I know _need_ to know what it is. They don’t until I or somebody else explains it to them.”

    Not true at all. There are technical ways to solve this (easy desktop sharing without exposing port numbers to users). It’s just not as easy as throwing in a port number in a dialog. See e.g.:

    http://www.joelonsoftware.com/articles/AardvarkMidtermReport.html

    For one way to solve this. There are other ways. All of them more involved than just throwing in a port number selector in the dialog that most users won’t understand. (They might be forced to use it by having some techno savy person guide them, but they still won’t know what or why they are using it.)

  14. i agree on the question, “what does local mean?”.
    as someone else suggested, a whitelist of allowed computers would be very nice.
    otherwise for me the new options are definitely welcome! except maybe the icon permanently displayed which is maybe not needed.

  15. @Martin

    About Project Aardvark. That actually sounds like a good solution for at least one the most common of the use-cases. But we need some server-side stuff for that.

    “You have already lost 99% of the population.”

    Exactly. What about the other 1%? Are we going to loose half of them too because they know how to forward the port (they did before to make MSN/Torrents/Skype work), but can’t figure out which port?

    There are solutions for this as well. Most modern multi-pc-modems and routers support uPnP. So we should be able to cut this in half. Making it work for at least half the population.

    Also, 99% is a little over the top. 90% of the populution would be more correct. You forget the fact that most people will actually invest time and learn something if they really have to and they are taken by hand. There were days that same population was capable of using Word Perfect on DOS. At least providing some information (or linking to it) how to do this would help.

    More importantly, if what you are saying is true.
    Why are we designing the interface for the 99% of the population that can’t use it? Why even consider them?

    Shouldn’t the target be a little bit more advanced users? The group that can’t make it work now, but would if you give them a little bit more information. Aren’t those the people we should be targetting with usuability improvements?

    I know more people capable of forwarding ports than I know people with experience with installing linux. Like I said before, this sitation is quite common in broadband land.

    Even when they don’t know how, a windows guy can help forward the port. It might be a scary message, but not telling it is going to make things worse.

  16. OK, some notes:

    – About padding stuff (aka HIG), i’ve already fixed that;

    – About notification icon: The default behavior is just like we have currently, in 2.20: The icon is showed when there is someone connected. About the two other options:
    – Always: This means that the icon will be visible when the server is started, telling you that there is an active service (desktop sharing) in your computer.
    – Never: a father who wants to monitor his child asked me for such option (something like ‘silent mode’)

    – OK, i can move that option to ‘advanced’ tab;

    – About “local connections only”: There is a bug opened in bugzilla (488354) wishing we could select the eth interface or ip address to listen to. I guess we should do that for 2.24, unless somebody have the patch. In the meantime, we can let this option, which means ‘localhost’, or ‘this machine’ (aka ssh tunneling).

    – All those options come with a tooltip;

    – About the ‘require encryption’: There are some clients that don’t support encryption (vncviewer is one of them), so, that option comes disabled by default;

    – I liked the idea to create a handler to uri’s like vnc://a.b.c.d

    – Such features like that above can be implemented in vinagre, a new VNC client for GNOME: http://www.gnome.org/projects/vinagre

    – I know it’s hard to please every sort of people. That’s why i separated things in two tabs. Maybe an ordinary user shouldn’t even look at ‘advanced’ tab;

    – About the ip address, there also is a bug opened (167690).

    Thanks for your suggestions and comments.

  17. Apart from anything else, “General” and “Advanced” are poor names for tabs in any dialog. If all the controls are *really* needed (and they seem to be getting away from vino’s original goal as a *simple* vnc server), it’s much better to group the controls by functionality, and have one tab per group.

  18. Love the new stuff. Turning off encryption is important as only access locally over network and don’t need encryption slowing down my kids old machines. Also I like the ability to easily hide the notification icon at all times, so my kids never know when I am looking over their shoulder.

Comments are closed.