Next Tech's sandboxes provide you with access to real-world computing environments in 2 seconds directly from your browser. Rather than installing the programming language or software you want to use on your computer, you can just click a button and access that language or software right away using a browser-based development tool.
We built our sandboxes to solve two key problems we experienced ourselves as developers almost every day:
- 1.Installing software is haaaaaaard. Even experienced developers can struggle with this and it's something that can get in the way of trying out new ideas. It's nice to have something works out of the box so you can focus on innovating.
- 2.When you DO install software on your computer yourself — especially if you just want to test it — it can quickly clutter your environment. Maybe you want to try the newest version of Java, but installing it on your computer could cause issues with your current version.
Next Tech sandboxes address these issues by shifting the burden of installing software off of you and onto us. But that's okay, we've been doing this for years! Next Tech sandboxes are based on the same infrastructure and interface that powers our product for teaching and learning tech skills, which is used by leading educational companies all around the world. In fact, the CS50 programs at Harvard and Yale have actually built their own sandbox based atop our infrastructure!
Here's what a sandbox for the Python programming language looks like when you first launch it:.
A blank Python sandbox on Next Tech.
In this getting started guide we'll cover how to launch your first sandbox and a few of the exciting things you can do with it.
Let's dive right in!
You have two options for launching a sandbox:
Chose one of those options to launch a sandbox, then head back here to learn how to use it!
Initially your sandbox will display a directory tree viewer, code editor, and terminal. To add some code, just click the
+icon or the
...next to your working directory:
Two options for creating a new file.
You'll be shown an overlay like this:
The new file overlay
Go ahead and create a file named
main.py. Don't worry about the tabs at the bottom yet ― we'll cover those soon!
Once you've created a file, it will be saved to your working directory (shown in the file tree as
~/workspace, the absolute path for which is
/home/nt-user/workspace). So the full path for this file is
You can put any Python code you'd like in here, but in case you don't have some handy, here's a quick calculator to get you started:
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
if __name__ == '__main__':
x = int(input('Please enter a number: '))
y = int(input('Please enter another number: '))
You can run this file from the terminal however you'd like, for example,
python3 main.py. You'll be shown the output of the program, for example:
workspace $ python3 main.py
Please enter a number: 123
Please enter another number: 456
The terminal connects you to an actual computing environment. Go ahead, give
ls -l /a try in the terminal, where you'll see a full operating system directory structure! You also have full admin access (
sudo), so you can alter any part of the filesystem you'd like.
There are sandboxes for a multitude of other environments, including:
- Common programming languages like Java, C++, Swift, and C#
- Data science frameworks for Python and R
- Databases like PostgreSQL and MySQL
- Specialty languages like Elm, Haskell, Golang, and Rust
Each sandbox comes with certain programs preinstalled. If you launched the Python sandbox, you can run
ipythonin the terminal to jump into that nifty piece of software. You can also install new software, for example:
sudo apt install -y gnome-calculator
Each sandbox is given access to 256MB of free disk space and can use up to 2GB of RAM. It also has access to up to 4 CPU's worth of processing power.
Once you've run the above command, open a desktop tab by clicking the
+and selecting Desktop, then run
gnome-calculatorin the terminal, and open a "desktop" tab by clicking the
+and selecting Desktop. You'll see this:
An actual graphical calculator running in the cloud.
Pretty slick, right?
You probably noticed by now that there are a multitude of other tabs you can select from. Here's a quick list of the others:
- Terminal tabs give you access to a new terminal, which makes it easy to run multiple programs or commands concurrently.
- Browser tabs load a web browser you can use to connect to web accessible services running in your sandbox.
- Jupyter tabs loads an actual Jupyter Notebook for you to work in, which is great for data science or machine learning.
You've probably already seen the Share button at the top right of the page! If you send a share URL to someone, they'll get a copy of your sandbox as it stands when they click the URL.
Here's the share URL for the project used to take the screenshots for this post:
If you click that, you'll be taken straight to a Python sandbox with the calculator code in it. Note that it won't have the
gnome-calculatorinstalled because (currently) sandboxes do not persist newly installed software, so you'll have to install that yourself if you'd like to try it.
The files you create (and the tabs) are saved automatically as you work in your sandbox. However, sometimes you may want to save them to your local machine, for example if you've tested a proof-of-concept and now want to continue to work on it as part of your normal development process.
To do this, just click the settings gear in the bottom left of the page, then choose Download.
Whew, that was a lot to cover! Let's recap. Above, we explored:
- 1.Launching a computing environment for Python in a few seconds (especially if you used the nt.dev URL)
- 2.Writing a basic calculator in Python
- 3.The various interface elements available to you in a sandbox
- 4.Installing software in a sandbox (the
- 5.Opening an actual desktop environment and used that software
- 6.Downloading your work for use in your local development environment
This has been just a quick guide to get you started with. If you'd like, you can explore the rest of the documentation on this website to learn more about what you can do in a sandbox!