As any imVOX user on a Mac will tell you- the Mac client is really not stable and barely works. Users have posted to the forum and issues have been acknowledged. So why haven’t these bugs been fixed? Does imVOX hate Mac users? When will we see a stable Mac client? Hopefully this will answer some of these questions.
How we almost didn’t go Mac
I (David/tibbon) am a Mac user. Everyone else at imVOX is a Windows/PC user for the most part and historically this is a very Windows oriented shop. We were using Visual Source Safe for our version control and we’ve been using C#/.NET for our development. Many of the servers are running on Windows. Microsoft runs deep through this company.
I knew that we would need a Mac client early on if we wanted to grab some of the larger MMO markets like World of Warcraft. Yet, management wasn’t totally sold on a Mac client. It might be expensive and although it made sense it wasn’t a large marketshare. Couldn’t we just go after other games and markets? I pleaded that we really needed one and at one point we estimated that it would only take a month to get one off the ground. We were slightly wrong on that. Ok- very wrong.
Mono to the Rescue?
Mono is an open-source, cross platform implementation of Microsoft’s .NET 2.0. It appeared at first as the answer to our problems and would save us a ton of time, money and resources.
What we thought would be easy and a time-saver just wasn’t. The long-term concept here was that we didn’t have the resources to maintain two separate code-bases and using Mono would make it so that the code shipped to Windows users was the exact same as to the Mac users. We’d be able to (in theory) have a Linux client too with minimal effort. We didn’t have the expertise as Mac developers and this diverted heavily from the development of our Windows client.
One of the biggest issues is the interface. Aside from the obvious Mac vs Windows design styles, .NET and Mono seem to handle graphics rather differently. The way we draw our display is rather intense compared to most other .NET applications which makes development very difficult vs using a native interface.
Where are we now?
As seen in prior blog posts, we’ve been trying to find Mac developers to work with us to make imVOX work on the Mac, and continue development on the Windows side. When I say work on the Windows side however that isn’t fully true. Since the code is shared things that go into the Windows side help out the Mac side too. If we fix a bug there, it will likely help everyone out. However fixing something on the Mac side likely doesn’t do much for Windows users since the code is probably in a big if statement that is specific to the Mac.
Finding Mac developers isn’t easy however. We’re looking for individuals with very specific skills and talents to work on a unique program that delves off into unknown realms quite often.
We’ve spent the last week patching up version .27 for the Windows side. As soon as we get the updater running properly on the Mac then many of those changes will trickle down to the Mac side as well. Next week we’ve got one Mac guy starting with us. We’ll have to see how it goes really. I can’t honestly say how long it will be to get it up and running fully.
I’ll be blogging here about some of the more technical details of the Mac release soon.