Given how cheap even powerful general purpose computers are I don't think they ever will be prized beyond availability. Aficionados, internet stores, arm, Linux, market forces, etc.
To some part, good riddance. Software engineers and product designers are the reason the PC is effectively broken by design in UX. Because they are inexcusably slow. There is 0 reason anything I want to do with e.g. office would not have 0 wait time except non-user centric design. My friggin circa 1984 Mac Plus felt faster on most stuff than the generic desktop PC.
The decade when Moores law gave freebies to software is probably one of the reasons for this astronomical sluggishness. Application feels slow? Well, just wait a year and get a new faster CPU. No need to spend resources on optimization.
I don't know who started with the idea that it's smarter to buy more hardware than to spend resources on programming but if I had to guess, it were the mainframe vendors. Cool for embarrassingly parallellizible batch processing jobs for massive bureaucracies, not so much for desktops.
And don't get me started on the idiocy of thinking it's fine software developers don't need to develop domain understanding in the field they operate.
With the general purpose computer desktop development, we have a system that's broken on so, so many levels.
At least Os X seems to try to do the right thing at an attempt at fluency and I can get a linux desktop to operate smoothly. Even windows 10 starts fast but O brother and sister of the clunkyness of software.
Despite what I said, I think the situation is improving. Immediacy in handheld devices puts pressure on the desktop to concentrate on not wasting the users time as well.
Let's see how it goes.
I'd like to see a word 1.0 coded with current tech stacks. Same functionalities. And see how fast it feels.
I think this feeling is a combination of a lot of things taken for granted and nostalgia.
Computers will behave sluggishly, unless care and dedication is paid they don't.
I'd start from a 3D engine, a font layout system, and the huge chunk of simple and efficient open source utility libraries that have sprung up. Or slap it on top of QT if that system can be made to behave non-sluggisly.
One point is, that you need to be able to access the low levels of the system. To understand it's limitations on your higher level architecture, and on the other hand, figure out what can be made blazing fast under which circumstances and use those as your bearings as you are developing the system. With usability, and understanding of end user being on the front seat. The whole time.
The point is, although the system does a great many things, there is no reason from the usability point of view those things are done in serial except legacy and poor design. A system can be made to feel immediate despite what it's doing under the skin. Delay those action, design the system with the user and her time as the first class citizen, rather than some other constraint.
Take a modern complex 3D AAA game. One of the root constraints is that it should never lag. Well, they do, obviously, but that is considered a defect more often than not.
And... Word... would need some deeper fixing on it's basic premises. As I recall I was pretty easy to break the Word 1.0 layout system in any number of ways.
In theory things have gotten a lot faster, doubly so if you consider UI and logic can be distributed over multiple cores, and even moreso considering file access is a factor 10-100 faster than back then, and memory size has increased by over 9000.
But it'd be poor on features and nobody would want to use it because of Feature X. I had been looking for a lightweight Slack client alternative, but the only thing I could find looked like shit.
You do have some merit to the argument, but your 1984 Mac didn't have half as "pretty" UI, and that matters to some people. It didn't do dynamic language processing to figure out if you've made a grammatical error. It did not have to continuously scan every data stream for malware. It did not have to use a significantly restricted environment to limit damage when some malware did get through. It didn't even support multitasking. My point is that computers today do so much more, but responsive UI is entirely possible for desktop applications, but the development cost is more than most companies/people are willing to pay.
If the latency begins to cross a threshold and begins to be inconvenient or distracting, it is time to step and think that may be the pretty UI is too ahead of its time, and we should stop making the UI prettier than it can be at this time.
I have to add that most computer I see of my friends are extremely snappy, I don't really see what you are talking about.
Developer and corporate status games select for political skill and self-indulgent overcomplexity, with added spice from dark patterns. There’s no reward for UI/UX/internal simplicity and elegance.
The culture at some companies would have been hugely improved with a few literal angry-users-with-pitchforks moments.
Then why do it? I like a good UX just as much as you, and I value simplicity, but people just want "good enough". And that is all there is to it.
I think you've built a strawman. People who use computers to get shit done might pay lip service to things looking good, but at the end of the day they want a tool that does the job without a lot of bullshit. To the extent that the kind of person you're talking about exists, they are consumers who live in tablet land and should be ignored for desktop/workstation use cases.
"It didn't do dynamic language processing "
Which could very well do it's stuff in a different thread and execution context given the actual payload such a system needs to transfer from a wordprocessor is trivially small. Then notify user. Don't rob the system of its low latency just because you want to run the analysis in the same thread because it's "simpler". It's simpler only if low latency is not a fundamental requirement.
"It did not have to continuously scan every data stream for malware"
Which can be considered a one more defect of the system which I forgot to lambast. Sandbox my wordprocessor, let me operate in realtime in unsafe environment and once I'm moving something out of the sandbox, then do the analysis.
"your 1984 Mac didn't have half as "pretty" UI,"
This argument is moot. Pretty UI:s are computationally a tenth or hundredth of the complexity of an AAA title. Unless one does it wrong. And if the system does not provide enough horsepower, provide a backup! Reduce the computational load! Cut the transparencies, freeze the animations, etc.
It's a blocking operation, so doing it in a different thread will not magically mean the requesting application can get it faster. Besides, this is already done in a different thread, but it increases the load of updating the UI.
> Which can be considered a one more defect of the system which I forgot to lambast. Sandbox my wordprocessor, let me operate in realtime in unsafe environment and once I'm moving something out of the sandbox, then do the analysis.
Which is already what is happening, but all data in and out needs to monitored. But regardless, it cannot operate in an unsafe unrestricted environment, because that implies full access to the memory.
> This argument is moot. Pretty UI:s are computationally a tenth or hundredth of the complexity of an AAA title. Unless one does it wrong. And if the system does not provide enough horsepower, provide a backup! Reduce the computational load! Cut the transparencies, freeze the animations, etc.
As I started to say, you have some merit to the argument, but I simply pointed out that modern UIs require multiple orders of magnitude more computational power to render. And providing a fallback is yet another cost of developing, and for the most part not something people/companies will pay for.
See how fast it felt.
https://youtu.be/XwbrCYJcrKQ?t=4m34s
No way and NO HOW! That statement is 100% false. The issue is you remember that it felt fast. My Amiga felt like lightening to me in 1985 and I still boot it up from time to time. The delays in everything is over the top and Mac 128k were horribly slow.
This was of course done because the systems back then were so slow that they would be in danger of regularly dropping key presses or clicks otherwise, which would have turned people off these newfangled electronic typewriters. But the result was that the interactive experience with respect to latency was given great importance in the design of those systems, unlike today, when it is taken for granted that people will accept whatever laggy system they are given, and will just be directed towards a CPU upgrade if they complain about it.
A Windows 3.1 PC from that era, not so much :)
https://en.wikipedia.org/wiki/Macintosh_128K
https://en.wikipedia.org/wiki/Macintosh_Plus
I think the example is a bit too sluggish but is probably a more correct presentation of the actual facts than my nostalgic outburst.
I was an Amiga kid. I had friends and co-workers who had Macintosh Plus and they always seemed to be so S-L-O-W to an Amiga.
Amiga 1000 from 1986 https://youtu.be/CDWdVk-hmgA?t=51s
The window draws were also slow BUT Ray Tracing and full animation compared to that lame Macintosh is just a whole different generation. Amiga lost and it took till 1994 or 1995 to beat an Amiga in 1986.
Of course, the newer one has newer graphics, but it also has enough transistors to replace each one in the 68k with a whole new 68k.
It was the CFO's idea. Software is expensive, and hardware is _incredibly cheap_.
Moreover, if you're in the business of selling hardware, be it PCs, mobile phones, white goods, whatever, it is in your power to throw cheap hardware at the problem, because software development will always be one of your highest costs. You will never be able to just drop readymade code into your new hardware design. And you can more easily recoup the cost of hardware development because you can mark up the price of anything with a faster CPU or more memory accordingly; you can't so easily charge for software features.
Just think, Chrome OS has essentially failed to take over the OS market, so I doubt anything using this overly-sandboxed model will be successful in the future.
But that's the thing, there's no "os market" for appliances. ChromeOS won't 'take over' computing devices any more than toasters will take over your kitchen.
Sandboxing applications and ending the free-for-all over the user’s entire file system were a long time coming. Then spammy software download websites and “Download Now” banner ads bigger than the official download buttons for popular software made it obvious that we needed a trustworthy distribution center. Of course someone starting an OS in the mid 2000s wasn’t going to adopt the Windows shareware distribution model.
The Linux distribution model of a vetted, quality controlled repository of software from a trusted middleman was so obviously superior, of course it won. I guess it’s surprising that iOS got so far with no escape hatch, but Android is the far more popular platform and has always let more technical users peek over the walls if they so desire.
I’m more surprised that so many people are content to type on glass. I was sure that the blackberry keyboard was the future.
I agree that mainstream desktop OSes have failed to give us this yet. Fuchsia sounds like an opportunity to do better.
Never heard of Sandstorm before. That's a really impressive product. I'll definitely be using it in the future.
Why in the fuck do desktop computers have user-based permission models? Don't answer that, I know why, it's because they inherited them from the server-OS ancestors, but it's retarded. Desktops are personal computers, there is no reason to stop the user from doing what they want because it is their computer. Some might say, "oh, well, we can protect the system from malicious software by limiting user access to it" and they're correct, but who gives a shit? If my OS gets destroyed I'll reinstall it. It's a bit of a pain, but whatever. What's really important to me are my documents, my work, and the user-permission model does jack and shit for protecting those as the ransomware wave proved.
Application-oriented permissions are the obvious and correct way to do things in personal computing.
Network resources, hosted on servers, need user permissions. Not desktops.
Did people really think the arms race of heuristic
malware detection in bolt-on security software would
be be sustainable?
No, people thought user education and decreasing software bug counts would be sustainable.My old Palm TX did the same thing, showing the graffiti area when a text input had focus and otherwise giving applications the use of all but a status bar's worth of glorious 320x480 screen space. Granted that Palm OS did less to help applications really leverage the extra space than iOS does. But most of what I did on that device was reading anyway.
Of course, Graffiti via stylus suffers less from a soft UI than keyboard input via touch, so it's not quite apples to apples. Still, though, as annoying as a soft keyboard so frequently can be, I wouldn't give up half my phone's display for a hard one.
The one comfort is that someone still needs to be creating all that content and all those communications channels, and those people are always going to benefit from something much more capable than a small, lock-down touchscreen+WiFi device.
Maybe. Let's see what the next generation of visual programming and IDE UX bring.
This user is a strawman. The problem we didn't solve was decoupling ourselves from corporations controlling our user experience, because we didn't create a good enough alternative for getting stuff done.
As computers become "locked app collections" they become appliances, appliances business and government institutions can control and regulate. "Can you make the iPad just not do that thing?"
1) Some would say that the open web isn't so open anymore, and is under constant assault. One example might be the recent W3C adoption and endorsement of EME.
2) The fact that the open web "lost" in the battle for mobile dominance is a thing. Most "serious" apps have a native version on at least iOS and Android, and the webapp version (if there even is one) is usually a worse experience.
There are still good technical reasons for some native apps, but that will dwindle more and more.
https://www.gnu.org/philosophy/who-does-that-server-really-s...
We sandboxed away innovation, so now all we have is web apps that process text, video and audio all in the same way.
The web is a big success story, but it's not all there is in computing.
As a shortcut to understanding this, consider what hardware support something like ARKit [1] needs. Or consider whether you could write a multitrack audio recorder as a web app (no, because the web audio APIs aren't multitrack).
My point is that you need "general purpose computing" that is not the web for many things. The web is indeed open, but we also need our general purpose computers to be open. Android is better than nothing, but it's arguably not as open as a PC running Linux.
https://developer.apple.com/documentation/arkit/about_augmen...
The answer to the second question is also no.