Recent updates and where money goes..

Here are the major ones from the recent updates I’ve made on OpenProcessing:

  • Anyone can now create collections without invitation.
    Go to http://www.openprocessing.org/collections/ to create a collection. The collections have the same template with classrooms, except that they show up under collections section of the website.
  • Newly designed top navigation
    Bigger, better, stronger! I will also update the OpenProcessing logo (well, it doesn’t even exist yet) soon, so it will have a decent memorable face.
  • Many many small fixes
    I put 40+ checks on my “to-fix” checklist.
  • Donation page and SSL!
    I have created the donation page. OpenProcessing now highly depends on your financial contributions since the cost of running the website exceeds my own budget. Not to mention, I implemented SSL certificate to have your logins and donations to the website through secure connection. To keep OpenProcessing up and running, please make your donation at:
    https://www.openprocessing.org/donate/
    Here is some more information why your donation is very important to the site:
    • the current cost of hosting at MediaTemple is $150 monthly + $30 domain annually. I had to increase the server plan to $150 because the slower servers couldn’t handle the amount of mySQL queries. That’s why you saw many down time and slow server response in the last year.
    • Cloud service from Rackspace is ~$30 monthly, and this is increasing around ~$3 every month with the new uploads on the site.
    • SSL certificate costs $10 monthly (with $50 initiation fee). This secures your logins through secure connections, as well as your donations.
    • Besides the cold cash part listed above, there are occasional spendings, like lawyers fees for legal consultancy (oh copyright issues…), accountant, etc.. And well, now that I am working on OpenProcessing full-time, I guess you can count my hours to develop, improve and and support the site. Last year, I was able to partially support the website via advertising from influads. With the decreasing amount of payments from the network, this month I had to take the advertising down and promote donation options instead.

I hope that with the new updates and donation option, we will be able continue providing great sketches, supporting classes, and adding value to the Processing community. Please support OpenProcessing: https://www.openprocessing.org/donate/.

On the weeks ahead: The Road Plan

I am here to announce a great news, mostly for me, and that effects OpenProcessing users as well. I quit my daytime job to focus on my own projects, OpenProcessing being the main one. From today on, I am hoping to be way more active on updating and improving the website, and supporting the users of the site.

Here is a quick road plan of what is to come:

  • new navigation
  • collections will be open to public (instead of  ’request via email’).
  • better user thumbnail integration (gravatar being optional).
  • some other improvements for performance and security.
  • migrating to a new server (faster, better)..
  • follow user functionality.

In addition to these, there is another main point that I will be working on. That is, to start opening the channels for users to donate, as well as subscribe, etc. In the last three years, OpenProcessing grew tremendously, and exceeded 15k+ registered users, hosting 30k+ sketches, and serving to 3k+ unique users a day. So far, I had been supporting the website financially, but the demands of the site started to exceed my personal budget. I wasn’t also able to commit enough time to maintain the website on a frequent basis. What started as a school project turned out to be a long-living and well-loved website, but now this baby needs adult-level attention.

Now that I will have way more time to focus on OpenProcessing, my hopes for the coming weeks are that: I can leverage enough income through the site to continue maintaining the site and provide hosting without any charge to any users.

So, please high five with me for the good days ahead, in which the users of OpenProcessing will have a better experience while providing support and ownership to the site. Please let me know of any comments or ideas you could have.

Recent issues on Chrome and Safari vs. Java applets

Update January 17, 2011: The issue that I posted below had been resolved, thanks to the user’s feedback in the comments below. There are still some slowness of Java and OpenGL issues under Chrome and Safari, but I will publish a new blog post about those issues.
—————————–
After some updates on Chrome and Safari (or Java itself, I am not quite sure) happened within the last month, sketches viewed in Chrome and Safari started to have issues. I try to find a fix, however I couldn’t find a proper solution, so I am reaching out to you people to see if anyone has a solution. Below, I try to dictate the issue and the current temporary fix I am using on the website at the moment.

How it was before

On OpenProcessing I was using the <object> tag, which is defined by W3C as the tag to be used when loading Java applets. Every sketch on the site has its own folder (eg. /visuals/applets/visuale33893968dc725ff118fe73b6c3d41cc) so I was also using the codebase parameter to provide the directory that the sketch runs under. So when a sketch is using an image (eg. loadImage(“test.jpg”) ), java would look for the image on the codebase directory.

The html code looked like this:

<object classid="java:living.class"
            			type="application/x-java-applet"
				codebase="../visuals/applets/visuale33893968dc725ff118fe73b6c3d41cc"
            			archive="living.jar,core.jar"

            			width="300" height="300"
            			standby="Loading Processing software..." >
		<param name="archive" value="living.jar,core.jar" />
		<param name="codebase" value="../visuals/applets/visuale33893968dc725ff118fe73b6c3d41cc/">
</object>

The problem: Chrome and Safari stopped supporting <object> tag.

Around mid-December, 2010, chrome and safari browsers stopped displaying java applets given with <object> tags. I was also informed about this issue on the feedback forum and couple of users recommended me to check out javadeploy.js, a javascript solution to curate the proper html code for displaying applet. This solution is also used by the Processing application itself when exporting sketches to html. After playing a little bit with it, I saw that this javascript creates an <applet> code (which is deprecated by W3C) instead of <object> tag, but sketches seemed to work fine across browsers (but extremely slow on Chrome and Safari). So I updated the site with this version. The javascript code looked like this:

var attributes = {
 codebase: '../visuals/applets/visuale33893968dc725ff118fe73b6c3d41cc',
 code: 'living.class',
 archive: 'living.jar,living.jar,core.jar',
 width: 300,
 height: 300,
 image: 'loading.gif'
 };
var parameters = { };
var version = '1.5';
deployJava.runApplet(attributes, parameters, version);

HTML code that deployJava generates looked like this:

<applet codebase="../visuals/applets/visuale33893968dc725ff118fe73b6c3d41cc" code="living.class"
 archive="living.jar,living.jar,core.jar" width="300" height="300" image="loading.gif">
 <param name="codebase_lookup" value="false">
</applet>

After a week, I started receiving comments about sketches not loading external files (images, sound files, etc.). After some digging, I realized java applet was ignoring the codebase information, and wasn’t able to find the related files. This wasn’t becoming an issue when you check index.html file generated by Processing on export, since every file is in the same directory and there is no codebase information. However, it was becoming an issue when your uploaded sketch gets moved to its own directory under applets folder.

Current situation: <object> for Firefox :)   but  <applet> for Chrome, Safari :(

Currently, I added the logic to check the browser of the user and display <applet> version for Chrome and Safari, and <object> version for the other browsers. So this only partially solves the problem. People using Chrome and Safari still can’t see the sketches using images, audio, or any external file.

For the moment I have to advise you to use Firefox when browsing OpenProcessing (I always found Firefox superior to others, but of course, I don’t support browser discrimination). You will see the sketches properly and fast. If you use Chrome or Safari, it will be slow, and any sketch using external files will break.

I would appreciate any comment, direction or help you can provide me on solving this issue. Please also keep me updated if you see errors and problems that might be related to this issue or related to the website in general. Only with your information and emails I can keep track of the user experience on the site. Please comment below, or shoot an email to .

Talking about OpenProcessing

Recently, I was interviewed by a good friend Tim Stutts about OpenProcessing, its origins, collaboration with Rhizome on the Tiny Sketch competition and its future. Below is a first couple of paragraphs; read the full article on Rhizome’s site:

Interview with Sinan Ascioglu:
OpenProcessing Architect

OpenProcessing.org is a site that has built a community around sharing visual coding examples created in Processing. As user number 36, I had the unique privilege of watching the idea take shape, while in a thesis group with Sinan at NYU’s Interactive Telecommunications Program. During it’s first two years of activity, the site has grown to host thousands of user-generated sketches and subsequent conversations between artists / programmers, teachers, and students from around the world. Sinan and I escaped the snow recently at a café outside Washington Square Park to discuss OpenProcessing’s origins, Rhizome’s collaboration with OpenProcessing in the Tiny Sketch competition, and what we can expect for the future. – Tim Stutts

Tim: How did you first come up with the idea for OpenProcessing?

Sinan: I guess the first thing to talk about is OpenVisuals, which was my Master’s thesis project at ITP (Interactive Telecommunications Program, New York University). I was reading Edward Tufte’s books at the time, and I became very interested in data visualization. In the meantime …. read more on Rhizome

Easy source code viewer by Emoc

I wanted to give a quick plug to a great tool that allows you to see any source code on OpenProcessing in various formats:

OpenProcessing Source Reader by Emoc

This great tool allows you to see the source code of a sketch in a single page, using whether raw text, geshi or syntax highlighter formats. You can also generate the source code as a PDF file from this tool! Emoc also made it easy to use this tool through its URL: just add the visualID of the sketch to the end of the url, as in http://emoc.org/opcode/2292 or http://emoc.org/opcode/2292pdf. Check it out!

The winner of Tiny Sketch: Dotlassie takes you through a roadtrip in Iceland!

Rhizome just announced the winner of the Tiny Sketch competition, an open challenge to artists and programmers to create the most compelling creative work possible with the programming language Processing using 200 characters or less. The submission and voting phases are over and we are proud to announce that the winning sketch, as determined by Rhizome’s members, is Driving through Iceland by dotlassie.

As OpenProcessing and Rhizome, we would like to take this opportunity to thank everyone who participated in Tiny Sketch — it was a real success and we couldn’t have pulled it off without your support. The collection will be on permanent display in two locations; it will exist as a closed archive containing all of the entries that were submitted to the original contest in Rhizome’s ArtBase, and as an open collection at OpenProcessing where people can continue to submit sketches that follow the Tiny Sketch rules. I will open the collection for new submissions, to be collected under Tiny Sketch concept as soon as possible (once I organize all the sketches submitted for the competition).

Tiny Sketch Awesomeness => Open for Voting!

Phew! What an awesome experience this was!
Tiny Sketch competition that is produced in collaboration with Rhizome.org and OpenProcessing is now closed for submissions, and the voting begun at the Rhizome website for Rhizome members! If you are not already a member of Rhizome, now it is a great opportunity to be one; then as a Rhizome member, you can use Rhizome’s voting pages to vote the best Tiny Sketches!
Remember that your Rhizome membership contributions are going to support this non-profit foundation that is dedicated to the creation, presentation, preservation, and critique of emerging artistic practices that engage technology. Also, all the sketches submitted will be archived and exhibited in Rhizome Artbase.

–! VOTE NOW !–
I love Tiny Sketch

By the way, see one of my favorite Tiny Sketches:
My Heart Will Go On by Luis Gonzalez

Win $200 if you can make it under 200 chars!

Rhizome and OpenProcessing brings you a very interesting challenge to win $200?

Can you make a cool Processing sketch under 200 characters?

Recently, we "the creatives" started thinking how we can make interesting stuff out of Twitter’s famous 140 characters: some of us started Twitter Opera, some others tweeted from Mars, some babies kick-tweeted from womb, even plants started to tweet when they needed water. As challenge-loving Processing users, we thought that would have been interesting to see if we could code tweet-size sketches. These guys were already playing around with that idea, well, before you know it, Tiny Sketch Competition was born!

After some thoughts, we thought 140 would fall short for your limitless creative horizons, so keeping the limit at 200, we are inviting you to warp-speed your brain cells to see how you can fit that cool sketch in 200 characters.

Do you have some short sketches that you left aside? You think you are a master of find/replace feature? Can you find hacks to shorten some if/else statements? Show us!

Submit your sketch to Tiny Sketch Competition!

new update: profile images + Golan Levin @ TED

I’ve just implemented Gravatar support in OpenProcessing: Now you will be able to set your own profile picture, or simply use what you already have in Gravatar. Gravatar provides a central resource for profile images that can be used in different website frameworks including WordPress, Movabletype, Drupal.

If you don’t have any profile picture set up with your email at Gravatar.com yet, upload one now! Once you update your profile in Gravatar, your profile image will automatically be updated on OpenProcessing, as well as other websites that uses Gravatar.

Also on another note: Golan Levin, a great individual and educator within the Processing community gave a very inspirational performance/speech on TED. In his 2004 performance, he used the application that he wrote, which translated gestural drawings into very interesting loops of music. Please check out this video from 2004 for some high-fuel inspiration for your own projects. Below is his recent talk from February 2009, with great examples of interactive art:

How to attribute/give credit to the owner while using the sketches in other platforms?

I recently received an email from a user who would like to use some sketches in a gallery space, on how to give attribution to the owners of these works. It made me realize that it is not necessarily clear how to do this on the website, and according to Creative Commons, anyone should attribute the work in the manner specified by the author or licensor. As OpenProcessing being the licensor in this case, I would like to provide such information in the footer/every sketch page, I thought of this text to be used for attribution:

%Title% by %fullname%, licensed under Creative Commons Attribution-Share Alike 3.0 license.
Work: http://openprocessing.org/visuals/?visualID=%1234%
License: http://creativecommons.org/licenses/by-sa/3.0/

Of course, because the license is share-alike, any alteration, transformation, or build upon this work should be distributed only under the same, similar or a compatible license.

Please help me to refine this text by commenting on this post, if you think any additions, updates necessary. I will put a similar text to the website as soon as possible, and I will update it per your feedback/discussion under this post. Thank you, again..