views:

162

answers:

7

I'm writing a new project, and I have a choice between using a library that only exists in OSX 10.5 and later (We're on 10.6 now), but makes my life much easier, and using a library from earlier versions, but I have to a lot more of the work myself.

How does one make this decision? How do you balance new/better technology vs customers on old systems?

ETA: does anyone know of a site that compares market share by precentage of a specific OS? Since this is a consumer product, if only 2% of mac users are still on 10.4, that sort of makes my life easy. Similarly, if 25% are still on 10.4... (I know, it's almost guaranteed to be somewhere between...)

+7  A: 

Ask your clients - how many are on older versions of the OS?

Can you afford to lose them?

Edit: (following comment)

If you don't know what your target audience is using, you have a problem. You need to get an idea of the magnitude of how many potential customers you will not be able to serve if you go with your new library.

Having said that, shipping is a feature, so if you get the product out much quicker, you can always refactor the code to use the old libraries if you think it will gain many sales.

Oded
It's a new consumer product, so we don't really have any customers yet, and they will be individuals, so too many to ask...
Brian Postow
@Brian Postow - While you don't have customers yet, before you start developing, you need to know what customers you are targeting for. If you don't know that (and especially if you are trying to create a successful business), go back and do that first.
JasCav
This is true... We've got a target market. I'm not sure how we would question it though... I like that thought "Shipping is a feature"...
Brian Postow
+1  A: 

In general you should base your decisions like that around the interests of your paying customers. You should present the issues to them and the risks involved in each alternative and let them make the decision.

Terry Donaghe
This is a consumer product, so i can't really ask them... it's not like we have 50 high paying customers for this product and we can just ask them... B-/
Brian Postow
I see. Market research might could help then. Either yours or via some already published research.
Terry Donaghe
exactly, see edit. I'm really hoping for a web page with charts at this point... Bosses LOVE charts! B-)
Brian Postow
The sad thing is that your bosses are relying on you, a developer, to make this sort of business decision. This should be something done BY the bosses. Unless you're in a tiny company where everyone wears multiple hats...
Terry Donaghe
The latter. 7 people... but yeah...
Brian Postow
Why should customers who are willing to invest in staying up to date, pay for those who are happy sticking with "what works"? You (the developer) lose out in innovation, spend more on supporting those customers, more in development time trying to work around feature X that isn't available in library Y v10.4 but is in library Y v10.5.
Andy Shellam
+1  A: 

Depending upon your particular application and requirements, I would personally ship this as a major update (i.e. version 2 compared to version 1) and explicitly state that a minimum of OSX 10.5 is required.

You could still support your previous version with bug fixes, just not new features that depend on library X.

Andy Shellam
This would effectively be a brand new product... (We have a very old version of the product with the same name, but this is a complete re-write... and the old version is not supported anyway...) so yeah, it's goingto be a big number update anyway...
Brian Postow
In that case you've got a perfectly good opportunity to break the mould - grab the chance while you can!
Andy Shellam
A: 

As others have said, this really boils down to whether you can afford to lose customers who aren't on 10.5 yet. That said, lots of companies seem to support the two most recent versions of OS X in their new major releases, although older versions are often available for people with older systems.

Hank Gay
+1  A: 

Another way to think about it is that if someone is on 10.4, then they likely haven't been an active upgrader / software purchaser for the last 3 years. So the likelihood that they will want to spend money on your software is low.

Additionally, if they really want your software, they'll upgrade to 10.5 or 10.6 and gain loads of other advantages at the same time. While that OS upgrade won't be free, it will come with so many other advantages to the customer, they might not mind.

It's also important to consider how much time and effort it will take to develop your software. If these newer libraries mean that you ship the product months earlier, or with better features, that will also pay off.

Jess Bowers
One of the things that drove me to buy a Mac was the desire to run a piece of $20 shareware. (But I spend about 30 hours a month making use of the output of that application). I'm a bit of an exception, but Jess is right about people being willing to upgrade if they want something that depends on the upgrade enough.
David Dorward
A: 

If software ownership is stable and software vendor is not pushing too hard in phasing out their own obsolete software, then there are no reasons to not support.

The problem is much worse, when vendor is passively aggressive or committed the phasing out: dead download links, dead 3rd party companies, who made the hardware/drivers/compilers/libraries, unobtainable documentation, incompatible media/installer to recover/reinstall the product.

My example: pre-2000 vs 2005, it is nearly impossible to reconstruct say.. the build process of 1 mln lines of 100% saved and mothballed Visual Studio 6.0 projects from year 1999-2001, obtain all 3rd party libraries from the era, prepare proper SDK, platform itself, all patches, make results binary identical. No way.

But it pretty much works for Studio 2005.

RocketSurgeon
A: 

You need to talk to both sales and support, and let them judge what the impact will be.

Dean J