We closed this forum 18 June 2010. It has served us well since 2005 as the ALPHA forum did before it from 2002 to 2005. New discussions are ongoing at the new URL http://forum.processing.org. You'll need to sign up and get a new user account. We're sorry about that inconvenience, but we think it's better in the long run. The content on this forum will remain online.
IndexDiscussionGeneral Discussion,  Status › Good thoughts from toxi, please read
Pages: 1 2 
Good thoughts from toxi, please read (Read 16707 times)
Re: Good thoughts from toxi, please read
Reply #15 - Jan 20th, 2006, 5:52am
 
Geez, you check the board at 3am, wake up a few hours later to teach all day (Processing to newbies no less,) recheck the board and feel like you must have smacked your head along the way, blacked out for a couple weeks, and...

I guess all this reflection is good. Although, I can't help feel a little badly for B & C who continue to sacrifice so much of their creative time/energy for all of our benefits. I know toxi's criticism wasn't directed at them or Processing (you don't have to read too much processing src to see toxi's name pop up,) but perhaps the group effort, at this moment in time, would be better spent helping in the release of 1.0. There will  be time for constructive criticism, but perhaps 1 victory lap with B & C on our shoulders, the 1.0 banner billowing( thanks to a Processing trig call) in the breeze, wouldn't be too much thanks for years of hard work.  

That being said, I want to offer a slightly different perspective.  Having spent the last 6 months working on an Introductory Processing book (and pretty much nothing else,) I've been thinking a lot about newbie coders, as well as "what is" Processing, including the Processing community. As an art teacher discussing things like polynomials, polymorphism and  yes, Processing with hapless undergraduate graphic design students, I am ever appreciative of the simplified and approachable Processing way.

One of my concerns about Processing (and especially this board) of late is not, as Toxi wrote:
"...experienced users will find themselves forced to breakout and leave the tool behind."

but rather that newbie users won't feel safe or welcome. The level of technical discourse on the board is impressive, but probably intimidating to total newbies. I've been meaning to suggest the creation of a newbie forum, where it's ok to ask "what's a variable?", without being mildly rebuked for not searching the archive. Trust me, as a teacher, I know how frustrating questions like this can be, especially when I'm the first course of action for solving a (really simple) problem. However, lest we all forget, this stuff is scary in the beginning, especially if your brain's been operating in a very different mode for 20 or so years. Perhaps more experienced users could take turns moderating the newbie area, providing a little virtual hand-holding. I'll volunteer for the 1st shift.

I'm certainly in huge support of building libriaries, (constructed on sound design patterns,) and a believer in the virtue of "craft", regardless of the discipline. But Processing is (IMHO) first and foremost an environment and "approach" for non-experts; which is not to say it can't be repurposed for expert use-as we know  it is. But DBN's spirit lives in Processing–underneath the latter's sophisticated and feature-full exterior. We have Java, Python and even ActionScript when we need to strecth our wings, but we also need a nest from where we begin to learn fly.
ira
Re: Good thoughts from toxi, please read
Reply #16 - Jan 20th, 2006, 2:16pm
 
okay lovely people, because of the forum limitations i've just posted some more collected feedback on my blog:

http://www.toxi.co.uk/blog/2006/01/dissecting-discourse.htm

..but maybe let's continue overall discussion over here!?
Re: Good thoughts from toxi, please read
Reply #17 - Jan 20th, 2006, 4:05pm
 
Toxi, more good points but your stance on OOP still seems a bit extreme. The comparison to PD, Max and VVVV isn't fair since those tools take an atomic approach, identifying all operational units as objects / nodes / patches. And I have seen beginners, who had a great first week playing with those systems, get very confused indeed when they can't just sit down and write out a simple execution structure like they could in Java. So visual / textual code systems have their pros and cons.

