Sunday, November 22, 2009

The Network and Sharing Center: A new approach to networking hell

The networking stack in Windows Vista underwent a near total rewrite (for the better I'd say because we wouldn't be enjoying all the cool advanced networking features of Windows 7 without the foundation being laid). However, one of the most disgusting user interface overhauls which accompanied it is the Network and Sharing Center. You see, Microsoft wanted the whole focus of networking to be on sharing and they really wanted to promote that in a big way so users would set up home networks. To achieve this goal, Microsoft made radical changes to the networking UI to the extent that the very locations where we set up network settings and make configuration changes before we enable sharing got buried deep inside several clicks and UAC prompts to top them, venting severe user frustation and criticism.

Instead of letting users configure how to group connection icons, all types of connection icons are now grouped under a single icon in the notification area. Wired (ethernet), wireless, dial up, PPPoE, incoming and outgoing VPN connections, connections through UPnP internet gateways - everything is represented by that single Network icon without the choice being available to the user as to what connection icons he wishes to show so he can check their status,  and which ones he does not wish to be displayed. Ethernet connections especially, are poorly represented or should I say, not given any direct way to interact with at all!

Windows XP gives 2 click access to an ethernet connection's settings (Properties) should any IP addresses be required to be changed, as well as 1 click access to an ethernet connection's status, firewall settings, the Repair  action and disabling/enabling its adapter. The Status dialog is important as it shows several important details such as duration of the connection, bytes/packets sent and received, IP addresses of the client, the gateway, DHCP and DNS servers as well as the MAC address. Neither Windows Vista nor Windows 7 offer quick access to this information although Windows 7 improves slightly upon Windows Vista by treating wireless, dial-up, PPPoE and VPN connections in a manner similar to Windows XP. It still takes 3 clicks to access their properties, status or connect/disconnect them. Windows XP also introduced a nifty single click Repair  action which merely automates a series of steps that reset the network connection (which can also be performed using the command line -> ipconfig /renew, /release and disabling/enabling the adapter). Most of the times, this was handy but unfortunately Windows Vista replaces it with new Network Diagnostics and Troubleshooting capabilities which although far more sophisticated, are not necessary most of the time.

Windows XP also showed an icon in the notification area and in Network Connections for connections set up through UPnP Internet Gateway Devices (IGDs), as long as the IGD Discovery and Control client was installed. Double clicking the icon in Network Connections initiated a connection to the Internet via the gateway device (such as a home router or an ICS enabled computer) eliminating the need to manually connect (should be need arise) through the router's HTML-based administration interface. The notification area icon showed status information similar to an Ethernet connection icon but additionally offered a Settings button to set up or view NAT port mappings established by the gateway device using UPnP or manually. This is true eXPerience of UPnP NAT traversal. Thankfully, the NAT port mappings can still be set up, although, from the gateway device's Properties -> Settings in Network Explorer, a dialog hard to discover.

The Network and Sharing Center  introduced in Windows Vista tries to confuse the networking-shy average user by mixing up similar sounding links:
1. Connect to a network - which brings up a separate window dialog box usually with scroll bars which omits Ethernet connections and requires clicking a non-sensical Close button every time. Windows 7 improves upon this UI by replacing the weird dialog box with a Popup pane directly above the notification area Network icon.
2. Manage wireless connections - which brings up the wireless connections box window but most annoyingly in a new Explorer window. Windows 7 opens this in the same window.
3. Set up a connection - which brings up the usual New connection wizard, with some stages of the wizard requiring clicking on an action and then clicking Next while other parts featuring command links.
4. Manage network connections - which opens the familiar Network Connections folder again in a new window. Windows 7 opens this in the same window.

The hyperlink style buttons links to "View status" and "Disconnect" have such a narrow area to click that positioning the pointer accurately over these and clicking quickly becomes immensely frustrating. Below them lie several collapsible pains panes to configure Sharing, which again can only be expanded  by clicking on a tiny round button. (Windows 7 improves upon this by narrowing the number of collapsible panes to just two - by network type: Public or Private and allowing them to be expanded by clicking anywhere horizontally on their header line). Windows 7 however, annoyingly again changes the nomenclature of the above 4 links. And really, how many features all prefixed "Network ..." do we need? Network Connections, Network and Sharing Center, Network Explorer (weirdly called so in the documentation but called simply Network in the UI) and their constant changing nomenclatures in every release?

The Network Map feature is genuinely useful and the Windows Vista Network and Sharing Center does have a useful area at the very bottom which shows all the files and folders users at sharing at any instant. Sadly, this feature is relegated back to Fsmgmt.msc in Windows 7. The Network Explorer (formerly Network Neighborhood and then My Network Places) displays a unified list of all computers on the network, no longer housed under an organized tree view of workgroups or domains. This also slows down the process of populating computers which we may need to access right away.

The Start menu appears to be deliberately crippled to not allow expanding "Connect To" as a menu (like Windows XP) but instead bringing it up as the weird window dialog box which requires clicking Cancel or Close (in Windows Vista); or making the user move the pointer to the other end of the screen to actually connect (in Windows 7). The once familiar Network Connections folder which contains adapter settings and dial-up/remote access connections most annoyingly lacks the wizard to set up a new connection (it has as mentioned above been moved to the Network and Sharing Center). The Set Network Location window which is an intuitive feature for the Windows Firewall to set different security policies depending on the location: Public or Private, fails to mention to the average user that a gateway must be manually or automatically assigned in the first place for the connection to be "Identified".

Windows 7 comes with its own set of evils such as removing the useful network activity animation in the notification area. It also attempts to revolutionize sharing with the introduction of HomeGroup - now that is a different story that HomeGroup is broken by design and has a huge security/privacy flaw because it shares the entire user folder using SMB sharing on downlevel operating systems and doesn't get its permissions right. Plus without real downlevel operating system support in spite of countless users requests, HomeGroup is not exactly getting the love it deserved.

As much as we would like networks to be always operable and stable, they aren't. Networks connections are fragile which is why the administrator needs quick access to advanced settings. The above UI redesigns make setting up and repeatedly reconfiguring networks so annoying that users and administrators alike are left cursing the UI for slowing down their workflow.

No comments: