Tutorials, Examples and Documentation

abergmeier edited this page Sep 22, 2013 · 28 revisions

Tutorials are descriptions of how to accomplish a task. They are generally accompanied by an example.

An example is a demonstration of something with code. It could be demonstrating how to accomplish a task from a tutorial, or it could be demonstrating how a single function works.

Documentation refers to all of these things, but especially the class-by-class, function-by-function reference at http://www.openframeworks.cc/documentation

Documentation

Pretty much everything can be improved here.

  • Improved and featured (i.e. on openframeworks.cc) version of the P5-to-OF rosetta stone -- GAB

  • Improved descriptions. For example, a widely used class and its first few methods usually have a few sentences or a paragraph explaining what they do, but these tend to fall off as you scroll down the page. Would be nice to have a description for each function in the online docs. -- GAB

Tutorials

What kinds of tutorials are needed or need to be improved? There is a lot of stuff on the old wiki (analyzed at Old-Wiki-Analysis) and interlaced throughout the list below.

Possible tutorials order from zero knowledge to advance stuff

  1. BootCamp (All this could be some small and friendly videos... some of this things are already on the openFrameworks Vimeo account but seem unaccessible from openframeworks.cc )

  2. Some basic programming principles ( We can follow Toddy book or Daniel Shiffman order )

  3. Going deeper in to OF

  4. Going further or beyond the limits ( ADDONS )

  5. Use && contribute

    • Git workflow: How/why do I work with git? How can I accomplish specific OF-related tasks with git? ([Christoph]: I intend to tackle at least part of this)
    • How to make good addons that can be compiled succesfully over all platforms.
    • Code style
    • Good oF practices: ofLog() ( https://github.com/openframeworks/openFrameworks/issues/858 ) , ofGetAppPtr() ( http://forum.openframeworks.cc/index.php?&topic=3962.0#p20661 ), maybe a little explanation about smartPointers / log / logging (4 example: writting to a file / events) pre-debugging tips tutorials ( commong practices ) / breakpoints / debugging / operators (operator overloading)
    • Core contribution. maybe here it´s a good place to talk about the history of openFrameworks Core and how/why things are like they are.
  6. Deep and Punctual Tutorials: from here it´s more about going deep on a particular subject.

More tutorials ideas or sources

  • Found this examples that seams part of a workshop https://github.com/obviousjim/OFIntros

  • ITP danny.rozin@nyu.edu Spring 2010: http://itp.nyu.edu/varwiki/Syllabus/Pixels-S10 http://itp.nyu.edu/~sb3367/Blog/?p=244

  • ofAuckland Examples and tutorials! https://sites.google.com/site/ofauckland/

  • http://www.opentoko.org/tag/openframeworks

  • There are a lot of workshops that are held by the OF community that produce great work in short periods of time and low barriers to entry. What makes a good workshop and what are good pre-requisites? Should we provide presentation/workshop materials to the community? (thinking of Roxlu's slideshares) -jvcleave

  • port everything from the old wiki. / Potentially moving some of the tutorials from the wiki to the site, or cleaning them up / modernizing them.

  • video tutorials, everyone should do a short video explaining something. The topic can be anything but probably things like setting up OF make more sense than code related topics.

  • On the same note as the video tutorials, I was wondering if videos of the provided example apps would be helpful. Videos like James' are great for people to get a feel for the capabilities before diving in. The ofxTimeline example and his TSPS+Unity example come to mind. -jvcleave

  • Better beginner examples for standard file handling stuff: load and parse/write and save xml, search through a directory for a file, etc. This could mainly be highly modularized examples that people could work off of. -- GAB

  • Some ofAssimpLoader examples: loading a mesh, playing back existing mesh animations, controlling a rigged mesh. -- GAB

  • More resources for working with networking in OF: basic web API examples, socket communication examples, and tutorials. -- GAB

Examples

Which examples are in dire need of improvement? Which core functionality needs examples in the first place?

  • ofBuffer / ofFile / ofDirectory need examples now. (working on a ofBuffer/ofFile example loading .csv files -jvcleave)
  • ofDataPath / working directory, etc.
  • ofCamera could use more tutorials and the 3d tutorial is a bit too complex, simpler smaller 3d examples
  • ofPixels / ofPixelsRef, etc could be useful
  • fbo, advanced fbo options. For example, showing how trails in a floating point fbo look vs trails in a non floating point fbo. Sort of "best practices" and ideas to try out.
  • more about shaders and fbos.
  • some sort of OPENGL stress test example, that says, "my machine can do X,Y but not Z". luaAV has a fairly good one to look at.
  • ofMesh, approaches to working with meshes, etc.
  • tweening example (Golan)
  • color example (Golan)
  • Anything vbo related.

Other Changes

  • "myApps" in "examples", containing emptyExample