We are developing a data-heavy site and I was wondering, how should we present (or hide) upcoming functionalities. Let's say in a form an option which will only be available later. Or a button that says 'create new xy'.
What would be the best practice here? Should we completely hide the functionality until it is released, or show it, but how, in order to not end up frustrating the user by clicking something that is not yet available?
Would appreciate some help as we are not sure how to proceed.
Without knowing more about your specific application and its users it is difficult to offer specific suggestions. Also curious about your concerns around upgrading functionality. What do you fear will happen if you don't warn users in advance?
In more general terms there are a few ways of approaching the introduction of new functionality or changes. In no particular order:
When the change is ready - deploy it in parallel and encourage users to swap to the new version (Atlassian and Microsoft Office do this for example) before eventually switching over when analytics show a certain percentage of users have switched. The downside of this is that it requires you to serve and maintain multiple versions of your application.
Create a newsletter (old school?) or twitter or Youtube or something and introduce users to upcoming changes that way before release. Could add a link to the article or video on the current site.
When you do the release - include a wizard that highlights the change(s) on the interface as soon as the page is loaded. I've seen this sort of thing on currency exchanges before, for example.
Test the new functionality (either functional or non-functional) with a group of users and see how they respond to the change. Does it confuse them? does it result in unexpected behaviours? Or do they get it straight away. This could then inform any subsequent rollout.