• Explore the magic and the mystery!



  • Are You Using a “Sub-standard” App?

    April 13th, 2010

    So Steve Jobs has thrown down the gauntlet. He is clearly sick and tired of applications that perhaps run decently on Macs and other Apple platforms but don’t take advantage of all the features. The media wants to suggest Apple is really at war with Adobe and other companies that use runtimes and cross-platform tools to create their apps. But is there anything wrong with that?

    I realize most of this programming stuff doesn’t mean much to most of you, but consider your user experience. With Java, a programming method that was supposed to allow apps to function on loads of computing platforms, do you actually recall any that look good and work well? Any? Or do you end up with compromised garbage with poorly-formed user interfaces and erratic performance?

    Large software developers, such as Adobe and Microsoft, generally use cross-platform development environments so they can basically write many of an app’s features once and then deploy them to the Mac and Windows after doing the requisite work to make them appear native to their target OS. At the same time, it means that those applications may not only have interface glitches but lack native capabilities.

    Now Apple migrated to Intel processors four years ago. They have evangelized developers to support 64-bit processing, the better to maximize performance and, if need be, use larger amounts of RAM. Here in 2010, you look at the specs for Adobe’s forthcoming CS5, and find that just three apps in the suite truly support 64-bit. It would seem Adobe has tossed us a bone by offering that support for Photoshop, Premiere Pro and After Effects. Yes, those are the apps that are apt to benefit most, but what about support for Grand Central Dispatch for superior performance on today’s multiprocessor Macs, or OpenCL to harness the power of the most powerful graphics chips?

    When you check the specs for Photoshop Extended, the high-end version, all Adobe tells you about enhanced capabilities is: “Some GPU-accelerated features require graphics support for Shader Model 3.0 and OpenGL 2.0.”

    What about the reworked plumbing in Snow Leopard? Why isn’t Adobe addressing any of those features, other than token support for 64-bit? Do they not believe that the Mac content creators that form a hefty portion of the user base would somehow benefit from the best possible rendering speeds?

    Or did Adobe saddle itself with cross-platform tools that make adding extra support for a custom OS feature more difficult? Or maybe, as some have suggested, Adobe took a gamble years ago to emphasize the Windows platform over the Mac. Despite the Mac’s resurgence, they have been slow to adapt.

    That takes us to Flash, where Adobe’s new tool to port Flash apps to the iPhone platform will be stillborn come version 4.0 of Apple’s mobile OS. I suspect Adobe’s spin control machine is working overtime to paint this as an act of revenge on the part of Steve Jobs in his eternal efforts to maximize control.

    But also consider what I just said, that using non-native compilers to build an app may provide compromised results that fail to support all of the custom features of a particular OS. Maybe that’s fine if you want to deliver the same stuff for the Android OS and iPhone. But what about the new multitasking capabilities for iPhone 4.0, and the other 99 new features? If apps don’t support those features, it hurts the platform because customers can’t use all the capabilities that Apple promises. It also hurts the apps themselves, because they deliver a sub-par user experiences.

    That may have worked fine on the Mac, where Apple had to struggle to encourage developers to stick with the platform over the years, particularly after migrating to Mac OS X. Indeed, the original release of Mac OS X was delayed by several years because Apple was forced to build the Carbon environment to make it simpler for the largest developers, such as Adobe and Microsoft, to support the OS more easily and not have to redo all their apps, a prospect to which they objected.

    In the real world, Carbon worked well enough, but as Mac OS X matured, Apple encouraged developers to migrate to Xcode’s Cocoa technology. The situation became all the more important when Macs moved from the PowerPC to Intel processors, and it’s essential if new apps have any hope to support Snow Leopard’s new features.

    Returning to the mobile platform: Despite the complaints, it doesn’t seem that Apple’s tighter control has hurt sales in any meaningful fashion. It’s not as if loads of customers are moving to Android or BlackBerry devices because Apple changed the terms of its developer agreement or has blocked Flash from the platform. Yes, the lack of Flash can be inconvenient, since you can’t get the full experience from loads of sites. By the end of the year, however, there will be 100 million Web surfers who have great demographics in terms of education and income who won’t be able to view Flash content. You can see how fast sites are dumping Flash and that trend will only accelerate.

    In fairness to Adobe, that company may have spent a bundle to buy Macromedia and acquire Flash, but in the end, their content creation tools can live long and prosper even if Flash dies. And no, folks, I don’t for a moment believe those new rumors that Adobe might sue Apple over its change of iPhone SDK terms, or perhaps the decision to ban Flash. Sounds like someone’s having a psycho fit.



    Share
    | Print This Post Print This Post

    11 Responses to “Are You Using a “Sub-standard” App?”

    1. dfs says:

      I’ll start taking this guff seriously when Apple itself starts putting out software that takes advantage of all the features of the Macintosh. So, Steve, where’s my copy of a 64-bit, multiprocessor aware version of iWork? I haven’t got one and I have to particular reason to imagine I’m getting one in the foreseeable future. The best leadership is always leadership by example. If other developers see that Apple isn’t devoting the cash and resources to capitalize on its own technology, why on earth should they want to do the same?

      • @dfs, It’s a question of allocating your resources where needed. Logic Pro, yes, iWork — who cares?

        Peace,
        Gene

        • Richard says:

          @Gene Steinberg,

          Yes it is, Gene.

          It is a product of market share for the very companies about which Steve complains. Steve is responsible for not growing the market share and so he must bear the burden of companies who ship products that are not optimized to take advantage of all the capabilities of the OS and hardware.

          Apple has consistently failed to keep enough people to even keep the OS development on the payroll. Why else is it news that engineers have been moved from the OS team to the iPhone 4.0 team and that the next release of the OS will consequently be delayed?

          More importantly, is this a growing trend? If so, it could signal the marginalization of the Mac platform. That has been a problem with Adobe and CS Photoshop. A lot of pros (the ones who work with PS all day, every day or have a guy to do it all day every day and benefited from the increased productivity) moved to the Windows platform (yes the “data” is anecdotal, but probably is revealed by Adobe’s sales figures to some extent) when it became apparent that the 64 bit Cocoa version would not be forthcoming for quite some time. Will they ever move back? We shall see.

          It sounds like the pot calling the kettle black to me….

      • Louis Wheeler says:

        @dfs,

        Apple is in transition to 64 bit, GCD and OpenCL apps just like its developers. If Apple had devoted the personnel to upgrade its apps to 64 bit code prior to its developers, then they would be crying foul.

        The computing industry is in migration to 64 bit code, but there is no pressing need. What is important about the 64 bit, GCD and OpenCl apps is the power, speed and flexibility which they provide.

        How well will Mac applications compete with Windows applications, then? What I hear is that they will have speed increases from two to ten times over that of Windows apps. I expect that Apple will start booting into the 64 bit kernel this year, but it won’t happen until enough applications are upgraded. There is no point for iWorks to be in 64 bit code before then. It will certainly be in it by 10.7, in about a year.

        “A lot of pros (the ones who work with PS all day, every day or have a guy to do it all day every day and benefited from the increased productivity) moved to the Windows platform (yes the “data” is anecdotal, but probably is revealed by Adobe’s sales figures to some extent) when it became apparent that the 64 bit Cocoa version would not be forthcoming for quite some time. Will they ever move back? ”

        This sentence confuses the facts. Apple has been pushing its developers into using the Cocoa API’s and the Xcode IDE since 1998. Most developers took advantage of the move to Intel processors to do so, but Adobe did not. Adobe bet on coercing Apple into extending the Carbon API’s into 64 bit code, so that it could continue to use cross platform tools. Apple refused, so this cost Adobe a year and a half while it cajoled Apple.

        So what is some people abandoned the Mac to take advantage of 64 bit Photoshop on Windows? Photoshop is an industry leader, but if it chooses to neglect Apple, then it will lose market share to ITS competitors. It will not take advantage of the new technologies in Snow Leopard while they will.

        PS It is risky to use unconfirmed rumors to substantiate opinions. If Apple is not reassigning Mac personnel to work on iPhone 4.0, then your opinion is worthless.

        • Richard says:

          @Louis Wheeler,

          Lewis,

          Two things about Adobe and PS. First, Apple did change the transition time line from Carbon to Cocoa (and yes, Adobe did drag their feet making matters worse). The other, and more significantly, Adobe has said that 95% of their sales of PS are for the Windows platform and so they allocated their resources accordingly. (They were quoted at one time that it would require a complete rewrite of PS to code it in 64 bit Cocoa.) Actually, it is fortunate that Adobe did (finally) get a Cocoa 64 bit version out the door as it was not a foregone conclusion that they would do so in a time frame that mattered. PS professionals were not going to abandon the software and so it became a simple question of economics for them…go with the platform that offered the greatest productivity.

          Cheers!

    2. dfs says:

      Apple darned well ought to care, if only for the sake of setting an example and getting the ball rolling, if nothing else. And also, Gene, if I had shared your attitude a couple of months ago I would have stopped and asked myself why the hell am I buying this new iMac? From Apple’s point of view, that’s a very unhealthy way of thinking, right? And on a related subject, Steve can rant all he wants, but as long as Adobe has a near-monopoly on serious page-making software, when it comes to dictating Web standards they get to run the table.

    3. hmurchison says:

      The problem here is that the more app Apple delivers the more you get the Tech Press ranting about Apple putting small developers out of business.

      Apple leaves so many areas untapped and it’s surprising how few developers take advantage. I remember when Pixelmator came out and people said “you’re crazy for going up against Photoshop Elements let alone Photoshop” yet Pixelmator has thrived and developed quite a fanbase.

      They did this by leveraging Apple API and rapidly advancing the product. They didn’t start talking about developing a windows version. They stayed their course.

      Now Software, unfortunately, did not get the same memo. The attempted to launch a business class Calendar program on both Mac and PC simultaneously and promptly went out of business.

      Adobe is mad because Apple has thrived and they’ve done so without the need for Adobe which in turn means Apple’s success isn’t tied to Adobe’s Flash tools or anything else from the company. They have largely become somewhat irrelevant and that bothers them greatly

    4. DaveD says:

      My main web browser is Firefox. It is used daily to comb the Web for articles. There are times when I have over twenty tabs open. It does the job well enough in spite of the times when it goes haywire. I had to force quit a number of times when it gets confused and uses 100% of the CPU. It does not render some web sites properly. It does not use sheets in Open/Print dialog and the close tab marking is on the right.

      But, I still use Safari, OmniWeb, and Camino on a limited basis. Safari for e-shopping and e-banking, OmniWeb for printing (the best), and Camino to supplement Firefox. Camino uses sheet in Open dialog and not for Print. Both Safari and OmniWeb use sheets for Print, but not for Open. The sheet in the Print dialog for Safari is the best. All three browsers have close tab marking on the left.

      I do consider Firefox a “sub-standard” app. It may not do quality web page rendering, but it can do quantity faster than the “other three.” It does recover more quickly with saved tabs when it crashed, forced to quit, or simply closed. One very good thing is how Mac OS X is so crash-resistant with Firefox. Glad to see that the days when a Netscape browser crash/freeze would take down classic Mac OS are now well behind us.

    5. Chris says:

      Firstly, Java apps really aren’t that bad.

      Secondly, lots of specialised apps simply cannot be rewritten for every application. I work on a government app with less than 500 users. No way we can afford to rewrite it for every platform, so we write it in java. We probably would like to run it on iPad, but obviously we can’t.

      • Definition of “aren’t that bad”: sub-standard. 🙂

        Peace,
        Gene

      • Allen says:

        @Chris, I heartily agree with you. You can write “good” or “bad” apps in any language and with any framework – just look at all the junk out there written in C, C++, Scheme, Pascal, Java, C#, etc. It takes a lot of effort to get things right for your customers, and if you don’t put in the effort, substandard apps are the result. As for “sub-standard”, Gene, you can have an ugly app that is extremely functional :).

        Now with Java, the issue is more complex. Like you know, Sun wrote reference VMs for windows/solaris/mac os 9/etc., but did varying degrees of optimization/customization for those, which would be pretty generous on what Sun did with the mac. Essentially, Sun produced a pretty bare bones implementation of the VM for mac os 9, which resulted in poor performance, and non-conformity from a human interface guidelines point of view. So when apple picked up the development/maintenance of the Java VM, core frameworks, and APIs for the mac, they gutted a lot of the underlying native code, and reimplemented it to fit into mac os x. Since then, Java on the mac uses Aqua for it’s display mechanism, and conforms to apple’s human interface guidelines. So you can say the “sub-standard” UI qualities of a Java based app where actually caused by VM implementers, not Java or even developers themselves.

        Just for an example, look at NeoOffice – this is a nice hybrid app (C++, C, Cocoa, Carbon, Java) that actually uses a cross-platform language/framework/api, Java, to produce it’s UI! It’s a decent looking, decent performing app (plus it’s free), and I would challenge anyone to call it substandard.

        So please stop harping on cross-platform frameworks – they’re not around to compromise apple/mac os x – they’re here to complement it and support it!

        -allen

    Leave Your Comment