» OpenDevelopmentProjects
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

OpenDevelopmentProjects

acl(admin devvvv vvvvgroup)

Open Development Projects

The vvvv group is looking for highly motivated and competent individuals which like to extend and improve the vvvv´s code base by designing and implementing one of the following topics. These topics are selected for being suitable for doing them as an Internship or as a Diploma, Bachelor-Thesis in academical contexts.

This page will all current openings in a format trying to be suitable for presentation to possible candidates. All discussion should be directed into the developer forum

Renderer based WIMP Interfaces

Many users have used vvvvv to create complex graphical user interfaces in the Renderer (EX9), and there is a big demand for this functionality. While it is simple and elegant to use vvvv for simple buttons and sliders and allows for extremely rich visual feedback to the user, many other well known user interface elements (comboboxes, text and value input fields, menu bars come to mind) prove to result in very complex, unmaintainable and slow patches. Many things, which are included in all graphical user interface toolkits like keyboard editing of text and number fields, clever space-saving resize, using the mouse cursor as an affordance, usage of the tab key to go through all input fields, undo, copy&paste, drag&drop to the explorer etc look currently like extremely daunting tasks.

Scope of the Thesis is deriving a set of nodes, which makes solving these topics completely easy and efficient.

Platform: Delphi
Location: Frankfurt

Web based configuration Interfaces

Based on the existing HTTP server node implementation, vvvv should be extended to get a node set which makes it dead easy to create configuration pages for setting system configuration data via a standard web browser. VVVV is used at many places for permenent media installations and integrated media systems, and there is an increasing need for configuration screens to allow untrained personel to change and monitor basic settings or update the systems with new content.

Scope of the thesis would include a deriving a basic node set for creating checkboxes, buttons, sliders, text fields, color pickers and comboboxes on the configuration web pages, and have the user input available on an output pin. Data should be automatically persistent and written to the disk, so that no additional code for storing configuration data between sessions is necessary. A system for structuring the web page with Tabs or multiple URLs should be included.

In addition to the nodes for basic data types, a framework for more advanced but reusable user interaction concepts e.g. playlists, image lists, calendars, drag&drop placement of objects and markers on a stage, data upload etc. should be developed using AJAX technologies

Platform: Delphi or c#
Location: Frankfurt

Web Data Structures and Applications

based on the thesis by David Brüll and Björn Schwarzer? vvvv should be extended to easily deal in a more intutive way with typical web services and the accompanying xml/html/css structures. While XML basically can be visualized as a nodelile graphical tree-structure, vvvv takes no advantage of this possibilities. The existing Xpath and XSLT nodes prove to be extremely powerful but overwhelming for almost any users, as they dont make use of any adantages typically associated with graphical programming. Typical call-structure to access external web services are currently somehow possible but errorprone and complicated to patch because some details are not working as necessary or linking features are not implemented in easy to use modules.

This thesis should derive ways to overcome these limitations and provide some very simple and stunning patches to deal with existing webservices (imagine basecamp, amazon, google, flickr et al)

Platform: Delphi or c#
Location: Frankfurt

The Book

The demand for a printed vvvv book, which can be used in courses, at universities or for self study is ever increasing. Novices want to use vvvv for interface experiments, DMX lighting applications, realtime visual effects (to name a few possible target groups) but there is no available book going into detail with many of vvvv´s strengths.

Many graphic designers including Katharina Scheller, Benedikt Gross and Thomas Hitthaler have created stunning visual looks for such a book. But none of these focussed on the textual side necessary for a comprehensive book on the major topics

Scope of this project would be working on the didactic and narrative side of the first comprehensive vvvv book. the first step would be restructuring/extending the existing material and putting a first version on the wiki, second step would be design and finding a publisher.

Integrated Textual Programming

Extending vvvv with c# code has become quite simple with the new Plugin-API. Even simpler would it be, if c# code (or code in any other reasonable language) could be entered right into a node, so that all programming can happen in the same program, and vvvv can be running, while the c# code inside gets edited and recompiled - in a way similar to the existing shader editor. Ideally the code can be written in a most simple and straightforward way, so people would stop using the existing Expr (Value) node, and instead write compiled code in a high level language.

The scope of the thesis would be a seamless integration of a given compiler (Many open source compilers are available and also the windows .NET system gives some amazing possibilities for integrating compilers into applications). The thesis should discuss the tradeoffs between modern languages like ruby or python and classic strongly typed languages like pascal, c, assembly in terms of speed, integration in vvvv and flexibility

Platform: Delphi / .net
Location: Berlin

Highend Typography

The typographical possibilities leave much to be desired. Text has not the optimum quality, ex9 text is slow and not spreadable to name only two. Scope of this project is the design of a set of nodes to make vvvv a desirable tool for all kind of typographical experiments.

Reseach topics might include:

  • generalized abstraction of fonts, characters, font metrics, vectors and bitmaps as nodes and pins.
  • spread nodes for composing text out of characters.
  • abstractions for dealing with alignment, word wrapping, kerning, ligatures etc.
  • dealing with rich text within one Text node.
  • more abstractions for mathematical and musical notations, tables, non-latin texts etc.
  • nodes for multiple master fonts
  • nodes for writing font files
  • nodes for rendering to postscript/pdf files
  • use windows gdi+ to get nonhinted text rendering
  • develop framework for easy pixel precise texture based ex9 rendering
  • invent more things like TypoSpread (Spreads)

Platform: Delphi or c#
Location: Frankfurt/Berlin

Finding Nodes

