* The Business of Software

A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

We're closed, folks!


» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)


Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

Seeking feedback ... visual diff tool for JSON

I know the web site needs a lot of work before the product is commercially released, and it will look totally different for the official release.  So right now I'm mainly concerned about feedback on the product itself and how I've described what it does...


After watching the video of the beta and looking at the screenshots, what is your impression of the GUI?

Does the web site give you a good idea of what the product does?  Do you think it needs more explanation of what makes it different than regular line-by-line diff tools?

Are there any features you would expect in such a product that you don't see?

Two such features which I already have in mind are 3-way merge from a common ancestor, and a command-line capability.  A basic command-line capability will be in the initial release, but 3-way merge will be postponed until sometime late this year or next year unless there are indications that it is a highly demanded feature.
Differson Send private email
Tuesday, March 12, 2013
Detecting moves is nice as, by default, diff algorithms do not do this.

If you see an unmatched line and there are two different places it could move to, how do you pick the "right" one?

A few years ago, I wrote a diff utility as a Windows application. I never got round to publishing it, but a few months ago I launched a subset of the functionality as an ASPX web-page. The URL is


It would be interesting to see how better your code is at comparing JSON rather than a regular diff.
NewToASPX Send private email
Tuesday, March 12, 2013
1. It appears you have a working software with plenty of features.

You should be letting people download it and use it so that you can gather feedback. Call it v0.9, give it away for free and have auto-update system so that when you release paid 1.0, you have a way of upgrading people to paid version.

But ship it already!

2. The website is clear, I understand what the program does, big screenshots are good.

However, it's very uninspired. Here's a website for a similar program for mac: http://www.kaleidoscopeapp.com/

This is very refined website and I believe a refined website helps sell software.

3. The same goes for UI: it's solid in the 90s kind of way but also uninspired.

Again, see the screenshots for the above Kaleidoscope app. You have all the functionality but you could use from overhauling the visuals of the UI.

4. To repeat myself: you already have a capable product. At this point I would stop adding features and focus 100% on shipping this to people so that their feedback drives the future changes.
Krzysztof Kowalczyk Send private email
Wednesday, March 13, 2013
@Krzysztof Kowalczyk

Yow, that Kaleidoscope web site is fierce.  I can see that being almost demoralizing to the scrappy starting indie developer. 

And does anyone here know the term for this newer style of web sites (or at least "newer" to me) that they use, in which it is a series of "panels" that scroll vertically down a long page?  Is that the new "thing" now?
Racky Send private email
Wednesday, March 13, 2013
>If you see an unmatched line and there are two different places it could move to, how do you pick the "right" one?

It's not easy.  And with tree-structured data like JSON, something can move in two dimensions. When it moves from one part of the document to another, it could have also moved up or down in the hierarchy.  The algorithm needed a ton of tweaking to get it to produce sensible results, and it will continue to be refined in future versions.

>It would be interesting to see how better your code is at comparing JSON rather than a regular diff.

For the web site I'll probably include some examples of regular diff vs. JSON diff with the same files, so the benefits of a JSON-aware diff are more apparent.
Differson Send private email
Wednesday, March 13, 2013
Differson, thank you for your reply.

I wrote the code for www.diff-text.com back in 2008 as a Windows desktop application. But I got distracted a never released it.

In the end late last year, I ported the code to an ASPX web-page and produced www.diff-text.com . I found it easier to create a web-site comparing text as the code is protected and hidden on the server. I didn't have the time or inclination to add a slew of copy protection code onto a Windows desktop app yet again.

I originally decided to write my application, because I already had a diff algorithm on my computer. So it wouldn't be any extra work? So why not?

Then I thought the major flaw in diff algorithms is that they don't detect moves. I thought up a simple elegant way that I hoped would work.

Hence the code you see on www.diff-text.com . I haven't tested it much since 2008 and perhaps my memory fades. I probably think the code is cooler than it really is.

But if you have time you might want to fire up my website and see how it compares at detecting moved text and perhaps see how it compares with the way you did it.

