What is protocoder?

Protocoder is a coding environment + Javascript framework for quick prototyping and experimentation on Android devices. Just download the app on your phone and you are ready to go.


How does it work?

Install the app in your Android device and access the web IDE from your computer. Code in javascript using the Protocoder framework. No need to write dozends of lines to access sensors or write an UI, simple to use, fast to code.

  //how to get sensor data
  sensors.accelerometer.onChange(function(x, y, z)) {
    console.log(x + " " + " " + y + " " + z);

  //send a sms
  android.sendSMS(number, "text");

  //play a video
  ui.addVideo("fileName", 0, 0, 500, 200);

Protocoder runs internally a webserver and a websockets server to serve you an IDE that you can use wirelessly or via USB cable using ADB. It supports most android hardware functionality, the only requirement is running Android version > 4.0 in your device. That means that it runs on phones, tablets, glasses, tv dongles and smart watches :)



Android tools are getting really mature for developing market ready apps. Still, there is a big need for a fast way of prototyping ideas and interactions without having to wait long time to set up environments or wait eternities to compile things.

In Protocoder you can see your changes in seconds, no delays, no more distractions, feel the flow baby.

Pocket IDE. Bye bye cloud

Protocoder is an environment that you can carry in your pocket. You might go to a different computer and you will still have the same IDE accessible from any modern web browser. And hey, we want the editor to be yours, and be accessible from any place, at any time. That's why its not a cloud-based service. Protocoder lives in your Android device, not in a computer that you don't own.

Protocoder IDE

Generic placeholder image

An app that host apps. yep!

Protocoder host all your apps, you can create as many as you want and you can carry / edit / hack them with you. Do you want to share them? No problem, just zip the project and send it to whoever you want that has protocoder installed.

A Dashboard. Remote control!

Imagine that you want to use your phone as a brain for your robot. You have the phone between wires and cases, which might be a bit difficult to access for debugging it. No problem. Use the dashboard to see wirelessly information from the sensors or control it. A pieze of cake!

Generic placeholder image

Generic placeholder image

More libraries. Be expressive.

Protocoder wants to share the philosophy of amazing projects such as, Pure Data, Open Street Maps and many more. That's why they are included so you can start using them straight away.

Expand your device.

Connect your Arduino, IOIO, makey makey or other boards to your device and create physical stuff with them. Note: Arduino will work only if your device supports USB OTG

Generic placeholder image

Generic placeholder image

Live execution. be water

Select the lines, press Cmd / Control + Shift + X and see how things change on your device. Once you master it, you will wonder why mobile development tools don't have this as default.


Download the apk in your phone. Dont forget to enable installing apps for unknown sources. Once you install it, connect your Android device and your computer to the same Wifi network and and input the ip address in your browser.

If you are updating, don't forget to reinstall the examples in the Settings

Protocoder comes in two variants, normal and extended. The only difference is that the Normal version doesnt have SMS and call permissions therefore you cannot use the related API methods.

Download Normal APK v0.11.0 Download Extended APK v0.11.0

Last version 0.11.0 released the 30/04/2015 Changelog

If you know a bit of adb trickery you can still use Protocoder with a USB cable. Just write this command line in your system console and then go to http://localhost:8585 in your browser. Please note that you need to install adb in your system.

    > adb forward tcp:8585 tcp:8585
    > adb forward tcp:8587 tcp:8587

If you want you can download Adb for Mac, Linux and Windows using this zip file

Download adb



Protocoder is released as open source under the LGPL license. I guess you know what it means but if you don't here are the most important points

If you make changes to Protocoder itself you will have to release that code open source

You can make an app using Protocoder and you don't have to release your code, although if you do the better, so everybody will learn from it!

Creative Commons License
All the graphic material work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.


Protocoder is a project originated by Victor Diaz developed using a nomadic approach in different contexts that varies from this or that country, parks, libraries, hotel lobbies, cafes, restaurants, cars, here and there.

Special thanks to José Juan Sánchez Hernández, Maciej Górski, Ali Javidan, Gopi Palaniappan, Alan Sien and the MWM Crew :)