Onboarding for desktop apps

I’m doing some work on raising the download to sale ratio on one of my desktop apps. Does anyone have any experience building onboarding into a desktop app for trial version users?

What I’m thinking of doing is tracking (locally) which actions they use and don’t use over the course of the 10 day trial and tailoring messages and pop-ups to them depending on how many days they’ve used the app and whether or not they’ve found / used certain features.

I’m looking to direct them to web pages or YouTube videos depending on which on features they haven’t found.

There are a lot of tools out there for SaaS apps to build features like this in (AppCues being on example I’ve used before), but nothing for desktop that I’ve found. The app is built in .Net.

Has anyone implemented features like this? And have you rolled your own solution or are there off the shelf packages that can help.


I don’t have any real experience in desktop app onboarding, but have a similar idea. Maybe with a server side flexible mechanism to choose proper popups.

And showing YouTube videos is an interesting idea also. But I am not so sure that watching YouTube video of a function that the user have not tried yet will be really interesting for the user.

What we noticed with our teaching videos, that the average watching time is about 3 minutes or less.

Yes, but with a more generalized approach. Based on customer support requests we were able to locate what features are hard or confusing to use. Based on this data, we’ve significantly improved user manual and made lots of UI changes to make features easier to use. Some typical error messages were reworded to better explain what’s wrong and what to do about it.

I’m not sure that tracking what user does and suggest them to watch videos will work. I’d feel uncomfortable if I received a message like “You were using feature X for 5 minutes, we suggest you to also try feature Y”. I don’t like being followed.

I was thinking short, 60 second videos.

You may be right that better documentation should be the first port-of-call. The website is a bit weak in that area. I can’t make the UI of the app any more simple than it is, but I’ve learned from a recent survey of users that many paid-up users don’t even realise certain functionality exists, even when there’s a great big button on the toolbar for just that function.

Regarding tracking the user, I’m the same, but my feeling here is my and your opinion here is super-user bias talking. The average user doesn’t seem to care about this at all — not that I’ve seen anyway.

I think this kind of onboarding is a blunt hammer that is also rather expensive to implement.

It seems like a good idea but is probably neutral to negative.

I’ve used several web apps that did this kind of guided onboarding (it’s easy to implement on the web).

Not once was it useful.

When I start the app for the first time, I’m not ready to spend brain cycle on remembering the information the author thought is important. And I emphasize thought because in the end you’re just guessing.

All those guides ever did was to annoy me. Not to the point of abandoning the app, so it’s not that bad, but it never was good.

What to do instead?

1\ Contextual help

Get the basics of contextual help right.

Do you have tooltips for all clickable UI elements?

Do they have ‘more info’ link that launches a browser with a page that explains that specific element both exhaustively and concisely? One that explains “what does it do”, “why does it do it” and places the functionality in a broader context.

I rarely see that done right.

Most apps don’t have any documentation.

If they do have docs, they don’t link to them contextually from the app.

If they do link, they lazily link to a generic manual page, not to to a page crafted specifically for that element.

2\ User testing.

You want UI that doesn’t need explanations. That’s achievable for most small-to-medium size apps.

Get someone new to the app. Ask them to use it. Observe. Fix the things they struggle with.

Can’t find people like that? Post a craigslist add and offer to pay $20/hr for 2hrs.

Or use https://www.usertesting.com/plans. Never used them but they claim to support desktop apps and you pay $49 for a single recorded video session.

Thanks for the comprehensive reply. We do have links to help articles off menus inside the app, but we could probbaly improve on this by adding more context relevent links.

I’m going to give that user testing site a go as well. A few $49s is a small price to pay to see a user using the app.

I remember one legendary onboarding effort…

Perhaps by reading on what was wrong with Clippy, one can see what should not be done in onboarding.

1 Like

In PerfectTablePlan I use a combination of:
-greyed out text in empty controls
-balloon help that gives you context sensitive tips (e.g. if you have added guests and tables, but haven’t assined guests to seats, it will tell you how to do that)
-context sensitive help (including a ‘how do I?’ help menu that changes with context)
-quick start guide
-videos linked in the help

I also analyse user feedback to see where people are having issues.

I agree with @kjk that usability testing is very important. And almost no-one does it!

1 Like

I just show a couple of links to introductory articles after a user clicks “Download”. After adding them, “how to” support requests almost disappeared.


I’m doing something similar on my app. At this point, I use mixpanel.
It’s quite easy (it’s got c# integration, which I use), and at this point I have 2 events (“start_app” and “subscribe”). For each event, you can send as much data as you want - so you can locally see what features the user uses, and log this on mixpanel.

Right now I use this as an easy way to see what features our users use, without having to go through the complexity of managing a database on the server. It’s very likely that when you’ll have lots of users, this will prove ineffective, but for starting up, seems quite good.