Project Iffy

June 29, 2008

And the USP is…

Filed under: 30days — Tags: , — projectiffy @ 11:19 am

Grammar aware diff.  Instead of doing a line by line diff and maybe adding some smarts to ignore whitespace and comments, Diffy will perform a diff on the syntax tree of an arbitrary language.

There are a few advantages to this approach, the largest of which is that Diffy will be able to intelligently describe what has changed in a file.  Effectively, what a diff tool tells you is:

  • added lines 122-126
  • removed lines 24-28
  • changed lines 207-234

Which is not very useful without knowing what those lines contain.  What diffy will tell you is:

  • added class Brush
  • removed comment
  • changed method Draw in class Canvas

Which seems a lot more user friendly to me, especially when you’re trying to refresh your memory to write a check in comment or showing your changes to someone during a code review.  Here’s a shot of it in action:

The functionality is very basic right now, but I plan to add support for detecting move and copy operations in addition to the standard diff add/remove/change.

So, there you have it.  Do I have a product?  Please cast your vote and give me your thoughts in the blog comments.

June 26, 2008

Project Iffy gets a D (for originality?)

Filed under: 30days — Tags: , — projectiffy @ 6:59 pm
  • Project Iffy is now Project Diffy.  And yes, it is a diff tool.  It will let you open two text files, and it will show you the difference.  I’ll give you a moment to let it sink in… 

Ok, I know what you’re thinking…  the world needs another diff program like it needs a 3rd Bush term.  Maybe a glimpse at the exciting feature list will change your mind: 

  • Differences highlighted with color!  Maybe even Icons!
  • Open files, modify them, and then save!  With dialog boxes and everything!
  • Syntax highlighting for your source!  Maybe even little squiggly lines under mis-spelled words!
  • Uhhhmm….  3 way merge… in V2… maybe?

Maybe you’re still unimpressed, and I ok with that.  Like any product in a crowded marketplace, it needs a Unique Selling Point (USP) to succeed.  And I think I’ve got one.  Without a real USP, yet another diff tool is a non starter, so this USP will very much be a make it or break it feature for Diffy.  And I’m very interested to hear from other developers if this one little thing is enough to make it.

So, without further ado, here is what I can tell you about the Diffy USP:

  • It has something to do with making diff better
  • I’ve never seen it implemented in a shipping product*
  • I’ve seen posts by other people with the same idea
  • I’m very surprised that it has not been done yet
  • There are commercial applications that do something similar; the Diffy USP is a generalization of this

*this does not mean it doesn’t exist.  I expect to be informed of no less than 10 programs that already do this exact thing when I unveil the USP.

Tune in next time, when I unveil the Diffy USP… 

June 18, 2008

More details emerge

Filed under: 30days — Tags: , — projectiffy @ 11:18 am

Here is the first screenshot of Project Iffy:

Despite appearances, I’m not as far behind as I look.  I’ve got some bits of code from another project that I plan to put to good use in Project Iffy.  With any luck, I’ll have a proof of concept running within a few days.

From the screenshot, we can see that Project Iffy is a desktop application targeting windows and being developed in C++Builder.  I’m not quite ready to fling open the Project Iffy kimono yet, but here are a few more details to whet your appetite:

  1. Project Iffy is a tool for software developers.
  2. There are a lot of competitors, ranging from free to a few hundred dollars (maybe more).
  3. If you’ve done any professional software development, you’ve probably used one of these competitors.
  4. It is not a text editor.

 

June 15, 2008

Late to the 30 day party

Filed under: 30days — Tags: , — projectiffy @ 9:45 pm

15 Days to get my first post out.  Let’s just say I’m fashionably late. To be honest, I really shouldn’t even be at this party. I’ve got two consulting gigs this month. I’m refinancing our house and dealing with an overseas real estate transaction. I’ve got an existing mISV and product that I should be improving and supporting instead. I’m in the middle of remodeling a kitchen and a master bathroom. And I promised a room full of orphans that I’d finish reading them War and Peace this month. Ok, that last one probably didn’t happen, but I’m still pretty busy this month.

Hey, let’s all postpone this little project until July, ok? anyone? … no?

Despite not really having enough time to do this, it seems like too much fun to pass up. Plus, I’ve had an idea floating around in the back of my mind for a while now and this is the perfect excuse to blow off the real work and play around with it. Programming is always much more enjoyable without deadlines anyway. Oh wait. June 30th. Deadline. Well, it will still be fun, and in addition to getting to start something new and interesting, this will be my first experience blogging. Now, for me, blogging is not something that comes naturally. I don’t enjoy writing, and, I’m not going to lie to you… I’m not any good at it. But then, I’ve managed to run my own business for two years without being any good at that either.

So, what have I managed to accomplish in the last 15 days?  Well, apart from this blog entry, I’ve come up with a code name: Project Iffy

Details to follow… maybe…

Blog at WordPress.com.