On Wed, Oct 22, 2008 at 4:03 PM, Nathan Youngman <[EMAIL PROTECTED]> wrote: > > Just looking around the Wiki, and saw the entry for making a single > cross-platform front-end. > http://www.crosswire.org/wiki/index.php/Frontends:FeatureList
That's not really its purpose. Its purpose was originally to list the features that would be necessary to qualify an application as being a full featured SWORD application. It slowly grew from there to a wish-list, and I don't believe in its current form it is practicable for any application, since it focuses on features rather than user goals and needs. > It reminded me of Larosa Johnson's "The Ultimate Bible Software Application" > blog posts back in March. > > http://blog.trailblazinministries.com/tech-stuff/ > > Briefly, he discusses a single cross-platform net-connected application with > YouVersion like features, and later talks about open source and Sword. > Interesting that he's discussing something better, considering he builds > modules for WORDsearch, which came out on top for Windows Bible software for > the layman. > > http://www.fostertribe.org/biblesoftware.html > > ~ > > Functionality-wise, I can't see there every being one Bible app "to rule > them all." Different apps target different audiences. Agreed. However, I feel the closer you can get to that ideal the better. I certainly don't want to have part of my data stored with application A and part with application B, because they are typically not interoperable and it's just inconvenient. Then again, an application that can store all of my data and what-not will typically not be a good bet for someone just wanting to read the Bible, though I would argue that the two should not be incompatible. > Having one really good cross-platform app would be good, but he > cross-platform aspect seems particularly challenging. Cross-platform GUIs > always require some sacrifice. > Cross-platform toolkits that use native widgets still don't necessarily > "feel" quite right... at least to aesthetic Mac heads like me. Maybe because > they tend to use Carbon rather than Cocoa, avoiding Objective-C's runtime > message dispatching, but missing out on 64-bit goodness as Apple moves > further towards Cocoa. Agreed, but it is still a compromise. If you want to have the application and functionality available, developer time is generally limited. Cross-platform toolkits do at least allow us to make our work available to more than one platform, even if it is not ideal on every platform. Time spent on looking native in one operating system could be used to add more valuable functionality, and it is very hard to decide where your priorities should lie. I could write a very long list of what is needed in Bible applications (much more extensive than the ideal feature list you link to, including quite a few ideas well outside the standard space explored by existing Sword applications and possibly even commercial applications). Unfortunately, I'm lucky at this time to get three hours a week to work on them, and that means that things like the BPBible 0.4 release are being blocked until I find time to complete half implemented functionality for my tagging support. > Some of the tools that use native widgets: > WxWdigets (BPBible) > Lazarus (Pascal with a component library) > RealBasic (commercial) > Runtime Revolution (commercial, interpreted) > SWT (Eclipse) > Some UIs use skins instead, but try to match the look with the OS: > Java Swing > Mono 2.0 Windows.Forms 2.0 > > Others go their own way: > FLTK > Adobe Flex One that you have missed that the BPBible developers are seriously considering is XUL. This is the platform used by Mozilla, so applications like Firefox and its extensions are written using XUL. This certainly makes it cross platform, though I'm not going to comment on how much it feels like it is cross-platform. This gives you the advantage of a good, solid HTML renderer and a reasonably well tested cross platform environment. There are many potential disadvantages that we will have to evaluate carefully, but both wxPython and PyQt are quite annoying to work with in a few different ways (and I've had to work with both of them), and I would expect a good XUL based platform to work better. > How does one make a single app that really "feels" at home on anything from > Leopard, Ubuntu, XP, or Vista? > Is it possible? Don't believe it is possible. There are fundamentally some concepts that are different. Some significant parts would probably have to be written in very platform specific ways. Even if this is possible (and not all cross-platform toolkits make it possible), it is likely that it would not stay perfect, because otherwise every UI change made would have to be vetted on every platform to see if it made sense for all of them. Imagine things like "the style of messages and level of detail is different between Mac and Windows" (I don't know that this is the case, but it is a good hypothetical). Unless you are going to have two copies of every locale, one for Windows and one for Mac (and maintain them), you are going to have to pick a message that feels a little wrong for one or both. That being the case, it is certainly possible to fit into different platforms better than just accepting the default from your cross-platform library, and I think it is important that things like that be done where possible, while bearing in mind that all developer time is limited. Jon _______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page