Don't get me wrong, I love OOP. I switched from C to Java because it had objects and a human-friendly syntax, and I have never looked back, except to envy the realtime performance of C++. When I've taught 5-day workshops I have tried to get students over the OOP threshold, because doing anything really complex is difficult with plain procedural programming. But time and again I have failed, with students scratching their heads, pain on their faces as they give up. If I had courses lasting several weeks I could do it, but it would just get in the way for shorter projects. Instead, I just provide some sample code using classes, so that clever students will get it anyway.

But I agree with you that OOP could be a more integrated part of Processing. It would be great if the processing.core had a clear atomic modular class structure, with only the most necessary interdependencies so that they could easily be used separately. I suspect that will be a good project once 1.0 is out and there is a stable code base to work from. Until then, Ben is on the Processing Protected Animals list, not to be pressured or bugged with unnecessary feature requests.

Again, I think the libraries would be a good place to start evangelizing objects and OOP concepts. Because they rely on the package structure etc. anyway, they will force a familiarity with objects, much like in Max/PD/VVVV.
Re: Good thoughts from toxi, please read
Reply #18 - Jan 20th, 2006, 4:41pm
 
per Watz Quote:
"When I've taught 5-day workshops I have tried to get students over the OOP threshold...If I had courses lasting several weeks I could do it...


