Re: Thoughts on Cocoa
Re: Thoughts on Cocoa
- Subject: Re: Thoughts on Cocoa
- From: Turtle Creek Software via Cocoa-dev <email@hidden>
- Date: Fri, 4 Oct 2019 14:26:33 -0400
>> If you’re finding it difficult in the various transitions going on, how
about reaching out to another developer or group to get you over those
hurdles?
If only it were that simple. Cocoa wasn't just a few hurdles. More like a
constant slog of small and medium-sized problems, with insufficient tools
to solve them. Usually Stack Overflow, books and blogs are enough. But
anything before 2010 was severely outdated, and anything after 2014 was
Swift rather than Obj-C. The window was too narrow.
Here is a brief history of TurtleSoft, so you can see where we're coming
from.
We started in 1987 with Excel templates for construction companies,
originally made for Turtle Creek Carpentry. Sales were 100% Mac for the
first couple years, then 50/50 after Windows 3.0. MacNail was very
profitable. We also wrote a HyperCard based construction estimator, which
was OK but less successful.
First prototype of our current accounting/estimating app was about 1992, in
Think Pascal with Think Class Library. We abandoned that when Apple
pivoted to C++ and PPC. Version 1.0 then took about 15 programmer-years to
write, in C++/Codewarrior/PowerPlant. Shipped late 2000. The first 10 were
easy because of good income from the templates. 3 programmers plus support
staff. Then Apple lost $1 billion and almost died, and our sales dropped
50%, then more. The next 5 programmer-years happened on credit card debt
and desperation. TurtleSoft had to downsize to survive it.
2001 to 2013 was spent fixing bugs, adding features, marketing, paying off
debts, having a life again. Another 5 programmer-years to get a really
well-polished app. During that time, updating to Carbon took a few
programmer-months, thanks to good tools from Metrowerks. Updating to Intel
was also easy, since we already had byte-swapping for the Windows version.
Giving up CodeWarrior and enduring Xcode 3.0 was the hardest part.
During that time there was no time or cash for a major rewrite to Cocoa.
Just not possible. There were bigger concerns.
Updating the C++ to 64-bit took 2 programmer-years, 2013 to 2015. Removing
most of PowerPlant, switching from LArray to std::vector, writing an object
database to replace the crappy licensed one. That was productive work,
applicable to both Mac & Win. Construction companies don't need 4GB files,
but we also use the same code for a gene/protein app. One human genome is
750MB minimum, so that version needs bigger files.
The plan was to subcontract the Cocoa conversion in parallel. We assumed
there would be tons of experienced Carbon->Cocoa programmers so late in the
game who could whip it out in a year or less. The bigger offshore subs
would only touch it on an hourly basis, estimated $100K to $200K. One QT
guy quoted $30K for both platforms, which was pretty much our maximum
budget. He took the first draw payment then failed. 3 others tried pure
Cocoa for a similar price, but got nowhere.
In 2015 we finished the 64-bit prep, and started work on Cocoa in-house.
Based on past updates, 4 years seemed like plenty of time. Now, after 2 or
3 programmer-years, a realistic guess is another 2 or 3 needed to finish.
Our app has a lot of interface code. Running a construction business is
complicated. We do a lot more than QuickBooks.
Since 2001, sales have been 36% Mac, 64% Windows. It's really just math.
Another 2 or 3 programmer-years on Cocoa, just in time for Apple to make
another big pivot. Versus 1 year for MFC code that will last 10 or 20
years, and have twice the sales. Maybe we'll come back and do Mac later.
Maybe not.
In general, our lives would sure be easier and the business more
profitable, if we could create good software in less time. I have some
ideas on how Apple could make that happen with Cocoa, based on the problems
we had with it. But I will wait to see if it's OK to talk about it here.
Post-mortems can be educational, if not classed as whining.
Casey McDermott
TurtleSoft.com
On Fri, Oct 4, 2019 at 11:04 AM Gary L. Wade <email@hidden>
wrote:
> If you’re finding it difficult in the various transitions going on, how
> about reaching out to another developer or group to get you over those
> hurdles? I used to work with a number of guys who are part of
> http://orderndev.com/ and while I’ve not kept up with them lately, they
> should be able to help in some way. I worked with them in the Classic days
> and the early Carbon days, and they’ve also worked on a number of Cocoa
> projects after that time, too. I don’t know their rates or availability,
> but maybe reaching out to them might get you to the next level? BTW
> they’re also very familiar with projects that transitioned out of existence
> as they also worked on OpenDoc and even presented about it at WWDC.
> --
> Gary L. Wade
> http://www.garywade.com/
>
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden