product

BayJDO

PeriodJuly 2020

BayJDO is a web-based peer-to-peer file transfer app that allows users to transfer files between devices without the need for any third-party servers. It uses WebRTC to establish a direct connection between the devices and transfer files. The app was launched in June 2020 when the Indian Government banned 59 Chinese apps, including ShareIt, Xender, etc., and got featured in multiple media outlets, including The Hindu, The New Indian Express, and more. People could use the app for free from any web browser supported device, and seamlessly transfer files between them.

Gallery

BayJDO Cover

Highlights

  • Got featured in multiple media outlets, including The Hindu, The New Indian Express, and more, as it was launched when the Indian Government banned 59 Chinese apps, including ShareIt, Xender, etc.

Background

Almost everyone has multiple smart devices these days, and transferring files between them, or to other friends/family members is a hassle. Though transferring of files between devices, especially cross-platform, is much sought of functionality, there are hardly few applications (Xender, Shareit – both banned now) that are supported on all devices.

Transferring files using these popular apps too aren’t of any less trouble – they show annoying ads, requires you to create a special hotspot (sometimes requiring you to disconnect from the internet), and before all that, require you to install their apps on both the devices. The requirement of installing a dedicated app just for file transfers has one major disadvantage – both parties need to have the same app (sometimes, even the same version – which means we also need to keep them updated) – which can take some initial time to set up, and that can take several minutes/attempts on a slow device.

Finally, because they are apps and have access to files and other unnecessary system permissions such as contacts, location etc., these also raise some concerns regarding privacy. Given the current scenario after the ban of popular, this is especially serious as people are resorting to downloading APKs from unofficial sources, since some of these applications can be used by hackers and bad-actors to gain backdoor access to the phone, and on the other hand it is not feasible for an average user who is need of it to spot such a security vulnerability and threat.

I would now want to introduce – Bayjdo, a lightweight, simple yet fast, and secure web application that allows you to transfer files directly between devices, without requiring users to install dedicated apps or create a special WiFi Hotspot. Transferring files using Bayjdo is simple, and only has 1 prerequisite – the devices need to be in the same network. Once the two devices are on the same network (or hotspot), they need to go bayjdo.com (or use the PWA installed) and they will be each getting an ID and QR-Code generated for them. Now, anyone of the two can scan the QR code on the other (QR-code scanner is included out-of-the-box) and Voila! they are connected, and ready for file transfer. The user can now choose files from his devices, and send files easily to each other - encrypted and fast (as fast as WiFi supports).

Technology

Coming to technology we use - Bayjdo uses WebRTC to reliably facilitate an end-to-end encrypted peer-to-peer file transfer, the same technology (originally introduced by Google) now being popularized in video-conference apps including Google Meet. Bayjdo is a progressive web application (PWA), which means it can still be installed on devices (& appear on home-screens), and work offline, without needing a dedicated app. Also being a PWA, it can also be installed in a few seconds right inside the browser, without needing an app store, which also helps us to push software updates, and prevent pirated apps (since these cannot be shared and installed like APKs, but only from the original website).

Future

Shortly, Bayjdo shall also support One-To-Many multi-user data-transfers using WebTorrent P2P streaming technology, something which even the popular apps lacked. This support for One-To-Many multi-user data transfer would greatly reduce the time (and slightly increase speed) in case a file needs to be transferred to a group of people/devices.

We shall also soon be supporting one of the first of its kind, Group-Watch-Together feature, banking on the WebTorrent/WebRTC streaming technology we already have. An example use case of this feature is when a group of hostlers want to watch a movie together. Currently, in such a scenario, they would have adjusted themselves to a single display to watch it together, which becomes tough when the group becomes big. Through Bayjdo, they would also be able to watch the movie in real-time sync, on their own devices (split into 2 groups or so) and enjoy the movie in a bigger group, without needing a big projector or so.

The app would be Ad-Free and Open Sourced. We also won’t be asking for or tracking any user info, and not even requiring a login to use the app. In fact, we won’t be requiring a backend database to offer these core functionalities, but just a light-weight WebRTC Signaling Server. This, therefore, also brings the cost of hosting the app and allows us to achieve our goal of being Ad-Free. Also, we expect to cut future maintenance and development costs since the app is pushed to the open-source community. Being Open Source and community-owned will also help in identifying and fixing bugs/vulnerabilities, getting ideas and implementing features in a more dynamic & transparent way through the contributions of other enthusiasts. Since the source code is open source and publicly reviewable, this also eliminates security & privacy concerns through transparency.

All these make Bayjdo – Truly Indian – an app that’s made by the People, for the People.