Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I am perfectly aware that "SO is not a place to ask for a tool" so I did my own search and did find a few tools, but, since I need a few specific features - I do believe that combined expertise and experience of SO users could be very useful to what I am looking for. Which is: a library to be able to build/display on a Web page a flow chart similar to this:
As I mentioned I've seen jsPlumb and a few others, but it takes too much time to research individual features of each, so I hope someone who has experience could suggest the best choice. The features I am looking for:
Browser support IE8+, Chrome, FF
Ability to add/edit/delete chart items on the fly either visually or programmaticaly
Ability to update backend (ASP.NET/SQL Server) with chart data
Ability to have flexible connectors (like from Button 3 to State 1 in the example above)
Ability to load chart data and have items auto-arrange into default/optimal layout
Possible library to have a non-free/commercial option (this is a stupid one, but this is what the business side is asking for, they're wary of free products)
I'll possible get quite a few downvotes for this question, but I am willing to chance it, hoping that someone could suggest a good flowcharting library that fits my needs.
As naughty as your question is, mxGraph is the only diagramming library with full IE8- support (down to IE 6). And that's with full functionality, try draw.io on IE 8.
1) Yes, and Opera, Safari, iOS 5+, Android 4+, Windows 8 touch, ChromeOS.
2) Yes
3) We have a full graph model implementation on the server in .NET, it's easier to integrate that a JavaScript only solution.
4) Yes
5) Yes
6) Yes
And yes, I work on the product.
Let's see how yFiles for HTML compares:
Browser support IE9+, Chrome, FF, (and more) (IE8 is a no-go, since HTML-5 is required and IE8 simply does not support that level, neither on the visualization, nor on the Javascript level).
There is a very rich API that can be used to programmatically change any aspect of the model and view. The default editing capabilities allow for all standard edit operations, custom ones can easily be added.
yFiles for HTML 1.1 comes as a pure client side application, so currently server connectivity needs to be added by the programmer. Since the library is server-agnostic it can be made to work with any server technology - samples included in the package.
Flexible connectors are in fact the default: Any number of bends and labels can be added to connectors, which connect to two ports. Both types of items can be configured and customized to a very high degree.
An outstanding feature of the library are the versatile automatic layout algorithms. In general it is not possible to get "optimal" layouts, but the (heuristic, at least most of them) algorithms are considered "best-of-breed".
The library is a commercial library, only.
Whether the library actually fits your needs depends on a lot of factors. Unless (1) is a blocker for you, I think yFiles might be a good candidate. You can try it by evaluating it from its homepage.
I recreated your sample in the online editor and used the following simple code configuration to create an automatic layout:
var ihl = new yfiles.hierarchic.IncrementalHierarchicLayouter()
ihl.automaticEdgeGrouping = true
ihl.backloopRouting = true
ihl.layoutOrientation = yfiles.layout.LayoutOrientation.LEFT_TO_RIGHT
ihl.integratedEdgeLabeling = true
// animate and apply the layout
graphControl.morphLayout(ihl, yfiles.system.TimeSpan.fromSeconds(1), null)
This is what I got:
Note: You did not ask for a plugin-free solution, but I answered your question as if you did. If plugins like Flash, Silverlight, or Applets are acceptable, then the sibling yFiles products for the respective platforms might also be an option. They work on all browsers that support those plugins, so even the oldest IE versions are supported.
Disclaimer: I work for the company who creates that library, however I do not represent my employer here at SO/SE. My thoughts, comments, and posts are my own.
GenMyModel is now supporting flowchart diagramming:
You could view and fork this sample here
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
On windows CHM is a very good option.
Is there anything other then delivering a static set of HTML pages and using a primitive call to a webbrowser (which is even a problem itself on linux). And it would not offer any kind of fulltext searching, separated bookmarks and even the simple fact of not opening a new tab for each help call.
The Gnome yelp program is what is used for GTK/Gnome applications. It supports a number of formats, but not CHM directly. They have started to define their own markup, named Mallard. But I don't know what is the status of that.
I'd still recommend static HTML as the best option (and of course man pages!). For example you can use Sphinx to write beautiful documentation with a full-text search support!
There are CHM viewers available on Linux though frankly as a Linux user I'd prefer to get static HTML pages.
Some examples are chmsee and kchmviewer.
Afaik there is no universal system. Depending on your desktop system (gnome/kde) there might be helpsystems, but they are usually based on loose files and use full-blown browsers. (usually webkit based)
For Lazarus a CHM based helpsystem and embedded browser was created, including CHM write support.
The reasons to avoid loose static html were mostly:
the 60000 lemma static documentation took too long to install on lighter systems or systems with specialist filesystems.
CHM removes slack and adds compression.
we also support non posix and OS X systems, and little filesystem related problems (charsets/encoding, separators, path depth etc) and case insenstive filesystems on *nix caused a lot of grief. The CHM based help solved that, allowing for one set of routines to access helpdata on all systems.
indexing and toc are Btree based, and can be easily merged runtime from independently produced help sets. In general integrating independently produced helpfiles is a underappreciated aspect of helpfiles in general, while key to open platforms.
native fulltext search.
An own viewer also has the ability to take advantage of extra features on top of the base system.
I'm not mentioning the Lazarus system in the hope you adapt it, since it is at the moment too much a development system (SDK) oriented system, the viewer is not even available as a separate package. I mainly mention it to illustrate the problems of loose html.
I haven't investigate KDE/Gnome/Eclipse what they use as helpsystem for a while though. If I would have to restart from scratch, that's where I would look first.
If I had to create something myself quickly, I would use zipped static html, and a single gziped file with metadata/indexes and the lightest browser (Konquerer?) I could find. Not ideal, not like Windows, but apparently the best Linux can offer.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I am intrested in learning about Music Visualization.
(eg: http://en.wikipedia.org/wiki/Music_visualization )
Does anyone have any books to recommend on the subject?
(I know its not a technical question, but it seems like a good place to ask)
Many thanks
You're in luck--it's a great time to get involved in the medium. Lots of new open source multimedia platforms are available now, with great communities forming around them--making it much easy to get something up and running.
I'm not aware of any books specifically on audio visualisation, but I think you'd be well served by reading more general material on:
computer graphics in general
graphic design (color, form, etc)
data visualisation
any of the great new open source multimedia platforms
If you're writing a visualization plugin for a media player, the problem can usually be treated as mapping FFT data and time to pixel space. You get the time and FFT data nearly for free, so the remainder of the problem is graphics programming, visual design, musical sensitivity and imagination. The way you combine these will ideally be your own.
You can expect to find lots of great information, tools, examples and communities surrounding any of the modern open source multimedia platforms:
processing.org -- a Java based platform which makes it really easy to get your works (called "sketches") up and running, with plenty of examples. You could plug in a library like minim to get the audio FFT parts for free
openFrameworks and libcinder -- C++ based platforms. If you want to write plugins for a media player like iTunes, you may need to use a language like C++. If you already know (or want to learn) C++, both are good choices.
I'd recommend jumping straight in with a platform like processing.org, together with a library like minim, play with the bundled examples, and build your knowledge from there.
There are quite a few books on processing if that suits your learning style.
If you want to stay current, blogs like createdigitalmotion are a great resource.
Also check out artists like flight4040 and Memo Akten who are using these frameworks.
Hope that helps.
Check this fantastic blog post:
http://www.ethanhein.com/wp/2011/visualizing-music/
There is also some great material on this book:
http://www.amazon.com/gp/aw/d/0060926716/ref=aw_d_detail?pd=1
The author also has a website with some examples.
http://www.constructingtheuniverse.com/Amen%20Break%20and%20GR.html
Happy visualizing
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I'm looking for a diagramming program that can help in designing software, right from the high-level requirements down to the low-level classes and functions.
I've seen a lot of UML programs, but they don't let you design at multiple levels of detail in the same map, like if you could "zoom in" and design the details of a part.
Do programs exist that help in such designing? Programs that let you design at the high-level and low-level on the same map?
Most of the UML products from large vendors will let you do what you want. "Rational Rose" and "Enterprise Architect" are just two examples that I have used. They both let you mix component, package and class level information in the same view. Both of them provide a way to specify requirements as part of the meta-data to a class and I believe, functions too.
Edit 8/23/09
I just found Topcased. It's free and does many of the same things as Rose & EA. I'm not sure about mixing different diagram types in one view, but you might want to give it a shot. I'm definitely going to investigate using it for my personal projects.
I recommend BOUML. It's a free UML modelling application, which:
has a great SVG export support, which is important, because viewing large graphs in vector format, which scales fast in e.g. Firefox, is very convenient (you can quickly switch between "birds eye" view and class detail view),
this can work as the "zoom" feature you're asking (I use such SVG exports my self, to be able to quickly overview relation of group of classes, and then zoom in into details of selected one),
is extremely fast (fastest UML tool ever created, check out benchmarks),
has rock solid C++, Java, PHP and others import support,
is multiplatform (Linux, Windows, other OSes),
is full featured, impressively intensively developed (look at development history, it's hard to believe that such fast progress is possible).
supports plugins, has modular architecture (this allows user contributions, looks like BOUML community is forming up)
The "zoom" feature you're asking can be obtained through SVG export. I use such exports my self in the way you're asking.
I've used Rational Rose and looks like it fits your needs.
You could try BOUML which, although it doesn't allow you to "zoom in", does cover all the aspects of UML, and allows you to view different parts of the design at once (in multiple windows). It is also free, which may or may not make it more desirable for you, and is quite cross platform.
First of all there are different diagrams for different things you want to express. During software design you dont only use UML, but also HTML sketches and things like that. So choose the right tool for the right task is my advice. Create a folder structure depending on your granularity, one for Frontend sketches (you can place it hiracially), one for class diagrams and so on. So try to establish a process that fullfils all your needs. Often the holy grail programm doenst exist or is not good, just because of the fact that it tries to satisfy to many customers.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm currently looking for diagramming software that allows me to quickly map stuff and jot down concepts such as a filesystem directories represented by nested boxes containing icons (representing files.)
Off course the simplest solution of all would be to just use paper and pencil, but unfortunately i have such poor motor skills that after minutes i cannot even distinguish the shapes I've drawn myself, never mind have these notes be of any use to someone else in order to have him/her work with them.
So far I've tried a ton of software packages but none of it seem to be simple/flexible/powerful enough to help fulfill the modeling /sketching tasks I'm trying to achieve
Visio,
smartdraw
Edraw
conceptdraw
Vue
yEd
Dia
Kivio
paint.net
photoshop
Illustrator
GIMP
in addition I've played around with modeling tools including staruml,argouml and Visual Paradigm as well as Eclipse modeling, but most of them were too complicated, too constricting and in some ways completely alien. On a side note, I absolutely HATE eclipse, I'm used to writing shellscripts with nano on a shell, The sheer amount of features (That i will never ever have any use for) make it hard for me to find that which I'm really looking for. YAGNI GDDMM*T!
Allthough UML modeling is at times important, such models are more for the next follow up phase and would be overkill (as well as a creativity killing burden) when I'm trying to come up with something from scratch.
Right now I'm looking for something new, I would be more than happy if someone could perhaps suggest something,
Most importantly i would like to find a program where the software allows me to do add new shapes and with the parent shape automatically growing so that that added shapes all fit inside of it rather than that i have to manually resize the parent shape
Your problem is a common one, and in recent years the big UML tool vendors have started adding functionality for sketching, as opposed to traditional modelling. My favourite, Enterprise Architect from Sparx Systems, has got "whiteboard" sketching and is also able to import from Visio.
It boils down to whether you know you'll just want to sketch, in which case you should get a tool which does that really really well (that last feature you mentioned is something I haven't seen in any UML tool). If on the other hand you know that you'll eventually want to turn the sketches into UML models, you need to consider whether you'll want to start over (which might be the easiest option, honestly) or have some sort of in-tool support to do that.
For "UML as a Sketch" I use the Hruby UML Stencil for Visio. These do not enforce eny semantics, so you can be as sketchy as you need to quickly record ideas and communicate.
See http://www.softwarestencils.com/uml/index.html
I use Dia. It is cross platform. Very simple tool.
However, My favorite has always been to sketch it on paper and scan (fotopragh it on my mobile) and keep it for records. Nothing beats pen and paper yet !
I tried yEd recently, because I happened to see it mentioned in another thread here. I'm quite impressed with it. Its pretty easy to use. I think the feature I liked the most is that I can draw my diagram regardless of the spacing and orientation. Then 1 button and poof, the whole things rearranges into the ordering I want.
As a linux diagramming tool, im pretty impressed with it.
this one is good for remote team members.
Nothing to install
http://www.dabbleboard.com/
I've used Visio for so long IMHO nothing beats it.
That said, I rarely use Visio in meetings to take initial notes. We'll diagram on whiteboards (get someone else to do the diagramming while you "facilitate") and then I take pictures of the result. Transcribing the photos to a Visio diagram helps me think it through.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I'm interested in evaluating bug trackers, but I wanted to back up and figure out what sorts of criteria were most important in bug software. So far things I've thought of include:
integration with source control
usability
basic features (email notifications, rss, case states)
customization
advanced features (reporting, visualizations)
stability
cost
IDE integration
Any ideas?
Ease of use
This should, in my opinion, be on the top of your list of features to evaluate against. You want inhouse developers and testers to take any and all things they notice in the software and plug it into the tool, even if they're currently working on something else. For this to happen, the tool must be so easy to use that it stays out of the way and just takes your data. The worst bugs are those you don't know about.
A tool that has 15+ fields on the screen, where 10+ are required in order to just be able to submit the issue, is not such a system. With such a system, you'll get postit notes from testers to developers about the little things.
When evaluating BugTracker X, which bugtracker do the developers of BugTracker X use?
customizable workflows (from "open" to "in work" to "resolved" to "closed")
fine granular access control
There was a recent thread on Hacker News about this exact question. Lots of good stuff in there!
An API. Mandatory.
You MUST be able to catch and automatically submit bugs into your bug tracker from applications running in the field.
(Copy/Pasted from "Lasse V. Karlsen"'s answer)
You want inhouse developers and testers to take any and all things they notice in the software and plug it into the tool, even if they're currently working on something else. For this to happen, the tool must be so easy to use that it stays out of the way and just takes your data. The worst bugs are those you don't know about.
Even good, conscientious testers, if they are focused on testing component A but happened to stumble on a bug in component B, might not actually enter that bug if there is a lot of friction in the bug tracker. Friction means, required fields. It's not that the testers are bad or lazy - it's just how the human mind works. We focus. We don't see the guy in the gorilla suit.
The Joel/FogBugz philosophy of NO required fields is the right one (Also the philosophy of my own BugTracker.NET). You almost always can gather the details later - what os, what version, what browser, etc.
Also, take a look at "Bug Shooting", if your app has a GUI. You want to make it as easy as possible for the testers to take a screenshot and get it into the bug tracker, and that's a great tool for it. Pick a tracker that works with Bug Shooting or has its own dedicated screen shot tool.
Distribution. My version control system is distributed, why shouldn't my bugtracker? If I fix a bug on the train, why should I be able to make the fix but not record it?
Probably everything mentioned by others, plus some from me.
If you have long term big project, separate testing team that will do functional tests, you should take few additional things into consideration:
- can bugs be linked to test cases (and more precisely to given run)?
- can defect tracking system exchange data with test management system?
- can it produce (useful) reports?
- can bugs be grouped by release?