Java + Mac = Write twice, run anywhere
Making a Java app look “native” on Mac is a hard problem on many levels. I’m not talking about slapping the “Aqua” look and feel or setting the system property to make the menu bar go to the top. I’m talking about the 10 million “little things” that make a Mac app feel like one. Architecture-wise, you also end up with a mess of if-statements and refactor your code using an AbstractFactory or some other pattern to keep things clean.
I spent a good night tackling some of these “little things” and Googling around, and while each one is tiny, they add up to a much better experience, and I guarantee that you Mac users out there will find StencylWorks to be one the most Mac-friendly Java programs out there and easily the best feeling Mac game creator out there, barring Unity3D, which is a native Mac app.
For those of you who haven’t figured it out by now, I do have a MacBook Pro, which has let me do this and a lot more, so to all Mac users out there, you’re covered well and won’t feed any my users dog food like I’ve seen some others do just to rush the product out the door.
April 27th, 2008 at 5:56 am
What’s wrong with just ’slapping the “Aqua” look and feel’ and using the global menu bar?, that’s what I’m planning on doing with my project once I get access to a mac or a mac developer joins the team, thats if my project is still alive by then.
Any way It nice to hear that your putting in effort on the Mac side of things, are going to the same for linux?
April 28th, 2008 at 9:45 pm
Look at the Mac port of Game Maker for an example of that. It’s a UI wreck since it’s literally a Windows program with the Aqua Look and Feel layered over it. You know what it really looks like? It’s like you took Windows, downloaded a WindowBlinds Aqua skin and applied it.
They didn’t even bother to properly update the icon set let alone follow any of Apple’s guidelines. It’s much like you’ve been dumped into a foreign country where all of the conventions are different. Sure you can sort of make your way around, but users aren’t going to put up with it. A software equivalent to this would be translating a program using Babelfish. It’s comprehendible at best, but it’s certainly far from usable.
YoYo can get away with their “port” this year since they are the only game in town for Mac (Torque is commercial, too expensive for the mainstream market), but it’s not going to work long term for them.
I haven’t gone to as great lengths with Linux, but still, I am listening to what Linux users have to say about Linux conventions and design guidelines.