Jump to content

Cocoa Ever Coming?


Tom

Recommended Posts

Let me be the first to publicly ask: is there any concideration for a complete re-write of the Accordance software from Carbon to Cocoa? Mac OS X has been around now long enough to justify such an effort. I realize it would be a huge undertaking, but there are so many features (hooks) that are availiable in OS X that the Carbon port version of Accordance can't/doesn't use.

 

With the future prospect of Logos for the Mac being: "OS X native user interface layer built from the ground up" and, I would think a cocoa front end app, I wonder what thought there has been given to a new Cocoa Accordance?

 

A reply from Accordance (better: Joel) would be appreciated.

 

Tom

Link to comment
Share on other sites

David answered a similar question recently, so I will post his reply here:

I'll go ahead and answer this one, because I see a fair amount of confusion about the differences between Cocoa and Carbon.

 

For those who don't know what these codenames mean, Cocoa and Carbon refer to two different Mac OS X development environments--that is, ways to build Mac OS X applications.

 

Cocoa is the "native" OS X development environment, and applications developed in Cocoa automatically take advantage of certain OS X technologies, such as Quartz text rendering, Services, etc.

 

Carbon is a modified form of the Classic Mac development environment, and was designed as a concession to developers who were unwilling to rewrite large applications from scratch. Microsoft Word, Adobe PhotoShop, and Accordance are all Carbon applications.

 

Each development environment has certain advantages over the other. Cocoa programs have the advantage of inheriting certain OS X technologies without having to do anything extra. Contrary to what many people think, Carbon applications can ALSO take advantage of those OS X technologies--it's just that they're sometimes harder to implement. For example, we must do some additional programming to support Quartz text-rendering in Accordance (a Carbon application), while Quartz is used automatically by even the simplest Cocoa Bible app.

 

In spite of this disadvantage, Carbon also has a major advantage over Cocoa: backwards compatibility. As a Carbon application, Accordance can be used with any Mac OS from System 7 all the way to Tiger. Contrast that with the system requirements of most Cocoa Bible programs. By the way, it is this ability to support the Classic Mac OS which allows PC users to use Accordance with the emulator.

 

The net result of all this is that Accordance may not always be the first to implement the latest OS X technologies, because we often need to go to extra effort to do so. We therefore have to weigh which OS X technologies are worth the effort to support, and which don't offer enough concrete advantages to justify the development effort.

 

That said, I can tell you that we're currently working hard to support several OS X technologies, and upcoming releases will offer more chewy Aqua goodness. That's about all I can say for now.  ;)

 

David Lang

Accordance Development

I will just add that to port to Cocoa would also delay all other development of Accordance for at least two years. Our programmers would be completely tied up in the massive rewrite project, and unable to add any of the new features that are currently in the works.

 

Another advantage of Carbon is that a single code base can be compiled for different platforms, OS X, Power PC, 68K, and Windows. Otherwise we would need to maintain and upgrade separate codes for each platform that we support.

Link to comment
Share on other sites

I will just add that to port to Cocoa would also delay all other development of Accordance for at least two years. Our programmers would be completely tied up in the massive rewrite project, and unable to add any of the new features that are currently in the works.

 

Another advantage of Carbon is that a single code base can be compiled for different platforms, OS X, Power PC, 68K, and Windows. Otherwise we would need to maintain and upgrade separate codes for each platform that we support.

 

Well, technically you wouldn't be able to just recompile the Carbon into x86 compatible. If it was that easy, we'd probably have a true Windows port years ago. But that is correct, having the program in Cocoa would make it extremely difficult to keep the pre OS X versions (including emulated) up to date.

 

Oh, and for future reference, I'm simply a specialty "independent contract". I'm not really an Accordance programmer or anything high up in the power tree.

Link to comment
Share on other sites

David answered a similar question recently, so I will post his reply here:
I'll go ahead and answer this one, because I see a fair amount of confusion about the differences between Cocoa and Carbon.

 

 

Tis GOOD to see some logical discussion here for more advanced MAC users.

 

Accordance been using since June 2001 recovering from long illness in 'critical care' .

Then on Classic then onward as more unix based OS X has evolved.

 

I appreciate the means now to take my mac note book with me in travels

along with the LXX on board.

 

This new BOARD with forums are great.

7 June 2007 will mark four decades in FULL time ministry within in many cultures.

 

It is GOOD to see BIBLE software without bias. May the LORD continue to enlarge

your vision and so do g r e a t things unto Him.

 

