SVG Project Ideas

From Svg wiki

The versatility of SVG makes it perfect for all kinds of projects, be they commercial, school or thesis-material.

Here are some ideas for things that might make good projects (or might be total non-starters) :


Contents

SVG UI Framework

Why not have a full-featured windowing system, with windows, dialogs, menus, text input, table and tree components, drag&drop etc., based on SVG? UI component libraries developed by a world-wide community, and a language- independent API (like XML DOM, but much more abstract and tailored for interactive UIs)...

-- Felix Kugel


Various projects have started with this aim, for instance I started work on the CGUI library (homepage.usask.ca/~ctl271/cgui), and there are a number of other really cool widget sets out there. The SPARK project seeks to define standards for SVG UI (among other things). Hopefully this will allow the existing widgets to interoperate as well as providing a standard for new development.

There were SPARK presentations at SVG Open and additional contributors are always needed.

-- Chris Lewis


A very interesting and tightly related project is Domenico Strazzullo's GEMï.

I've also presented related work in an article at SVG Open 2008, but unfortunately didn't yet have the time to pull out a more general version of what is currently a pretty limited feature GUI set.

-- Helder Magalhães


SVG Wiki

Yes, I know where we are, but what I'm suggesting is that instead of having a text-based Wiki make it graphic. Double-click of a diagram to edit it, instead of a form text box for input use an SVG-built SVG editor. Link in other SVG pages locally (exact mechanism to be decided), as well as external links - SVG or other. This shouldn't be too difficult to achieve - there are a few SVG/script editors around, and at least one existing open-source wiki is based around XML (OpenWiki).

PS. I finally made a start on implementing this [notes around here | http://66.70.191.189/cgi-bin/mt-search.cgi?IncludeBlogs=1&search=wiki].


Accessible Organisational Chart

This idea has be bounced around a little already - diagrams of (tree-based) organisational structures, i.e. the boss at the top and us minions way down low. Click to edit or add a person or department, data gets persisted wherever. The DOM should come in handy here.


SVG Project Outliner

When working on a project it's nice to have a collapsible view, like in HTML you might only want to look at H1 and H2 and forget the details. The traditional approach would look something like a directory explorer (a la Windows) or like the way IE displays XML trees.


SVG Lissajous

Something for the maths addicts - how to generate patterns such as Lissajous figures which are usually generated point-by-point using higher-level SVG constructs (Bézier curves would be nicer than line segments). If you really want to give yourself a headache, what about doing this for systems that require loads of iterations to generate a single point, but when displayed usually appear built from curves - e.g. Mandelbrot.

PS. a few hours after posting this as a challenge to Michel Hirtzler (of Pilat) through the mailing list, he came up with a solution (http://pilatinfo.org/english/index.htm - lots of mathematical examples).


Upgrade Batik to latest SVG draft specs

Could be pretty important to have this one, IMHO !

-- TestMan


In my opinion this item should be removed:

  • Probably was written before SVG Tiny 1.2 was a Recommendation;
  • This should be deal with within the proper (Batik) issue tracker;
  • All and all, it's always a good idea having software updated so this would apply to all SVG implementations (not only Batik).

-- Helder Magalhães


Batik for MS.net

How about porting the Batik toolkit to .NET? A lot of it could probably be done using the Java -> C# tools MS provide for opposition knobbling purposes. Support for XML in general is pretty good, so the onlly tricky bits I guess would be in the graphic rendering. (Normally I wouldn't advocate the use of MS languages where Java was available, but for the promotion of SVG I'll make an exception)


I've made a few experiments with a promising, tightly related project: IMVM.NET, a Java to .NET compiler. Unfortunately, it didn't seem to implement enough of AWT (and probably Java 2D also) in order to run Batik.

-- Helder Magalhães


SVG Optimizer

http://www.protocol7.com/archives/2005/09/13/svg-authoring-guidelines/

Has anyone written one yet? Why not ?! If I've a series of transforms, they can be crunched into one, if my ellipse is very close to being a circle, make it so, and drop a few bytes. Properties repeated forever? Inherit. Etc.

-- DannyAyers


Look at http://www.geocities.com/theadib. I wrote a tool that crunches multiple transformations into one. Need more feedback on this.

-- Adib Taraben


Jeff Schiller's Scour is a tightly related project.

-- Helder Magalhães


SVG renderer that is hardware accelerated

This could be done by using already finished stuff for OpenGL implementations etc. It would be nice to see 2D rendering at lotsa FPS.

Take a look at http://www.cs.umd.edu/hcil/agile2d/ This is an implementation of Java2D on top of OpenGL !

There is already cairo and agg for that.

Note that agg does not use OpenGL, and does not support animation. Cairo supports (or is planned to support) OpenGL via the Glitz library.


Tightly related projects:

-- Helder Magalhães


SVG mapping "on the fly"

So, if you are interested in using SVG for web-mapping for aviation (briefing, navigation, etc.) here is the link: http://www.asad.kiev.ua/charting/enchart.shtml

-- Echart


Somehow related, Google Maps already uses SVG in compatible browsers for a while...

-- Helder Magalhães


SymbolProject

http://www.symbolproject.org

I thought of this idea while studying Chinese characters -- many are easy to understand like person人, female 女, moon 月, middle 中, sun 日, etc. Simple symbols represent concepts and in combination (like sun+moon 明="brilliant") represent more detailed ideas. In Chinese there arise various distortions, due largely to phonetic uses for characters, like the female+horse 媽="mother" because of the "ma1" (mother) sound of ma3 (horse). There are various other reasons for why Chinese (as it is) is unsuitable for a universal pictographic language.

The project will be to build a wiki environment with a simple whiteboard, at first. The SVG editing environment will eventually allow for basic sketching mode (freehand) as well as a refinement mode (Bézier curve editing), and all relevant metadata will be concurrently compiled, and saved in some way thats compatible with an SVG Font DTD. Ideally, we can write a DTD ahead of time, and design the DB in accord. Since the whiteboard module available are rather ubiquitous, we are talking about using either MediaWiki or Wakka Wiki with any Apache MySQL setup -it does not necessarily have to be PHP.

-- StevenCooney


Somehow related, Icon Chat and Search Engine tries to establish a relation between textual descriptions and actual graphical content.

-- Helder Magalhães