Google Summer of Code proposal for WebGL

Hi all,

Gephiorganization, open-source graph visualization plaform is looking for students application about a WebGL visualization engine.

If you look around you, you may notice that networks are everywhere. For instance, social networks, relationships among people or computer networks, links between computers. Transportations routes, power grids, emails networks or the relations between scientific papers are other examples of networks. The ability to analyze, manipulate and represent a network is a key-feature for solving difficult problems and boost knowledge discovery in many disciplines.

You may already know how Google SoC works, basically a student will receive payment ($5,000) for working on a mentoring open-source projects.

Short version of the WebGL Proposal:

Communication about (large) graphs is currently limited because it’s not easy to put them on the web. Graph visualization is like other types of visualization (charts, Google Maps or Goole Visualization API) and need powerful web support. Creating an efficient, interactive and portable library for doing that is a great challenge.

The idea is simple. People uses desktop software or scripts to visualize, manipulate and analyze large networks. Then, they would like to communicate about their findings and export the visualization on the web. There is currently no standard library that would do this job with graph larger than couple of thousands elements. Minimum interactivity should also be provided: zoom, pan, and mouse over events.

One possible good solution would be to use the new PhiloGL library, which seems a perfect fit. Data should be loaded as a standard JSON format.

An important aspect of this project is to deliver a final version with little features but with materials and documentation to make this a real open-source project. The amount of interest and possible support is very high, we just need to get started, create the project and start gathering the community.

This project would let the student get experience in Javascript and WebGL, high-level optimization and data visualization. Good communication skills are required to promote the project, write documentation and blog posts.

We suggest this draft roadmap:

[ul]
[li]Get started with WebGL and the development environment[/:m:2wazgysj][/li][li]Draw a graph in a 2d space. Draw nodes as sphere, edges and labels.[/:m:2wazgysj][/li][li]Add interaction layer with displacement and mouse movement.[/:m:2wazgysj][/li][li]Create API to define a graph structure and all visual attributes that can be touched.[/:m:2wazgysj][/li][li]Build a simple website and start advertising the project[/*:m:2wazgysj][/ul] [/li]

Instructions to apply here

Quick demonstration video

I’m interested with comments about feasability of this project and so on :wink:

WebGL is probably the wrong library for this. SVG might be better suited.