director - <_<

 

 

Edit by Joel: Just some formatting of the -quote- tags.

Link to comment
Share on other sites

  • 2 weeks later...

Sounds like the switch to Intel may be the push that Oaksoft needs to fully support all of the great features OSX has to offer.

 

It would be interesting to see what os Accordance users are running. At some point old tech needs to be let go. I can't imagine that someone who is using OS 7, 8 or even 9 are they type of users that a software company should be catering to. Are these the people who are going to keep you in business?

Link to comment
Share on other sites

Now, Jimmy, before you chastise us for not being at the bleeding edge of OS X support, shouldn't you at least upgrade to the latest version to find out just how much OS X support there currently is? After all, the users of OS 7, 8, and 9 who have upgraded are more likely to keep us in business than the OS X users who have not. ;)

 

All ribbing aside, Accordance was the first Bible program for Mac to be OS X native, and we've been steadily adding support for more OS X technologies as we've gone along. With version 6 we overhauled the interface to better conform to Aqua interface standards. We later released a free update which provided OpenGL support for the 3D features of the Atlas. Other OS X technologies are soon to come in additional free updates, so I'm not sure how much we need to be "pushed" to support OS X. I doubt we'll ever "FULLY support ALL of the great features OS X has to offer," but I'm not sure that should be our goal. Our goal is to support those OS X technologies which will dramatically enhance the user's Bible study experience. And that's been our goal since long before Apple decided to go to Intel.

Link to comment
Share on other sites

Nice comeback...point taken on my lack of upgrading. Wondered if I would called on that. :)

 

But, part of the reason I have not felt compelled to upgrade immediately is that I have never been totally happy with the way Accordance works in OSX. It just never "felt" like an OSX app to me (maybe I should say, "to me, it does not work like an OSX app"). I do love the app. Would not consider switching to a competitor. Just do not feel compelled at the moment.

 

Things I love about OSX are the small things that add up such as the interactivity in the OS. I love that I have a spell checker that works seamlessly in any cocoa app (you should too since you would not be able to read what I am writing now without it :). Tiger has the built in Dictionary and Thesaurus. These are just a couple of things that I believe would make my life as an Accordance user better. It is my understanding that for an app to take advantage of these services it would need to be a cocoa app.

 

My goal is not to criticize, but I have felt this way for years. I love this app and just want it to be even better than it is.

 

However, I, if not others, would be interested is hearing what is in store for Accordance now that Apple has chose to walk this path.

 

I understand that this announcement was made only yesterday and many of your folk may still be at WWDC. Obviously something will have to be done. I would hope that Oaksoft would choose bite the bullet and make Accordance fully OSX (if that is still cocoa, I don't know).

Link to comment
Share on other sites

Nice comeback...point taken on my lack of upgrading.  Wondered if I would called on that. :)

 

But, part of the reason I have not felt compelled to upgrade immediately is that I have never been totally happy with the way Accordance works in OSX.  It just never "felt" like an OSX app to me...

Frankly, I think you're free to run anything you want. It is true that Accordance lacks many newer, sexy Apple technologies (most of which do not require Cocoa apps, only extra work for Carbon ones). However, I don't understand your logic... if you want Accordance to "feel" more OSXified, then upgrage to the laterst version, which has added more OSX features, such as drop sheets.

Link to comment
Share on other sites

  • 3 months later...

If Accordance plans to continue to support OS X into the Leopard (10.5) era, they will have to move from Carbon in order to produce the universal binaries that Apple is going to require for their move to Intel hardware as well as continued PPC support. (I know Rosetta is supposed to make apps keep running like usual, but benchmarks have shown that performance is closer to 60% than the 80% purported by Steve at WWDC.) What I want to know is this: Who out there is still running OS 7 or 8 exclusively? I don't see any processor or RAM requirements on the SysReq page, but I can't imagine that any machine capable of running Accordance would not also be able to upgrade to Mac OS X. Even Powerbook G3s can be upgraded all the way to Tiger via XPostFacto. If you can spend ~$200 on Bible software, you can afford the upgraded OS. Personally, I would love to see a move "OS X-ish" UI. Even MS Office 12 is moving to a more Aqua looking interface for Windows Vista.

 

