Upcoming features for our NovaMind Windows 8 App

I have reported before that I’ve published a preview version of Game Dev Tycoon to the Windows Store in July through my company Greenheart Games.

Besides working on Game Dev Tycoon, I’m also the Development Manager at NovaMind Software and we’ve published our NovaMind Mind Mapping App to the Windows Store in late July.

You can read our official announcement here.

wide-logo-180

From a development perspective, our NovaMind App has been an interesting journey. Our Desktop version is written in WPF and we have spent six years building it. When it came to the decision on what technology we should build our Windows 8 App on we decided to go the HTML/JS route instead of XAML. I plan to talk a bit more about the development story in future posts but right now I want to highlight some of the great features the team has been working on for our next update. Most of the credit goes to Sheng Zhao who is the primary developer of our Windows 8 App.

Here is a video:

NovaMind Feature Preview

The main star of this update is our new radial menu. Here is how it looks when it is docked to the top-left

newMenu

You can also dock it at any corner, left of the screen, right of the screen or have it floating. This menu really shines on a tablet where you can just spin the outer wheel to access features. The clean look (apart from the outer text but we are working on that) is also great to quickly identify actions and by using different colors for different categories you can easily see where you are at.

Here is how it looks when you have it floating next to a Mind Map. This time using a different Mind Map theme:

floating-menu

There is still a bit of work left to do before we can publish this and we are eager for feedback on it.

If you want to give NovaMind a try you can install the current version for free from the Windows Store here. The app is currently under 1MB in size so you should have it ready in no time.

What is wrong with Windows Software and why Windows 8 doesn’t solve a thing – Part 1: Finding, Downloading & Installing

In this post I talk mainly about existing Windows applications and not the new Metro applications which will be introduced in Windows 8. Metro apps are a new type of application which are mainly for touch devices and are not meant to replace Desktop apps.

If you are somewhat experienced in using a mouse and keyboard then chances are that you have helped other people to install software on Windows before. Downloading applications, installing them and making sure that you don’t get any viruses, malware or browser toolbars in the process seems to be quite a challenge for a lot of Windows users and I am not at all surprised about this.

I think, as developers, we are so used to these familiar actions that we forget how difficult and daunting they are for the average user.

Finding Software

The first challenge is finding software. I am a naturally curious person and as such I have tried thousands of applications over the years, hence, when someone needs advise for a CD recoding software or a photo library application I point them to CD Burner XP and Google Picasa as in my experience they are the most usable and useful. Without personal recommendations from someone you trust or the experience of having tried a number of these applications, users normally just Google what they are looking for and are confronted with a huge number of different websites and applications. Some of them are great. Some of them are not so great and some of them are harmful. Scams, viruses and malware is often unfortunately just a few clicks away.

Downloading Software

Even when users settle on an application to try out it is often difficult to navigate the thousand different websites to download the application. A lot of websites also have advertisements that look like they are the download links to trick people to click on them.

A great example of this unfortunate practice is the website of the quite popular and useful Paint.NET application.

paintnetdownload-boxes

(red boxes are not the download but are advertisements – the download is marked by a green box – even when you click on the real download link you still have to navigate two more screens which are all riddled with advertisements)

nmdownloadAt NovaMind we try to make it as simple as possible to download our application. A single click on the prominently placed Download Now button will start the download and moving your mouse over the button gives you detailed information on how big the download is, what system requirements the application has and also allows you to quickly switch between Mac/Windows versions.

Unfortunately a lot of other websites are not that easy to use. Case in point, our competitor has this:

I especially like how they require your email (even if you don’t want their newsletter) and phone number. Also, ‘Continue’ suggest that there is more pain to come before you are finally allowed to try their product.

Installing

Even if a user manages to find the application that they think they need and find the download link and manage to find the downloaded file on their computer there is still one last step. Installing the application.

This should be easy, right? They basically just need to confirm that they indeed want to install the application. On Mac OS, if you decide not to use the App Store, installing downloaded software is dead simple.

Double-click on the downloaded (.dmg) file and then drag the application icon from the left on to the Applications folder on the right.
NovaMind 5 installation on Mac
Wait a bit…

Voila! Done!

To be fair, there are more complex scenarios but even these look like a walk in the park compared to things I have had to endure on Windows.

On Windows the situation is very different. I will spare you the dozens of screen shots to illustrate the horrible user interface and user experience. I am sure that you aware of the click ‘Yes’ –> click ‘Next’ –> click ‘Next’ –> ….. click ‘Next’ –> ‘Finish’ approach of Windows installers.

