Ask Slashdot: What's the Future of Desktop Applications?
MrNaz writes: Over the last fifteen years or so, we have seen the dynamic web mature rapidly. The functionality of dynamic web sites has expanded from the mere display of dynamic information to fully fledged applications rivaling the functionality and aesthetics of desktop applications. Google Docs, MS Office 365, and Pixlr Express provide in-browser functionality that, in bygone years, was the preserve of desktop software.
The rapid deployment of high speed internet access, fiber to the home, cable and other last-mile technologies, even in developing nations, means that the problem of needing offline access to functionality is becoming more and more a moot point. It is also rapidly doing away with the problem of lengthy load times for bulky web code.
My question: Is this trend a progression to the ultimate conclusion where the browser becomes the operating system and our physical hardware becomes little more than a web appliance? Or is there an upper limit: will there always be a place where desktop applications are more appropriate than applications delivered in a browser? If so, where does this limit lie? What factors should software vendors take into consideration when deciding whether to build new functionality on the web or into desktop applications?
The rapid deployment of high speed internet access, fiber to the home, cable and other last-mile technologies, even in developing nations, means that the problem of needing offline access to functionality is becoming more and more a moot point. It is also rapidly doing away with the problem of lengthy load times for bulky web code.
My question: Is this trend a progression to the ultimate conclusion where the browser becomes the operating system and our physical hardware becomes little more than a web appliance? Or is there an upper limit: will there always be a place where desktop applications are more appropriate than applications delivered in a browser? If so, where does this limit lie? What factors should software vendors take into consideration when deciding whether to build new functionality on the web or into desktop applications?
In the 80s and 90s. X terminals and the like. Sooner or later the users want their power back. It will be interesting to see what happend this time around.
Time for bed, said Zebedee - boing
There will always be a need for those who want to keep what they are doing private. It's not private if it's not local and even then it may not be private.
Until only a few years ago, electricity was the only thing that one needed to use a computer productively. Now there are so many dependencies all of the way from device drivers to intermediate pieces of equipment and services, that there are a whole lot of things that can cause the function to stop.
I only use online features because they're free-as-in-beer along with their ease of access. If either changes then there's no reason to continue using an online version.
Do not look into laser with remaining eye.
The fact that this question gets asked basically every year should more than sufficiently answer the question.
download caps and network neutrality will get in the way.
Just wait for comcast office to come out that that has a poor UI and a not so low cost but it does not count as part of your cap unlike office365 or apple office.
Office 365 is a poor example. The web interface has definitely come a long way, but any serious work falls over. Maybe they'll get there, but for now, local apps integrated with the cloud backend seem to work better.
Write now I definitely wouldn't want to try working with RAW photos from a DSLR or edit high bitrate 4K video using a web app. Maybe in ten years, but then again, those digital formats will probably have moved on to another level by then too.
Oh and email: there's still definitely a need for offline access. Be it a tradition MUA or when on a mobile phone. Online isn't online enough even for this.
Single point of failure and security. Some applications might lend themselves to running exclusively in a browser and some will not.
We've got a long way to go before professional audio and video applications can get the internet throughput they need for storage, low latency and CPU power. Scientists and architects probably have the same problem. Look at the industries that purchased the black Mac Pro. They'll still be using desktop apps in some way 10 years from now.
Sorry, in my experience these web based applications are crap, and they started around the .com era where suddenly everybody thought everything belonged on the web.
The "problem of needing offline access" most certainly has not been solved, and not all of us want our data in the cloud.
If the web browser is going to become our operating system, we're fucked -- because we'll all be running garbage code which covers some of the use-cases, but which generally has terrible interfaces as we try to shoehorn every problem into something which doesn't lend itself to the web.
Many of us have lamented the move to web-first technologies as a byproduct of lazy corporations writing mediocre software.
If you think the end of desktop applications is nigh, I sincerely hope you're wrong -- because the endless stream of crap web pages which almost work is getting tedious.
And it mostly ends up in greedy corporations more worried about analytics and advertising, than writing usable software which actually solves the problems.
Lost at C:>. Found at C.
Most any data-driven desktop app can be rebuilt for the web, but the same can't be said the same for apps that depend on local resources outside of a browser's limited environment. Could you ever imagine pro video editing (i.e. Adobe Premiere / After Effects) 100% within Chrome?
through my browser or half installed program on my computer or I have to be online within 30 days no thanks, go and die already.
by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
Eventually people will get fed up with paying $4.99 in perpetuity to a dozen or more vendors, and we'll have single pay licensing again. Legislative changes relating to data protection will complicate cloud migration for some professions, and I imagine state spying is starting to have economic impact.
I've seen the cycles too; the difference there is a legion of programmers and a even bigger pile of code out there. Computers (hardware) are also trending to very low cost now as well.
Software trends to zero in volume as there's no marginal cost; I'd expect more and more core functionality to be free. This has already happened to some degree in the Apple ecosystem, and Microsoft is bundled with everything.
Another prediction: More and more functionality will come bundled into the OS, and you can factor on paying a subscription for it (or the fee when you upgrade).
You want to jump on the next big rage? Nice, clean applications, web based or not, devoid of crapware and malware and in-app-purchases and ads that do what they're supposed to, cleanly, nothing more, and easily connect together through standard interfaces. It's almost like someone built something like that before.
On the other hand, no application is complete until it has an email client..
..don't panic
Developer: Application
Consumer: Web
Enterprise application design is cycles through periods of centralization / decentralization. This is approximately a 10 year cycle, so we are due for a push for decentralization again now.
I saw a browser 3D graphics program on the internet. I forgot the name. I think it uses DirectX or OpenGL. The graphics did not look photo-realistic compared to the renders created on desktop programs like Poser or 3D studio Max. Perhaps the online software was a beta version that I saw. Even Java-based games look kind of blocky and dull when they use DirectX. I imagine that Desktop software can easily use hardware acceleration like CUDA to render complex scenes. I wonder if Java applets have limitations on accessing graphics APIs.
Just an observation
I wish I could find the bookmark to that online 3D graphics modeling site to see if the software improved.
Stuff like this is marketing people's dream: dependence. Though, seen through the eyes of marketing people, they only consider the small select applications they use, but those office applications are only a small part of what people use.
Applications like CAD, Design, Bitmap Editing, 2D vector art applications would run terribly slow over the net.
The things people use to make your stuff would become more expensive as it is starting to happen, and those costs will be passed onto you.
It would be a bad computer world where would could not afford a company to throw the switch, and discontinue your product in one day with no warning.
If there was a disaster or real war (on our soil), no one would be able to work, at all, because there would be concentrated central points of failure.
https://www.youtube.com/c/BrendaEM
Everyone thinks the cloud is great - till the backhoe goes through your fiber line and you either don't have a backup data connection due to the fiber cut being down the street, or you do have a backup data connection but it doesn't have the capacity to handle everyone running on the cloud. There are many points in the country where even if your ISP does have a backup, you will be down for quite some time while they reroute (and everyone else is trying to reroute as well). When most ISPs in town use the same trunks to get to the real world, you don't even really have many choices for redundancy.
People who live in silicon valley and some countries with really good overall connectivity to all users are spoiled with many options. Out in the flyover area, things are tougher. Then think of places with even less connectivity than the US has.
Keeping the company up and running by keeping the data local has a lot of advantages.
Simple programs used by the general public could conceivably be served from the cloud to a browser
Even for those simple things, many people will still prefer local data and local control
I find it hard to imagine that serious stuff like CAD, video editing, digital audio workstations, etc could ever be forced into this model
I, for one, require local data, local software and local control..and I will NEVER rent software
... at work recently. Bunch of crap the whole of them.
One basically only works reliably in Firefox, one only in IE, one only in Chrome. And then of course there is the problem that one other needs an option in Chrome set to "on", the other needs that same option set to "off" to work.
So at the moment it seems any more complex "web" application I look at basically needs it's on sandboxed browser to not interfere with all your other web applications, and the whole internet itself. And at that point, HTML is a pretty bad abstraction layer for GUIs compared to some of the desktop GUI frameworks.
The only technical plus side is that you "don't have to install anything on the client", but since we have Remote desktop server with "dumb" terminals anyway that is a moot point for us, we don't need to install anything on the client anyway.
Right now the limits are in High End Graphic Processing, and Interfacing with external hardware.
Most applications are rather boring, Take in some input, do some calculation based on the input, perhaps look up some data on a database, then give you an output. These batch type of processing is great for the web, as you get to have a big system in the background crunch all those inputs rather quickly and you get your results back.
However for high end Gaming/CAD The browser will cause too much overhead.
Then you have programs that access special hardware, that they may not have as part of the standard web standards interface for.
However as browsers keep on changing, as well if bandwidth gets to a point where it is fast enough it could go further to the browser. If the PC CPU/GPU gets quicker, and demand for special hardware goes up, then it will go back to the desktop.
Also if there are enough events that makes us consider that the cloud is too insecure then hosing it locally, then it could go back too.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Again this bullshit?
- Flawless 24/7 connection to the internet is plain impossible and any application that does not take this into consideration is a piece of shit;
- Your data on a third-party server is always a security problem waiting to happen;
- Browsers cannot provide the exact same features of a native application without the idea of them being completely rethink;
- When a web application has successfully emulate a desktop application it usually costs double or triple in computational resources to do the same thing as a native application;
- HTML is not designed for making desktop GUI applications, it need a ridiculous amount of very ugly hacks do to things that are done easily using native GUIs;
That said, of course there are tasks where a web application is useful... But it is foolish to believe that so any task task can be done in a web application.
Religion: The greatest weapon of mass destruction of all time
What's that? Seems like a dynamic story to talk about the dynamic changes happening. Dynamically, it looks like the dynamics have changed. I think it's a dynamic paradigm shift.
I'm sure it's been mentioned here already, but one of the major advantages of "native" apps (be it desktop or mobile) is that, unlike a browser, doesn't necessarily require an active network connection, which (at least in North America) has been rather sub-standard considering what other countries get.
While it's true that browsers now have local data stores for data that might reduce the need for an active connection to a server, native apps usually are better able to handle a greater amount of data than browsers allow, or are simply faster or have more performance features that browsers won't/can't have..
Then there's the whole set of features that a native app can have (mostly mobile, thinking accelerometers here, etc.) that usually take years for browsers to get...
AC comments get piped to
I run a company that develops a laboratory informatics platform for data intensive science applications that mix wet lab and analytics operations into single workflows, with gene sequencing as the motivating application - think LIMS with a pipeline and visualization engine, if you're familiar with the space. (Lab7 Systems, if you're curious - http://www.lab7.io/
When we started development a few years ago, we had to make the decision as to whether or not to build a desktop application or a browser-based application. At the time, this wasn't an easy decision. Some aspects of the UI are straightforward form-style interfaces, but others are graphics heavy visualizations of very large data sets (100+ GB in some cases). Scientific and information visualization have almost always benefitted from local graphics contexts and native rendering engines. In addition, the data decomposition tasks often require efficient implementations in compiled languages. Our platform also controls analysis processes on large clusters, another task not well suited for the browser.
We gambled a bit and decided that the browser would be our primary user interface. Two trends at the time helped us make the decision (and luckily they both held steady):
(1) The JavaScript engines in all the major browsers get faster with each new release and now outperform other scripting languages for many tasks.
(2) The JavaScript development community is maturing, with more well-engineered and stable libraries available
As few other considerations helped us make the call:
(1) Our platform is a multi-user system. A desktop client would add to the support burden for our customers.
(2) Our backend needs to integrate with compute clusters, scientific instruments, and large, high-performance file systems. It is server-based, regardless of the client.
(3) The data scales we were dealing with also required "out-of-core" (to use an older term) algorithms for redenering, so the client would never get entire data sets at once.
(4) REST/json... XML, XMLRPC, SOAP, and all the others are a pain to develop for (I speak from experience), REST/json significantly reduced the amount of code we needed to maintain state between the client and server.
Since we made the call to use the browser, we haven't looked back. Early on there were some user interactions that were tricky to implement across all browsers, but today they've all caught up. Our application looks much more like a desktop or (*shudder*) Flash application, with a very rich UI (designed by an actual UX team that gets scientific software ;) ) and complex visualizations. It's also been relatively straight-forward to implement, thanks in large part to the maturity of some JavaScript libraries (we use jQuery, D3 (for complex filtering, but not for visualization), Canvas, Backbone, and a few others).
Personally, I can't imagine ever writing a desktop application again. The browser is just too convenient and, in the last few years, finally powerful enough for most tasks.
-Chris
Netcraft confirms that desktop applications are dead! Also Desktops. :)
Seriously this bunk is garbage. Perhaps for personal use, there may be some transition. I know I use some google docs as I don't want to bother buying a personal copy of office for hundreds of dollars for the amount I actually use it outside of work... Though I probably have used OpenOffice more.
In a corporate environment? Just no. This also happens to be where most of the usage is located. It is not even close, it is absurd. Ask a system admin about what happens when just one connection to a DB goes down, one specific and specialized application, or part of a network, or the internet... Now imagine if this happened to normal everyday office productivity software... Buhahahaha! Chaos.
There are certain things that may go a bit farther, shared documents over networks, or virturalized desktops to share specific software, but even that has limits. The last one usually to combat deployment issues and non-standard desktop configurations, however even then we have control over the resource.
Web applications chug like a sloth on qualudes compared to local applications. They consume more CPU, they take forever to load/store data, and their interfaces are clunky as hell (Google Office apps included.)
Personally I think it's the web developers that keep asking this question every year, hoping to get praise for their shitty efforts over the past year to catch up to 1990's desktop applications.
I do not fail; I succeed at finding out what does not work.
I am sick of hearing about how desktop apps are dead. How am I supposed to develop embedded applications through a web browser? I suppose a cloud compiler could do it --- assuming it supports my extreme customizations, and even then, I can't imagine how slow it'd be.
What about network tools? My open source project is a network test utility: http://packetsender.com/. How can network test utilities exist other than a native desktop app? Am I supposed to create a browser add-on? Now we are just arguing semantics. Depending how deep the add-on is developed, might as well call that native.
The app world is more than just a means to consume video, music, etc. Some people need to do real work.
Where you want lots of pixels, multiple windows and the ability to quickly point to any pixel location. Note, these are apps where you create content as opposed to consuming it.
This topic instantly made me think of the VMware attempt to move all administration for their enterprise products from the vCenter desktop app to their vCenter Web Console. And, as anyone that uses both products heavily will attest, even at LAN speeds and bandwidth the web console experience is sub-par. Sure, if you use it enough and get used to it it's usable. But there is never an instance where it doesn't feel a bit laggy while it has to work with so much information over the network vs. it's older desktop based for-bearer. I've never met anyone yet that prefers the web experience in this example.
Now I'm not saying building a web app that feels as responsive as a desktop app isn't possible. But from the track record it would seem it's very difficult - especially when there is a significant amount of data involved (which makes sense as it has to work over a network).
Please, understand this categorical statement: I DON'T WANT YOUR FUCKING CLOUD SERVICE.
I do not want to rely on an internet connection to generate any trivial document.
I do not want even my meaningless documents stored "in the cloud", much less anything any private or commercial value.
I'm uninterested in making something simple, quick, and reliable into something complicated with more points of failure, slower, and unreliable (that in the meanwhile makes me dependent on you, and paying you for the privilege).
So no, stop asking.
-Styopa
Gamers will attest to running game logic server side not working for certain types of games because latency is too high. Going forward augmented reality and virtual reality have even lower latency requirement. With some latency requirements getting under 5 ms the actual physics (speed of light) starts to prevent everything from running remotely.
Perhaps even more important is the further you send bits the more power it consumes. Bits in registers use the least power. Bits in cache are still low power. Bits in memory start to consume lots of power. Going all the way out to flash is really getting bad. Then going over a network -- forget about it. Very roughly speaking each one of those steps is an order of magnitude more power today. The power consumption over a network will certainly be reduced in the future. However, it will be a long time before we get to the point where high bandwidth consumption over a network is low enough power that there won't be important cases you want to optimize by bringing data frequently used data locally and have some significant processing of it.
It is a fallacy to assume that we always have access to the cloud. Some of us are at the mercy of Comcast.
I've already been victimized by MS Office 365--no I don't want my contacts list held hostage because of a lack of license because somebody at my company suddenly decided that I didn't need it anymore.
I think things like documents, spreadsheets and databases can be done easily enough online with services like Google Docs. However, more intensive things like graphics and video editing will probably still be done offline on the regular computer.
I charge forward recklessly, leaving chaos in my wake.
I suspect many "desktop" software companies will hedge and build the app as a web app, BUT keep a "local virtual web server" option so that it can have quick access to local disk etc. if needed. Light users may be fine with a cloud-centric approach, but power users may want the local approach for responsiveness and storage space control.
Some of my personal music "experiments" are like that: I only run them on my desktop, but they use a typical web browser stack such that they could be "in the cloud" with a few minor tweaks.
I do miss some aspects of desktop RAD engines where coordinate-based GUI engines give direct control of screen real-estate. The "flow" based HTML convention can be a PITA. Auto-sizing for devices can be nice, but it requires time to perfect and test the UI for diff sizes & devices. Coordinates are more WYSIWYG and thus easier to deal with when your audience is small and known. For small-audience RAD, coordinates are often preferred.
Table-ized A.I.
A decade and some change ago first noticed marketeers slithering out of the woodwork to belch their dreams of SAAS into the ether. The dream is not a statement about architectures of the future it was always focused explicitly on raking in regular predictable revenue.. A concept customers have and continue to reject regardless of state of supporting infrastructure.
From where I sit the proof is in the pudding. I openly encourage our competitors to offer online subscription only services. We are making bank on those jumping ship from competitors. The very first question majority of our new sales prospects are asking "Is this software we can install" or "Is this something I buy or rent" in all cases the correct answers they are expecting to hear is always "Install" and "Buy".
There will always be applications that make sense to have online yet the logical demarcation lines for the most part are already well established... fatter pipes isn't going to move the needle.
From an architectural perspective turning browsers into dumb clients is completely idiotic but leave it to the Internet meme machine to continually march their fellow lemmings thru the path of least resistance and keep piling on layers of crap over crap never to fix a damn thing.
Without a doubt, web is s crapshoot of browser inconsistency and standards. Imagine this hypothetical scenario: No more local apps, but you have a web server running locally, which when you install an app, installs to the local web server. Your entire desktop is in a browser. What are the problems with this? Many: 1. Serialization to HTML/CSS/JS is slow and unnecessary. The code path to put a red rectangle on the screen is absurd 2. Those interfaces prevent direct access to local hardware. 3. Operational Latency - the back and forth across the web-client/web server barrier is prohibitive for many apps. 4. Start-up Latency - downloading 3D textures and meshes and other assets can take hours.
What is more likely to happen is we have local clients that use web content within the local client.
And then there is the"fog". I call private clouds the "fog" because it's around you, not up in the sky. The web does have the ease of software distribution on it's side. I think eventually when all this NSA stuff shakes out, we'll move to local clouds with self-hosted data as a way to protect and manage our data. There will be an industry standard super server you install apps to which will mimic local apps. Then for your data to be accessed rather than serve a warrant to your hosting provider, they have to serve the warrant to you directly.
Really, I see the privacy and 3D (coming virtual reality) to bring back focus on local apps.
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
Richard Stallman covered this subject in detail, it is important reading: http://www.gnu.org/philosophy/who-does-that-server-really-serve.html
I am surprised this would even be asked here. The fact is, if you care about security and privacy, you dont want to use anything other than desktop apps. You want to avoid anything such as Google Docs for your normal letter writing and so on. One area of confusion is that people have problems drawing a distinction between which is where you share things that you want other people to see, versus a tax spreadsheet that no one else should see. With the social networking the material is sort of not private anyway and you want to share it so little is lost by putting it on a server farm, and it is necessary that it be shared with others so the server farm facilitates the communications.
With a desktop application where you are working on tax spreadsheets or working on other things that will not be shared, there is no need to put it on a server some place else, so why do it? In so doing you give up a huge amount of potential privacy, increasing the technical possibilities of a possible access of the material on the server farm by other entities.
Using this cloud stuff you lose control of your data. The cloud provider could pull the plug on the service at any time (and it happens, look at Google Code and Geocities and the vast store of information that was lost with that).
Using the cloud for office apps is basically not necessary for what you are doing, since when you are writing a document for local use, or working on spreadsheet data, there is no technical need to use a cloud service to do this, and by doing so you endanger privacy and your control over the data.
Whats really going on here is an attempt for large corporations to nickle and dime you and monetize you, perhaps by the minute, to use their software, while if you use an open source desktop app, you have unlimited use of the software for as long as you need at no charge.
Secondly, open source is all about users being able to control, modify, run and expeiriment with the code they use, and being able to read it. Using apps on a server farm takes away the users control over the software they use, as it does with taking away users control over their data.
Avoid Software as a Service like the plague.
Or goes bankrupt?
Poof!!
You no longer have the application, or the data. Your 'competitive edge' is now random electrons heading for NGC6724.
My initial reaction is to say that computing is simply cyclical; what was once mainframes and dumb terminals turned into locally installed applications on desktops and laptops, and now we're doing that again with Teh Cloud (tm). However, here's the difference:
1.) In the 80's and early 90's, overall technical competence of computer users was higher. Yes, the there was always the secretary who tried to use WordPerfect to make a database because she knew exactly one program, but overall, especially if you had a home computer, you had some concept of what you were buying, and what the things on the spec sheet meant - computers being sold today will have helpfully descriptive bullet points like "great for multitasking" instead of "8GB RAM", something that wouldn't have passed muster in the last cycle. .doc and .jpg files that are more standards compliant, but many of the web apps that are popular aren't necessarily tied to the "open/change/save/close" paradigm that is commonplace in the desktop world.
1b.) Malware was much less a problem, back in the earlier days of computing. E-mail viruses were a thing, certainly, but for the most part, one ran a virus scanner and moved on with life. Also, with less hardware to throw at resident software, any kind of malware that ran resident would use enough system resources to alert the user to its presence, which is less the case now. Google Docs doesn't care about macro viruses, and users of that platform don't have to, either. There's value in that proposition for many less-technically-inclined users. Similarly, backups/hard disk crashes are "someone else's problem".
2.) In the 80's and 90's, systems were generally designed for interoperability a bit better than they are today. It's possible to send an e-mail from a server running Exchange 2016 Preview to an SMTP server from 1989 and it'll be able to meaningfully use the message. This is not the case with Facebook or WhatsApp.
3.) Inherently connected applications are the norm now. The utility of Facebook is "the rest of the stuff on Facebook". Google Docs and Pixlr don't apply to this point since they still deal with
4.) "Bleed little, bleed often" is a more culturally acceptable proposition for most people, as it gives them the instant gratification of getting the product at a price they can afford, while not requiring a gargantuan up-front cost that happens regularly as people feel the need to keep up with the Joneses. $5/month = $180 over the course of three years, which has basically been the shelf life of every version of MS Office released. Makes it a lot easier to swallow for many people, whether or not it's actually a value proposition in the long run.
4b.) The fact that virtually every software developer who has implemented IAPs instead of a one-time, up-front cost has made more money on that business model. At this point, it's solely a matter of principle that a developer of a paid application would sell a perpetual license, since general acceptance of subscription and IAP licensing makes it a better idea for everyone to go down that road instead. This was not nearly as true in the days of mainframe computing.
Now all of that being said, I do think that video editing is one of the few tasks that will never lend itself to a subscription model, beyond what Digital Juice does. Editing-as-a-service makes very little sense, since even a moderately sized project will still take tens of gigabytes of upload time, which means "hours before you can edit". Meanwhile, 100GB of assets is not unheard of for even a two hour wedding video shot in HD, and with upload speeds still measured the single-digit mbit/sec unit, it can easily be days before editing can even be entertained. At the same time, costs are a lot higher for a company looking to get into that business, because you're going to get much less ability to thin provision even 500GB of space, as the nature of what's being done is going to make much more use of that space than the OneDrive accounts with a 1TB progres
How do you cope with old browsers? Supporting 2 year-old browsers is already difficult, I can't imagine supporting 6-8 year-old browsers, which is the usual thing in enterprise. Or are you limiting your development to old APIs only?
It is faster, gives the user more control, is more responsive, is more secure, etc.
It is generally better in most circumstances for anything serious.
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
It's a cycle. Ten-fifteen years ago people were talking about the browser replacing the desktop. It didn't happen -- the browser (emulator, VM, you name it) is nowhere as powerful as a native application on the same hardware. And as hardware evolves sure, tables will become more powerful, but so will desktops and then users will want more. What they call "cloud" today is just the most recent iteration of the client-server application model. And what is the mobile device other than an "intelligent" client/terminal?
Obviously, everybody who's going to use the cloud-based solution never crosses an international border. Or, maybe, the cost of data in such cases will cease being "how many body parts can you do without"... Or, they never wander off the trunk data lines where they located WiFi emitters. Or, satellite data rates will become minimal and the latency problem will be programmed around with some amazing caching strategy.
Things are fast and cheap the way they are (native apps and file systems). I can use the cloud for data exchange or intercommunication but I don't need that when writing code or reading a book or watching a movie or GPS or ...
Browser APIs are gaining every advantage of Desktop APIs including APIs that are just landing. But they add to it:
- Instant update.
- progressive download: Download what you use
- Sandbox model: It's safe except the explicit permissions you give.
-- This one is so essential, Mobile needed it to succeed with local installs. Desktops not having this is a huge step backward.
Desktop needs to gain these to keep up with web (except where they're unnecessary, like IoT). For performance, we've had unused capacity on most devices for a while.
Further, Desktop (all 3) has its own hazards:
- Shared libraries
- Special permissions for installation
- Old libraries based on poor ways of solving a problem
- Living-Dead APIs that shouldn't be used
- Unsafe languages you must interact with to get much of anything done.
Science & open-source build trust from peer review. Learn systems you can trust.
There is one thing the vSphere Web Client does exceedingly better than the (thick) vSphere Client: allows vSphere admins who don't use Windows on their laptops to work more effectively.
While there are some differences in functionality and where features reside, vSphere Web Client is fantastic (except that on Linux it only works on Chrome due to requiring a newer version of Flash than is available as a NPAPI plugin). The fact that the vCenter appliance supports bigger environments now actually allows one to run a non-Windows vSphere shop.
Red Hat's RHEV (vSphere competitor) only has a web app, and this has counted in its favour in the past when vSphere was limited to Windows only. We will be migrating to RHEV for other reasons though ...
There is a place for pure web enabled apps and web client oriented hardware (e.g. Chromebooks) but desktop isn't going anywhere anytime soon. For the foreseeable future apps with high resolutions, mostly games, will have a place on the desktop. Streaming games have some market share but for high end demanding games (e.g. 3D shooters) response time will always be lower than what would be available locally. (or at least until we get terabit connections to our homes).. Sensitive for data will always have a place locally. Some people don't trust the net and never will. With governments having a free for all with our data one can hardly blame them. Any centralized hosted services is a target by terrorists who hate freedom... uhmmm...our own government officials.
And I sign underneath. As another commenter correctly put, it's probably just another facet of marketing attempt to make every one dependent of the damn cloud.
Religion: The greatest weapon of mass destruction of all time
The problem is that mature desktop environments like emacs and latex are totally invisible. The tech press isn't going to cover them. People are using them, silently and invisibly, to get real work done. What gets all the press is when Yahoo buys some kid's app. So you have a distortion effect that echoes one side and not the other. Some kid writes an app to put one word on the screen, and it's news. Someone writes a 2000 page book using latex, and no one knows.
I work for a government administration with high security requirements, and for the moment cloud services are generally forbidden to use. Things will probably change, but there are many cases where desktop apps will be required.
As the general trend, I believe that the smartphone and desktop computer will merge, and the future for desktop apps will be combined desktop/mobile apps with adaptive UI. Some apps will also be delivered as web apps, and virtualized cloud/server apps. Technologies that will be more interresting in the coming years are probably Microsoft Continuum (Ubuntu Edge has similar functionality), Cloud rendering and desktop virtualization.
I imagine the browser, downloading all rotten half-malware from everywhere, each so-called "application" with a half-dozen of similar variants of jQuery, half of them infected -- and other uncountable, but no less foul critters out of the ever-growing fauna out there.
Anywhere that latency is not adequately met by "cloud apps" will require desktop apps.
Over time, bandwidth will become less of an issue as it continues to improve but latency is governed by the speed of light and light ain't getting any faster.
Conversely, if a "cloud app" is a huge pile of JavaScript that does everything locally on your machine, it is arguable that it is really a desktop app.
"What's the future of non-touchscreen applications?"
Just so you know, not everyone drinks the marketing cool-aid.
I wasn't talking about work. Work is no longer where most computing devices are used.
Work is not an office. Work is focused activity. Work is often done from home. Work is high school homework. Work is homework for an introductory programming class in high school. Is there "an app for that"?
Desktop apps (and "personal computers that aren't smartphones or tablets") are going to shrink back down to the market they were before the late 90's.
Without demand to prop up economies of scale, will prices of general-purpose computers rise to where they were before the late 1990s?
Prepare to keep using old software. SaaS is the only reliable way to prevent piracy. Heck I worked in biz selling licensed software to wall street/banks and THEY even pirated our software, they would buy a license for 10 users and pirate the license for 50-100 users.
If I need an application that has to crunch a million numbers into a few cells, I am more than likely going to want a browser application because that will get the impact of the computations off of my local CPU in a straightforward way.
If I want an application that is less computational, such as a calendar application, I don't want a whole bunch of generic controls such as a back button or an address bar, or having tine extra work of dealing with tabs to go from reading slashdot to working on my calendar for the week. I want to be able to click once on my OS task bar and have a window come up that is dedicated to my calendar. The browser experience is just shitty for light applications and I hope that the companies out there continue to develop native windows applications. I really don't get why people were so nuts over google mail. Maybe it was good but the browser experience killed it for me every time.
Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
The Internet computers of today are the CB radios of tomorrow. MARK MY WORDS
HTML5 does allow effectively unlimited (policy set by the user) local data to be storage and applications that run completely disconnected.
Size policy set by the user or by the browser publisher? Can, say, Safari for iOS running on a 64 GB iPad dedicate 2 GB to a particular web application?
There's an important difference between an intermittent Internet connection and a continuous one. Off-site backups to a leased server can be done while there is connectivity. In fact, they can be done in the early morning, which helps because some ISPs that apply caps turn off metering in the early morning hours local time. (Source: exede.com)
That's the market. It's shrinking. People are lazy and stupid. They want big brother to take care of things for them. It will never disappear, however, I can't discount the possibility that such applications may one day be made illegal.
Please do not read this sig. Thank you.
"The rapid deployment of high speed internet access, fiber to the home, cable and other last-mile technologies, even in developing nations, means that the problem of needing offline access to functionality is becoming more and more a moot point."
High speed internet access is a bit of a relative term and you still need offline access to your data if and when the net goes down. According to this South Korea has faster broadband. A bootable USB device is going to be usefull for a long time to come.
I use plenty of web sites, and some even mimic desktop apps vaguely well..
But even a native app that *uses HTML* for much of its UI often has a better overall experience -- better drag & drop, keyboard navigation, interaction with other apps..
Anyone who asks this question (again) really has no clue about what desktop applications are beyond word processors and spreadsheets.
No. And the "trend" referred to here is 99.999999% junkware. Slow junkware. Junkware that typically invades privacy and/or bombards with ads. You can't compete with my image editor. You can't compete with my word processor. You can't even compete with my text editor. You can't compete with my SDR software. You can't compete with my database. You can't compete with my media center. You can't compete with my fish tank controller. You can't guarantee that you, your ISP, my ISP, the connection(s) between them, the name servers, the competition for bandwidth at any one (or more points) will work to my satisfaction. Or at all. You can't even promise the app will BE there (cough, Google, cough) when I need it. Or that it will work properly in my chosen browser. And you're almost *certain* to screw it up so badly that it does all manner of things with rollovers, popping up garbage ads and menus without an instantiating click or drag or keypress from me.
And the other .000001% ??? Minimalist web-apps that never, ever hold a candle to a real app running on your own hardware.
Seriously, even the *speculation* is ridiculous.
I've fallen off your lawn, and I can't get up.
So web administrators can web administrate their websites better using these web apps?
Can we plug the input into the output and keep them busy forever with this stuff? Even if we have to provide additional computing power to support the positive feedback loop, it sounds like it would burn them up and eliminate them from the gene pool.
Tablet sales have slumped this year. Why? I'd guess that it's because everybody who wants one, already has one...and new versions of tablets aren't that much different from the previous versions.
Desktop sales are down too, but that's in large part because they last longer these days. We used to replace them every three years, now a computer can last 5-7 years or more. The desktop certainly isn't dead!
I think you just descript WPF and XAML.
You create the View that an object is supposed to look like, then you simply bind the object to that View. Most controls exists, either out of the box or purchased third party controls, and all you have to do is define it.
Best UI ever made or designed.
As I'm older than most of you, I remember when The Web!!! was the new big thing, in the mid-nineties, and how M$ went to destroy Netscape, because there *was* talk at the time about browser as desktop.
mark