From my point of view (being far removed from coding and design), it seems to me that the move to Cocoa would be well worth it in the long run. From what I understand about the Mac OS dev environment, the move to Cocoa would enable more rapid implementation of improved features and user suggestions. It also seems important in the moving forward of OS X, Accordance could do well to take advantage of Spotlight and Automator not to mention whatever Apple has up their sleeves for Leopard. In addition, moving to Cocoa would seem to me to facilitate enabling Applescript. All of that combined with Apple's requirement for UBs seems to present a convincing case for moving to Cocoa and Xcode. For all of the "OS X" features that the devs have said they are implementing, the only one that they have taken advantage of in Tiger is Dashboard, which is slightly deceptive because it is web coding that is cross-platform in nature.

 

Frankly, I'm not terribly interested in supporting computer users who are simply too miserly or lazy to upgrade their equipment. And I'm not really interested in supporting PC users either. If they want to use Mac apps, they should buy a Mac. If not, they should use Bible Works. You can't have it both ways. I would say that you can't have your cake and eat it too, but PCs are neither the cake nor eating it.

 

Hopefully, this rant doesn't come off too harsh. Accordance is the best, but it can be even better. I think users would be happy with the product they have for a year or year and a half if in the long run it meant smoother integration with the other great features of OS X and speedier implementation of features after the conversion.

Link to comment
Share on other sites

From my point of view (being far removed from coding and design), it seems to me that the move to Cocoa would be well worth it in the long run..

 

Frankly, I'm not terribly interested in supporting computer users who are simply too miserly or lazy to upgrade their equipment. And I'm not really interested in supporting PC users either. speedier implementation of features after the conversion.

 

the time and expenses of these early days of ACCORDANCE would make this costly :blink:

however do suspect newer modules will be working with the 2006/07 version of

MAC OS

 

as to your view about those unable to use the latest MAC OS or computer hardware,

please understand not all within Europe, Africa nor Asia have that option! :o

 

been following the Lord in His work since 1965, within now thirty seven nations, believe

