Monday, November 14, 2011

The Far Job

Correspondent from New York


Steve Jobs knew a thing or two about third-party vendors. Steve calls it third party layer. In his article Thoughts on Flash, he describes succinctly about third party:


"We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.
This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms."

In the Apple Platform, there are fewer third-party vendors or much fewer libraries. Unlike Microsoft, which builds hundreds of libraries and functions in various manners (NET1, NET2, NET3.5, NET4, WPF, SilverLight, Metro, C++ bindings, ActiveX bindings, etc.) and various methods to inter-operate (DLL calls, ActiveX, NET InterOp, SOAP, XML, etc), Apple does it by redesigning the developer process. They publish human interface principles, APIs that actually work, API consistency across both iOS and OSX.


The best guideline ever published is not by Microsoft but by Apple - such as - not to use too much battery life, should not memory-leak, should not crash, should not use too much bandwidth. Your correspondent loathes Delphi apps that leak memory until it crashes the server, consumes too much CPU and bandwidth for simple things. If you downloaded a Shareware Delphi App, it comes with false descriptions of the App does vs. what it actually does.


Today Embarcardero have the same problem with FireMonkey. The third party vendors are hesitant to supply FireMonkey grids, FireMonkey components, FireMonkey report-writers and possibly port their existing VCL to use FMX. Likewise, the developers grow dependent on them: they cannot take advantage of platform enhancements until the third party chooses to adopt new features. Not to mention it would cost them thousands more to license Rad Studio-XE3 (coming soon!).


The current apps that are written using FireMonkey have the lowest common denominator of features. On Windows, since it has no native theme (looks strange), on OSX the skins are disabled, on iOS it export to FreePascal where the other features are provided by FreePascal and not Embarcadero themselves.


When this blog was written, many Delphi developers believed that third-party was the solution to Borland's/DevCo/CodeGear's/Embarcadero's problems. Instead, it became the chains that shackled them and caused Delphi's decline and demise. Steve Jobs knew better - he was thinking different. The developers who write this blog are smart enough to know the difference.

2 comments:

db said...

100% correct, but, isn't that crazy fragmentation from Microsoft that let Windows take over the World?

Michael Bunny said...

@db - Windows is a commercial success, it is not progress. Chewing gum is also no progress but is wide spread, cosmetics poison you but people buy.

Mr. Hater ... Cowboy's are used to cow dung. This putting things on top of other things became accepted. What went wrong was that technical skills especially at the time of Smalltalk, Java in the early days became less and less accepted, because technical expertise was identified as waste by business departments. RAD/4GL Solutions have been an expression of this mind set and a response to it. But this has changed ...

Today SaaS as attempt to 'Pay the doctor for healthy customers' ...