Features of Teleport #Part-3
Published: 2021-01-11 07:25:41

## **Teleport**
Teleport has a variety of features that make it the next best tool for file transfer.

#### 🎬 Walkthrough of teleport and its features:
{% vimeo 499063906 %}
 

#### Dynamically Switching Topologies
Unlike traditional file sharing clients which have a fixed topology that either works on a streaming mode like sharedrop/snapdrop or uses webTorrent's API like blaze, Teleport can switch its nature dynamically which makes it first of its kind. We built a hybrid module that can dynamically switch between topologies to provide the best possible file transfer mechanism. This helps solve two major problems in the existing solutions - 
1. Traditional bandwidth issues when more peers join
2. Zero wait time
{% vimeo 499057282 %}

#### CLI to Browser Synergy 🖥️ :heart: 🌐
This is one of the primary features that allows us to transfer files across CLIs and browsers seamlessly thus making the tool truly accessible to regular users and developers alike. We built a npm module [teleport](https://www.npmjs.com/package/@teleport-js/teleport) which can be installed as a CLI tool. Now developers can send files from CLI to any browser and receive both file and clipboard content from browsers without exiting their development environment.
{% vimeo 499057846 %}

#### CLI Usage 🖥️
You can send and receive files and text/clipboard content using Teleport's npm module. Once you start Teleport in the CLI, it listens to portals created local rooms and dynamically refreshes on its own. This prevents users from closing and opening the tool again to see the changes.
#### Local Network Detection 🖧
Teleport was built to provide productivity and convenience to every user and this feature helps deliver this to them. When a portal is created, other users in the local network are notified of the existing portal. This helps users directly connect to the portal without having to share their portal codes.

#### Automatic Recommendation of Previous Portals 📝
Once you join a peer's portal, their user name and portal code is saved to a suggestions list. During future interactions to connect with the same peer's portal, the name of the user can be used to recommend the previous peer's portal code.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/e0l5is40fxznh78tw4jn.jpg)

#### Secure Private Portals🕵🤫
Sharing confidential files is possible using private portals which enables the sender to validate the authenticated receivers before entering the portal. Furthermore, private portals are invisible to other peers in the local network. 

#### Clipboard and Text Content Sharing 📋
Apart from files, _Teleport_ can also be used to transfer text and clipboard content. We also provide _auto clipboard copy_ feature which copies the clipboard content directly to the receivers, ensuring that a prompt doesn't hinder your productivity.
{% vimeo 499058581 %}

####  PWA Support 📱
Teleport is also available as PWA to emulate a native app environment for mobile users. Here is a list of the features available in PWA,
- Integrated [WakeLock API](https://github.com/richtr/NoSleep.js/) to prevents device screens from dimming or locking during file share to get a stable transfer speed.
- Added [Web Share Target](https://web.dev/web-share-target/) to share any file directly from the gallery(or any native apps) via Teleport without actually opening the app.
- Implemented _push notifications_ that notify the user of certain events while the app runs in the background.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/j3r9eulaalnm767czspz.jpg)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/qc6bi528i942up172uqy.jpeg)

####  Highly Customizable ⚙️
Our main goal is to boost productivity and provide convenience to our users. Hence we have provided a wide variety of options as shown in the diagram below.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/du6tx7f5yj1gsqppio8y.png)

####  Smart Environment Sensing 💡
Sending files from one device to another always has many complications. We have successfully created our module to intelligently detect the environment and optimize the file transfer mechanism. All this is abstracted from the user to facilitate a rapid file transfer.

<!-- #### Simply fast
Compared to other file transferring tools, we are simply fast. We studied the protocols implemented in other tools and have designed our module to intelligently optimize based on the situation at hand. -->

###### For more insights on Teleport and technical breakdown of various features and different use cases, read our follow up post, [*' Technical Breakdown ⚒️'*](https://dev.to/telepor22239085/technical-breakdown-6p0).