

Show HN: DiffPlug — the pluggable differ - etwigg
http://www.diffplug.com/

======
etwigg
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!

~~~
bockris
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.

~~~
etwigg
It's all free! Paying is only for the Simulink diff features. Time for me to
make that more clear...

------
Hilyin
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.

~~~
etwigg
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.

------
jlarocco
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.

~~~
etwigg
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...

~~~
etwigg
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.

~~~
Gigablah
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!

------
pserwylo
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.

~~~
etwigg
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.

~~~
pserwylo
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>

~~~
etwigg
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!

------
Cieplak
Many of the people I work with use Beyond Compare
(<http://www.scootersoftware.com/>)

I use Meld, because it's available through my package manager
(<http://meldmerge.org/>)

------
sync
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.

~~~
davorak
I got something similar with flash block enabled on the page. I soon as I
disabled flash block for the page it started working.

~~~
etwigg
Thanks! I must be doing something wrong with flowplayer, I'll dig into it.

------
bcattle
Image diffing is very cool, I wonder if that could be its own standalone
product?

~~~
etwigg
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.

------
nopal
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.

~~~
etwigg
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.

~~~
nopal
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?

~~~
etwigg
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.

------
snowwindwaves
A co-worker is working on a tool to provide visual diff of function block PLC
programs. PLC programming tooling is so far behind.

~~~
etwigg
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

