26 comments

[ 2.4 ms ] story [ 76.7 ms ] thread
I spent the last 3 years building this differ thing. It has plugins for different filetypes (text, image, and simulink) and for different filesystems (local disk, web, and S3). Right now I'm working on turning it into a good version control client too (SVN first, then git).

Curious to see what people's first impressions are!

I like the image diff stuff a little better than Beyond Compare but not enough to create an account just so I can get a quote to see the price.

If you want people to buy I think you can be a little more upfront about your pricing.

Just my opinion.

It's all free! Paying is only for the Simulink diff features. Time for me to make that more clear...
This looks cool. I like the concept of plugins for different filetypes.

My visual diff tool of choice is Meld, and most of us at work use it often with git. However, it would be cool if it supported plugins for filetypes. For example, recently I was interested in an SVG visual diff, which colours differences between SVG files, but could not find one.

How much do you think you'd be willing to pay for an SVG diff? One issue I'm grappling with is that I think people are willing to pay a lot to diff their CAD files, and probably nothing for their text files. There's a lot of useful stuff in-between, but I don't have a good feel for what price is appropriate.
Myself? Sorry to say, but I probably wouldn't pay, seeing as I am a programmer by trade. This was just for a little side project where I wanted to collaborate with my little sister on our own version of xkcd's "Click and Drag" [0] which we work on over a long period of time. I figured using Inkscape and version controlling the SVG's was the best way to collaborate with her, even though she's not familiar with version control (just finishing high school, interested in arts and not coding).

But I take your point that professional designers tend to pay for their tools, whereas programmers often find an open source tool. I guess it comes from the fact that programmers can program their own tools, where as designers cannot.

I recall a project hitting the front page which focused on visual diffs of 3D model which you may be interested in [1].

[0] - http://xkcd.com/1110/

[1] - http://news.ycombinator.com/item?id=4393704

No way! My little brother drew most of DiffPlug's icons (and took the photos used in the demos). He is also just finishing high school, and part of why I made the image differ was to help bring him into the version control fold.

Thanks for the 3D differ link! The conventional wisdom when I talk to people about DiffPlug is that I should make it into a web service. For diffing, I think a desktop app is better than a web service for a few different reasons, but one of them is that the cloud is a pain for big documents like CAD files. I haven't had any real data to support that so far, but the comments thread for that link is very helpful!

FYI: When I click play on the video, I see the first two seconds and then get redirected to http://www.diffplug.com/Teaser_0.5.0

Firefox 18 (Aurora) on Mac.

I got something similar with flash block enabled on the page. I soon as I disabled flash block for the page it started working.
Thanks! I must be doing something wrong with flowplayer, I'll dig into it.
The first part of the video on the home page is way too fast.

And second, I don't know what's going on or what I'm supposed to be looking at in the video.

Right now I've got two videos: the teaser on the front page, and a "getting started" video.

My goal was for the teaser video to get people interested enough to start the download and watch the "getting started" video. Based on my google analytics, it looks like I'm getting a pretty low conversion rate, so I'll try using the "getting started" video as the teaser. Gimme a few minutes...

Welp, this doesn't mean that either video is good, but more people were downloading it with the "teaser" video, so I'm going back to that one. I've definitely got a lot of work to do on the marketing side.
For what it's worth, your "teaser" video had me sold within the first three seconds. But maybe it's just because I've been looking for something like this for a long time. Great job!
Image diffing is very cool, I wonder if that could be its own standalone product?
Funny you should ask! That little blue/green eye that's used in the demo was the logo for "PictureDiff". I took out all the heavyweight stuff, and made it just a filmstrip, and you could click images in the filmstrip to open diffs. It also had the ability to compress images using diff: you compare a JPEG quality 50 image to a quality 80 image to decide if the extra filesize is worth the extra quality.

I spent $100 on AdWords to get people to look at it, but not a single visitor liked the site enough to download it. I might have given up too soon, but I decided to scrap it. I was way more motivated to tackle the general diff problem, and I didn't want to put a lot of effort marketing something I wasn't excited about.

This looks like a great example of how NOT to demo a product. I watched two videos and still had no idea what the heck was going on.
Do you recall if one of the videos was the "Getting Started" video on the documentation page? I had been using a fast-moving "teaser" on the front, hoping that it would get people interested enough to watch the "getting started". My conversion rate isn't very good right now, so I'm gonna try just putting the "Getting started" video on the front.
Is there a diffing as service startup?

If someone nailed the execution and supported lots of types of content, I'm sure there'd be a market.

I actually think there's an even bigger market for desktop diffing than web diffing. Most files that need diffing start their lives on a desktop. And most of the time, the diff happens before those files hit the cloud - while you're committing / merging with the central server.

If things like circuits.io and Cloud9 beat their desktop counterparts then I'm wrong, but if people (and especially enterprises) continue to do most of their complex work in native apps and not in the browser, then I think I'm right.

I wasn't necessarily talking about diffing on the web. I was actually talking about a diffing service.

I've seen lots of diffing programs and they all seem to have varying levels of success. I think there's an opportunity for a company to become the gold standard for diffing and to offer their diffing engine via a service that can be integrated into apps (web and desktop).

I bet there are lots of app developers who would like to have a robust diffing engine in their apps, but don't have the time or expertise to build one themselves.

EDIT: I see that you're the author. Have you thought about putting your diffing engine behind a web service?

People have suggested that I put the engine behind a web service. I don't personally have strong web skills, but I could learn / find collaborators.

The thing that I'm most interested in is building diff for things which haven't had very good diff before - CAD files, schematics, spreadsheets, etc. For each data format, you need a different set of diff tools.

I've built a grab-bag of diff algorithms for diffing different kinds of data (the Simulink diff in particular is a showcase of the different kinds of data DiffPlug can work with).

My goal is to release this grab-bag so that people can build their own tools on top of it, but I also have several tools in particular that I want to build.

A co-worker is working on a tool to provide visual diff of function block PLC programs. PLC programming tooling is so far behind.
Working in embedded software for aerospace is what drove me to make DiffPlug. When I built the Simulink differ, I spent a lot of time making it very general so that I could go after PCB schematics and layouts, some of the FPGA toolchain, etc.

I don't have any specific experience with PLC programming, but I bet some of DiffPlug could help your co-worker. The public API is still months from being stable, but I'd love to talk with your co-worker, I expect we have some shared interests. If he or she is interested, my personal email is ned.twigg@diffplug.com