From a456813b43553f12617dfca2a4a3262c560f0f88 Mon Sep 17 00:00:00 2001 From: Tobias Bernard Date: Wed, 19 Apr 2017 16:55:10 +0200 Subject: [PATCH] [docs] update readme --- README.md | 24 +- docs/mvp-mockup.png | Bin 0 -> 31794 bytes docs/mvp.svg | 798 +++++++++++++++++++++++++++++++++++++++++ docs/notifications.png | Bin 0 -> 17068 bytes 4 files changed, 820 insertions(+), 2 deletions(-) create mode 100644 docs/mvp-mockup.png create mode 100644 docs/mvp.svg create mode 100644 docs/notifications.png diff --git a/README.md b/README.md index 3dba163..d601346 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,30 @@ -# teleport +# Teleport +Teleport is a native GTK3 app to effortlessly share files on the local network. +![Teleport Mockup](docs/mvp-mockup.png) -###Build +It's our answer to the question +> Why is the easiest way to move a file between two computers in the same room sending it to a server in another country and retrieving it from there? +Teleport is designed to be a replacement for using USB keys or emailing stuff to yourself just so you have them on another device on your desk. The main user interface on the receiver's side are notifications: + +![Teleport Notifications Mockup](docs/notifications.png) + +## Roadmap +We are currently working on an MVP for a native GNOME app that only sends files, but longer term we are interested in doing things like: +* drag & drop files to send them +* sending text snippets +* file transfer progress bars +* settings dialog +* file encryption +* native Android/iOS/macOS/Windows apps + +## Build ``` cd src make ``` + +## License +AGPLv3, because freeeeeeedom diff --git a/docs/mvp-mockup.png b/docs/mvp-mockup.png new file mode 100644 index 0000000000000000000000000000000000000000..bd8825a28565f1ab81310beacd558122c664c605 GIT binary patch literal 31794 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 E12_}@zyJUM literal 0 HcmV?d00001 diff --git a/docs/mvp.svg b/docs/mvp.svg new file mode 100644 index 0000000..3fac6c8 --- /dev/null +++ b/docs/mvp.svg @@ -0,0 +1,798 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + This device + + Angela's Thinkpad + + + + + + + + + + + + + + + Kim's Zenbook + + Send File + Other devices on o2-WLAN09 + + Jan's Librem + + Send File + + + + + + + Visible on network + + + Teleport + + + + + + + + + + + + + + Transfer of setup.sh from Jan's Librem is complete + Open + Drag and drop files on devices to send them + Teleport + + + Teleport + + + + + + + + + + + + + + Jan's Librem is sending setup.sh (330kB) + + Save + Decline + + + + This device + + Angela's Thinkpad + + + + + + + + + + + + + + + + + + + + + + + Visible on network + Teleport + + Other devices on o2-WLAN09 + + To start sharing files, your device has tobe visible to others on o2-WLAN09 + + + Make me visible + + + + diff --git a/docs/notifications.png b/docs/notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..464fd862ac6e8a951498658353fff4a6702cc581 GIT binary patch literal 17068 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 jcGA~hc~}