A lot of applications also have dependencies on other frameworks that need to be installed and some of these frameworks have dependencies on other things as well. Often the user is confronted with more than one installer (each of them with the potential to fail or to cause reboots).

Technical issues

I am working for NovaMind and over the years we have tried many different ways to make the installing of NovaMind for Windows easier.

Unfortunately installation technologies on Windows are riddled with problems. As a user you can see the symptoms with failing installations, non-localized text, pixelated pictures, pixelated application icons and applications that can’t update or uninstall properly.

As a developer you can easily see that the installation technologies on Windows are plagued with issues. Just search on stackoverflow for Windows Installer, Msi, WiX or even commercial solutions and you easily find hundreds of questions, a lot of them pointing out flaws or issues with the technologies. You can read about my own experience with this mess by checking out my answer to the question Can anyone provide a good “idiot’s guide” to creating an installer in VS2008 (C#) Pro?. Unfortunately, I am not the only one experiencing this. Windows software developers around the world waste days of their lives fighting with these kind of things instead of creating and improving great applications.

Updating

On the Mac there is a widely used framework for live-updating installed applications called Sparkle. On Windows, almost every application has their own updating system and it is no wonder since there is no live update framework that just works.

Casualties

I think that Windows would be a much more attractive platform if finding, trusting, installing and updating software wouldn’t be quite as difficult. Microsoft has done major damage to the Windows ecosystem by not providing such a system. In my opinion it is no wonder that a lot of innovative new applications are either on the web, on Mac OS or on phones.

A solution

The solution is not yet another installation framework or third party installation application  that is patched on to the platform. The solution must be baked into the platform itself and completely hide away all technical aspects from the user. There should simply be no setup of applications – at least not from the point of a user.

One click and a progress bar is all there should ever be for installing, updating and removing of an application.

What we need is a central, easy to use, attractive and trustworthy place to find, purchase and install high quality applications. In short, we need an App Store.

Windows 8

The Mac OS App StoreFor the longest time I strongly believed that Microsoft will come out with a Windows App Store that would finally do away with all this and solve one of the biggest pains on Windows. Microsoft would invent a new way of packaging up your application that would be simple and would support almost every type of application, be it native, .NET Framework or something else. The new App Store would finally give users a central place to find useful software which is free of crapware or malware and Microsoft would finally be able to highlight some of the great applications that exist for Windows and revitalize Windows Software development on the client. Purchasing applications would become more commonplace and the quality of applications would increase. Software developers would be able to earn money with their applications without having to trick people to click on false download links and without installing browser toolbars and Microsoft would earn a lot of money in the process. Everything would be better.

When Apple delivered their excellent App Store on Mac OS I had no doubt that Microsoft would follow suit very soon. Now, finally, Microsoft has unveiled the new App Store in Windows 8 and unfortunately it will not solve any of these issues.

I have explained why I think this in my post Why the Windows 8 App Store will fail

This is bad news for users and worse news for software developers. Users will continue to struggle with downloading and installing software and will instead use web services or switch to Mac OS and software developers will not have the opportunity to sell great applications to a large market and will continue to waste valuable time just to have a working installer.

It seems that if you want to create a Desktop app and have it in front of millions you should start developing for Mac OS instead of Windows as they already have this App Store thingy figured out and have it successfully on the market today.

Why the Windows 8 App Store will fail

This post is a revised and condensed version of what I said in my much longer post on Windows 8 and the disappointing new App Store.

Unfortunately the App Store in Windows 8 seems primarily for Metro apps. Traditional desktop applications can be listed on the store but the store will simply guide the user to the vendor’s website. In the BUILD keynote they didn’t talk much about this so here is the relevant part taken from the whole keynote transcript (highlights are my own):

ANTOINE LEBLOND: People have been writing Win32 apps, there are millions — I mean, it’s a big part of what makes Windows Windows is these millions of apps that people have written.

So, I’m going to go back to the store here and show you something. We actually have — I’m going to scroll over. Let’s see, where’s the finance section? You’ll notice down at the bottom left here, there’s an app called Quicken. It’s not a Metro style app, it’s a desktop app. I’m going to click on it. Here’s the product, here’s an app description page for Quicken.

So, what we’re going to do is we’re actually going to list Win32 apps as well as Metro style apps in the store. One interesting part of this is that we’re not actually going to require — because there has been tons of investment around these things, and all these apps, you know, these big apps, there’s websites where they get sold and they have their own licensing models and all those things.

We’re not going to require people to actually rewrite those things in order to have them in the store. We’re not going to force them to use our licensing.

STEVEN SINOFSKY: Right. (Applause.) We love the ecosystem that’s around Windows applications, and we want to make sure that it blossoms in this world as well.

ANTOINE LEBLOND: Exactly. So, in essence, what we’re doing here is we’re giving these Win32 apps a free listing service and exposing them all of the hundreds of millions of Windows users.

Essentially they are providing a free listing service for Desktop applications. You don’t have to change anything, users will just be pointed to your website and it is free. While the rhetoric used (free, not force them etc.) suggest that this is a good thing it is instead a disaster.

Trust and quality control

How can Microsoft ever guarantee quality or make sure that there is no malware if the users are directed to a website which is outside Microsoft’s control?
The App Store cannot work if users can’t trust the applications listed. The whole list becomes meaningless. For the store to be effective they would need to not only check if the App is useful but also check the user interface. Is the app easy to use? Does it adhere to design guidelines? Is the technical part alright? Does it access folders it shouldn’t? Is it malware or harmful in any way.
Does it have good enough performance?

Apple goes to extraordinary lengths to make sure everything is right. They rather ban an app from the store than have the App Store compromised by hosting an application with sub-par experience. They go so far as to ban all apps that haven’t been written in Objective-C right at the start to make sure that Apps in the Mac App Store feel and behave like true Mac apps (no Java or other cross platform apps). This might seem harsh and is sometimes unfair but for the user the result is extremely attractive and it does drive the Mac platform forward as you have to create a good experience to be able to compete.

Apple’s App Store works precisely because they control the listing, purchase, installation and updates and for the user this means that they can trust Apps from the App Store.

Even if I give Microsoft the benefit of the doubt and assume that they will do some sort of quality control (otherwise we will be swamped with RAM defragers and Registry cleaners and apps that demonstrate very well why Windows occasionally sucks)  the fact remains that if they don’t control the purchase, download, installation and licensing they cannot guarantee the quality of the applications and users cannot trust the App Store.

Ease of use, ease of installation and updates

Secondly by pointing users to the vendor’s website Microsoft does not solve one of the most painful experiences on Windows. The installation and updating of applications. Users will still need to find the download (a lot of companies don’t provide a single click download experience as we do). Users need to deal with the absolutely horrible installation situation on Windows. Users need to deal with a thousand different software license agreements and update mechanisms.

In summary, users don’t get any of the benefits that the Mac App Store provides:

  • trust
  • quality control (very strict rules on what is listed in the App Store)
  • ease of use
  • ease of installation/updates
  • unified license agreements

And Microsoft, curiously, doesn’t want 30% of our sales and doesn’t want to bring great Desktop applications to half a billion users.

If anything could revive innovation on the client then it is an official trustworthy Windows App Store. Sadly, Windows 8 seems to focus on Metro, touch devices and tablets and seems to leave the traditional Desktop to wither away without providing any significant improvements or new innovations.

Windows 8 and the (disappointing) new App Store

The curtain has finally lifted. After months of agony for Windows developers, especially those of the Silverlight/WPF sort Microsoft has finally told us what the heck is going on inside that Microsoft complex.

I work for NovaMind and I spent the majority of the last five years developing a Mind Mapping application with WPF. Naturally I am very interested in WPF and the Windows ecosystem and how we can make NovaMind even better on Windows in the future. The silence around what would happen next with Windows 8 and what role WPF/Silverlight would play was simply harmful. Microsoft has spread fear, uncertainty and doubt (FUD) among the developer base. Normally, the FUD strategy is one used against your competitors but in Microsoft’s case they unleashed it, curiously, on their own developers. If someone can see any good in this or indeed any reason, please explain it to me.

Anyway, now Windows 8 has been announced and the announcement has definitely shaken things up but before I even want to talk about Windows 8 I would like to briefly draw your attention to a different Desktop operating system that has recently been updated. Mac OS Lion. Even if you don’t use a Mac it is interesting to see what the other successful consumer operating system is up to.

Mac OS Lion

Apple’s What’s New page on Lion highlights the most important features from a user’s perspective.

Beside the expected improvements for multi-touch, Mac OS Lion also tackles things that have been accepted ‘as is’ for decades. Auto Save, Versioning and Resume all play together to enable applications to move away from the mess that is file management. Manually saving files, managing different versions and having to deal with application/machine states (restarting, closing, restoring etc.) are a thing of the past on Mac (as it should be). These are features that immediately improve every application on the Mac that bothers to implement these features. NovaMind 5 for Mac already supports these and other new Lion features such as official support for full screen as well.

While Microsoft might have attempted to solve some of these issues in their WinFX disaster they have not managed to even begin to solve it in a shipped product [you might say that this is all no big deal but remember that as developers we are very good at things that normal users simply should not have to worry about].

The Mac App Store

There is another big feature in Lion which is of huge importance to a software developer. The new Mac App Store. I don’t have to introduce you to the concept of the App Store – chances are that you already spent a number of dollars on the hugely successful iPhone/iPad App Store – the Mac App Store basically just brings the success of the iPhone App Store to the client. It looks great and has attractive applications in it. As a developer you give 30% of sales to Apple, adhere to very strict rules of what you can and cannot do and hopefully get your app in front of millions.

Apple announced their App Store a while ago and instead of doing what Microsoft would do and keeping the App Store exclusive to the new operating system they instead did the opposite and released the App Store via the automatic System Update (like Windows Update) to millions of Mac users in the world. And to make sure that everyone knew that the App Store is there and to teach everyone how to use it, Apple released the new operating system via the App Store itself. If a user didn’t just buy a new Mac and they are running Lion then they purchased Lion via the App Store. Not only did users update to the latest OS very quickly (no wonder, it cost $29 and has all these great aforementioned features) but every user who did so signed up for the App Store, entered their payment details and purchased one App on the store successfully (talk about a great tutorial).

As a software developer you cannot ask for much more. Not only did Apple put the App Store in front of as many customers as possible but they also taught them to use it and made sure that the App Store wasn’t just a forgotten icon hidden away somewhere (Microsoft Marketplace anyone?).

In conclusion, Lion brought many features to the desktop that are of immediate use to client developers and Apple introduced the best client App Store in the world to help you to be successful.

This is the kind of application ecosystem Windows developers can only dream about.

Needless to say I was was very excited about the Windows 8 App Store. I hoped that not only would Microsoft catch up with Lion but they would also put the App Store in front of half a billion users (anyone feel light headed?). They would revive the Windows ecosystem by sparking a huge amount of innovation on the client (who doesn’t want to sell software to that many users?). They would solve one of the biggest pains for users on Windows (finding, trusting and installing software). They would earn a load of money and become the new ‘King of the Desktop’. Maybe they would even spark a true ‘Return to the Desktop’.

Sadly, none of that seems likely to happen.

Digesting Windows 8

Since I was not at the Build conference in person I have followed the announcements via the web. I’ve watched the live stream, joined the conversation on Twitter (@PatrickKlug), downloaded and tried the Windows 8 Preview release and kept up with the chit chat on the web.

(If you are a developer and want to find out more of the technical aspects I would recommend that you read Laurent Bugnion’s post on the matter – he sums it up nicely:

My thoughts about Build, Windows 8 , WinRT, XAML and Silverlight)

Windows 8 essentially introduces a new front end to the user. This front end is designed for touch screens and designed to be immersive (full screen). It is fast, nicely animated, follows the great Metro principles in Windows Phone 7 and is the default thing users see when they start their machine.This new front end is also designed for both traditional desktops/tablets (based on x86 and x64 processors) and future iPad-like tablets (based on ARM processors). It seems that Microsoft has not clearly stated if the traditional desktop will be available on ARM based machines so Metro could be all you get in this instance (it also seems that Metro Internet Explorer does not support Silverlight or Flash plugins).

This new front end also has an integrated App Store which allows you to purchase apps which are being created specifically for this new front end. You can use apps you purchase on up to five of your machines and the new front end also integrates with your Windows Live account and synchronizes files and applications for free.

As Microsoft puts it, this is the biggest change in Windows since Windows was invented and they do not exaggerate. This is the biggest change.

Clearly Microsoft paid attention to the iPad and the emerging tablet market and realized that Windows on a tablet needs to be a whole new experience in order to be successful. They also seemed to realize that no one wants a new Windows Compact or yet another flavor of Windows so the decision to have Windows 8 for both tablets and desktops is fantastic. Especially considering that with touch screen desktops the line between tablets and desktops is blurry. In summary I think they did a great job to address this market and the Metro front end looks great for touch screen devices.

One thing is clear after looking at Windows 8. Metro is a new front-end with a new framework and a new user experience. Metro is for immersive apps that are created for touch. It is not meant for porting existing apps or as the replacement for the traditional Desktop.

What about the Desktop?

Essentially this is the question I ask myself and that I hear from a lot of developers after digesting the Windows 8 announcement. For developers there doesn’t seem to be much at all. I’ve seen developers try to use the new frameworks for Metro on the Desktop and I think some might succeed but this doesn’t seem to be what Microsoft has in mind.

What significant improvements does Windows 8 bring to the traditional desktop? Mac OS Lion brought them en-masse. How much innovation does Windows 8 bring to the desktop?

Here is a list of ‘New Features’ in Windows 8 that I compiled from Microsoft’s Building Windows 8 blog:

All good things. Most of the features mentioned are probably for high-end users but there are some really good general features in there such as the improved boot up time and better protection against malware. Unfortunately, apart from the App Store announcement, there is so far not much that is exciting for a desktop client development and for third party applications such as NovaMind.

The App Store

Unfortunately the App Store in Windows 8 is primarily for Metro apps. Traditional desktop applications can be listed on the store but the store will simply guide the user to the vendor’s website. In the keynote they didn’t talk much about this so here is the relevant part taken from the whole keynote transcript:

ANTOINE LEBLOND: People have been writing Win32 apps, there are millions — I mean, it’s a big part of what makes Windows Windows is these millions of apps that people have written.

So, I’m going to go back to the store here and show you something. We actually have — I’m going to scroll over. Let’s see, where’s the finance section? You’ll notice down at the bottom left here, there’s an app called Quicken. It’s not a Metro style app, it’s a desktop app. I’m going to click on it. Here’s the product, here’s an app description page for Quicken.

So, what we’re going to do is we’re actually going to list Win32 apps as well as Metro style apps in the store. One interesting part of this is that we’re not actually going to require — because there has been tons of investment around these things, and all these apps, you know, these big apps, there’s websites where they get sold and they have their own licensing models and all those things.

We’re not going to require people to actually rewrite those things in order to have them in the store. We’re not going to force them to use our licensing.

STEVEN SINOFSKY: Right. (Applause.) We love the ecosystem that’s around Windows applications, and we want to make sure that it blossoms in this world as well.

ANTOINE LEBLOND: Exactly. So, in essence, what we’re doing here is we’re giving these Win32 apps a free listing service and exposing them all of the hundreds of millions of Windows users.

Essentially they are providing a free listing service for existing Windows applications. You don’t have to change anything, users will just be pointed to your website and it is free.

I cannot sufficiently describe my disappointment with this. Instead of applauding them I cringed when I heard this. There is just so much wrong with this.

Trust and quality control

How can Microsoft ever guarantee quality or make sure that there is no malware if the users are directed to a website which is outside Microsoft’s control? The App Store cannot work if users can’t trust the applications listed. The whole list becomes meaningless. For the store to be effective they would need to not only check if the App is useful but also check the user interface. Is the app easy to use? Does it adhere to design guidelines? Is the technical part alright? Does it access folders it shouldn’t? Is it malware or harmful in any way. Does it have good enough performance?

Apple goes to extraordinary lengths to make sure everything is right. They rather ban an app from the store than have the App Store compromised by hosting an application with sub-par experience. They go so far as to ban all apps that haven’t been written in Objective-C right at the start to make sure that Apps in the Mac App Store feel and behave like true Mac apps (no Java or other cross platform apps). This might seem harsh and is sometimes unfair but for the user the result is extremely attractive and it does drive the Mac platform forward as you have to create a good experience to be able to compete.

Even if I give Microsoft the benefit of the doubt and assume that they will do some sort of quality control (otherwise we will be swamped with RAM defragers and Registry cleaners and apps that demonstrate very well why Windows occasionally sucks)  the fact remains that if they don’t control the purchase, download, installation and licensing they cannot guarantee the quality of the applications and users cannot trust the App Store.

Ease of use, ease of installation/updates

Secondly by pointing users to the vendor’s website Microsoft does not solve one of the most painful experiences on Windows. The installation and updating of applications. Users will still need to find the download (a lot of companies don’t provide a single click download experience as we do). Users need to deal with the absolutely horrible installation situation on Windows (I have ranted about this before here and yes, I know Stackoverflow is not the best place for this). Users need to deal with a thousand different software license agreements and update mechanisms.

In summary, users don’t get any of the benefits that the Mac App Store provides:

  • trust
  • quality control (very strict rules on what is listed in the App Store)
  • ease of use
  • ease of installation/updates
  • unified license agreements

And Microsoft, curiously, doesn’t want 30% of our sales and doesn’t want to bring great Desktop applications to half a billion users.

If anything could revive innovation on the client then it is an official trustworthy Windows App Store. Sadly, Windows 8 seems to focus on Metro, touch devices and tablets and seems to leave the traditional Desktop to wither away without providing any significant improvements or new innovations.