Jules, I have some questions

Hi Jules,

I have some questions (silly?) relating to non-audio application. I’m asking you because I know how talented you are through Tracktion 1 & 2 softwares I own. So I wanted a real developer’s opinion.

Currently, there is a lot of buzz in the digital photography community regarding softwares called “Aperture” by Apple and “Lightroom” by Adobe. They are supposed to streamline the processing and managing of thousands of digital image files.

Let’s suppose I get my act together someday and later become very good at C++ using JUCE. Here are my questions.

  1. How would you weigh the complexity of such software as compared to, say Tracktion?
  2. Do you think it’s realistically possible to code this by one person?
  3. Is C++ and JUCE combination all one needs to create this type of software efficiently?

I’d just like to get a sense of how far off I am about even having some desire to complete a big software project like them. Maybe these projects are really not realistic for a non-CS major like myself to tackle?

Any comment from you would be valuable to me. Thanks!

I was a developer on ACDSee from version 3.1 until 7.0, a app similar to Lightroom and Aperature, so I can answer your questions.

Aperture and Lightroom have a head start and many developers working on them, so you’ll never catch them feature wise. If you want to create a similar app that only focuses on a particular niche of what these apps do, then you have a chance.

You could look an IrfanView, that is an app that is writen by one person. ACDSee, from version 1.0 to version 3.0 was developed by one person. So, it is possible.

  1. I’d say the amount of code in Aperture or Lightroom is far greater than the amount of code in Tracktion, but nothing that is being done in Aperature or Lightroom is particularly difficult or reveloutionary. Their main feature is improving workflow.

  2. Yes, if you are willing to have a subset of their features to address a particular niche.

  3. No. You’ll probably need dcRaw to decode raw images, some sort of database to hold your metadata (SQLite maybe?), libtiff for tiff decoding (plus any other formats you want to support, juce only supports gif, jpg and png i believe)

It’s a tough market to break into, you have Aperture, Lightroom, ThumbsPlus, iMatch, Picasa, ACDSee, Irfanview, iMatch, etc.

But if you have a good idea, its worth a try.

G-Mon,

Thanks for sharing your experience and thoughts. I wasn’t expecting anyone with direct experience in photo app to reply. What a nice surprise. I’m familiar with all of the software you mentioned (from a user point of view).

Just to clarify: I’m not trying to get in the market right now or in the near future. Perhaps, many many years later…since I’m still learning C++ whenever I can find time. The questions were asked to make sure I have a realistic list of things I want to do in the future. :slight_smile:

I’ve actually considered attempting a sort of “Photoshop” app, and had a bunch of nice ideas that could go into it, but haven’t yet found a spare two or three years to have a go!

Compared to tracktion, it’d probably be a lot easier, because anything involving images won’t need to run in real-time, and I spent probably half my tracktion coding time working around problems with 3rd party audio drivers, plugins, etc. But it’d still be a massive job!

Even if I don’t have this experience yet, I think a very good software generally takes 3 to 5 years to achieve.
I’m talking about usability here - the coding time itself is just a relatively small part of it.

I’m optimistic comparing to Joel Spolsky who says Good Software Takes Ten Years.
If you want to find some good thoughs about non-coding subjects, you should read Paul Graham’s pages and Joel Spolsky’s pages.

[quote=“jules”]I’ve actually considered attempting a sort of “Photoshop” app, and had a bunch of nice ideas that could go into it, but haven’t yet found a spare two or three years to have a go!

Compared to tracktion, it’d probably be a lot easier, because anything involving images won’t need to run in real-time, and I spent probably half my tracktion coding time working around problems with 3rd party audio drivers, plugins, etc. But it’d still be a massive job![/quote]
Hi Jules,

It’s good and interesting to know that you actually thought of doing a non-audio stuff. I just assumed you were a pure audio guy. I guess if it’d take you 2-3 years to do a Photoshop-like app, it’d take me a lifetime (or more) for a guy like me. But, I’d still be happy if I can complete it! :smiley:

Thanks for sharing your thoughts on the relative difficulty of such app compared to Tracktion.

thomas, thanks for the interesting links. That’s a lot of articles to read in one seating :smiley: