AppCenter Spotlight: Transporter

Hassle-free file sharing

Transporter by Bleak Grey is pure magic. Based on a technology called Magic Wormhole (yes, really), it makes sharing a file across the room or across the globe stupid easy. This is seriously my new favorite app.

Meet Bleak Grey

Before we dive into Transporter, let’s meet Bleak Grey and hear his development story.

While Bleak Grey’s not his real name—he wishes to remain anonymous—Bleak is willing to share a little about himself and his interests: he’s a linguistics student who dabbles in photography, drawing, and learning German. He also aspires to learn to play the violin, and ponders about releasing a game some day (please, I’d love to see more games in AppCenter!).

Bleak started developing apps for elementary OS due to his drive of trying new things, and his falling in love with the community.

One day I found out about elementary OS. It was beautiful, fast, and easy to use, so I decided to install it on my laptop. In fact, I liked it so much I wanted to be a part of this community. When I realized AppCenter could use some native apps from developers, I decided to write an app.

So he did.

Getting into Development

He had never developed for Linux before, so he was truly trying something new! He followed the elementary Developer Guide, Googled for help, and spent the next couple of weeks building Transporter.

There were some ups and downs (I mean the “aaaaagh” commits), but I think it’s relatable to the programming as a whole. I feel like the entire experience with elementary was so enjoyable it makes me want more.

He spent the next week getting it packaged up, built, and tested in AppCenter Dashboard. After figuring out the Debian packaging, it was smooth sailing.

The publishing process is smooth and really simple. You connect your GitHub account, release a version and submit it to AppCenter. Honestly, I was shocked at how easy it was. The time gap between writing and publishing Transporter was so short it’s amazing.

The Result: Transporter

So how did Bleak do? Like I mentioned at the start, really well: this is my new favorite app! Let’s take a closer look.


When you pop Transporter open, you’re greeted with a familiar welcome screen (like the ones you may have seen in stock elementary OS apps like Music, Videos, Scratch/Code, etc.). You can do three things: Send files, receive files, or show your downloads folder.

Drag target Transfer ID

Sending files: dead simple

Opting to send files shows you a nice big drop target for files. If you drop a single file, it’ll send directly. Otherwise, it’ll zip the files or folder you share up so it’s still just one transfer.

Once you drop some files, you’re given a “transfer ID.” This ID comes from that Magic Wormhole backend, and is a combination of a number and a few words. The idea: you can easily remember this combination or speak it out loud across the room or over a call, then the recipient can punch it in to start a peer-to-peer, end-to-end encrypted transfer. You can read more about the backend and concept over at the Magic Wormhole site—I recommend you do, as it’s some fascinating work.

The ID is only usable as long as your Transporter window is open and someone hasn’t downloaded the file: as soon as it’s closed or used, it’s invalidated. This means there’s little risk for anyone but the intended recipient getting the file, since it’s one-time use and only open for a short time. Plus, with tons of possible number and word combinations, guessing an ID while it’s briefly open is nearly impossible.

Receiving files

Receiving files: just as simple!

On the other end, receiving files is just as simple as you’d expect. You punch in the sender’s transfer ID, hit Enter, and start transferring the file. Boom, easy.

I’ve started using this for my own file transfers at home and work since it’s so simple, and I highly recommend anyone on elementary OS to grab it! It has come in handy to transfer a large file when a flash drive wasn’t handy, to transfer a small file from home to work, and to send goofy demo pics back and forth with friends.

I’m even considering doing some goofy first-come-first-served social media promotions with it, since the one-time-use aspect could lead to some competition… so stay tuned for that. But regardless, it’s a super useful app built on a really interesting backend. I recommend you download it and give it a try!

Get It

Transporter is available on AppCenter today for free. Its source code is also openly-licensed and available on GitHub.

Bleak also encourages people who want to help out to get involved! Issues, ideas, feature requests, and pull requests are all welcome. Check the details on GitHub.

The Future

Bleak considers Transporter more or less functionally complete, but he’s not done developing for AppCenter.

I’m pretty proud for this app, since it’s my first one ever written for Linux. It was an interesting experience and I loved it. But I don’t think it was enough for me. That’s why I’m writing another one, a Mastodon client for elementary OS.

I’m unreasonably excited about this, as I’ve started using the indie open source social network Mastodon more day-to-day, and an indie open source client on the indie open source app store just seems… right. Plus it’s called Tootle. What’s not to love?

Be sure to follow along with development and musings by following Bleak Grey on GitHub, Twitter, and of course, Mastodon.

As for parting words, Bleak had this to say:

Thank You

Thanks to all of our supporters, backers, and customers! Your contributions make elementary possible. If you’d like to help build and improve elementary OS, don’t hesitate to Get Involved.

Some rights reserved

Join the Discussion on Social Media

Up Next

OS 8 Now Available in Early Access

Plus a new version of Code

Developer Tips: Backgrounding & System Integration

Best practices for making your app a first-class citizen

Building the Next Generation of Apps

Platform improvements and goals for Juno