I'm afraid my code does not work with tree structures or knowledge of computer languages, but it does try to detect moves in a systematic way.

It is nice to see someone doing the same thing, but in a different way.

I think diff algorithms are cool.
NewToASPX Send private email
Wednesday, March 13, 2013
> Are there any features you would expect in such a product that you don't see?

Working with JSON from time to time, I'd love to have a diff tool.

But I'm looking for a standalone tool. My diffs are invoked from my IDE (which happen to be Eclipse).

I have a feeling it may be worth to provide the product as a plugin for most common IDEs (VS, IntelliJ, Eclipse, Netbeans, ...) and as a library that other IDE/VCS tools developers may use.

May be even a web service where two/three JSONs can be submitted and got the diff back. That would be easier in development (just expose the code as WSDL) and may be easier to monetize, but somewhat unusual for users to relay on cloud service for such a local task.
Vladimir Dyuzhev Send private email
Wednesday, March 13, 2013
Correction: "But I'm NOT looking for a standalone tool. "

[Damn you Joel for not giving us the Edit button!]
Vladimir Dyuzhev Send private email
Wednesday, March 13, 2013
Integration through plugins would be very expensive to develop, given all the various tools out there and their different hooks and techniques for incorporating plugins.

So I plan to facilitate integration with IDEs and version control tools via the command line.  If an IDE or other software has an option for calling an external diff via the command line, it can be configured to call differson.exe.

Of course, a developer using differson.exe for JSON diff would want to call something else like Kdiff3 or Winmerge for non-JSON text. 

To handle that, the command line for differson.exe will have a pass-through option, where it would automatically call another diff tool if it detects that the files being compared are not JSON.

That pass-through option might not be in the very first release, as I'm keeping the command line facility very basic right now in order to avoid delays, but it's definitely in mind for the not-too-distant future.
Differson Send private email
Wednesday, March 13, 2013
http://www.kaleidoscopeapp.com/ is insane.  My first thought when I saw that was "OMG you're selling a diff tool, get over yourselves."

It's definitely pretty, but I don't like the layout -- way too much scrolling (I'm viewing it on a 27" monitor rotated into portrait mode, and I find it hard to read), way too busy/flashy/gaudy, and I'd prefer my screenshots to be right there on the page, not hiding in a lightbox.  But then I'm a developer so I probably respond to a different type of marketing (esp. where my tools are concerned) than most 'normal' folks.

I've bought several tools from folks with plain/dated looking websites (example, baretail: http://www.baremetalsoft.com/baretail/), usually upon the recommendation of other devs, so while I'd put some effort into polishing the site, I'm not sure it's vitally important given  your audience.
James A. Send private email
Thursday, March 14, 2013
@James A
All excellent points!  Yes, as much as I was quite impressed with the slickness of their web site, you're so right when you write about it being merely a diff tool and for them to "get over themselves."  Nailed that.  Now I can't but see it in that light. 

Good contribution on that plain/dated looking site, too.  It's a big ecosystem, and it's helpful for me to see what's out there.  Of course, what would be most helpful would be knowing how much a site's slickness matters to *sales*.  :D
Racky Send private email
Thursday, March 14, 2013
You should also check out Araxis Merge and Beyond Compare to see how they handle conflicts between file A and file B (or A, B, C).

I've been using Araxis for years. Real time saver. It has things Differson doesn't have in terms of it's presentation.

Differson: Don't use saturated reds/greens/blues as defaults etc. Try less saturated colours. It makes the diff'd results much easier to view. That improves the UX and that (along with many other UX things) may improve your sales.

Re: Kaleidoscope. Thing I found odd about the web page was I wasn't sure which OS it was for. Downloaded it. Not for Windows, so guess it's for Mac. Perhaps that was clear to some people, but not to me. Yes flashy design. But I'd rather each section was on a different web page.
Stephen Kellett Send private email
Sunday, March 17, 2013
Looks like a built this software a couple years too late for this guy:

Differson Send private email
Tuesday, March 19, 2013
*"I built", not "a built"
Differson Send private email
Tuesday, March 19, 2013

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz