tags:

views:

333

answers:

7

I'm currently providing 32 bit Windows music software. Some of my users are asking for 64-bit support. I plan to eventually, but porting is a big job, and I have plenty of other important feature requests too. I need to allocate my limited time wisely. How much market share do 64-bit operating systems hold?, and what's the trend.

+6  A: 

Why are they asking for 64-bit support? Does your 32-bit software not work on Win64, or are they assuming they need a special version when in fact they'd be fine with the 32-bit version? In my experience, Win64's support for 32-bit programs is excellent, and it's likely to continue to exist for the foreseeable future.

If your software doesn't work, and it's not due to a fundamental limitation like half the logic being in a device driver, then making it work as 32-bit executable may be easier than you think.

(Forgive me if I'm teaching you to suck eggs. 8-)

RichieHindle
My software runs as a plugin (in Cubase), and Cubase64 has poor support for 32bit plugins (buggy + high latency + 'legacy' we-don't wholeheatedly-support-this attitude from Cubase developers).
Jeff McClintock
@Jeff: Ah, OK, I see - then it's beyond your control. (Now please excuse me - I need to go back to porting my Visual Studio Add-in to VS 2010. 8-)
RichieHindle
+2  A: 

Music software is a bit vague. If you are developing music encoding/decoding software professionally, then 64 bit is something you should take seriously, since it can have noticeable impact on encoding/decoding performance.

Otherwise, while 64 bit is getting increasingly popular, your 32 bit app will still run perfectly so other features are more important in the meantime. However, you should think about 64 bit porting too and refactor your code to be more portable as you go forward.

Mehrdad Afshari
x64 won't provide THAT much of a boost for encoding, at least not for audio. There's a good discussion about x64 builds of LAME on Hydrogenaudio: http://www.hydrogenaudio.org/forums/index.php?showtopic=47244
Matt Olenik
A: 

It's not time to port yet just be sure to also test your software on 64 bit systems. The emulator on Vista or 7 is good enough and should not cause any trouble.

The main advantage is the bigger amount of ram which can be allocated. If there is a lot of ram used and there is a lot of caching going on then you should port.

Thomaschaaf
Thanks!, in my case the emulator does incure overheads due to inter-process communication with the 64-bit host. Customers have noticed the penalty compared to my competitors. These overheads can be avoided if I write a 64-bit version.
Jeff McClintock
+10  A: 

No better time than now. As the need for more ram increases 64 bit windows versions will get more and more prevalent. Play around a bit with Google trends and you will see a clear uptick in people looking into it. As explained in "Dude, Where's My 4 Gigabytes of RAM?" the need for the every day user to go to a 64bit OS is just going to keep growing.

Edit in response to Jeff's comment
I understand, any team will have to balance upgrades/bug fixes by priority. That will always be a difficult balance to strike. The benefits of a 64 bit version will only continue to grow!

Good luck striking the right balance!

Copas
Thanks!, I agree with the advantages of 64-bit.The disadvantage is: Porting now will consuming several months during which time 32-bit users will recieve few bug-fixes or enhancements. I recieve much pressure/public criticism already for shipping promised new features too slowly. I guess my question is not "if" but "when".
Jeff McClintock
Just to add, I think bugfixes/patches should still take much higher priority. The porting should not get in the way of normal maintenance. It's much better to have a slightly slower application than a buggy one. Basically, if you have better things to do, do them before you work on porting the application to 64-bit. But otherwise I agree.
musicfreak
@musicfreak - I agree, 100% bug fixes and patches should take priority. Who wants a buggy 64 bit solution or a buggy 32 bit one. If you have to choose bug fixes should be first!
Copas
Your users like your product enough to ask for it to be updated to the latest software. That's a good thing. You have to ask yourself... if your competition came out with a compelling 64-bit version of their software, would people consider leaving your platform. Add that to the list of things to consider when thinking about porting or not.
Atømix
+1  A: 

I would agree with others here that now is a great time to start supporting 64 bit operating systems. With Windows 7 just around the corner you will see a much larger portion of users running with 64 bit operating systems. Even if your software is not 100% optimized for 64 bit processors, the port will gain access to the additional registers and such that are associated with running 64 bit code and could see a performance increase. Not to mention not running up against the 4gb wall and all that.

Just keep in mind your data structures may change in size and your application will likely use more memory.

If I'm wrong about any of this, please, someone correct me!

Navaar
You're not wrong, but it's just as likely that the larger data structures will lead to a performance decrease, when data no longer fits completely into the cache. Which of the two happens is impossible to say without knowing anything about the code.
mghie
+4  A: 

There are 3 common things that would be good reasons to port to Win64:

  1. your product includes a driver - in this case to work at all on a Win64 system, at least the driver must be ported.
  2. your product has shell or IE integration - since on a Win64 system the user is likely using the 64-bit version of Explorer and IE, you'll need 64-bit plug-ins to integrate with those. (you should continue to package and install the 32-bit versions so things will still work if the user finds themselves in a 32-bit file manager or IE instance).
  3. your product would noticeably benefit from increased address space - if your product consumes a lot of data (like database or number crunching apps often do), your application will have far more virtual address space available on a Win64 system and can often use that to advantage.

Note that there may be other good reasons to port, but these are the common ones. Also note that porting for one of the above reasons does not necessarily mean that everything has to be ported. For example, you may be able to get away with just porting your device driver.

If none of these reasons fit, then it might just be your users wanting something for no good reason - educating them may help. But if it starts impacting sales, you might find yourself in a position where you have to port just to make them happy even if there's no good technical reason (hopefully your customers aren't that unreasonable and will listen to sound technical advice).

But even if you don't port your code to Win64 there's no reason not to test and support your application on Win64 systems.

Michael Burr
Thanks!,My product is a plugin for Cubase (has both 32bit and 64bit versions). So I too must provide both 32 and 64-bit.
Jeff McClintock
A: 

x64 PC and OS market share will only rise. It's the future. Best to support the future early on.

Justice