[sword-devel] Future MacSword

Manfred Bergmann bergmannmd at yahoo.de
Tue Mar 11 13:19:51 MST 2008

Hi Greg.

Am 11.03.2008 um 20:52 schrieb Greg Hellings:

> I've been starting to tackle the iPhone/iPod Touch question this past
> week, and it doesn't look like it would be terribly difficult.  The
> most complicated and tedious portion of the project is getting Sword
> to compile in XCode in a manner which would allow it to build for an
> iPhone app.

It must not necessarily be build in Xcode. And to be honest I wouldn't  
do it.
C/C++ libraries will continue to be C/C++ libraries. What you do on  
Mac is to put a C/C++ library into the Application-Bundle if it is not  
available on the system by default.
MacSword of course has automatic build scripts which create universal  
binaries of the Sword library for the current versions of Mac OSX. For  
iPhone / iPod touch the only thing that needs to be changed is the  
architecture parameter to gcc to build a version for iPhone/iPod touch  
for ARM CPU.
A ARM only build of Sword library with stripping as much as possible  
would not be bigger than 800kByte I guess.

MacSword/Eloquent has a Objective-C++ wrapper to the library which  
altogether could be exported to a Mac like Framework. Currently this  
is not the case but UI si still seperated from Sword backend.

> It seems easiest, to me, if the MacSword UI, etc, were just portions
> of the SVN tree

Backend is, all other stuff is UI basically.

> , in the same way that BibleCS is.  Minimally, it would
> be nice if there was an XCode project included with the Sword API for
> just such reasons.

As said above a Mac like Framework can be created using the backend  
portion of the MacSword application.
But Mac OSX is still Unix and can easily use dylibs which Sword C++  
library is after building on Mac. I wouldn't change that.

> If MacSword was designed to be checked out into a
> subdirectory of the Sword project the way that BibleCS is, then
> perhaps there could be an XCode Project at the head of the sword
> folder which builds the library,
> and a checkout for the MacSword UI
> that built against that library back in the sword folder. (Am I being
> clear here?)

Not sure if I understood you correctly.
MacSword is designed to use a compiled Sword dynamic library dylib  
whereever this library comes from doesn't matter.
I think it can't be more flexible.

> Having such would greatly enhance my ability to build for
> Aspen/iPhone/iPod Touch.  I have the plan for the basic UI on iPhone
> worked out, but I don't yet know how and if apps will have access to
> the file system, etc.  My guess is that modules will have to be
> installed to the root of the App bundle, which also makes sense for
> the behavior of the App in OS X.

I have no idea how the Filesystem on iPhone/iPoid touch looks like.

> Leveraging your work on MacSword would be a wonderful springboard for
> iSwordTouch (or whatever other whimsical name comes up for the
> project) which would cut out most of my guesswork thus far as to
> necessary and superfluous files for a front-end to utilize.

My guess is (I don't have an iPhone), like I said before, that the  
MacSword UI is not really usable on iPhone because of the multi-window  
design. Having one main window would be much better.
I don't have much information about the runtime system on Mac OSX. But  
a strong guess is that it is minimal and could use the Objective-C 2.0  
runtime only using Garbage Collector. Beside that I don't think it is  
a big problem to have something on an iPhone/iPod touch very quickly  
if there are answres to a couple of questions.

> I also
> have access to both Tiger and Leopard simultaneously, so I can biuld
> the system and test on Tiger if you would like to continue supporting
> that at least for the time being.

I would go to a version 1.5 of MacSword which would support Leopard  
and above because a good part of the backend work is done in Objective- 
C 2.0 which is not compatible with Objective-C.
But there still is the current version 1.3.x which is still compatible  
to Panther (Mac OSX 10.3).


> On Tue, Mar 11, 2008 at 2:39 PM, Jon Brisbin <jon at jbrisbin.com> wrote:
>> I for one am STOKED about an iPhone/iPod Touch Sword app! :)
>> I'm okay with Leopard-only for the time being, particularly as some  
>> of
>> the main apps I'm using these days are Leopard-only...
>> Thanks!
>> Jon Brisbin
>> http://jbrisbin.com
>> On Mar 11, 2008, at 12:37 PM, Manfred Bergmann wrote:
>>> Hi.
>>> Although MacSword is quite old and it would be more than time for
>>> something new I found that it will still take a good amount of time
>>> until something usable is there that can replace MacSword.
>>> I'm the only one developing in this area ATM and was quite busy with
>>> my daily work the last months/weeks, so it hasn't gotten as far as I
>>> would have liked it.
>>> I have put many hours of work into refactoring the Sword Objective-C
>>> Backend (coming from MacSword) and in a module installer that is now
>>> in Eloquent (btw: a new version has been released with some
>>> enhancements).
>>> My thinking was that until something new is there I would branch
>>> MacSword and backport the backend and the module installer into
>>> MacSword. The UI would stay the same and it would be a Leopard only
>>> application.
>>> IIRC the majority of users that had questions about MacSword  
>>> actually
>>> were using Leopard.
>>> Altough the UI of MacSword is hardly usable in iPhone, having
>>> something Leopard compatible or Leopard only would ease the port to
>>> iPhone tremendously.
>>> What are your thoughts about this?
>>> Regards,
>>> Manfred
>>> _______________________________________________
>>> sword-devel mailing list: sword-devel at crosswire.org
>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>> Instructions to unsubscribe/change your settings at above page
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page

More information about the sword-devel mailing list