me NOT every servant of our LORD 'have the means' :(

 

as for my personal travel at moment with the Mac 17 inch, notebook

fully loaded with everything possible, however we try to keep our websites able to be read with ease by those within the 3rd world

 

written off the cuff,

best wishes to those 'on hand' withiin the Gulf Coast,

some contend a natural disaster, others say Biblical Judgement

whatever, may we ALL work to His Glory

Link to comment
Share on other sites

Berko, (real name?) when we were just starting development of version 6, I asked whether our continued support of 68K Macs and operating systems all the way back to system 7 was holding us back from supporting certain OS X technologies. The answer was, and still is, no.

 

Certainly, if Accordance were a Cocoa application, a few OS X technologies would be automatically inherited, such as Services and the built-in spell-checker. But to my knowledge, Applescript, Spotlight, and Automator are not among those technologies which are automatically inherited by Cocoa applications. In other words, even if we took two or more years to port to Cocoa, we would still have to do extra work to support the really significant OS X technologies.

 

From where we stand right now, we can still support most, if not all, OS X technologies by continuing to develop Accordance as a Carbon application.

 

Why don't we? Because not all OS X technologies are worth the time required to implement them--at least not when considered alongside the other features we want to add. Even if Accordance were a Cocoa application, we would still go through the same decision-making process when it came to implementing a new OS X technology. Take Spotlight for example. The conversation might go something like this:

 

Me: Should we support Spotlight?

 

Programmer: Well, all Spotlight tells you is whether a certain word or phrase is contained in a specific module. The user would still have to open Accordance and do a search for that word or phrase to see it in its context.

 

Me: So ultimately it doesn't save the user that much time or offer him much that the current Search All feature doesn't already do?

 

Programmer: Not much. I'd much rather implement new feature X, which will be useful both to scholars and non-scholars, and which nobody else is doing.

 

Me: Wow, that's really cool! New feature X has my vote.

 

Okay, so my example conversation is a little stilted, but that's basically the kind of process we go through when deciding what features to add to the next major Accordance release. Right now, deep in the recesses of our secret laboratory ;), we're working on things that are incredibly cool and far more useful than any current advantages which Cocoa might offer. We're also planning to support some additional OS X technologies, but only the ones which we feel will really be useful for Biblical studies.

 

Now, returning for a moment to our support for older Macs, I can tell you that Accordance still runs quite well on even pre-PowerPC Macs. It is certainly not the case that any Mac that can run Accordance is capable of running OS X.

 

Neither is it true that Accordance must be ported to Cocoa in order to produce universal binaries. We may have to move to XCode, but we can do that with Carbon, and it's not even certain that we'll have to do that. Regardless of what we have to do to run Accordance natively on Intel hardware, we've tested Accordance extensively on an Intel Mac using Rosetta, and were very pleased with the performance.

 

Finally, I'm not sure I understand what is "slightly deceptive" about our development of a Dashboard widget. We had to develop the widget as well as to modify Accordance, so there was no small amount of work involved. Neither do we go around marketing our level of OS X compatibility or support for Tiger-specific technologies. We implemented the widget not to show how Tiger-compatible we are, but because we thought it would address a long-standing feature request from our users. I think it would be more deceptive to shift our focus away from developing features of benefit to all our users simply for the sake of making Accordance buzzword-compliant with the latest Mac OS. Buzzword-compliance certainly sells, but it's not a goal we think should be pursued for its own sake.

 

I hope this clarifies things a little bit. I can promise you that while the next version of Accordance certainly won't support every OS X technology, it will support additional technologies, and it will be a very compelling upgrade. :)

Link to comment
Share on other sites

This is the response of our programmer to Berko's comments:

If Accordance plans to continue to support OS X into the Leopard (10.5) era, they will have to move from Carbon in order to produce the universal binaries that Apple is going to require for their move to Intel hardware as well as continued PPC support.

This is simply not true. Carbon is fully supported now and for the foreseeable future in future OS releases.

 

As has been stated in the Forum before, many of the major Mac software application are now and still will be in Carbon. The only difference in these as related to Intel hardware is that the porting itself is easier in Cocoa than in Carbon, since almost all Cocoa development is done on Apple's own XCode development framework.

(I know Rosetta is supposed to make apps keep running like usual, but benchmarks have shown that performance is closer to 60% than the 80% purported by Steve at WWDC.)
We have already tested Accordance on the Intel hardware prototype provided by Apple to developers and have found that Accordance runs amazingly well. In fact many Accordance benchmarks were actually FASTER than on an 1.3 GHz G4 Power PC. Since Accordance has run reasonably fast for many years on much slower systems in the past, we honestly do not see speed as being an issue here. In fact we are not even sure if porting will give that significant of a speed advantage because of overhead in certain kinds of conversion required for running on the Intel processor.
What I want to know is this: Who out there is still running OS 7 or 8 exclusively?

We do still have a few users running OS 8 and 9, but our main reason for supporting compatibility back to OS7 is to support our Windows emulator customers who use the 68K emulator. For now and the foreseeable future, this is a much more inexpensive way to support our Windows customers, than doing a full port to Windows. And besides Cocoa, at least for now, has no cross-platform support for Windows whatsoever.

I don't see any processor or RAM requirements on the SysReq page, but I can't imagine that any machine capable of running Accordance would not also be able to upgrade to Mac OS X. Even Powerbook G3s can be upgraded all the way to Tiger via XPostFacto. If you can spend ~$200 on Bible software, you can afford the upgraded OS.
This is a point addressed more to our customers, not to us. People in general have their own priorities as to how they choose to spend their money, even if it seems illogical to us.
Personally, I would love to see a move "OS X-ish" UI.

Are you referring to the OS or to Accordance here? Especially after our recent upgrade to Quartz rendering, the Accordance UI is virtually indistinguishable from that of Cocoa.

Even MS Office 12 is moving to a more Aqua looking interface for Windows Vista.

 

From my point of view (being far removed from coding and design), it seems to me that the move to Cocoa would be well worth it in the long run. From what I understand about the Mac OS dev environment, the move to Cocoa would enable more rapid implementation of improved features and user suggestions.

As many have stated before, there are certain advantages to both Carbon and Cocoa. We are not convinced that in all cases porting to Cocoa would help, especially with user suggestions specific to Accordance. Certainly there are some things in Cocoa which might be easier or automatically implemented more easily, but there are other things that might actually be harder to implement as compared to Carbon.
It also seems important in the moving forward of OS X, Accordance could do well to take advantage of Spotlight and Automator not to mention whatever Apple has up their sleeves for Leopard.

As has been discussed in these forums before, how can Accordance take advantage of either technology to enhance the kind of things that Accordance does best? Perhaps Automator could be used more effectively, but that is more of an Apple Script support issue than a Leopard issue.

In addition, moving to Cocoa would seem to me to facilitate enabling Applescript.
We already support basic Applescript and also some special Applescript commands to facilitate using the Accordance widget. It is true that we could further develop Applescript support and we may indeed do so in the future, but this is an Applescript support issue, not a Carbon versus Cocoa issue.
All of that combined with Apple's requirement for UBs seems to present a convincing case for moving to Cocoa and Xcode.

I would say that there is not a convincing case based upon the above comments already given above.

For all of the "OS X" features that the devs have said they are implementing, the only one that they have taken advantage of in Tiger is Dashboard, which is slightly deceptive because it is web coding that is cross-platform in nature.

What is "deceptive" about this? A feature is a feature. In fact it illustrates the very point that the development environment was not that important in implementing this feature.

 

To be continued....

Link to comment
Share on other sites

Continued response of our programmer to Berko's comments:

Frankly, I'm not terribly interested in supporting computer users who are simply too miserly or lazy to upgrade their equipment.

Unless you are in the software development business, what difference should this make to what equipment you choose to use or support?

And I'm not really interested in supporting PC users either. If they want to use Mac apps, they should buy a Mac. If not, they should use Bible Works. You can't have it both ways.
I would have to disagree with you here, but we ARE interested in supporting PC users if they want to use Accordance on a PC, despite all the hassles of using a PC.

 

The BibleWorks interface is so different from Accordance and Accordance has many resources that BibleWorks does not have, with the result that we have many PC users using Accordance despite the availability of either BibleWorks or Logos on the PC.

 

To ask people to switch platforms is not that easy, regardless of all the advantages of the Mac OS. Frankly, PC users do want to "have it both ways", since they have other applications that they want to or have to still use on the PC.

 

Furthermore our own experience with the Mac emulator on the PC has been that many times it is a "bridge" to wean a PC user from PC to purchasing a Mac after using Accordance for awhile on the PC.

I would say that you can't have your cake and eat it too, but PCs are neither the cake nor eating it.

We have no argument with your opinions on the PC, but you have to realize that the whole PC versus Mac issue is more of a "mind share" issue, not an objective analysis of what system would really serve them best.

Hopefully, this rant doesn't come off too harsh. Accordance is the best, but it can be even better.
Most of our users would say that we are always making Accordance better, much of the time for free, except for major releases. To port to Cocoa, if it could be done at all, would stop any improvements in Accordance itself for a minimum of two years with at best marginal improvements from a user perspective.
I think users would be happy with the product they have for a year or year and a half if in the long run it meant smoother integration with the other great features of OS X and speedier implementation of features after the conversion.

These points have been already addressed above.

 

Guys: this is it! The programmer rules, and he does know what he is talking about. :)

