Well, there's a sentence you don't hear often, nowadays!
Disney is in big trouble as cordcutters proliferate.
ESPN is at about $9.5b to $10b in sales for 2016 and $1b in operating income. Those numbers will decline until operating income is closer to $300m-$500m in the next few years.
By comparison, Disney did $9.3b in net income for 2016 ($14.2b operating income). ESPN is down to being closer to 10% to 15% of Disney's profits and 18% on sales. As a business it's a looming disaster of value destruction from the former peak.
Now that Swift is open-sourced, I wonder if we'll see a good Cocoa port to Win32 and Linux - because that would be NEXTSTEP's legacy.
(Funnily, my current Xfce setup still visually resembles my OpenStep-like setup of that time.)
Never say never, but none of the UI parts of Cocoa are written in Swift, and porting them to Windows/Linux would be way more than just writing them in Swift anyway.
Curious, in what way is Windows's development story stuck in 2005 and the Mac is not similarly "stuck" in 2001 (or perhaps 1995)?
Compared to Windows where the "original" widget-toolkit (Window classes and the Common Control library) haven't been significantly updated since Windows XP - Wndows 7 did add some new controls, but they aren't exactly easy to use unless you're already a very experienced C++ Win32 GUI developer.
The old low-entry-barrier dev story was VB6, which had a mix of Common Controls and ActiveX reimplementations, then it moved over to VB.NET and WinForms, which is a wrapper around the same - but the last significant update to WinForms was in .NET 2.0 in 2005 - Microsoft recently announced that they would not be adding true high-DPI support to WinForms, advising desktop app developers to use WPF or UWP instead - and therein lies a problem: WPF and UWP are both completely separate UI and application stacks. WPF is not perfect and like WinForms, hasn't seen much of an update for a while (it still runs on DirectX 9) and UWP is just confusing: it's arbitrarily limited to only run in a restricted sandbox environment, the standard widget library is very anemic (e.g. still no tree-view!) and it shares nothing in common with the rest of the entire Windows ecosystem.
If you want to write a "real" Win32 desktop application you're best-off sticking with MFC, but there's so much legwork that's necessary, and legacy cruft (I swear the MFC codebase is still C++89 compatible) it just doesn't make sense for small applications, especially line-of-business systems that face constant changes, to be built with it. Compare with Cocoa on macOS where everything: from Microsoft Office and Adobe Photoshop, to the built-in Jigsaw Puzzle mini-game, is all built with the same framework.
But the ability to take a Mac from nearly 20 years ago and take one from yesterday and be able to use them in nearly identical ways (mobileme instead of icloud eh) is quite impressive.
I have seen the attempts to invent a new desktop paradigm in Linuxland with Unity and Microsoft's Metro attempt but I firmly believe that the windowing systems that we have at the moment are really as good as it is going to get, and more importantly, as good as it needs to be.
The eyecandy is all very nice (animations, fading in/out) and new compositors is great too but from a usability point of view, I don't think we really need to add anything new.
Am I alone in this? I mean Amiga got it right years ago and we've been trying to catch up since.... :-)
Android is obviously that. And the upcoming transition to conversational UI (not just voice but stuff like news feeds, Snapchat, etc) and also VR will I think be the end of the desktop paradigm.
I realize this is often overstated blah blah blah. But both mobile and VR are still kind of operating in a psuedo-desktop UI paradigm where they can't really reap their advantages. At some point in the next 10, 20 years I think both mobile and VR will have their WIMP-equivalent UI breakthrough and we will have a real horse race, and Linux will be in a different position. Speculation of course.
* "Windows, icons, menus, pointer" was the big breakthrough discovery of the meat and potatoes of desktop UI
Think about how today's businesses generally use their employees: let's not beat about the bush: they're using Microsoft Office for producing documents and spreadsheets, doing research with Chrome, and (if applicable) creating business value using either line-of-business software ("Bob's Car Repair shop database in MS Access") or specialised content-creation software (Photoshop, AutoCAD).
None of those use-cases can be fulfilled by recent interaction paradigms (i.e. smartphones, tablets, or voice-control). VR's useful for visualisation, but that's a very limited use-case, and VR has been used for architectural and civil-engineering visualization for decades anyway (e.g. https://www.youtube.com/watch?v=T2CYLlSn1gA ).
Granted, when considering an iPad paired with a keyboard - we see some of those use-cases become almost workable again (namely word-processing), but it's essentially the same thing as a traditional laptop - just with considerably more painful precision object manipulation due to the lack of a mouse cursor.
I feel the biggest paradigm-shift over the past 10 years is the movement of database business applications away from Access, VB6, Delphi, etc to be web-applications, usually hosted locally, and more recently to being moved to multi-tenancy, subscription-based services ("the cloud") - this has now become acceptable to businesses: the trade-off of no-longer being in exclusive control of their data is increased uptime, reliability, and significantly reduced start-up and (usually) running costs - and being browser-based this has meant a shift away from WIMP - where an activity is contained within a small-ish, often fixed-size, "window", to a "page", which has its own interaction model (e.g. no more modal windows because you can always open a new browser tab).
The next iteration of human/computer interaction we'll see that impacts our (society's) actual working lives will be something that enables me to be more expressive without resigning any degree of control over what I produce - and right now nothing does that better than a large display which lets me interact with multiple applications simultaneously, a keyboard with which I can enter commands or prose almost as quickly as I can think it (with a very low error ratio too), and a mouse for quick, precise, (gorilla-arm-syndrome-free) content/command selection.
Until something comes along that enables me to be more productive for my employer the desktop interaction model will still reign.
Well, the command line is already more powerful, if less accessible. Piping streams together, writing code. These are very powerful things that would give you superworkers if your staff could do them. People stopped developing command line UIs because there was a gold rush on WIMP, so command line usability stopped getting funded. It's also just proven a hard nut to crack. People in academia have been trying and failing a more usable command line for a long time. Seems like just a matter of time to me though. It's only been 20 years.
Mobile is interesting, not because it is particularly better at anything, but just the opposite: there's no space on the screen, so it forces designers to reconsider more stream-based UIs. I.e., return to the command line paradigm and pick up where we left off in the 80s. WIMP and big screens give designers a bunch of idioms to rely on, and lots of space to fill up and they get lazy.
VR doesn't inherently do a whole lot more than a rectangular screen in terms of productivity. I think most VR UIs will be things you could make a rough approximation of on a desktop screen, minus immersion. But it's a playground in which to explore interaction ideas that will become the fundamentals of AR....
AR is where there is a new idea, which is that you can leave things lying around in space. A desktop is a window, and a relatively small one at that. You have to keep tidying it up. You waste a lot of time context shifting. Most workplaces are much larger than the few square feet a desktop provides. The killer feature of AR is basically just "spread out".
So, combine those three things... stream-based UI, with programming features (iteration, DSLs, pluggable objects), and then spread that out into space and I think you get something that will make desktops seem quaint.
Lots of human-computer interaction PhD dissertations between here and there though.
[0]: http://gnustep.org/
What would be interesting, it would be compiling iOS Applications to macOS and JavaScript.