Re: Cocoa/EOF for non-enterprise apps Re: proof of cocoa
Re: Cocoa/EOF for non-enterprise apps Re: proof of cocoa
- Subject: Re: Cocoa/EOF for non-enterprise apps Re: proof of cocoa
- From: Deirdre Saoirse Moen <email@hidden>
- Date: Thu, 14 Jun 2001 13:07:57 -0700
Is it really difficult for you and a bunch of others to
understand that Apple maybe didn't decide to KILL EOF/ObjC? ....
that EOF/ObjC isn't even on the radar in terms of the issues that
Apple is dealing with in their efforts to augment and extend the
Macintosh markets?
Maybe you need to realize that there's something really important
that Apple hasn't gotten:
It has jerked around developers for years. Other companies don't do
that with the order of magnitude that Apple does.
If it wants to sell ANYTHING, it's going to have to have *willing*
third-party developers. And it has burned a lot of them.
From the shipping boxes perspective, Apple can't afford to make this
transition any more painful than it absolutely has to be.
Apple is a for profit company building hardware that is
largely aimed at the consumer and education markets. Apple does
not have a history of building systems for the enterprise market.
Apple is in the middle of-- well, coming out of the middle of--
changing EVERYTHING about the way that Mac OS worked.
Apple has a stated goal of 100% market share (5 down, 95 to go). With
that goal in mind, they are going to have to cater to the business
customer's needs. And that includes a lot of small, vertical-market
stuff that EOF/ObjC would be great in.
I'd like to see every dentist, every yarn store, every bank, etc.
using vertical market apps on Macs. Wouldn't you?
To that end, EOF and EOF/ObjC are vital.
There will be no serious market penetration of the home market
without a hand-in-hand penetration into the business market.
Right now, the most CRITICAL task on Apple's plate is to transition
the Macintosh community and mindshare to a very new way of thinking.
I.e. to transition THAT WHICH KEEPS THE COMPANY ALIVE off of an OS
that largely hasn't changed in 10 years onto a completely new OS
that is about 10x more complicated (and 20x more powerful).
Believe me, I understand how complex a task this is. But having
someone to maintain the EOF/ObjC stuff that's what, 1-2 people? Given
that Apple has several hundred job reqs open, that's nothing.
For the horizontal desktop market, traditional database persistency
via an API like EOF/ObjC just doesn't matter. The products that
have had persistency in that kind of a market were the ones built on
tools like FileMaker which take a very different approach to that
persistency model. The best example of a product LIKE that from the
NeXT community would have been DataPhile.
Repeat after me: Filemaker is not a relational database. Filemaker is
not a relational database. You can't expect something, like a
Dentist's office, that NEEDS a relational database, to run well off
of Filemaker.
I am *so* sick of seeing stupid little $20 filemaker shareware apps. Boo.
Like Ebay auction tracking.
That's a good example of the kind of thing that might be very easy to
implement with EOF, it's useful, works better than Filemaker, and,
most important, easier to scale to add new features.
For the horizontal market, the persistency needs are
generally centric to a multiple document model. That is, the user
is thinking "File->New Document". It is centric to a model where
the user may pick up a hunk of data and email it as a document...
they may have five documents, maybe ten. Per document-- per
database-- they may be working with 1000 records-- maybe 10,000.
I think you have a very limited view of the horizontal market.
I.e. it doesn't call for the power of a relational data store!
Very likely, the data could be stored via a simple hashing
algorithm-- berkeley DB from the Unix world, FairCom's c-tree
product, etc... -- or even simply stored as a big hunk o' data that
is read all at once into a set of arrays.
A great example from the freeware market is the incredible
overuse of MySQL as a database. Everyone uses mysql for everything
from addressbooks to mp3 players. Yet none of these apps need the
extra complexity of managing an MySQL installation-- in most cases,
it is a performance hit to use MySQL.
But it's a damn sight more relational than filemaker. At least it's
using the right tool.
I'm looking forward to reading your paper regarding
productivity with ObjC. In my experience, productivity is largely
governed by the APIs against which one is developing as long as
there is a certain level of parity between languages.
I've only seen Brooks' law
Java is just another language. Once fluent within it, I
have found that my productivity has actually *increased* because the
compiler is catching a lot of assumptions and stupid mistakes.
And as annoying as the formal exception declaration and all the type
casting is, both have often caught errors that would have led to
very confusing behavior under ObjC.
If you prefer Java, fine. However, there are many of us who don't and
never will. Please respect that.
But I am also sympathetic to the position Apple is in.
Unfortunately, maintaining the ObjC/EOF APIs does not have an ROI
that can justify the resources necessary to do so-- not
insignificant resources. They made a very hard decision.
How do you know it doesn't have the ROI?
As much as a small but vocal group of developers have been
criticizing Apple for their decisions, the reality is that their
profits have been increasing, their market share has been
increasing, and they have been landing some major deals in the
education market. I.e. they are generally doing something right.
I should add that I *am* an Apple stockholder.
That there is fallout along the way-- APIs shot in the head,
Apple making mistakes in handling certain transitions, etc..-- is
inevitable.
No, it has been more painful than it needs to be.
In a slightly different world, Apple would have bought Be
(and subsequently tanked while mired in a big pile of multithreaded
C++ code) and NeXT would have disappeared....
As a former Be engineer, I think it would be best if I just bite my
tongue on that one. :)
--
_Deirdre Stash-o-Matic:
http://weirdre.com http://deirdre.net
"Cannot run out of time.... Is infinite time. You... are finite....
Zathrus... is finite. This... is wrong tool!" -- Zathrus