[brailleblaster] Re: Contents of Distribution File

  • From: Alex Jurgensen <asquared21@xxxxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Mon, 15 Nov 2010 11:17:20 -0800

Hi,

There is one good reason. Users won't know what to do with it otherwise. You 
can't do everything users expect to do with applciations with applications not 
bundled as *.app bundles.

For instance, the code that tells the Operating System what kinds of files can 
be opened by an application reside in the info.plist file inside the 
application bundle.

Regards,
Alex,


On 2010-11-15, at 10:43 AM, Michael Whapples wrote:

> OK, I am convinced that Java applications can be bundled as a proper MacOSX 
> application. Its certainly a very desirable thing for BrailleBlaster to be 
> distributed that way, but I don't know whether I would have given it such a 
> high value in importance, that may be due to my unix background.
> 
> Michael Whapples
> On 15 Nov 2010, at 18:31, Alex Jurgensen wrote:
> 
>> Hi,
>> 
>> Eclpse is a special case. I don't know the resoning behind what Eclipse did.
>> 
>> See my E-mail about where plugins are usually found.
>> 
>> I am not saying that we shouldn't see what and why Eclipse did it that way, 
>> but that I don't think it is the standard on the Mac OS. I cold be wrong.
>> 
>> Regards,
>> Alex,
>> 
>> On 2010-11-15, at 10:04 AM, Michael Whapples wrote:
>> 
>>> Hello,
>>> You describe eclipse as I find it for the Mac. As I had come from 
>>> Linux/unix where you basically unzip the eclipse downloaded file and run 
>>> from that directory I thought on Mac it may require you to have the plugins 
>>> directories and such like in the same directory as the app bundle. Is that 
>>> right?
>>> 
>>> Michael Whapples
>>> On 15 Nov 2010, at 17:59, Chris von See wrote:
>>> 
>>>> I'm not an XCode user, so I can't speak to why it doesn't contain Java 
>>>> templates.  Java is still considered to be a first-class language on Mac 
>>>> OS X, meaning that the OS itself contains support for the language.  The 
>>>> app bundle approach that's described is still in widespread use by many 
>>>> (most?) Mac OS X Java developers and is supported by other tools in the 
>>>> Apple Developer's Kit, such as Jar Bundler; I don't think that many 
>>>> developers are using Java Web Start, but according to the Apple Java 
>>>> developer's mailing list some are definitely doing that as well.
>>>> 
>>>> The "last update" date on the page is 2010-10-20.  The "Introduction" 
>>>> section referenced in the sidebar specifically mentions Mac OS X 10.6 
>>>> Update 3, so the info is pretty recent.
>>>> 
>>>> The version of Eclipse that I have (Ganymede) includes an app bundle in 
>>>> the directory it installs into /Applications, but the plugins, etc. are 
>>>> outside of the bundle.  I don't have definitive knowledge as to why, but 
>>>> one possible explanation is that an application cannot modify its own app 
>>>> bundle at runtime - that would preclude placing dynamically-installed 
>>>> plugins, log files, user-specific preferences etc. in the bundle itself.  
>>>> Other projects will do as other projects do :)  and of course 
>>>> BrailleBlaster should do what's best for its particular situation.   There 
>>>> *may* be some things that won't be possible if you're not packaged as an 
>>>> app bundle, such as placing the app in the Dock (you can place folders in 
>>>> the Dock but not individual files - at least not in Leopard).
>>>> 
>>>> 
>>>> Cheers
>>>> Chris
>>>> 
>>>> 
>>>> On Nov 15, 2010, at 9:33 AM, Michael Whapples wrote:
>>>> 
>>>>> Thanks for the link, I just went for a quick search about java 
>>>>> applications on Mac and found that. I have two questions arising from 
>>>>> that:
>>>>> * How old is that document? The current version of xcode does not come 
>>>>> with java templates. The bundling information may still be valid but one 
>>>>> needs to question it when there is out of date information in the 
>>>>> document as well.
>>>>> * What is the reason for other projects not doing this?
>>>>> 
>>>>> I actually find another question but not from that document. What is the 
>>>>> importance of creating an application bundle? I would suggest may be 
>>>>> giving it a rating (may be out of 10) but as we haven't rated the 
>>>>> importance of other things that may be a little meaningless on its own. 
>>>>> What I really want to stress is it may be a nice feature but is it 
>>>>> absolutely required to be able to use BrailleBlaster.
>>>>> 
>>>>> Michael Whapples
>>>>> On 15 Nov 2010, at 17:02, Chris von See wrote:
>>>>> 
>>>>>> A Mac OS X application bundle is really no more than a 
>>>>>> specially-packaged directory tree,  and it can contain Java class files. 
>>>>>>  There's a file called "info.plist" inside the app bundle that 
>>>>>> identifies the main class to be invoked, defines the classpath, gives 
>>>>>> parameters that should be passed to that class and provides options that 
>>>>>> should be used to start the JVM.  TAMC, for example, bundles everything 
>>>>>> it needs to run (including its class libraries) inside its app bundle, 
>>>>>> and stores user preferences   
>>>>>> 
>>>>>> The general structure of a Java app bundle looks like this:
>>>>>> 
>>>>>> Application (.app)
>>>>>> - Contents directory
>>>>>> - - - Info.plist file
>>>>>> - - - Mac OS directory (contains Mac OS X's Java bootstrapper)
>>>>>> - - - Pkginfo file
>>>>>> - - - Resources directory
>>>>>> - - - - - Application icon file
>>>>>> - - - - - Java directory
>>>>>> - - - - - - - (application specific content, including "lib" directory 
>>>>>> for class libraries, core JARs, readme files, parameter files and so on)
>>>>>> 
>>>>>> More info can be found at 
>>>>>> http://developer.apple.com/library/mac/#documentation/Java/Conceptual/Java14Development/03-JavaDeployment/JavaDeployment.html
>>>>>> 
>>>>>> Of course, this may all change in a few years when Java is no longer 
>>>>>> bundled with Mac OS X, but Apple is already making changes that would 
>>>>>> allow third-party JVMs to be installed in Mac OS X and (I think) even 
>>>>>> allow applications to bundle a JRE as part of the app itself.
>>>>>> 
>>>>>> 
>>>>>> Cheers
>>>>>> Chris
>>>>>> 
>>>>>> On Nov 15, 2010, at 8:37 AM, Michael Whapples wrote:
>>>>>> 
>>>>>>> How does the Apple java application bundles relate to java applications?
>>>>>>> 
>>>>>>> If I take eclipse as an example, I think it still is a archived bundle 
>>>>>>> with a number of directories and the application bundle, which you 
>>>>>>> extract to a location on disk. So this is similar I think to what is 
>>>>>>> being suggested.
>>>>>>> 
>>>>>>> So here are the various ways I imagine BrailleBlaster will be started 
>>>>>>> on the various systems:
>>>>>>> * Windows: There will be a brailleblaster.exe programme or may be a 
>>>>>>> batch script which users should run. This will automatically start the 
>>>>>>> JVM with the options we require.
>>>>>>> * Linux/Solaris/FreeBSD/other unix system: A shell script will be 
>>>>>>> present which the user runs. Again this will start the JVM with all 
>>>>>>> required options.
>>>>>>> *MacOSX: In the BrailleBlaster folder, along with the bin, lib, and so 
>>>>>>> on folders there will be a brailleblaster application bundle, users 
>>>>>>> should run this and it will start the JVM with all required options.
>>>>>>> 
>>>>>>> Unless the Java code and liblouis/liblouisutdml libraries can be put 
>>>>>>> inside an application bundle I don't see anything wrong with what was 
>>>>>>> originally suggested.
>>>>>>> 
>>>>>>> Please correct me if I have things all wrong, I am still fairly new to 
>>>>>>> MacOSX and would appreciate it if those more knowledgable were to help 
>>>>>>> me understand it.
>>>>>>> 
>>>>>>> Michael Whapples
>>>>>>> On 15 Nov 2010, at 15:37, Alex Jurgensen wrote:
>>>>>>> 
>>>>>>>> Hi John,
>>>>>>>> 
>>>>>>>> The standard Mac OS X convention that I would suggest using for the 
>>>>>>>> Mac distribution of Braille Blaster is a *.app bundle inside of a 
>>>>>>>> *.dmg disk image.
>>>>>>>> 
>>>>>>>> Regards,
>>>>>>>> Alex,
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 2010-11-15, at 7:24 AM, John J. Boyer wrote:
>>>>>>>> 
>>>>>>>>> We should certainly look at how different platforms handle 
>>>>>>>>> application 
>>>>>>>>> distribution. I think the zip file might be a good way to start for 
>>>>>>>>> all 
>>>>>>>>> of them. The starter script for Mac OS X could set up BrailleBlaster 
>>>>>>>>> as 
>>>>>>>>> a standard Mac applicationj.
>>>>>>>>> 
>>>>>>>>> John
>>>>>>>>> 
>>>>>>>>> On Mon, Nov 15, 2010 at 07:23:57AM -0800, Alex Jurgensen wrote:
>>>>>>>>>> Hi John,
>>>>>>>>>> 
>>>>>>>>>> I disagree with this packaging scheme, at least for OS X, because OS 
>>>>>>>>>> X applications have a certain convention that they must follow in 
>>>>>>>>>> order to be run in the standard way. They are also distributed in a 
>>>>>>>>>> few standard ways.
>>>>>>>>>> 
>>>>>>>>>> I suggest that we look at how the different platforms already handle 
>>>>>>>>>> distributing files.
>>>>>>>>>> 
>>>>>>>>>> Regards,
>>>>>>>>>> Alex,
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On 2010-11-15, at 7:12 AM, John J. Boyer wrote:
>>>>>>>>>> 
>>>>>>>>>>> Here is what I think should be in the BrailleBlaster distribution 
>>>>>>>>>>> files. 
>>>>>>>>>>> They will be zip files and there will be one for each platform.
>>>>>>>>>>> 
>>>>>>>>>>> COPYING:  containing the Apache 2.0 license
>>>>>>>>>>> 
>>>>>>>>>>> AUTHORS: A list of authors with their e-mail addresses if 
>>>>>>>>>>> appropriate
>>>>>>>>>>> 
>>>>>>>>>>> README: Instructions on installation, getting started, licensing 
>>>>>>>>>>> and 
>>>>>>>>>>> where to get the source code
>>>>>>>>>>> 
>>>>>>>>>>> scripts: For starting BrailleBlaster on various platforms
>>>>>>>>>>> 
>>>>>>>>>>> bin directory: C libraries
>>>>>>>>>>> 
>>>>>>>>>>> lib directory: jar files of Java libraries used by BrailleBlaster
>>>>>>>>>>> 
>>>>>>>>>>> brailleblaster.jar: the piece de resistance
>>>>>>>>>>> 
>>>>>>>>>>> The bin subdirectory will contain the following subdirectgories
>>>>>>>>>>> 
>>>>>>>>>>> bin: scripts and command-line tools for liblouis and liblouisutdml
>>>>>>>>>>> 
>>>>>>>>>>> lib: The various libraries, such as liblouis, liblouisutdml 
>>>>>>>>>>> libitex2MML 
>>>>>>>>>>> libhunspell etc.
>>>>>>>>>>> 
>>>>>>>>>>> share: containing liblouis and liblouisutdml tables and files. This 
>>>>>>>>>>> will 
>>>>>>>>>>> enable them to find their stuff in the paths they expect.
>>>>>>>>>>> 
>>>>>>>>>>> John
>>>>>>>>>>> 
>>>>>>>>>>> -- 
>>>>>>>>>>> John J. Boyer; President, Chief Software Developer
>>>>>>>>>>> Abilitiessoft, Inc.
>>>>>>>>>>> http://www.abilitiessoft.com
>>>>>>>>>>> Madison, Wisconsin USA
>>>>>>>>>>> Developing software for people with disabilities
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Alex Jurgensen,
>>>>>>>>>> VoiceOver Trainer,
>>>>>>>>>> ASquared21@xxxxxxxxxxxxxxxxx                 
>>>>>>>>>> 
>>>>>>>>>> Visit us on the web at: www.vipbc.org
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -- 
>>>>>>>>> John J. Boyer; President, Chief Software Developer
>>>>>>>>> Abilitiessoft, Inc.
>>>>>>>>> http://www.abilitiessoft.com
>>>>>>>>> Madison, Wisconsin USA
>>>>>>>>> Developing software for people with disabilities
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> Alex Jurgensen,
>>>>>>>> VoiceOver Trainer,
>>>>>>>> ASquared21@xxxxxxxxxxxxxxxxx                   
>>>>>>>> 
>>>>>>>> Visit us on the web at: www.vipbc.org
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
>> Alex Jurgensen,
>> VoiceOver Trainer,
>> ASquared21@xxxxxxxxxxxxxxxxx                 
>> 
>> Visit us on the web at: www.vipbc.org
>> 
> 

Alex Jurgensen,
VoiceOver Trainer,
ASquared21@xxxxxxxxxxxxxxxxx                    

Visit us on the web at: www.vipbc.org

Other related posts: