Ever since I got my hands on a handheld device (my first might have been a PocketPC or a Palm), I wanted to be able to write code in a little editor on the device and run it right there. It seems like a strange urge, except that I grew up in the years that programming tools (Pascal, BASIC, Assembler, LOGO) were sold in stores alongside video games.
See also: The iPad needs its HyperCard
I developed a proof of concept solution for this that runs on the iPad, iPhone, Android devices, and the Chrome browser. It doesn’t store any data in the cloud, so it only needs network access the first time you run it. Everything is downloaded to the device when you bookmark it (Nexus One) or add it to your home screen (iPad/iPhone). All of the programs you write in it are stored on the device: http://code.google.com/p/pjs4ipad/
This doesn’t circumvent any of Apple’s rules: it is all done within the browser using JavaScript, HTML, and CSS. There is no separate app, no need to go through the app store. It’s really just the beginning. My hope is to take the core concepts (using HTML5 technology to locally store a program that’s executed within JavaScript), to support all kinds of programming environments, including visual environments.
Pingback: Processing.js Mini-IDE for iPad, iPhone, Android, Chrome
They had a hypercard, it was called Scratch. It was done by MIT. Apple pulled it days ago.
@racy_rick, wasn’t that the Scratch player? You couldn’t author Scratch content on the device with it, could you? For that, we’d need something like Modkit, which is an in-browser graphical development environment that uses Scratch-like blocks. I am talking with the Modkit team about the possibilities here.
Brian,
Nicely done! I was just thinking about trying to put together some sort of jsprocessing app for my new iPad and happened to search Google to see if someone else had done it.
brilliant…
what am i doing wrong??
when i i follow the instructions, and then go offline, i still get “Processing could not be opened because it is not connected to the internet” …
Help please!
Hi oren,
Try running the app a couple of times, and leave it running (especially if you have a slow connection) for a minute or two just to make sure it caches all of the content, before you go offline.
- Brian
Thanks!! works!!
Thanks so much for this!
I’m pulling my old work out of boxes and hard drives following an extended hiatus and wanted to refactor a lot of it to run on the iPad. Since the death of my Mac has me back on the PC platform, that was going to prove to be an expensive proposition.
Nice to know I can take my legacy processing code and test your online editor as a possible solution.
Pingback: Multimedia Magazine van Differentieel en JeeeM
I released an app in Android market to render processing scripts over WebView. Its a single app to manage all your processign scripts. It uses processing.js in the backend. Feel free to download an post comments.
Here’s the project site: http://code.google.com/p/my-processing/
Awesome, mate – well done!
Hi Brian,
I’m really interested in your Processing for iPad method, as I think it may be just what I need to develop a tablet-based data collection tool written in Processing.
What are the limits of this method, specifically with file IO? Is IO still possible with Processing running only in a browser, or is there any way to get around this problem?
Thanks a lot,
Neel
Thanks, Neel. I don’t believe file I/O would be possible, but you would have access to HTML5′s Web Storage (http://dev.w3.org/html5/webstorage/) or Web Database (http://www.w3.org/TR/webdatabase/) features.
Hey Brian,
Thanks for the reply! I really haven’t had that much experience with HTML storage, so could you point me in the direction of a tutorial dealing with HTML storage integration with Processing?
Thanks a ton!
Hi Neel, we’re actually talking about JavaScript here, so you probably won’t find anything that explains HTML Storage + Processing (although, check out http://processingjs.org/ because you never know).
When working with Processing.js, keep in mind that it’s running on top of JavaScript. So in theory, this resource should be helpful: http://ofps.oreilly.com/titles/9780596805784/ch05.html
Hi Brain,
really awesome! Hope everything is ok with you and that you aren’t got kidknapped by Apple to stop the development! Are you still working on it?
Thanks for the great work,
Sebastian
Unfortunately, I haven’t had the time to work on this. But if anyone’s interested in helping, let me know.
Hey Brian, I’ve used this to produce numerous apps, but I’d like to know if it accepts anything other than processing. Thanks!
Hi Jackson,
This only works with Processing, but you probably could get away with plain old JavaScript since that’s what Processing.js is built on.
I’ve tried this out on an android phone and one thing that goes wrong is that I’ll tap to edit the text and the text edit screen scrolls down automatically to where I can’t see the cursor and what I’m trying to edit. Another thing is that it crashes frequently upon hitting save and run. That’s in the standard browser, in Opera the save and run button doesn’t do anything.
Hi,
thank you again and again for your work. I actually created an Android app with appsgeyser of your processing version:
http://www.appsgeyser.com/getwidget/Processing
Please write me a mail, whether it is ok for you and whether I can share that app.
That’s great, thanks for the link. Please do feel free to share the app.
Playing with the recently released “Codify” which is a very slick editor/IDE that uses Lua made me look into this kind of thing for my favorite lang Processing…
I wonder what it would take to get a version that supported multitouch and the accelerometer?
Hi, I was wondering if this will allow you to access the touchscreen, so that you can trigger operations by drawing on it?
This is nice! I am enjoying it very much.
I am trying to access content form other web sites using loadStrings and I realized that the sketches created are running from the stone.net domain, so I gees there is no hope trying to access data from other domains. Any suggestions?
Thanks,
Lan
Just a little plug – I put together an interactive textbook that uses processing for most of its lessons. It has a full IDE built into it that let’s you export your programs as web applications that you can save to the homescreen of your iPad. It’s called Programming – Interactive Textbook, IDE, and Exporter here is a direct link for anyone interested.
App Link