Hi everyone. I have been lurking in this forum for sometime now, but this is my first post here.
Let me just say that i like Moi3D a lot! The user interface is logical, very friendly and in some cases genius. Coming from Rhino, i find a lot of things that frustrated me in that program easily accessible and logical in Moi3D, so congratulations Michael.
I use a Mac exclusively so I am really glad that an OSX version has been released. I am also a software developer, although nowhere near Michaels level.
After playing with the OSX version for a couple of days i think i can offer my honest opinion on the state of the current port.
Michael, as a fellow developer i can easily understand the reasons you decided to use WineskinX11 to do the port. But after examining the application folder for a few hours, trying to figure out the internals of the application, this might have been the wrong decision.
As far as i can tell you are using QTWebkit on windows for the user interface and OpenGL for the views. Also a number of other dlls that provide additional functionality. Using WineskinX11, your are going through a huge number of layers in order to actually do something as simple as receive an event.
The sequence is probably: Cocoa -> X11 -> Wine -> Qt -> Webkit -> Your code.
And all this time Webkit is natively available on OSX! I would imagine the process is similar for OpenGL, which is again natively available. Moi3D is really fast now, but i can't imagine how much smoother it would have been if you could use OSX directly. Even if you would prefer to use Qt for the OSX version to simplify the port, the benefits will still be enormous.
I'm sure that using WineskinX11 seems attractive. "Just compile the same code and you are ready to go". But, as you go deeper into trying to make it look native, it will get complicated. A lot. You will have to address issues at the user experience level, and at a lower lever. Things like keeping all data in Applications Support in order to survive updates, custom plugins that require something other than javascript, UI inconsistencies and a number of other issues i can't begin to imagine. Issues that you will eventually blame on WineskinX11 and you will have no control over them. And it will never be as smooth as a native app, even though the math are running at almost the native speed.
Now, unless some of the external libraries you are using are not available for OSX, your time might be better spent doing a native port. This current version is good enough for a first mac version and its fully usable. I am quite happy to use it over wine or the windows version while i wait. But you application is ideally suited for a full port. Even the html/javascript UI looks mac like!
So i would sudject releasing this version as an intermediate version as planned, and at the same time consider doing a full native port. It will definetly save you a lot of time and frustration in the long run.
|