What is the future of the desktop development for Windows

It was 2012 when Microsoft came up with new Windows. And the purpose seemed absolutely clear. For most of the analysts and developers, Windows 8 meant that the tablet-shaped future has come. No, Windows’ desktop was (and, actually, is) still here, but not much changed from Windows 7. And leaving desktop apps without serious upgrade when all the web apps are being developed with the speed of sound, means the step backward for desktop. So, what is the message of such solutions? Should we consider this as a sign that desktop apps are dying?  Is it the finish line? Or just a big breathe before the new age? We’ve tried to find out the answers in this article.

desktopvsmobile

(source: http://blog.codiqa.com/)

Challenging the desktop

Over the last years, we’ve seen how rapidly the web has grown. So rapidly, that we can call these years an era, era of web technologies. We’ve seen the first sites, made with HTML 2.0, almost without any functionality. And now we’re witness of how web sites has expanded to fully fledged applications. They even can rival with the functionality of desktop apps. The rapid deployment of high speed internet access also influences on the need of the desktop apps. Having an internet access everywhere, do you really need to overload your PC with the desktops? Obviously, no. So, the question that comes out is are the options for building a desktop application today still exist? If there is a need in them at all.

Desktop Application

(source: http://www.buanakarya.com/)

The problem of offline access to functionality is becoming more and more a moot point. There still thousands of programmers, PMs, QAs and other people who are involved in the desktop apps development process. So, it means, offline access is still used. Actually, it’s nearly impossible to deny that the desktop is probably one of the most important development in productivity in the history of computing. And the main advantage of the desktop seems obvious. When using browser-based apps you are relying on persistent internet access. Therefore, it affects the security of applications. That’s why big companies still feel the need in safely built desktop apps. First of all, it’s more reliable. And secondly – having no Internet connection means you cannot access the information. Businesses that are time sensitive cannot risk their security and unlimited information access. At the same time using the desktop apps means you always have to pay time as well as money to keep them updated. Usually, it’s not enough to click on “update” button (as we do with web apps). So, as we can see, desktop apps have two sides of a coin. And in this moment the web apps comes out to cover all the cons of the desktop. To clarify the situation we have to discuss what are the pros and cons of each technology.

Epic battle: Desktop vs Web

Both desktop development and web development have their pros and cons. Lets compare them starting from the very beginning – installation process. Web-based application requires no installation. It means saving money as well as time. Meanwhile most desktop utilities have to be downloaded and installed. It takes from 2 to 20 minutes in average. But it has one huge advantage over rapidly-installed web apps – desktop apps keep you logged once they are installed. But at the same time desktop apps require updating all the time in contrast with web – they can be updated without your permission.

mobile-vs-desktop (1)

The next point that can influence on customer’s decision is, of course, money. Web apps are usually much cheaper then desktop. If you need to buy them at all. But at the same time desktop apps still live on millions of computers just because of the cracks and keygens. But at the same time developing a desktop app is sometimes more costly if to compare with web-based one simply because you can develop an app for the web using HTML, CSS and JS. You’ve probably seen web apps built with JS and you’ve probably haven’t felt the difference. Building apps with these simplest standards makes developers’ life easier. First of all, because of the cross-platforming – you don’t have to spend a lot of time building an app for both Firefox and Safari. Just write once – run anywhere! And it’s the most attractive thing about browser-based web applications if to compare them with the desktop. Actually, HTML5 is becoming the industry standard. The reason is that it provides endless app development possibilities. The consistency between different platforms can be maintained by a SaaS delivered GUI with quick access to HTML5 applications and data. And now the culmination – since the desktop could be accessed from any browser it can remove the desktop from the OS at all! And it doesn’t mean the lack of functionality in result – the web desktop will be instantly familiar, with the same functions and features available to the user.

But what is really important about desktop app is its productivity.  Of course, there are a lot of modern browser-based web apps which work correctly and fast. But anyway – desktop apps can make better use of the hardware available (at least in some cases). Let’s look at an example. You want to print a book. So you have to choose between web and desktop page – which one will work faster and, as a result, more effective? We’re giving you 90% that you’ll choose the 2nd option – it looks clear that with desktop app your task will be completed more effective when using a desktop app. And another thing about desktop’s effectiveness. It concerns developers, first of all. Maybe, an average user won’t fell the different while using a web or desktop app. But a developer probably will. Usually programmers feel a lack of tools for creating web applications. Yes, JavaScript is simple and flexible at the same time. But what is the pleasure to work without classes, strong typing, and templates ;)?

Desktop: still alive

For the last 20 years Windows’ desktop apps have been presenting the “face” of the huge part of IT industry. These apps were covering (and actually, are covering) everything the user needs – their apps, datas, settings, etc. Today we can substitute some of the desktop with Dropbox or SkyDrive, but it’s just a half of a story. The desktop is still usable and needed. If you think that the desktop will die in few years, you definitely have to take in advance one important thing. A few years ago Microsoft CEO, Steve Ballmer, noted that there are about 4 million desktop programs. And they have to be run somewhere.  All of those apps run both on Windows 8 and Windows 7. And probably they’ll run on the latest version of Microsoft’s OS, Windows 10. And bloggers, developers and product owners can discuss the death of the desktop endlessly. But it won’t make any sense until they find the solution how to implement all the desktop apps that are used by millions of people all over the world into the web.

650x260xoblytile-header.png.pagespeed.gp+jp+jw+pj+js+rj+rp+rw+ri+cp+md.ic.vUiC-D_Jmd

(source: http://www.howtogeek.com/)

And we’re 100% sure that removing the desktop will be more trouble than it’s worth. Probably, in a decade or a century (it sounds funny when making such gorgeous forecasts) removing the desktop at all can be a part of a reality. But let’s be honest – nowadays it’s if not impossible, at least highly unlikely. And the main reason is not each user is ready to face the challenge of adopting his workspace into the web. And yes, maybe developing web programs is easier for programmers, maybe it’s cheaper and more flexible process. But we have to remember that everything we create, we develop it for the user. And all the apps (whether it’s a desktop or web app) have to meet user’s needs.

In conclusion, we’d like to point that the future of Windows development depends on the market share of Windows. We’re trying to say that in case if Microsoft can keep up their (read ‘your’) apps useful and interesting, you definitely won’t ignore it. Because nowadays it’s not enough just to create a good marketing strategy. Users are more exacting. They don’t want to deal with bad UX, poor UI and low performance. Web apps are increasing in the amount and quality. And it’s really difficult for Windows to compete with all these cheap and attractive web apps.

What’s new?

Obviously, Microsoft still believes in the future of the desktop. Why obviously, you may ask. The answer is clear – Microsoft supports existing products for desktop development such as WPF. Even more – the company is going to improve and update existing versions. Let’s find out what can be changed in the nearest future.

Microsoft is 100% sure that they have to invest money into WPF improvement and development. The company bases the decision on surveys and interviews with developers. So, the main purpose is ‘to make WPF a better platform’. Microsoft is going to reach this goal with a few steps. One of them is to improve WPF’s performance. ‘Further improving the performance of the platform based on customer feedback is a priority for us’, – says Microsoft. Company’s developers are going to optimize mostly scrolling and virtualization performance of ItemsControls. Hmm, sounds quite inspiring.

Let’s move on and talk a little about other improvements Microsoft’s going to complete. And the next step is really important in context of modern technologies’ pace of development. And we’re talking about hardware part, first of all. So, Microsoft wants to adapt to the hardware’s requirements and to improve WPF so that it become an absolutely suitable for all modern devices. ‘it’s important that existing WPF applications can adapt to new hardware capabilities coming to desktop machines’, – says Microsoft.

One more thing we have to mention is dotNetConf. Specifically – report dedicated to WPF. So, at the beginning of the speech, Unni Ravindranathan and Harikrishna Menon, who are project and program managers at Microsoft, mentioned, that WPF isn’t dead – there are things that are still in development. They added that they can’t explain in details because of NDA policy. But they hinted that the main purpose is to improve the performance of WPF at all. In general, Microsoft is going to work on the next areas of improvement: productivity and performance of scrolling and virtualization; support and integration of the DirectX (DX11 and DX12); modern equipment support (modern touch hardware, for example); tooling (diagnostic tooling support for WPF); etc.

Conclusion

Seems like Microsoft doesn’t want to showdown what’s really going on with its desktop apps and what’s their future. But we can say with confidence that desktop apps aren’t dead, they’re more than alive. If you always want to stay in touch with the latest news about WPF, follow their developers’ blog.