



Software Evolution Storylines, Inspired By XKCD 136
jamie tips this mind-blowing data visualization concept from (naturally) data visualization researcher Michael Ogawa, who explains that it was inspired by "this XKCD comic. It represents characters as lines that converge in time as they share scenes. Could this technique be adapted for software developers who work on the same code?"
inspiration (Score:3, Insightful)
A data visualisation researcher hasn't seen this method of visualising data before xkcd? Really?
Re:inspiration (Score:5, Insightful)
I thought that too.
The xkcd comic is itself inspired by Charles Minard's 1869 flow map of Napoleon's march to Moscow [wikipedia.org], a celebrated map in visualisation, and most recently popularised by Edward Tufte, one of the most well known data visualisation experts.
Why would someone, who is supposed to be a data visualisation researcher, not have seen this celebrated work of his own field before he saw a knock-off cartoon?
Re:inspiration (Score:4, Funny)
knock-off cartoon
Superbly executed knock-off cartoon, if you please.
Re: (Score:1, Funny)
I want to see Memento as depicted by this flow graph cartoon mechanism.
Re: (Score:2)
Superbly executed, yes. And a principal exhibit in the argument that the comic be renamed from XKCD to OCD.
"until 2007 when activity drops off."
Ha!
I want to see this graph for the SLASHCODE.
"Until 2003, when Rob loses the will to live." :-)
Re: (Score:2, Informative)
No it doesn't. There are green lines for Frodo & Bilbo and a yellow line for the Ringbearer which functions as an overlay. At the start it overlays Bilbo's line, then moves to Frodo's line. At points it overlays Sam & Gollum for short periods.
Re:inspiration (Score:5, Insightful)
Generally speak, humor is found in the unexpected. If you don't expect to see that reference in the given context, and it is made, or if it's being applied in a context that is unexpected, that is funny. At least to the observer that both gets the reference and doesn't expect it.
That said, SQL injection attacks are not only unexpected in a child's name, but I've forwarded that comic on to a number of developers of a large commercial database product (as well as many others) as a way to teach people to USE F*CKING PLACEHOLDERS. It has been fairly successful, I might add. After spending 15 minutes trying and failing to get across to them why "SELECT * FROM MYTABLE WHERE FOO = $foo" is bad, I go look up the xkcd comic and show it to them. In 30 seconds, xkcd's author gets across what I can't in 15 minutes over the phone (perhaps I could do it in person with a whiteboard to share).
Now, maybe a troll will come along and say that I'm not a very good teacher. Although I have plenty of experience to the contrary, let's assume this to be true. My point still stands: those comics teach against SQL injection more effectively than I can, thus it's an invaluable tool. The unexpected reference makes it funny enough for me to remember it, the pointed truth of it makes it a good teaching tool.
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
He's probably running sense of humour 2.24.11-132 or higher. You should upgrade.
Re: (Score:2, Funny)
Re: (Score:2)
Re: (Score:2)
For the benefit of the GP, would number 23 be "Whooooosh!!!", by any chance?
Re: (Score:2)
Minard's poster is actually much more sophisticated - for example it includes quantitative info such as army size.
This new "breakthrough" isn't much different to those rock family trees that show how bands are related via common members. Except it uses a computer.
Re: (Score:1)
I guess Super Size Me could be represented with a gradually widening line.
Re: (Score:2)
Exactly the kind of sophistication you need when tracking individuals - NOT.
The article is about code changes. Wouldn't it be relevant to see how big the changes were?
I know what one is, and so did Minard. Are you claiming that's an innovation too?
Re: (Score:1)
Oh, and please try to find out what a timeline is.
I know what one is, and so did Minard. Are you claiming that's an innovation too?
So why didn't he use one? (Hint: because that wasn't a point he was trying to make) Did you even notice he didn't use one, but instead put the line of decreasing thickness over a geographic map? So it sorta looks like a timeline as long as they went east, but completely kicks that analogy in the nuts when they went back west?
Yeah, it's a complete rip-off, it's just completely different in subtle ways.
Re: (Score:2)
See the bottom of Minard? He's mapped between time and space on the horizontal for the return march, and added temperatures for each marked date. He could have done another at the top for the outward march, but this isn't as interesting (i.e. winter is not beating Napoleon logarithmically shitless yet) and he probably didn't want to clutter it. The diagram is just lovely.
Meanwhile, Munroe's may have involved a lot of grunt work (i.e. for once he's perhaps put in a full day's work to prepare the comic he sup
Re: (Score:2)
Wow, you are one of those people who just can't take it when you been shown wrong. As the other poster said last time I had the misfortune to have a discussion with you, stop moving the goalposts. Minard is an example of a timeline, possessing a superset of all the substantive properties of Munroe's diagram. You might as well argue that an iMac is not a PC because it only comes with an attached glossy monitor in one aspect ratio.
I think you may have trouble with characterisation of objects and matching of p
Re: (Score:2)
I know what one is, and so did Minard
Hey may have, but he didn't use one. His graph was a spatial line--from Paris on the left, to Not-Moscow on the right, and back again.
Re: (Score:2)
Re: (Score:2)
It makes perfect sense, if you're seen the graph, and the rivers that are drawn on it--the timeline is a unidimensional map of Napoleon's route.
Re: (Score:3, Interesting)
xkcdsucks and xkcdexplained are the only reasons to read xkcd. For this comic I recall thinking, "I wonder which one will mention Minard?" But xkcdsucks went one step further, noting that comic 540 (by its "Napoleon's forces" label) almost confirms that Munroe had previously seen Minard's excellent diagram.
Re: (Score:2)
my meandering, friendless, troubled, handicapped and isolated life
We get it, you like xkcd.
Re: (Score:1)
Good catch. I was thinking of that visualisation (I first saw it in Science Museum in London) but couldn't remember the details. I've seen implementations of the same format in The Economist too.
Re: (Score:2, Insightful)
Huh? Minard's map isn't even close to the xkcd version:
A) Minard doesn't depict time, except on the few points on the temp scale, he uses both graph axes for location
B) There are no multiple actors in Minard's map
C) XKCD map only trie to convey character proximity over time: the major point of Minard's map is connecting several seemingly unrelated data points: it makes recognizing patterns easier.
So... I agree that Minard's map is a "better" inspiration for this work (and maybe it was the inspiration but x
Re: (Score:3, Insightful)
Take a look at the thickness of the line in Minard's graph, ebbing away as Napoleon's troops die. That was the main purpose of the graph, to visualise how someone could leave with 422,000 men and come back with 10,000. That's why it's famous.
Now take a look at Sauron ebbing away as he uses his power to create orcs, and how the orc armies and human armies ebb away as they're killed.
Re: (Score:2)
Oh wow, I hadn't even noticed the orcs and men. Oops... I still say that's a minor feature in the xkcd map.
Minard's work is awesome because the other data sources cleverly tie into the army size changes: like I said, it's about pointing out patterns that otherwise would require quite a lot of text. I don't see Xkcd doing that (or even trying to).
Re: (Score:2, Funny)
Re: (Score:3, Funny)
Why would someone, who is supposed to be a data visualisation researcher, not have seen this celebrated work of his own field before he saw a knock-off cartoon?
An amazing act of hindsight. I would have continued to labor under the false impression that this sort of work required a great deal of creativity and effort, if it weren't for your knowledgeable insight into what the researchers should have been thinking!
Re:inspiration (Score:5, Insightful)
Why would someone, who is supposed to be a data visualisation researcher, not have seen this celebrated work of his own field before he saw a knock-off cartoon?
You're either a) new to IT / Computer Science, or b) too young to have experienced a revolutionary new paradigm that matches either anything discovered at Xerox PARC Labs or in general 20-30 years ago by professionals who are now "grey beards," but commonly referred to as old fogies when they point our that even IT / Computing and Computer Science has a history.
Examples include Alohanet (vs. Wi-Fi / "wireless Internet"), time-sharing systems (vs. thin computing or virtualization), IM (vs talk / irc), CU-SeeMe (vs video IM, ChatRoulette), Jennifer Ringley (vs cam-girls), Xanadu (vs. iBooks, Google Books), and Nikola Tesla (vs. "wireless power" and numerous other things he invented, prototyped, or predicted).
Re: (Score:2)
I hear you, and I agree almost entirely - especially, let's say, Doug Englebart's mother of all demos.
However, I'd say the closest reinvention of Xanadu is the WWW, not e-books. And the WWW succeeded where Xanadu failed because Tim Berners-Lee either didn't know or didn't care about all the use cases Xanadu tried to fulfill.
He got 'good enough' that let people experience the magic of hypertext, while Ted Nelson still isn't there yet, despite the 30 year head start, because he's still trying to solve problem
Re:inspiration (Score:4, Interesting)
It reminds me a lot of the graphs that github creates, showing who committed when, who pulled from whom and merged what with what. I could stare at those graphs for hours.
Re: (Score:2)
Immediately thought about Github when I read the summary too. Been watching Kohana's graph the other day, it's fascinating.
Re: (Score:2)
Yeah It's mildly improved in that the hair-thin lines during stalls in a developer's output would probably make the github graphs better.
But not the first person to ever graph project activity this way by a long shot.
Re:inspiration (Score:5, Insightful)
Probably he did, but citing xkcd granted him an article on /.
Re:inspiration (Score:4, Interesting)
Re:inspiration (Score:5, Funny)
I think you need the surface of a Klein bottle to draw that graph.
Re: (Score:2)
How about pulp fiction? (Score:2)
Re: (Score:1)
Re:How about pulp fiction? Easy. Try time travel (Score:1)
Just because the movie is out of order doesn't make the storyline graph particularly hard. In fact, after watching the movie once or twice you're already picturing the graph in your head.
Instead, try doing something like the "Back To The Future" series; characters meetings change based on the revision of history, characters loop back to see themselves, the same encounters happen with different generations of the same family.
Now you're thinking with portals.
Re: (Score:2)
.
Re: (Score:1, Interesting)
This is in fact the exact strategy that Kurt Vonnegut used to use to plan his novels. He used to discuss it in terms of Slaughterhouse 5 where Dresden was a large black bar that most of the characters didn't emerge from.
Re: (Score:2)
Re: (Score:2)
I just invented a windmill used to generate electricity. Its inspiration was xkcd 556 [xkcd.com].
Would it be arrogant to point out, like most responses, prior art for both the idea and deployment of wind turbines?
Also, everyone who has read or even heard of Don Quixote is aware that he tilted at windmills. If you have lived in Spain for any length of time the sight of windmills will bring Cervantes to mind automatically. It is not funny to simply put Don Quixote in a scene involving scary windmills, any more than it i
Re: (Score:2)
Re: (Score:1)
Ahh. That's who that is in the last frame.
It's Don from the drawings by Picasso, to be precise.
Re:inspiration (perspiration) (Score:2)
prior art:
Charles Joseph Minard, a french civil servant drew a fantastic line/statistical diagram showing data from Napoleon's March to Russia [wikimedia.org] on the 20th November 1869. This combines many data points and also shows the horrific losses sustained by Napoleon during the winter (and river crossings) and is actually far more complex than examples in TFA.
1. invent new idea ... ... (think about profit and all round cleverness) .... .....
2. write about it on interwebs
3.
4.
5.
6. errr?
7.
8. !profit
8a. because lo
This news post needs (Score:1, Funny)
The obligatory XKCD comic.
It would be useful to see this on mature projets (Score:5, Interesting)
Re: (Score:3, Funny)
Re: (Score:2, Troll)
"Mature and stable" is just a euphemism for "dead". If your project REALLY has no bugs, and all its users are fully satisfied with the current feature-set, that just means you don't have any new users. It is far more likely that all your current users have long-since learned to live with bugs you don't feel like fixing, or have built ad-hoc work-arounds for bugs and missing features since your project is too "stable" (read: dead) to accept patches or proposals.
Re: (Score:3, Insightful)
ls history (Score:3, Informative)
According to this [gnu.org] there are 5 files that start with "ls".
Except for ls.c, all those files have only one entry on their history. The "initial revision" on 1993-06-16.
On the other hand, you can check the history of ls [gnu.org] by yourself. Ignoring a "build" commit done on 2010-09-18 (and by the same guy who did the "initial revision" ones), the last commit is from 2010-07-01 with the message header of "ls: use the POSIX date style when the locale does not specify one".
While not extremely important, it does show tha
Re: (Score:1)
Re: (Score:3, Funny)
ls is boring, they should add a feature "ls --im-feeling-lucky" to list a random directory to add some spice back into it.
Re: (Score:2)
Mature and Stable can mean that the new functionality is being add in a layer above ....
When you stop adding features to the core and abstract them away into another level then the core can stabilize
The reason most stable projects are dead is because new features are no longer added at all ....
Re: (Score:3, Insightful)
Most of the time. I'd say you are right but there are exceptions. One example is Privoxy [privoxy.org]. It'a been nearly the same since the 3.0 release in 2002, but there's been constantly tiny little fixes so it's not abandoned and has had an average 175000 downloads/year not including Linux distros etc. so obviously many people find it useful.
So they're not taking over the world. But is there any point to try to be another jack-of-all-trades software? It does one thing and it does it well, or if you'd want to do it dif
Re: (Score:2)
I completely agree, but anyway, does somebody around here want to volunteer to support GNU truefalse? It simply didn't keep up with the users needs recently.
Re: (Score:2)
thanks
Re: (Score:2)
Very often it is difficult to see at a glance whether a project is mature and stable or just dead. It would be interesting to see whether this type of visualisation can tell you at a glance how healthy the project is. If so it would be nice to have this view on sourceforge, etc.
Hmm... Would someone mind attempting to apply this view to Team Gizka's TSLRP for Knights of the Old Republic II?
I'd be curious to see how *that* turns out.
What will happen if I... (Score:1)
Re: (Score:1)
Re: (Score:3, Insightful)
Must be tough browsing the web without JPEG images.
Re:What will happen if I... (Score:5, Funny)
That must be awkward ... most file extensions do begin with . after all.
Re: (Score:2)
Re: (Score:2)
hehe, seeing the name i thought "i've seen it before... wasn't it that repository visualisation stuff, codeswarm ?"
that one was quite nice - unfortunately, abandoned soon so for non-coding users some customisation was missing. so these are very nice concepts that can be sometimes used, but so far they don't seem to attract developer attention to get them going.
Re: (Score:1)
Re: (Score:3, Informative)
The thing is, you're not even allowed to post on slashdot unless you've already written a far better programming language than Java before your twelfth birthday.
But what does it tell me? (Score:3, Insightful)
The XCKD comic was a great example of visualization because after a brief time acclimatizing to the layout, I could immediately comprehend it and draw conclusions out of it. Doing the same with a software project would be interesting, but right now all I see is a bunch of tangled lines -- they don't mean anything to me.
Anyone who has worked on this project -- do they mean anything to you? Anyone else -- what do you see in these graphs?
Re: (Score:2, Funny)
I see in the Python timeline that Guido van Rossum forked into "guido" (red line) and "gvanrossum" (dark green line).
Re: (Score:1, Funny)
And therein lies the power of Open Source Software. It's something you hear time and again:
If you don't like how the developers are handling things, you can go fork yourself.
Re: (Score:2)
I work with data and data visualization. I prefer drill-down visualization techniques starting with a general view and extending interaction via drill-downs.
The samples presented don't tell much. The level of visualization is too granular for a general view. IMO, it+s a bunch of tangled nonsense, helping in no way. But it's "shiny" and nicely colored - so managers might like it a lot
Timeline... (Score:5, Funny)
I bet the Windows timeline looks like the one for Primer.
Re: (Score:3, Interesting)
I don't have a windows timeline, but system calls are nice too
http://mattiasgeniar.be/2008/11/09/system-calls-in-apache-linux-vs-iis-windows/ [mattiasgeniar.be]
Could this technique be adapted for software? (Score:5, Funny)
Sure; we've tried every other fad that's come along, might as well try this one also.
Re: (Score:2)
Also does anyone know what this whole BiebeRPC craze is about? Ever since it started up I've noticed my servers running at a much higher pitch...
Obligatory XKCD comic (Score:3, Funny)
Special request (Score:1, Flamebait)
Re: (Score:1)
Apparently, my comment looks too much like ascii art without this statement. It also needs fewer junk characters without this statement. No wonder nobody else drew you such a simple timeline. These characters are not junk, stupid filter! This is a new, exciting visualization method.
Seems scary. (Score:3, Funny)
Say what you want, these graphs look like some evil worms from below, kind of parasites that prey on the Deep Ones... Scary.
He may have been inspired by XKCD (Score:5, Informative)
...but XKCD pretty clearly was inspired by http://en.wikipedia.org/wiki/The_Wallchart_of_World_History [wikipedia.org] (first version 1890).
It's a pretty cool visualization, illustrating in a very superficial way how each state mutates and evolves politically into its descendants.
Re: (Score:2)
But there's no picture in your link! It must have a picture or I'll lose interest!!!!!
it's a nightmare (Score:2)
Re: (Score:2)
Even with SVG!
Yep. Unlike the XKCD version, the graph examples in TFA are unreadable messes of spaghetti lines. While the concept is a great one, this implementation from (naturally) data visualization researcher Michael Ogawa is embarrassing.
Its a git graph! (Score:1)
Am I the only one who thinks this looks suspiciously like a git commit graph, as represented in gitk/qgit/etc.? Like, a really, really badly managed graph?
Ohloh should give him cash (Score:2)
TFA says he'll open source it anyway, but this would be a great addition to the line up of code metrics at Ohloh.
Obligatory... (Score:2)
http://xkcd.com/657/large/ [xkcd.com]
*shrug* Had to try it.
Plug for Montessori Elementary (Score:2, Informative)
Re: (Score:3, Insightful)
We did lots of timelines in my perfectly ordinary elementary school a couple of decades ago.
Re: (Score:2)
Yeah, well, did your elementary school impress upon you an absurd sense of your own self-worth?! Hah! Didn't think so!
Re: (Score:2)
Good point. My parents probably didn't get the same satisfaction telling their friends about it either.
How is this mind-blowing? (Score:2)
It's a chaotic mess. If a data visualization technique doesn't bring clarity to a subject, but instead just results in a Jackson Pollock jumble, what exactly is it?
Is it art? If this is its primary goal, I have no argument.
If it, however, is meant to clarify the history and relationships of principals involved with the creation and maintenance of a program's codebase, it's a complete failure. There is no clarity here, less so than even a simple table would provide.
Re: (Score:3, Insightful)
Thankfully, SoftVis 2010 (the ACM symposium where his paper is going to be presented) does not take into account reviews from anonymous cowards on slashdot.
Re: (Score:2)
I have to concur. They look very nice and all, but what question is anyone likely to ask that can be answered by looking at them.
Re: (Score:2)
Re: (Score:2)
Huh, thanks. Original link still works for me, but probably someone trying to break the internets with URL referral checks or something. .. Or just trying to break hotlinking ^_^
If only I could go back in time and make things right... there must be some movie about that or something...
Re:Ehm... (Score:5, Interesting)
As is implied by the word swimlane, the diagram shows several horizontal 'lanes', these represent individual people or organisations. Then a flowchart is overlayed onto the swimlanes. Whenever an action is performed by a organisation, the flowchart box for that action is in their lane.
This shows for instance who is responsible for what in a process.
I believe that if, say, LOTR was to be shown as a swimlane. You could have the characters that come into contact with The Ring as lanes across the diagram. And a line moving from one lane to the next as the ring passes ownership but going from left to right as it stays in their grasp.
The diagrans in the article show, in many ways, the opposite. The lanes come together and separate over time showing who is in contact rather than who is doing what.
Re: (Score:1)
Bite your tongue. "Swimlanes" and "rice bowls" are probably the cause of half of the problems in my office. I understand that it's necessisary to break down an organization into subcomponents in order to make it managable (to avoid a Brooksian catastrophe), but we haven't implemented anything to allow people to easily change lanes (turn signals?). So the only time people come into your "swimlane" is when upper management has decreed it, which means that project is more favored than yours, which means you