views:

185

answers:

7

I'm creating a web application in which teachers need to be able to easily create educational diagrams, flowcharts, basically:

  • boxes and circles with text in them
  • text labels
  • ability to upload and embed graphics
  • easy to make lines with arrows, etc.
  • lots of ready-made icons and clipart would be nice
  • free and opensource would be nice

Basically I'm looking for a website RichTextBox editor but with basic Visio functionality which would allow the user to:

  • click on "create diagram"
  • create it WYSIWYG with the mouse
  • save it (on the server)
  • use it in the application

It could use Javascript/jQuery, Flash or Silverlight, doesn't matter, as long as it runs in a browser.

A: 

Have you looked at GoDiagram? I've not tried it but it's the only component I've seen that fulfils this need.

Lazarus
A: 

I suggest flash. I have seen sites that implement this kind of stuffs easily in Flash. You can achieve the same using html and JavaScript too but it will need painful programming. Silverligt in my opinion is not matured yet. But I am sure we can see some improvements soon. And may be you can consider Java applets too.

Check the site www.geni.com. they have a family tree building interface there done in Flash.

Faiz
I think it will need "painful programming" in all cases... :-) The level of pain depending on your familiarity with the language/system and the knowledge of routing algorithms.
PhiLho
True! And JavaScript is a bit more notorious for pain :)
Faiz
+1  A: 

The Firefox Pencil Add-on allows users to make diagrams and save them as .png files:

Edward Tanguay
smells like a plug to just answer your own question to me
Mark Schultheiss
I tried all of these out and finally found the yEd editor which is the best answer to this question. I posted links to all the tools I found and choose the yEd one as the final answer so that other people who find this question will know what best answers this question, and since I assume Stackoverflow will exist from now to the end of time this is a place for me to store links for myself to refer to later, I don't think you even get points for answering your own question, do you?
Edward Tanguay
No clue about points myself, and actually I don't care really about that. I have been looking at Processing.js with the encanvas.js for something similar to what you are proposing - have to develop your own handling for that, but seems possible.
Mark Schultheiss
A: 

Gliffy have a free option that is supported by ads. As well as having a decent API. I like the look of the service, but haven't used them yet. (it's in the pipeline...)

davewasthere
A: 

I think your best option could be to use Google Docs

Sketchy (the drawing feature in Google docs) is very powerful and I think will do what you want.

davewasthere
A: 

https://bubbl.us/beta is very easy to use and create PNGs but quite limited in features, the google docs solution is good (thanks @Dave Beer) but the size of the screen is static, you can't make large PNGs: http://superuser.com/questions/76630/is-there-a-way-to-change-the-size-of-the-drawing-area-in-google-docs-insert-dra

Also not to be missed: yEd: http://www.yworks.com/en/products%5Fyed%5Fabout.html

I did some more research on this and choose yEd as the tool we will use for the project, here are some examples of what yEd, Google Docs and Firefox Pencil can do: http://tanguay.info/web/examples/googleDocsImageDraw/

There are lots of these if you keep looking around, here some more, each with their advantages and disadvantages:

Edward Tanguay