I've tried this over an entire semester, with mostly art students, on numerous occasions and usually crashed and burned. Conceptually they get most of it, until we start implementing inheritance/polymorphism. I think the main struggle is relevancy. With no programming experience, students don't see the value of learning such a complex and abstract system for solving a problem (that they also don't understand.) Some types of students seem to be better at taking their OOP medicine and not questioning why their gagging it down; that's not the case, in my experience, with the majority art students. What's great about Processing is the confidence and coding=creative relevancy it gives students. Eventually, the students that need to write code, will discover the joys and fascination in the abstraction of OOP, but I'd hate to fiter that subset from the general student population too early. Most of my students had such lousy experiences in math classes; this is their (perrhaps last) opportunity to see the beauty and relevancy of math. This point is probably what I find most uplifitng about this creative coding revolution; it's (in a small way) getting people to use both sides of their brains and making "wholer" people (something the world (US) desperately needs right now.)
Re: Good thoughts from toxi, please read
Reply #19 - Jan 20th, 2006, 11:21pm
 
'Objects are not alien concepts to programming newbies'

Not true. Thicky Steed here spent several months of head scratching before he could comprehend what an object is, let alone memorise how to build a class. It was one of the things that made Flash incomprehensible for a while too. But I for one never had a tutor to show me the way, my tutors are experts of traditional media.

Another thing, art is one of those zen things. You try to define it and suddenly you've killed your own explanation. The day we have a clear cut final explanation of art and artist is the day we're all out of a job.

For Blprnt:

Stop, Hammer Time

(the cool thing about winding all that thread on was that every now and then my nails would pluck against the panel pins and make cute plink plink tunes) (it was trained on points on Brunelleschi's face but I think the whole neural net thing is irrelevant now - now it's a play on depth)
Re: Good thoughts from toxi, please read
Reply #20 - Jan 21st, 2006, 1:38am
 
Good discussion

Maybe it is really time for a meeting of the people more involved into processing discussing it's future.

For me processing was the initial point to start with creative  coding. I discovered it on an event in Berlin I think 2 years ago where Casey introduced Processing, last Summer I met him again at Sonar exhibiting my tree project there. Before I got to processing I already started to study informatics I am not sure if would have discovered my talent to combine technical knowledge and creativity to computational art. So I am really thankfull for processing and I think a lot of people are.

With my libraries I want to give back something to the project and help to let it grow. To come to the technological part of the discussion I always try to improve my coding abilities and always focus on a clear oop structure, but when I am writing processing sketches they are often dirty and not that well structured but sketching with processing for me is often less technical but more intuitive. Making a sketch I dont want to think about software design, although by my knowledge so far the code gets cleaner automatically.

For bigger projects and also my libraries I try to get the software design as good as possible, but this is a process beyond the creative part. I think people should always try to improve their programming skills but in the end its the finnished peace that counts and not the code structure behind it.
Re: Good thoughts from toxi, please read
Reply #21 - Jan 22nd, 2006, 2:26am
 
This whole discussion feels like a board of directors meeting for Processing Inc. Really, aside a couple of missing names, I feel here's the people who work hardest to keep this community running, by answering LOTS of questions, giving advice to newbies, building libraries, creating opinions, spreading the news and last but not least making this whole wonderful project happen in the first place. (Round of applause).

To be honest, I can't follow every point you've been discussing so far, mainly because I lack the programming skills. Nonetheless, I would like to add my two cents and present an "intermediate" users opinion.

OOP
Tricky. All I know about it, is self-taught. I've passed the stage of "Imagine a car, it has a size, a color, a direction, a velocity and a location". I got that with the classes and will manage to construct one if I need it. But don't ask me about Inheritance and Polywhatwasthename

The only time I had someone try to teach me OOP, he failed miserably. We were struggling with L-systems, and the very-first OOP-example utilized inheritance. No wonder a lot of puzzled faces left the room that afternoon.

(Sidenote: That wasn't using Processing, but basically, it ends up as the same thing. Unfortunately, my teachers seem to have an aversion against p5, insisting on an in-house developed solution, using python. Now that's not all bad, but coding, debugging and executing in three different applications just feels wrong. But hey, that's another story.)

With OOP, it must be made completely clear what it's good for and how much easier it can make your programming-life. The first step might even be to stop using the OOP-abbreviation! (I had a long time to figure out what it means Smiley ).

Newbies vs. Code-Ninjas
Ira's got a point here. In the beginning, the Processing board was a place where everybody was making baby-steps, trying to draw lines and moving squares around the screen. Then over time, the more advanced coders came along posting their problems and questions. Suddendly, I couldn't any longer learn from others discussions, because they were far beyond my programming knowledge. It's not like newbies aren't welcome anymore, (I still believe that the p5 community is one of the most open and helpful ones out there), but the whole package has lost a bit of it's initial impression of "ease of use". n00bs might feel intimidated by the wealth of possibilities, thinking that's what they've all got to learn and know, to really belong to the gang.

I'm devenitely in favour of a "Help, I'm a newbie" section.

Processing 1.0
For a long time I liked to see Processing in perpetual beta. But at a certain level that would only keep it in an artificial state of "we're oh so hip/geek/anti to need a fully working application".
But letting it grow up will be a difficult thing to do. Especially keeping Bens and Caseys "open to all" charme to it.

Recently I found a Processing course advertised at an art school here in Switzerland. There are few such events in the german speaking parts of Europe, therefore I was considering taking the workshop. Then I learned that the course would cost me 1200 swiss francs (= 940$ = 530£)! That amout is insane (even for swiss measures) for a five day course giving an intro to Processing! It just felt wrong compared to Caseys and Bens huge (unpaid) efforts to deliver a free product to all. Even more if there's people like Dan Shiffman, who open their course material to everyone.

There I felt that Processing has left the safe area of "software in development". Since the recet betas, and especially after 1.0, I fear there will be more such situations, where people try to make money out of others efforts. Ok, maybe I'm exaggerating. I'm aware that p5 ain't Flash or Max/Msp, with all their addons. But I'd hate seeing a library where you'd have to pay for.

Using the force
Did I mention that the Processing community rocks I was thinking that instead of keeping this discussion to a small round of insiders, why not bring it out to the people Why not address these issues directly in single topics, so that everyone can comment on the parts that are of interest to them Or why not send out a survey on the mailing-list Just a couple of questions like "Where do you think p5 should be going" or "What's still missing".
Wouldn't that be a great way to get direct feedback from the (interested) users

Ben & Casey, what are the numbers anyway How many downloads How many users That'd be an interesting point to know. Or have you saved that one for the 1.0 release party

That's all for now, from a normal worker, here at Processing Inc.

cheers,
Greg
Re: Good thoughts from toxi, please read
Reply #22 - Jan 23rd, 2006, 11:44am
 
Oh goody, a debate! I like these. Sorry I missed the first round of this because I was travelling to Paris seeing the John Maeda exhibit (that's my hall-pass).

I'll get back to this later, but a first impression : I agree with many of the original sentiments, especially the danger of reproducing old paradigms. This was the reason for my original trepidation in working with Processing. I used Design By Numbers way back in the days as a teaching tool for 1st-year students here, and it was fun but led to too narrow a field for me, especially because we mostly work outside of the multiplying-vector style so common to post-Maeda work. I tend to see art|code as a continuum of Deleuze's observation on the cinema as an "image de la pensée", i.e. as an image of thought, i.e. not as a tool. So we have to be very careful of this; hence years of teaching Macromedia products with an archeological methodology : here are the historical layers, here is the ideology, tred carefully.

Then I met Casey this summer and he mentioned that there were several external libraries that had been built. Sound, network, video, postscript, etc. Immediately I knew I'd found the solution. I had been wanting to move over to Java for the past three years (at least for teaching), and hadn't found a way to do it. It's just too much to ask of an art student. We will *always* have the crack C/C++/Java-capable artist, but that's -- at best -- a half dozen in a good year, out of 150. We're not a digital-only program, to the contrary, so I'm working with a tied hand. Ever since Processing (October) we've gotten that number up. And I agree, we have to be able to answer their needs. However -- and I don't know how many of you out there are in my situation -- I have mostly 20-year old kids that often are in my school precisely because they failed all their math exams (French math teachers are a frightening lot). I too hated math and I empathize with them. I try to tell them that programming isn't math, but they still see cryptic symbols, and it's scary.

So I agree with Marius that ultimately Processing brings back some of the nostalghia from BASIC. It brings back the playfulness of LOGO.

10 PRINT "HELLO WORLD!"
20 GOTO 10

stroke(255,0,0);
line(10,20,150,160);

Type it in, push the button, watch it work. This is beautiful. Don't knock the IDE, it does what it was designed to do. Does it scale? I dunno. I usually don't understand the way people use that term, especially coming from artists. Sure it's not a big IDE, and sure you'd need another IDE for a bigger project. But if you're building a bigger project, you're probably ready for another IDE anyway.

From my experience working with students, the ones who have the most *fun* with coding are often kids who played around with BASIC back in the 80's. Often they weren't very good at it, and this is actually a GOOD THING®. Having fun, crappity smacking around with code, building the conceptual work from within the process rather than imposed on top of it: this method requires a lot of transparency, which Processing gives me just enough of without overloading them.

It's also been teaching *me* Java, which is yet another VERY GOOD THING®. I might know several languages, but Java is a monster, because it's not only syntax, it's Classes, and hundreds of them. So if I've had it hard finding the time to learn Java, how the hell are the students going to find the time? I might be wrong on this, I might have not just yet found the right metaphors and bad jokes, but I cannot imagine standing in front of art students and showing them how to quickly build Java programs.

This has to do with my teaching method. In my workshops it's the same: I usually give everyone 1-day, that's it, to learn programming. One day of headaches, then you make stuff. That's my method, maybe that makes sloppy programmers. So be it, but I've had a lot of people come back to me years later, thankful for that first kick.

Oh, and on the Javascript (ECMA-script) vs. Java debate: Javascript is great, but Java is more than Javascript. It's, as I mentioned, the classes. It's all about the Java libraries. I don't like many things about Java (cf. recent post about lists) but I love having all those libraries...
Re: Good thoughts from toxi, please read
Reply #23 - Jan 26th, 2006, 4:21am
 
Unfortunately, OOP is a topic for that “Processing class Part II” that universities don’t necessarily offer. Instructors are so occupied with presenting programming fundamentals in the introductory class; to ask students to pay attention to OOP concepts at the semester’s end isn’t very fruitful, and this means that students are either left to learn OOP concepts on their own or never bother to realize its effectiveness.

Personally, when it came to OOP, I tried learning it through Java/Eclipse, which I felt was the natural progression of programming (this was, of course, before Processing introduced tabs). I’m still painfully trying to learn it—this time in Actionscript 2.

I think what Toxi may have inadvertently exposed here is the lack of resources available for the lone beginner or intermediate. Just yesterday a question was posted to a list [I subscribe to] asking where to send someone to learn Processing. Searching through the Processing.org site, I realized that there are no step-by-step tutorials. I ultimately sent them to Shiffman’s ICM page (http://stage.itp.nyu.edu/ICM/). I hope this problem gets addressed.

I found this whole thread interesting because it addresses much of what I’m trying to do with CodeTree (http://www.codetree.org)--break down barriers between beginners and experts, and encourage coding ease-of-use and better encapsulation. So far, I don’t think I’m doing so well.
Re: Good thoughts from toxi, please read
Reply #24 - Jan 26th, 2006, 5:22am
 
Rich,
Quote:
"...I think what Toxi may have inadvertently exposed here is the lack of resources available for the lone beginner or intermediate. Just yesterday a question was posted to a list [I subscribe to] asking where to send someone to learn Processing."


2 Processing books are coming, both targeting beginners.

Also, I like this introductory book on OOP. Although, if you already have a solid understanding of the concepts, it may be too basic.
Object-Oriented Thought Process, The (2nd Edition) (Developer's Library) (Paperback), Matt Weisfeld, Sams

ira
Re: Good thoughts from toxi, please read
Reply #25 - Jan 26th, 2006, 7:40pm
 
Personally, I see Processing as a scripting environment, not a programming language. The word Sketch is a nice metaphor for what Processing does, it's not about making detailed pencil drawings.

The thing I miss in alot of the work done with Processing (and generative art in general) is the Idea.

I keep asking myself why people have done what they have done. What is the reason? What is the problem you are trying to solve? What are you trying to communicate?

Why does everyone seem to agree on the same generated 3d art/design esthetics?

Maybe new types of critical conceptual discourse should be encouraged before concentrating on coding practices.

Yes, form follows function. But doesn't function follow concept?
Re: Good thoughts from toxi, please read
Reply #26 - Jan 27th, 2006, 12:28pm
 
As one result of this discussion. Vectors and linear algebra are often used by the more advanced users of processing. So wouldn't it make sense to integrate it. I think it would definetly help to have one solution instead of many different. It would also simplify sketches to use processings drawing methods with vectors.

Code:

line(vector1,vector2);

line(xcoord1,ycoord1,xcoord2,ycoord2);

line(xcoord1,ycoord1,zcoord1,xcoord2,ycoord2,zcoord2);



To start I exported the vector classes I use for processing and programmed a Graphics object that calls processings drawing methods using vectors.

http://texone.org/provector/

It lacks examples and has only short documentation, guess it would help to make some tutorials and good examples to explain the math.
Re: Good thoughts from toxi, please read
Reply #27 - Jan 27th, 2006, 4:13pm
 
Jonathan wrote on Jan 26th, 2006, 7:40pm:
Personally, I see Processing as a scripting environment, not a programming language.


I think the scripting/programming distinction is a false one, especially so with Processing since it's compiled, but it has features (split and so on) that are more commonly associated with so-called scripting languages.

When is a script not a programme, and when is a scripter not a programmer  I don't think the answer, if there is one, really has anything to do what what language they are writing.

You do highlight one issue though, that's Processing isn't just a language - it isn't just a development environment and isn't just a community, either.  Food for thought.
Pages: 1 2