Link to comment
Share on other sites

Guest frgpeter

Helen says:

 

"We already support basic Applescript and also some special Applescript commands to facilitate using the Accordance widget. It is true that we could further develop Applescript support and we may indeed do so in the future, but this is an Applescript support issue, not a Carbon versus Cocoa issue."

 

 

This is interesting. My script editor dictionary cannot see the Applescript dictionary in Accordance. I take it you have not made these visible, perhaps because you have a subset only?

 

Will you be making these visible, or at least documented?

 

Thanks,

G. Peter David Posthumus

Link to comment
Share on other sites

Aren't most of the Adobe applications (Photoshop, InDesign, etc.) still carbon apps? It's just a hunch, but I don't see Adobe rushing out to rewrite their applications to cocoa anytime soon. I have a feeling they would just end support for the Mac platform if Apple forced them to do that just because of the switch to Intel processors.

 

I don't understand why "Berko" was so upset over whether or not Accordance is a carbon or cocoa app. As has been described above, I don't see how it would make an appreciable difference.

Link to comment
Share on other sites

Helen says:

 

"We already support basic Applescript and also some special Applescript commands to facilitate using the Accordance widget. It is true that we could further develop Applescript support and we may indeed do so in the future, but this is an Applescript support issue, not a Carbon versus Cocoa issue."

 

 

This is interesting.  My script editor dictionary cannot see the Applescript dictionary in Accordance.  I take it you have not made these visible, perhaps because you have a subset only?

 

Will you be making these visible, or at least documented?

 

Thanks,

G. Peter David Posthumus

 

Accordance does not have a dictionary, as its Applescript support is somewhat limited. Rather than designing a full dictionary of terms, it is simple hard events that can be called. I believe the official stance right now is to not have it widely documented until greater support (no guarantees when that is :) ). You can find out the commands yourself with a little digging, though.

Link to comment
Share on other sites

  • 2 weeks later...

Something which would be nice would be for the history menu to show Hebrew/Greek. Am I correct in thinking that this would be relatively easy for a cocoa app?

 

I know I can add Unicode Hebrew or Greek (or whatever else, for that matter) to my bookmarks in Safari and they display quite well.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...