Since the early days of vvvv the number of nodes ever increased. After the possibilities of using vvvv-patches as reusable modules, writing plugins in c#, shaders in HLSL, and importing standard FreeFrame and VST DLLs the number of nodes has become difficult to overview for the novice.

VVVV already provides three different strategies (alphabetic pulldown autocompletion, category list, alphabetical list) for finding and browing nodes, but the latter two have come to their limits. almost all expert users rely on the alphabetic pulldown, which has many obvious usability issues. while novices get overwhelmed by the large lists.

The thesis should derive and implement information design and interaction design strategies to allow novice and expert users to easily browse, discover and create nodes of all types. possible approaches include tagging (to find nodes fullfilling a specific purpose), visualization of metadata, and better search options.

Platform: Delphi or c#
Location: Berlin

Externals Packaging System

The ever growing amount of vvvv externals (modules, plugins, effects, ...) makes it difficult for the user to get an overview of all the available functionality. Different or even obsolete versions of externals are currently hard to identify. Also developers of externals are still missing a central space where they can register and manage their contributions. A package management system for vvvv externals similar to those typically used with linux distributions or like the Firefox Add-On manager could help a lot.

Further, when working on bigger vvvv-projects that involve a lot of patches and resources (textures,..) using a version control system (like usually used with traditional textual programming) is a big relief for the organization of the project, as it also deals with backup and distributed collaborative work at the same time.

Goal of the Thesis is to find the common grounds of version control and package management and the tight integration in the rapid prototyping graphical programming system vvvv.

Given that the basic problems are already widely explored fields it also part of the research to find out if it makes sense to base the work on any of the many available open source package managers or well known version control protocols like subversion.

Abstractions for direct manipulations

Since Jeff Han´s demos and the IPhone touch based user interfaces had gotten an incredible boost popularity. while vvvv has been used successfully for many multitouch applications, some conceivably simple problems prove to be quite tricky to implement.

There should be a well thought out simple principle for creating patches for

  • drag&drop, touching and stretching corners of rectangles like in classic DTP programs
  • touching objects and setting them into linear motion by dragging
  • the two-finger scale&rotate operation popularized by the IPhone.
  • touching and rotating of shapes in 3d, set them into motion, stopping them etc.

The basic concept should be based on a set of nodes which provide a gesture input via a spread of x/y coordinates and transformation outputs. the state of all manipulable primitives should be maintained in a simple set of simple to use nodes. A patch for implementing e.g the jeff han multitouch demo should have only 8 nodes (excluding the image preprocessing).

Many further topics might be integrated into this framework

  • snapping to grids
  • create/cut/copy/reset operations based on additional inputs
  • attaching objects to another with secondary motions based on Transformations
  • physics libraries like http://www.box2d.org/

Platform: Delphi or c#
Location: Frankfurt

A Better Timeline

The Timeline node based on Ingolf Heinsch´s thesis has been a great new tool in vvvv´s node set, but there are many features still to be desired which open many research topics for another thesis. Scope of the work is to be defined, but many extensions come into mind immediately:

  • Usability and Graphic Design
  • Interpolation types modeled after vvvv´s animation nodes (Damper, Oscillator etc.)
  • Using the Timeline to switch through named Scenes (like in light desks for theatrical lighting)
  • More visual implementation of the automata features.
  • Additional Track Types
  • Additional Import formats (Ical, MIDI, Animation formats from 3d-Programs, motion capture systems, Subtitles etc.)
Advanced Mesh Operations

vvvv is an excellent tool for creating and modifying individual vertices in a mesh, but there is not much support for high level operations to create and modify meshes. The project should

  • give an overview of classic mesh operations in 3d animation, CAD/CAM and scientific applications
  • evaluate existing open source implementations in terms of possible inclusion into the vvvv/directx framework
  • evaluate and design strategies for moving cpu intensive operations into the vertex and pixel while maintaining ease of use.
  • do some hard work behind the scenes to make the existing 3d engine capable of efficiently supporting these operations.
  • provide abstractions for various subproblems with easy to use nodes and pins which work well within the existing concepts. features might include:
    • 3d import and export, including advanced features like animations and bones
    • boolean operations
    • nurbs surfaces
    • migration of the built-in cleverness of DX9 nodes like Quad, Grid and Rope into the shader based EX9 model.
    • easy creation of mesh-primitives out of geometric parameters or 2d and 3d point sets.
    • clever strategies for applying texture coordinates and normals to given meshes

anonymous user login

Shoutbox

~35min ago

joreg: Missed the last meetup? You can rewatch it here: https://www.youtube.com/live/MdvTa58uxB0?si=Fwi-9hHoCmo794Ag

~4d ago

joreg: Join us for the next vvvv meetup on Oktober 17th: https://visualprogramming.net/blog/2024/25.-vvvv-worldwide-meetup/

~9d ago

joreg: 6 session beginner course part 2 "Deep Dive" starts January 13th: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-part-ii/

~9d ago

joreg: 6 session beginner course part 1 "Playground" starts November 4th: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-part-i/

~9d ago

joreg: Save the date: Oktober 17: vvvv meetup in Berlin!

~11d ago

joreg: 12 session online vvvv beginner course postponed to start November 4th: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-class/

~22d ago

~1mth ago

joreg: Webinar on October 2nd: Rhino meets Realtime with vvvv https://visualprogramming.net/blog/2024/webinar-rhino-meets-realtime-with-vvvv/

~1mth ago

joreg: Introducing: Support for latest Ultraleap hand-tracking devices: https://visualprogramming.net/blog/2024/introducing-support-for-new-ultraleap-devices/