Windows 10 Design: Getting the balance right
blogs.windows.com
blogs.windows.com
And there's the punch to the gut. Just like with Windows 8, if you want to use Windows 10 on the desktop your experience is going to be degraded by sacrifices made for mobile. I was really hoping that Microsoft would learn their lesson, since DirectX 12 is going to be exclusive to Windows 10 and I'm going to have to upgrade.
They're killing Windows on the desktop (where they have 91% market share) for the sake of Windows on mobile/tablet (where they have 2% market share). Again and again I think how much more attractive Microsoft would be if they decoupled their titanically-successful cloud/enterprise world from their depressing, clueless consumer arm. Microsoft shareholders shouldn't be paying for Nokia, the red ring of death, or the Windows Store.
disclaimer: I work on Windows 10
disclaimer: I use Windows 8 at work.
Or you can view it as mobile being enhanced by commonality of OS with one found on the desktop. If the same UI works in both environments you can see it as harmful influence of mobile on the desktop or you can see it as Microsoft not forcing you to buy and carry around two devices where one would suffice.
Disclaimer - I love my W8 transformer.
You could, if the mobile didn't have the minority share of the install base. Why would we be okay to enhance the minority at the expense of the majority?
> If the same UI works in both environments...
And that's precisely the thing. it doesn't work in both environments. Windows8 has already showed us what happens when you slap the touchy feely stuff on the desktop and let the user figure it out.
My point is that this is just a matter of perspective. Windows UX was never a paragon of design clarity so adding sparsity to accommodate for touch is nothing new in the world of Windows which has seen other transgressions far worse. Windows is still influenced by choices made in DOS age, in some places it still drags graphics from 9x age, the choice of ribbons, menus and sidebars seems random and seemingly non-systematic. If elements are farther apart then this is nothing new for Windows, what is new is that they are going against the view established by Apple which dictates that desktop and mobile OSes should be different for some undeclared a priori reason.
Apple likely did it because they didn't want to obliterate their Mac line with its higher margins and Google concurred because it promoted their emergent Android instead of giving credibility to the established hegemon from Microsoft.
> if the mobile didn't have the minority share of the install base.
I'm of the opinion that choices should be made based on their intrinsic value, not something as arbitrary as the current market share. You can reuse exact same SoC to do both environments so why arbitrarily force one into media-consumption role with choices made in OS.
> it doesn't work in both environments.
This smells of echo-chamber of Vista days. People seem to have bought to the tick-tock theory, not realizing that it is likely something pundits with blogs created to sell them ads.
Windows 8 worked very well to me - it never gave me as much gief as did my old iPad with its arbitrary restrictions. Use Dropbox or iTunes for file transfer - are you fracking kidding me?? I can install everything on Windows. I can run Eclipse. I can hook external monitor and it works. All for the price of learning a few new metaphors which would come to Windows regardless because UI on Windows has always been changing.
If anything, I think the pendulum swung back too much the other direction. There are a lot of UI decisions they made that make the experience with a tablet device painful. For example, the decision to get rid of the Charms Bar (in Tablet Mode) was a horrible one. A lot "Metro" apps don't really run full-screen anymore. Edge Browser isn't nearly as nice of an experience as full screen IE was (with the swipe gestures for page forward/back navigation).
On the desktop though, it has been quite nice to use...
But, then they did. The Universal App template project provides for making separate UI layers for your applications. If your applications don't make use of screen space, blame developers. The OS and tooling support optimized experiences. There are fewer "opinions" than with 8.
Decent Continuum experiences seem intended to make developers stretch, not users.
They just need to get the UX right, which they got way, way wrong with Windows 8. Luckily they have so much inertia in the desktop market that at this point it didn't cost them too much.
They're a "mobile first, cloud first" company, creating a "tablet that can replace your laptop".
...and we ended in the smallest possible variation from an unimaginative merging of the classic start menu and the Metro style blocks...
Or there is no Outlook global search or no message threading.
That's not new or challenging stuff, Microsoft. WTF?
Can you think of anything else basic that is annoying as heck about Windows?
That it took 10 versions to finally get a resizeable command line terminal that you can copy and paste text within.
I think we're paying for a mistake made upon the alter of backwards compatibility back when asking someone to use virtualization made you sound like a nut (and back before Microsoft had Hyper-V to offer as an alternative to customers who couldn't or wouldn't budge).
There's a book called The Old New Thing (I think I heard about it here on HN, haven't had a chance to get it yet) that discusses a lot of quirks that Windows has and how they came about. Usually there was a purposeful decision behind it, like you suggest with backwards compatibility. It'd be interesting to see if this particular case is addressed in the book.
Raymond is/was a compatibility engineer at Microsoft. He was responsible for "shimming" a bunch of hacks into Windows to ensure large applications which relied on undocumented API calls wouldn't break when they overhauled libraries in a new version of Windows.
I can no longer remember, but I think it was already there back in the 16 bit days, or at very least Windows 95.
That said, I don't receive more than thirty or so emails a day so perhaps that's the effective audience for the app.
And if you have one email selected, and right-click on a different email, it selects both emails. That just seems broken.
Copying and pasting text causes weird characters to be carried around (e.g. emdash), and I haven't found a reliable way to sanitise it.
Does notepad handle \n separated lines correctly yet?
Something about excel breaks the behaviour of the alt+tab stack. (if you have multiple documents open)
Also, it's annoying the way that - by default - excel wants to open everything in the same parent window. Why why why why why would you want it to behave like this?!
Apps that minimise to the small-icon part of the start bar (next to time) don't go to the back of the alt+tab stack.
A bunch of NTFS features are not exposed to the user interface.
Not quite in the spirit of what you're asking, but I think Windows file locking is a bad design. You can't copy that excel file (in pscp), because you have it open in excel.
It'd be useful to be able to mute an application from the OS interface, and to see an indicator for audio activity ion something like the task manager.
No strong answer to sshd.
No TCP-check tool in the standard install. Why on earth did they get rid of telnet in the standard build? If anything we needed a better TCP-check mechanism - they got rid of the only trustworthy one that was in.
Similarly with shell scripting - they actually neutered a bunch of features that were in NT in subsequent versions. Previously you could (just) ship a single bat file that would act as a self-installer for binary content. I imagine they disabled this to discourage malware. But - how is a bat particularly different than an exe?
I think it's a shame Windows doesn't ship with devtools out of the box, also. If it came with devtools, would be one less hurdle to getting newbies into programming. Offer good tools at every level - an assembler, a C compiler, c#-level tools, javascript debugger, visual basic. Microsoft's grew from a successful devtool company.
They should bundle a python API to windows and a recent version of python also. Make it easy to create and ship python on Windows. A community would just grow around this, with no further effort from them.
Would be good if you could choose a filesystem that had strong performance with git. Either make git+NTFS fast, or else offer a well-support FS that git does want to work on.
Weak scheduler, init mechanisms. (from user perspective)
There's no nice IPC mechanism available for casual development. Cmd kind of has pipes but they're horrible.
This is kind of evil, but if I was Microsoft I'd be tempted to make Access more accessible (i.e. ship with base office). As soon as users hit a certain level of scale they'll find themselves needing SQL Server. Access has huge lock-in to the Microsoft world. Much like the way a manager will create a microsoft word or excel document, and then suddenly you find yourself stuck with sharepoint everywhere - ugh.
All non-POSIX OSes with proper file locking use the same approach as Windows does.
You can install telnet via the add features option from the control panel. Who wants to have such insecure program available anyway?
Commercial UNIX systems were know to charge at least $2000 for their SDKs, something that made many join the effort to improve GCC back in the day.
Windows NT family has had multi-threading since the day one, even at the kernel level. Which took ages for UNIX systems to catch up.
The only UNIX that matches Windows IO completion ports is Solaris.
The init is so bad that part of its design has been copied by UNIX systems, instead of using spaghetti init scripts.
There's no security problem with the telnet client, unless you're using it to log into remote hosts without encryption. But OP, and presumably many other people (like me), use telnet as a simple TCP client for troubleshooting. On Linux, one can use netcat (though I never remember to type nc, and always try telnet first), but of course Windows doesn't come with netcat.
Telnet-for-Windows was a terrible interface for this purpose (if it succeeds, you get left at a meaningless command prompt) but it was possible to talk people through that, and that was enough. (You can't trust the proxy configuration of their web browsers.)
And even the common ones lacked lots of useful options from the GNU land.
All comparisons of GNU/Linux distributions with Windows, have the fallacy of comparing a distributions with an OS targeted originally for consumers.
Normal users just don't go telnet into their local networks.
Server editions usually have the proper services in place.
It does. Since Vista the framework .net is bundled with Windows and it contains a C# compiler (csc.exe in one or more subfolders of %WINDIR%\Microsoft.NET\Framework). That's how I started C#: notepad and compiling in command line. But I agree it is not at all user friendly and I'm pretty sure it isn't here to be used by final customer anyway.
That being said, bundling WebMatrix or put a download link in the Start Menu could be a nice idea for creating vocations.
The built-in viewer that shipped with 8 is no-frills (like Chrome's), but works well enough. If you have touch/pointer input, you can annotate and sign PDFs in that viewer too, which is great on a Surface.
> It'd be useful to be able to mute an application from the OS interface, and to see an indicator for audio activity ion something like the task manager.
This has been possible since 7, I think? Maybe 8.
> Would be good if you could choose a filesystem that had strong performance with git. Either make git+NTFS fast, or else offer a well-support FS that git does want to work on.
Not sure I understand this one. I've been using git on both OS X and Windows for years and haven't noticed any perf issue on my Windows machines (coming from SVN, granted). Is there something I'm missing, maybe with particular git features I don't use?
Happy to hear if I'm wrong though.
Not sure if that's a lot different than the Win8 version. It's been a while since I've used 8 now.
> Copying and pasting text causes weird characters to be carried around (e.g. emdash), and I haven't found a reliable way to sanitise it.
That is by design. The Windows clipboard is insanely powerful, it'll paste the best representation of your text in that your destination buffer can handle. If I copy a code segment from Visual Studio (or Notepad++ with the right plugin!) I get to keep syntax highlighting if I paste into a program that can handle colored text. But if I paste into Notepad, all formatting gets cleared.
Pasting into Notepad BTW is the standard way to clear any special formatting. Although an emdash isn't special by any means, it is just a normal character that has a specific use in the typewritten English language.
> Apps that minimise to the small-icon part of the start bar (next to time) don't go to the back of the alt+tab stack.
By design, and 100% up to the app creator. Alt-Tab switches between things on the taskbar. Things are minimized to the tray to keep them out of the way!
> They should bundle a python API to windows and a recent version of python also. Make it easy to create and ship python on Windows. A community would just grow around this, with no further effort from them.
IronPython? :-D
But I know what you mean, Python is fun.
> Weak scheduler, init mechanisms. (from user perspective)
On this I disagree! Windows exposes its startup routines in a very user friendly manner. On top of that, the way Services are initialized actually works w/o worry or concern. End users don't have to deal with it, which is a blessing IMHO.
> There's no nice IPC mechanism available for casual development. Cmd kind of has pipes but they're horrible.
Windows has a plethora of IPC mechanisms available in native land, and .NET add in a few more!
Start off with the old time favorites like TCP/IP loopback and named pipes (both of which are pretty darn easy to get up and running) and go on from there.
But yeah, every OS has its oddities and warts. Heck if you write a clean room OS, by the time you are at version 1.01 cruft will have accumulated!
> IronPython
That'd be fine. > By design, and 100% up to the app creator. Alt-Tab
> switches between things on the taskbar. Things are
> minimized to the tray to keep them out of the way!
Right. So the thread is about things that are wrong with the OS. The way it is may be up to the app creator. But it /should/ be not-at-all influenced by the app creator.Alt+tab is a platform feature, not an application feature. Its value is tied to the consistency of its behavior. If I minimise something, regardless of where it minimises to, it should go to the back of the app stack. That's what the user (me) expects from alt+tab.
By the same principle, there shouldn't be ghost windows from Excel appearing in the alt+tab list. I'm particularly harsh on excel because it's Microsoft's own app, and it has behaviours that undermines the platform.
> Start off with the old time favorites like TCP/IP
> loopback and named pipes (both of which are pretty
> darn easy to get up and running) and go on from
> there.
For my stuff, when I need this on Windows I just roll a TCP/IP even loop in python, and have that act as a message broker. But that's not an option for people who don't grok TCP/IP, which has a fair learning curve. You want a mechanism for casual developers where it's easy to tie things together. e.g. Have a batch script send data to a visual basic app. Maybe named pipes is good, haven't looked at that in windows.The best take on this stuff that I've seen is the Be API. It has a cascade of IPC systems from unix-style console pipes up to sophisticated and high-performance message passing. All of it is easily accessible from a single set of python wrappers.
There's a version of Evince available for Windows:
https://wiki.gnome.org/Apps/Evince/Downloads
https://chocolatey.org/packages/evince
Technically Okular is available too, via KDE for Windows, but installation is a bit of a hassle:
I'm definitely guilty of using my web browser for PDFs most of the time, but when I use a standalone application I like Sumatra PDF. It's speedy, lightweight, and gets the job done. It is still pretty annoying that I have to install something else in the first place, however.
Yes, thankfully.
I'm not sure when exactly it was added, but this dropdown near the search input controls the scope: https://www.dropbox.com/s/7x35rgahnuultnp/outlook-search-all...
For a while before, you could still search globally. If you did a single folder search, there was a link/button/something to expand the search to all folders if you didn't find what you were after in the single folder.
The key with Outlook search is that you need to let the indexing service run. Search from within Outlook depends on that index for quick searches.
Also having the same interface for Phone/tablet/desktop is a dangerous idea if pushed to far, jack of all trades, master of none. Of course they should share some common ground but they risk sacrificing an tailored experience for each on the altar of standardization.
They haven't made any greater strides in addressing thumb ergonomics on larger screens. Sure at least the buttons are at the bottom again but to make it truly next generational they should have utilized more gestures.
My guess is they don't dare make Win 10 "too different" for risk alienating developers from other platforms and "mainstream users". That might be the safe choice but it doesn't make for greatness. It feels more like design by committee.
There was certainly room for improvement, the old interface was a little too stark, but they're changing course instead of refining.
I also call bullshit on "people are circles" argument. The "old" metro was more about full bleed pictures which IMO is more timeles, the circles thing is just being influenced by a current design trend and makes WP less unique. Each to their own I guess.
Imo gesture based UIs are UIs that are hard to use for average users.
What do would you rather use, an UI that's super easy to learn but cumbersome to use, or an UI that required learniing a few basic gestures and then being much more efficient and ergonomic to use?
I would like very much to know more on how they are working with end-users. Are they using ethnographic methods? Observing how Windows is used in the real world? How are they addressing cultural diversity? Are they having focus groups, interviews? What kind of telemetrics they gather? What have they discovered from their huge user base (and huge funding for their design project)?
This would be much more interesting - even to the layman, I think - than empty phrases such as, say, "people aren't squares".