Creating apps
Some analyses are best presented with the journey to get there, while others call for a more polished interface. You may wish to hide some code blocks so they don’t distract from the story you are trying to tell, or parametrize the notebook with a couple of inputs so your audience knows which knobs to turn. With Deepnote, you can now create stunning apps that will impress your CEO.
How to create an app
To publish a project as an app, open the notebook you would like to publish and select Create app in the top right corner.
App sharing settings
Just like you can set the sharing settings for projects, you can set the access controls for your app. For example, it is possible to have a private project with a public app. In this case, no one will be able to open and edit your project; however, the app will be visible to anyone.
Visibility of the app can be set through the Permissions dropdown in the App settings.
The following access levels are available:
- Workspace & collaborators. The only people who can access the app are the ones who have access to the original project. This will depend on your project sharing settings.
- Anyone with a link. Only people with whom you share the link can access the app. It is hidden from your public profile and search engines.
- Public. Your app is visible in your public profile and can be indexed by search engines. This is useful if you would like others to come across your work.
Live updates
Changes in the notebook are now automatically saved to your app to improve your development speed.
There are three ways to make changes to already published apps:
- Small updates. You can simply edit the notebook to make immediate changes to the app. The app viewers will need to refresh the tab in order to see them.
- Duplicating the notebook and bringing changes over. For larger changes, you may wish to first prepare them in a copy of the notebook, and once you are satisfied, you can paste them over to the original notebook.
- Duplicating the notebook and republishing it. If you want to ensure that your app is in a working state at all times, prepare them in a copy of the notebook, and once you are satisfied, publish the new notebook. Block visibility and other configuration options will be preserved, you only need to check how you want to display any new blocks you added. The link to the app will remain the same.
Modifying layout
The apps reflect the layout of the notebook. You can drag and drop multiple blocks next to each other to organize your work. The order of blocks in apps will always be the same as in the notebook.
In the App settings, you can hide an entire block, or only its code or its output. You can also use a toggle to Hide all code blocks, Make app full-width, or Show table of contents.
Auto-fill data from notebook
If you want your app users to start with a clean slate, you can disable the setting Auto-fill data from notebook.
Note, when your app has multiple input blocks, your users might need to provide a value for each one before the notebook executes without any null values.
When the setting is enabled, the app users will see the values of input blocks and all block outputs currently visible in the notebook.
App interactivity
The viewers can refresh the app results by clicking the Run button in the top-right corner, or by selecting a different value for any of the input blocks. This executes the notebook from top to bottom.
The apps are interactive by default, unless you disable the setting Allow viewers to run the app.
How does interactivity work?
- Whenever a user interacts with an Input block (e.g. a dropdown menu, a text input) and then clicks on Apply, the whole notebook is executed with the new input values.
- Every run is stateless - users interacting with a published project don't interfere with project state for other users.
- Interactive runs use the same machines as the project. Execution of the published project will wake up the project's machine and use its resources, and the machine will be shut down after a period of inactivity. If you expect a lot of concurrent users in your app, you can upgrade to a stronger machine in your environment settings.
- The app will use the same environment settings (such as custom Docker images) as the underlying project.
Public profile
You can showcase all of your published apps (or articles) in your public profile, so others can come across your work, and you can build your online portfolio of data projects.
All published projects with visibility set to Public will automatically appear in your profile.
Deleting apps
You can delete an app at any time by going to App settings and selecting Delete app.