|
Post by filmor on Jul 7, 2008 9:02:03 GMT
The folder is called "Applications", not "Application Bundles". There is no guideline that says you can't have other visible folders inside an enclosing folder in the applications folder. Many applications (usually games) do this, precisely because the data does not change, but the application code does. There is strong precedence, even on Mac OS X, to have a visible "Data" folder next to the app bundle. Example? I've never seen such a thing. Either the data goes to {~,}/Library/* or it's part of the app. What's the point of having the datafiles *both* in /Library/Application Support/ *and* inside the app bundle? That's just a waste of hard drive space. If datafiles are going to live in /Library/Application Support/ , there's just no reason to provide an app that uses datafiles from inside its app bundle. I think you misunderstood me here. The user only needs either of those packages. If he has already installed the data files he needs the Upgrade dmg, if not he get's the Full one. Besides those there would still exist a dmg that holds a app-bundle like it is now. It might be viable to simply exclude the data files from auto update.
|
|
|
Post by simx on Jul 7, 2008 11:41:47 GMT
Example? I've never seen such a thing. Either the data goes to {~,}/Library/* or it's part of the app. I believe WarCraft III is one example. Microsoft Office is another, although that's a poor example because the resources shared between the various Office applications probably *should* go into Application Support. EV Nova is like this, too. I'm trying to limit myself to Mac OS X-exclusive games/apps because obviously the situation was different on the Classic Mac OS. Well, what I meant was that if a user downloads an installer package as you suggested, it would install the app bundle and the datafiles into the appropriate location. Then, all the user would need to upgrade is the updated version of the app bundle. There wouldn't ever be a need for an app bundle that contains the data if all users have to go through the installer the first time. Something like this was also suggested to me. I guess one of the other reasons that I advocate the datafiles living in a "Data" folder next to the app bundle is that it seems to provide the easiest way for both installation *and* updating of the app. I'm actually less convinced that my way is right, now, because I do really like having the user only see the app bundle. Possibility #1: Use existing method: datafiles live inside bundle. Pros: Drag-and-drop first installation. Drag-and-drop upgrading. User only sees app bundle. Cons: Users download an extra 2-3 MiB every time they want to update just the app. Possibility #2: Datafiles live in /Library/Application Support/ or ~/Library/Application Support/ Pros: Drag-and-drop upgrading. Smaller downloads, as users don't have to download the datafiles every time. User only sees app bundle. Cons: First install requires a trip through the Installer app. Possible minor confusion when upgrading, since the user might not instinctively know where to install the app, and may not even know that the app can live anywhere on the hard drive. Possibility #3: Datafiles live in "Data" folder next to app package. Pros: Drag-and-drop first installation. Drag-and-drop upgrading. Users don't have to download datafiles every time. Cons: Users see ugly "Data" folder. Possibility #4: Datafiles live in /Library/Application Support/ , but are not included with the app bundle. On launch, if app doesn't detect datafiles, it downloads them. Pros: Drag-and-drop first installation. Drag-and-drop upgrading. Users don't have to download datafiles every time. Users only see app bundle. Cons: Requires extra coding effort. Users may be slightly annoyed that the app needs to download files, and may be wary of where it places them. Probably should be approved by main opentyrian developers, given that it diverges a lot from how the other ports work. Possibility of code not being merged into repository. I suppose possibility #4 is something worth exploring, as that would probably represent the best user experience. Otherwise, I think the better installation/upgrading experience provided by possibility #3 far outweighs the ugliness of the data folder. Given the small overhead (2-3 MiB) of the datafiles, I would even advocate for possibility #1 over the weird installation/upgrade experience that comes along with possibility #2.
|
|
|
Post by filmor on Jul 7, 2008 14:16:18 GMT
Example? I've never seen such a thing. Either the data goes to {~,}/Library/* or it's part of the app. I believe WarCraft III is one example. Microsoft Office is another, although that's a poor example because the resources shared between the various Office applications probably *should* go into Application Support. EV Nova is like this, too. I'm trying to limit myself to Mac OS X-exclusive games/apps because obviously the situation was different on the Classic Mac OS. I think those are some other order of magnitude I'm actually less convinced that my way is right, now, because I do really like having the user only see the app bundle. Me too. That's the main reason I started modifying your code. Possibility #3: Datafiles live in "Data" folder next to app package. Pros: Drag-and-drop first installation. Drag-and-drop upgrading. Users don't have to download datafiles every time. Cons: Users see ugly "Data" folder. Plus Data is to general a name to live in a global directory. It would have to be /Applications/OpenTyrian/{OpenTyrian.app,Data}. It won't get prettier I think possibility 4 is ruled out (at least for the "official" version) because of too much platform dependent code. I vote for #1 (as then nothing has to be modified and current patch is "correct" ).
|
|
|
Post by yuriks on Jul 7, 2008 18:39:07 GMT
I would personally vote for 3, and name it OpenTyrian Data. All the other options seem poor (1 especially because of the bandwidth waste, and possible legal issues that may arise)
|
|
|
Post by simx on Jul 8, 2008 22:25:51 GMT
Plus Data is to general a name to live in a global directory. It would have to be /Applications/OpenTyrian/{OpenTyrian.app,Data}. It won't get prettier Oh, absolutely, that's what I meant. There's an enclosing folder called "OpenTyrian", which contains the OpenTyrian.app app bundle, as well as the folder called "Data" which holds all the Tyrian game data. I vote for #1 (as then nothing has to be modified and current patch is "correct" ). Well, if legal issues are a problem as yuriks mentioned, then possibility #1 is ruled out. We don't want to raise the ire of anybody.
|
|
|
Post by Mindless on Jul 9, 2008 0:04:16 GMT
Well, if legal issues are a problem as yuriks mentioned, then possibility #1 is ruled out. We don't want to raise the ire of anybody. ... I don't know if I'm allowed to distribute it that way (containing the data files). Any suggestions? Distribution of the data files is allowed, we just can't put them in OpenTyrian's SVN because they're not GPL.
|
|
|
Post by simx on Jul 10, 2008 8:38:39 GMT
OK, then. So the question that remains is this: is it worth wasting a few extra MiB of downloaded data in order to preserve a nice user experience and a nice clean app bundle?
I'm indifferent. It's only a few megabytes. Stick with the current method, I guess.
|
|
|
Post by filmor on Jul 10, 2008 12:25:01 GMT
|
|
|
Post by Mindless on Jul 10, 2008 18:09:32 GMT
When will the patch be merged? Right now Let me know if I broke it.
|
|
|
Post by simx on Jul 11, 2008 4:58:26 GMT
Everything is fine, except the Xcode project file has a funny idea about where the source files live. Here's a patch for that: homepage.mac.com/simx/opentyrian-xcodeproj.patch . Once that's integrated, the Mac OS X port should cleanly checkout from the svn repo, excepting, of course, the Tyrian datafiles which will need to be downloaded separately.
|
|
|
Post by filmor on Jul 11, 2008 6:15:41 GMT
That's because I placed the macosx folder in the root of the distribution instead of the src directory Although the code didn't change: Rev. 778
|
|
|
Post by Mindless on Jul 11, 2008 15:50:40 GMT
That's because I placed the macosx folder in the root of the distribution instead of the src directory ah, that would be more logical, wouldn't it?
|
|
|
Post by filmor on Sept 3, 2008 10:04:36 GMT
|
|
|
Post by filmor on Nov 6, 2008 15:02:36 GMT
OpenTyrian Enhanced also works (kind of, the default config currently has to be copied manual), I'll upload the patch this weekend.
|
|
|
Post by filmor on Dec 25, 2008 11:20:36 GMT
Rev. 837, Merry Christmas (Btw, is there any documentation on the music code? I'd really like to use CoreAudio for the MIDI parts as it's a much better synthesizer …)
|
|