Overview:
Apps approved for the Thinkific App Store should deliver a great user experience. This means the app has:
- A clear onboarding for first time users
- Is relatively easy to learn how to use the core functions of the app in conjunction with Thinkific
- Customers can gain the value they want from the app quickly.
Although each app is unique in its features and flows, below are some general principles that universally apply to providing a good user experience.
In this article
- Navigating your app
- Installation Flow
- Account creation
- Account access
- Pricing transparency
- Onboarding and set up
- Documentation
- Theme Extension Apps considerations
- Site Script apps considerations
- Using API features gated to certain Thinkific plans
- Uninstalling your app
- In-App integrations
Navigating your app
Where our API allows, accessing your app’s experience and functionality should be built within the Thinkific product itself. The need to switch tabs to access your app should be minimized to provide the best possible experience and workflow for customers.
If your app can stand alone and its functionality cannot make use of available APIs, you may be better suited to a tech brand partnership or channel partnership - get in touch at partners@thinkific.com if this applies to you!
Installation Flow
The first thing a user must see after clicking ‘Install’ in the Thinkific App Store listing for your app is the authorization consent page. This allows them to review permissions and details about the apps before finalizing the authentication and is a common experience that builds trust across all apps in the app store.
For more on this, see What should a user see when they install my app?
Account creation
For account creation we operate under the principle of consent and choice.
If your app is an external product and not exclusively built on top of Thinkific, you should provide the option to link to an existing account to avoid issues with duplicate accounts. For new account creation, allow customers to sign in with their Thinkific account via SSO using OpenID.
Below is a sample of a best practice account creation screen:
If your app functionality is built on top of Thinkific where a separate account is unlikely and duplicate accounts are not a concern, you may use Thinkific SSO directly. You must provide clarity after the redirect that an account has been successfully created with their Thinkific account information. Consider using a pop up notification upon first entry or adjusting your welcome onboarding materials to notify the customer of this.
This introduces “good” friction, makes the account creation and how to relaunch and login to apps more explicit and provides a great customer experience.
Account access
To reduce friction for adoption, we recommend your app pricing have a free trial or freemium tier to allow a customer to access your app features immediately after installation and account creation. Course creators will want to test how your app features work with Thinkific. They should be able to view the app value in action prior to making a purchase.
Pricing transparency
If your app is a paid app, include transparent and clear pricing and their related app features. Your app should provide an easy avenue for customers to manage their billing and plan options, including viewing, changing or cancelling their plans. Billing and payment options should be found under standard menu items, such as Account or User profile.
Onboarding and set up
Post installation, third party apps redirect customers to a defined page outside of Thinkific’s admin. Therefore, it is important to provide a clear onboarding experience for customers so they can orient themselves, and quickly understand how your app connects and works with Thinkfic.
-
After the installation process, the first touch a customer receives should be a welcome message or orientation message informing them their account is now created and how to get started.
-
If your app uses the customer’s Thinkific account to login and this is not an explicit action the customer takes, you must let the customer know when they have first signed on how they have accessed the app and can return again
-
The set up process for your app must be “code-free” to protect against site breaking errors and speed up time to value. We do not allow apps that require editing a site’s theme code; as errors here could cause an entire Thinkific site to break. Updating a theme to its latest version will not preserve any custom code edits. To maintain app functionality and minimize customer maintenance, it is in your app’s best interest to insert any code needed for your app by using the Site Scripts API.
-
Your first experience should contain educational content that covers the basics to get a customer started in using this app with Thinkific. Read the full documentation guidelines.
-
We recommend you use guided tours or contextual tutorials that teach the customer how to use your app features as customers may skip reading or watching upfront documentation.
-
You must also provide a way to get back to the tutorial or help content should the customer decide to skip or exit it so they can explore your app. Ensure onboarding content is accessible in text format. See Onboarding Documentation guidelines for more details on accessibility.
-
Your app should allow the creator to preview the functionality or live site experience if applicable. It should be easy to see the final result of what an app can do without the customer blindly exposing app functionality to their public live site.
Documentation
-
Your app must have documentation specific to how it can be used with Thinkific. See App Documentation for help on how to write your documentation.
-
Set up instructions and testing steps should communicate Thinkific system information or progress that may interact with an app. Any standard delays between the two systems, such as email events firing between systems should be communicated as expected app behaviour. In-app notifications of intersystem delays is preferable.
-
Documentation should not expect the customer to be a Thinkific expert nor have insider Thinkific knowledge. You should err on the side of the novice user for both systems in instructions and set up. If need be, you may link to our existing knowledge base articles to ensure a customer can set up and use your app successfully. Example: How to find the URLs of custom pages to test or demo an app feature, or how to find the URL of default pages.
-
If your documentation contains video or images, please provide a transcript or captions for accessibility. Ensure that different media is equivalent in the level of detail available for documentation. Quick start videos should not contain information that is not available in written documentation
- You may also provide a link to written documentation under your video if the onboarding and documentation content is equivalent
- An added bonus of adding text and video, is that text is more accessible to a wider audience and it can also be translated by the browser into different languages
-
If your app requires students to create accounts and onboard to a new experience as well, Student instructions must also be provided and follow the same principles of a comprehensive onboarding.
Theme Extension Apps considerations
Theme extension apps allow app developers to create custom sections that bring additional functionality to any Thinkific site pages that have the Add Section functionality. Because these sections are part of the course creator’s public site, there are some extra considerations you will want to keep in mind for a good experience.
Fit a customer’s branding and style
-
Course Creators spend considerable effort managing their branding and online visual presence. Your app’s custom sections should ingest the customer’s Thinkific site branding. Where possible your app’s section styling should default to their primary and secondary button and link colours, and font choices. This will ensure your custom section shows up properly on the customer’s site design. For instance if your section contains buttons and you have set them to be black and the Thinkfic site page background colour is also black, the customer will not be able to properly see what the section looks like and may interpret that your app feature is broken. Ingesting the button and text colour choices of the Thinkific site your app is installed on should help customers understand what your custom section will look like while previewing it in the Site Builder.
-
If possible, allow visual customization options for styling your custom section within the section’s settings. For examples on how to add these options to an app section, see the documentation on building Theme Extension Apps.
-
App sections should be able to be previewed in the Site builder. If updates to your app section do not automatically display on the Site Builder preview, provide explicit instructions on how to view changes in your documentation. Some apps that provide popups or require live site interaction to preview require a user to launch the live site. If this is the case, provide instructions on safe ways to preview the functionality, either by using a private custom page or private course.
Site Script apps considerations
-
We recommend your app communicate the new status of when a script has now been injected to manage customer expectations of when app functionality will appear in their Thinkific site. This is particularly useful if there is a delay post installation or user configuration that is needed prior to a script being injected.
-
We also recommended that any updates or edits to the scripts be communicated so the customer can be aware of changes that impact the app’s functionality on their site. Consider using a toast message or a script log in your app so that customers can reference this information if needed. It is not necessary to notify the customer inside the Thinkific product of these updates in real time as it may be overly intrusive to their workflows.
Using API features gated to certain Thinkific plans
If the customer doesn't have access to APIs needed for your app, your app should disable the UI that triggers the API request and provide a message to the customer. The message should inform the customer their current plan lacks access to Thinkific features that are required for the app to work.
Pre-emptive messaging and guarding of the unavailable feature provides a more immediate way of communicating the need for Thinkific plan upgrades without requiring the user to have to click through then further understand why something is not working.
At a minimum your app should provide informational and actionable error messaging to the customer upon any failed API request due to lack of API access based on their Thinkific Plan.
Uninstalling your app
When your app is uninstalled, all code, sections and scripts must be disconnected or removed from the customer’s Thinkific site. Uninstalling your app should not have any detrimental effect on the customer’s Thinkific site.
If a customer is able to log into your 3rd-party app, there should be a visual indication that the app is no longer connected to their Thinkific site so that they are aware of the status. Provide guidance so they know how to re-install your app and connect again.
In-App integrations
If your app contains both default functionality or optional integration with another 3rd party app, emphasize your internal or native default. This will reduce the perception that in order to gain value in connecting this app with Thinkific, a chain of apps must be installed. Your apps value should be positioned as a 1:1 relationship with Thinkific
For general in-app experience guidelines we review against, we can refer to Jakob’s 10 Usability Guidelines for User Interface Design.
For additional information on the User Experience Guidelines please check out our free app development course in the training academy!