Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
OS X Operating Systems Programming Technology

Does New Development For Mac OS X Make Sense? 394

DLWormwood wonders: "As a long time Mac developer, originally as a hobbyist and then a professional, I'm feeling pessimistic about the future of the platform now that Apple is embracing Intel and abandoning the few remaining 'Mac' technologies (like the PowerPC and OpenTransport) left to the platform. With the high likelihood that these new Macs will offer a full speed version of Virtual PC and (what I think is) the almost assurance that some clever hacker will make 'X for x86' run on commodity hardware, I'm doubting the willingness of most IT and development houses to even give the Carbon and Cocoa APIs a first glance. (If it wasn't for the poor past performance of VPC, I would not have gotten my first Mac programming job.) Can anybody with a more optimistic view think of a scenario where a modern development house will do Mac development in an age where the help desk will just say either 'switch boot to Windows/Linux' or 'run Virtual PC?'"
This discussion has been archived. No new comments can be posted.

Does New Development For Mac OS X Make Sense?

Comments Filter:
  • Apple is much more than just a processor. What really differentiates Apple from the Windows world is the OS. Not to get into the argument about stability, OS X is much more intuitive and overall an easier to use operating system.
    I don't think that you will come into a situation where a help desk would tell a user to switch into Windows or run VirtualPC because I doubt that Macs will ever come with those pieces of software installed. Working at a helpdesk is not about telling users what they should do, it's about helping them do what they want to do
    I think that now that Apple is switching to Intel they will have more flexibility in pricing and will probably continue to grow their market share. I'd say that the prospects for Mac developers will be better than ever in the future. If you need another opinion check out this article [paulgraham.com].
  • by BitGeek ( 19506 ) on Tuesday June 07, 2005 @06:39PM (#12752569) Homepage

    What makes the Mac OS what it is is the platform, and all the technologies involved with it. These are not going away.

    Macs are %90 PCs anyway, they use products from Intel, AMD and other chip venders and they use the industry standard architecture of PCI. They just use a different CPU.

    I think this move is being made to make the Mac platform more viable and vibrant, not less.

    Though I don't quite see the path yet either... the platform is still wonderful, and Cocoa is still the best development environment ever.

    PS Am I really first post? Weird.
  • by BitGeek ( 19506 ) on Tuesday June 07, 2005 @06:43PM (#12752603) Homepage

    I don't think there really is a price premium on Macintoshes... but now we'll be able to see for sure.

    I bet Apple products will be about the same prices as Dell, yet deliver more features and a lot more innovation.

    Look at what happened when Aopen tried to make an x86 mac-mini competitor-- it was $100 more, without the OS, making it really $200 more expensive than the mini.

    But I agree-- developing on the Mac platform is the best its ever been... the OS X API is complete (Though I'd have liked EnterpriseObjects back) and frozen in panther (interesting that they did that, and made a big deal out of it, cause it means they planned to move to Intel 2 years ago.)

    Its a great time to write apps for the Mac as the Mac becomes less of an isolated fringe platform and more of a mainstream alternative to windows.
  • by edgar_is_good ( 684481 ) on Tuesday June 07, 2005 @06:49PM (#12752662)
    Don't forget the new buyers: I've already heard people say "Hey, if I could install Windows on it, then I would be willing to buy a Mac, because then if I didn't like it, I could always switch back."
  • The issue for developers isn't that bad - after all, apple appears to be making it fairly easy to produce cross platform code. If you were going to develop before, why not now? It will be many years before there is a significant number of apple intel systems to run PC stuff quickly. If you were going to write for the apple PPC last week, your situation hasn't changed much and won't for the next couple of years. You will write with standard PPC tools, or use the latest version of Xcode (or similar) which produces fat binaries, and runs on both platforms without a performance hit.

    Interestingly, the major improvements in Tiger, such as core video and so on, move all the graphically intensive stuff into the GPU. The cleverness of this is that the lack of the altivec units aren't such a big issue if you use the OS X core API's - everything is done in the graphics card, altivec is much less important, and this means that emulation of the PPC code will work fairly fast on their software emulator (rosetta). So your legacy code isn't going to suffer too much, and newer code even less so using the core API's even if you don't use fat binaries, which you will.

    Of course, you could just write for windows, but then you are going to miss a large number of apple users and watch other developers make money in that market whilst you compete in the win32 sphere. Your choice as a developer I guess.

    Eventually, the powerbook I am writing this on will be a legacy piece of hardware because the number of people using PPC will be too small to be worth developing for.

    However, a similar situation exists for old windows boxes, not because the processor has changed, but because the hardware requirements are too high for big new apps to work on it.

    This process will take many years to occur, and won't be a problem for developers unless all new purchases stop for apple.

    If this happens, you will get alot of warning over the next 6-12 months that its time to bail from apple.

    As a user of apple computers, after the initial concern, I am much less worried about making new purchases because the obsolescence of the current models will take years to occur. It really isn't so different from the transition of OS 9 to OS X. You can still run stuff in classic mode. And my current power book is still a magical 12" laptop that does what I need, and will be good for a few years no matter what, and for which I'll still buy new software for (if its good enough to buy). So the market will still be there.

    I don't think that many apple fans will jump ship, even if they are not happy - after all, what is the alternative? Go back to windows? Get your apps working under linux (like iLife, Keynote, etc?). Even if you feel abandoned by apple, the alternatives are still either a malware ridden platform or alot of hard work and a significant drop in the eye candy factor.

    In the longer run, its going to be more a case of alot more dissatisfied windows users jumping ship and the apple user base growing, in my opinion.

    My 2c worth

    Michael
  • YES (Score:3, Interesting)

    by ignorant_coward ( 883188 ) on Tuesday June 07, 2005 @07:14PM (#12752906)

    Because the CPU is irrelevant in the big picture. People buy the engineered package, called an iMac or a PowerMac or a PowerBook, and the PowerPC is really a sidebar in the whole deal.

    Sure, some apps perform better on PowerPC, but some others perform better on x86. And no one said exactly what model of Intel CPU future Macs will have. Given that Mr. Jobs mentioned a concern about power consumption, I'd bet that the current Pentium 4 or Xeon CPUs will not get a Mac logo. The Pentium M or an even better CPU in the pipeline (Jobs specifically said he had access to Intel's roadmap) are much more likely to be in future Macs.

    Watching the keynote reminded me why people love Apple. It really has nothing to do with PowerPC. The WWDC presentation was full of energy and hype and buzz, and the audience applauded and cheered like no other tech company presentation I've seen.
  • by Anonymous Coward on Tuesday June 07, 2005 @07:33PM (#12753058)

    I've noticed a lot of strange talk lately. That somehow the x86 Mac is a BAD thing. That somehow, Mac software will cease to exist. I just don't get it.

    I'm feeling pessimistic about the future of the platform now that Apple is embracing Intel and abandoning the few remaining 'Mac' technologies (like the PowerPC and OpenTransport)

    Those are not "Mac" technologies! Those are implementation details! Who cares what kind of chip is under the hood?

    What kind of "long time mac developer" are you anyway, don't you know what makes programming a Mac special? The nice clean APIs. The integration of all the services (want to write a Bonjour-enabled program that shares iTunes playlists whenever you drop the computer? No problem!)

    Programming in Objective C and Cocoa is like getting a hand job. I put it right up there with Ruby and my other favorite languages, even though it is positively ancient (but its old age is just indicative of how well-designed it is).

    I can't imagine writing GUI apps without the various tools Apple makes available.

    With the high likelihood that these new Macs will offer a full speed version of Virtual PC and (what I think is) the almost assurance that some clever hacker will make 'X for x86' run on commodity hardware, I'm doubting the willingness of most IT and development houses to even give the Carbon and Cocoa APIs a first glance.

    Do you seriously think "X on x86" will be anything more than a geek toy and/or a cease and desist magnet? Just forget about that, it ain't gonna happen.

    And the virtual PC thing is also a red herring. I'm not going to pay $150 for a copy of Windows just so I can run your $20 shareware (or whatever) on my Mac.

    I also don't care what "most IT and development houses" are doing. Shrink-wrapped software from big companies is pretty much a dead industry to me outside of a few things like PhotoShop. I buy shareware, I use open-source, those are people who are passionate about the platform.

    Now that I think about it, I probably don't want folks like you writing Mac software in the first place, because you don't believe in the platform. That's what your question suggests, anyway.

    Can anybody with a more optimistic view think of a scenario where a modern development house will do Mac development in an age where the help desk will just say either 'switch boot to Windows/Linux' or 'run Virtual PC?'

    Yeah, because when people buy a Mac, they aren't going to buy Windows or Linux along with it. They don't want some hideous Windows crap on their desktop that doesn't respond to the services menu, that doesn't work right with Expose, and that doesn't minimize to the dock.

    As for folks making windows-only software and telling mac users "we aren't going to write a mac version, go do XYZ (XYZ = use Java, buy a PC, go fuck yourself, etc)".. how is that different than now?

    I repeat, x86 on Mac is just an implementation detail that means nothing to me. All I know is that in a couple years, my new Macs will be faster and cheaper, that's fine with me.

    All the buzz on the news and the blogs is going to die down and we'll move on. It really isn't a big deal, the sky isn't falling, the users don't care, the developers SHOULDN'T care because they will still have enthusiastic paying customers, so really, who cares? I guess game programmers who have mastered PowerPC assembly might be a little annoyed, that's about all I can think of.

  • Windows On A Mac (Score:2, Interesting)

    by falcon203e ( 589344 ) on Tuesday June 07, 2005 @07:54PM (#12753211)
    No matter what Windows-on-a-Mac solution you've got in mind, I can assure you that it won't come out of Apple's hands. That'll make it essentially nonexistent for the vast majority of average users. Apps will still have to be developed for OS X for those users. And if dual-booting becomes an issue, Apple most likely make it impossible through a quiet update, a la the Rhapsody issue.
  • by jbolden ( 176878 ) on Tuesday June 07, 2005 @08:00PM (#12753259) Homepage
    OS/2 2.0 and 2.1 included a fully copy of the windows. I'm not sure OSX for Windows isn't a good idea. Since IBM screwed up OS/2 marketing in so many different ways its hard to know which ones killed the product. Heck maybe it was it the default to color blind schemes on the desktop?
  • by turpie ( 8040 ) on Tuesday June 07, 2005 @08:40PM (#12753520) Homepage
    Maintaining the OSX/OpenStep APIs for Windows would be a great idea as it would allow Mac developers to sell their software to windows users. In fact this was in Apple's original plans when they announced Rhapsody which OSX.
    Somewhere along the line they decided that making the market for mac developers software smaller instead of bigger was a better idea.
  • um (Score:2, Interesting)

    by BigBir3d ( 454486 ) on Tuesday June 07, 2005 @10:04PM (#12754027) Journal
    i bought a mac because of os x, not because my ibook has a g3 inside...
  • Re:Excuse me? (Score:3, Interesting)

    by DLWormwood ( 154934 ) <wormwood@meCOMMA.com minus punct> on Tuesday June 07, 2005 @10:53PM (#12754342) Homepage
    Do you really think that PPC and OpenTransport are what make a Mac a Mac?

    There are a lot of things that made a Mac a Mac long before those two technologies were introduced.

    I think my biggest concern is that there is no longer any practical differention in the hardware between Macs and PCs. As such, there's going to be common perception (correct or not) that most of these new Macs will "Just Be Able To Run Windows."

    I wasn't kidding about my first Mac job. The vast majority of software developed anymore are small, vertical market apps, made by companies that don't care a whit about UI and the "end user experience." They just want to make a product that fill a perceived need and ignore any technological hurdles that would require sizeable QA or re-enginering expense. The only thing presure such companies had to even bother with funding Mac development was the expense and PR issues of Mac users complaining about lack of Mac support. This pressure is NOW GONE, despite what some of the Pollyanna's out there are saying. And the developers who entered into this already on the Mac have just seen their QA requirements double for at least the next few years.

    Think of OS X's current support for Java, JavaScript, and many other web technologies. I've read and heard of too many (admitted anecdotal) cases where a Mac user was shut out of using a web site unless they used IE, or were even told outright to run VPC. This was despite the case that much of the time, a change of the browser identity string reported to the server made the website work normally. I don't consider it a healthy thing that the prefered browser on Mac, Safari, has to "pretend" to be IE or Mozilla to be even given access to most servers out there.

    Companies like Microsoft and Adobe can back the x86 initiative now, since they have pre-existing code bases that already run under the Aqua UI. However, once MS finishes VPC and Longhorn, how much market pressure will still be left for them to continure with Mac Office? Working for an ad agency in the US midwest, I've had techs tell me to my face that they would gladly remove Macs for the organization just to consolidate tech down to one OS/UI. The creatives and other types who historically used the Mac will just be told to swallow the changes and migrate to Wintel, since they can run their old apps in a switch boot at some point in the future (once all the Mac software becomes x86 only.) After all, they won't complain since "most people... only care about what tools at their disposal." (Even if they did, they'd be ignored; IT has more power than creatives and other "labor" in typical organizations.)

    Did the Mac stop being a Mac when those technologies were replaced with other, better technologies or dropped altogether?

    I really should have seen the writing on the wall when OS X introduced the command line as part of the OS as well as encourage archaic technical concepts like file name extensions and file paths, but I rationalized it away that most end users still wouldn't see such details. But, for the next couple of years, the number of end user questions to sites like MacFixIt and MacInTouch revealed the beginning of UI quirks related the fragility of shell scripts (like the infamous Installer bugs that wiped drives or couldn't update Apple apps that were moved out of the Applications folder) and the decay of the Finder as a useable app. Such details DO perculate upwards into the user space, since it subtlely influces the design behavior of programs. I already know my recent work with QuarkXPress is now worthless from a resume standpoint; they were still using Carbon and CodeWarrior. (And I found the InDesign APIs too Window-ish for my tastes.)

    I've read through the "Universal Binary" document Apple provided to help developers migrate to x86. It seems like every chapter is written to explain that the x86 architecure contains pitfall after pitfall that will make an app crash where I wouldn't on a PPC box. Depr

  • by kilpatjr ( 65285 ) on Tuesday June 07, 2005 @10:57PM (#12754368)
    Good thoughts, but I think you've focussed on the wrong market.

    Steve Jobs said that Intel delivers more power per watt. Let's think about that. Laptops have outpaced desktops for the first time. If Intel can deliver longer battery life than a cooled off G5, most users are going to respond to that. Let's face it. When I'm on a plane, I'm the only one compiling anything or doing monte carlo runs or pretty much anything else CPU intensive.

    If I'm my boss (who's considering the switch), am I going to be impressed with benchmarks or how long I can stare at a grant application in Word?

    That said, I'm really ticked off that the dev box for sale is 32-bit. hope we end up with something with a bigger address space without resorting to segmentation, which seems rather impossible. I was also anticipating a switch to dual-core G4s for my next PowerBook purchase. I'll just have to make the current one last a little longer now...
  • by Anonymous Coward on Wednesday June 08, 2005 @12:44AM (#12754939)
    Yes, the Macintosh experience is more than just the processor -- but this does not mean that the processor is not an important part of the whole experience. It is ridiculous to try to isolate a single part of the whole package and say that the rest is not important. It is the WHOLE package that makes the Macintosh experience: the UI / OS, the industrial design, and the materials they are made of -- including the processor.

    Have you even read Apple's "universal_binary.pdf" document? It is clear that the Intel architecture is a technical compromise at best: It is difficult to locate a paragraph in that document that extolls the virtues of the Intel way. To the contrary, we read about the vulnerability of the Intel ABI:
    "Thus, programming errors, or other operations that access past the end of a local variable array or otherwise incorrectly manipulate values on the stack may be more likely to crash applications on x86 systems than on PowerPC. "
    , and simple math things:
    "An integer divide-by-zero is fatal on an x86 system, and continues on a PowerPC system, where it returns zero."
    and countless pages about how Intel byte-ordering does not match native network, fonts, etc. order...

    Then there is the trashing of Altivec for a significantly inferior SSE.

    This was a business decision, not a technical decision, and it ditched premium high-performance and scientific users for consumers.

    It seems absurd to jump ship exactly when every game box is focused on PPC because of its performance and developers are in the process of learning the PPC instruction set -- like changing lanes in traffic because you are stalled, only to be passed by the lane you were in in the first place.

    I've read these crazy stories that Apple couldn't get enough of IBM's attention because of the small percentage of chips they purchase -- surely Apple will be purchasing a much smaller percentage of Intel's output...

    This is a sleazy technical step backwards to inferior hardware in an effort to make a "just-good-enough" system that seems to be the norm for the PC market.

  • by Cecil ( 37810 ) on Wednesday June 08, 2005 @01:11AM (#12755049) Homepage
    Take your fear of people figuring out how to run X on beige boxes... Apple doesn't care about these folks. Simply by having not purchased a Mac, this portion of the market has already proven that they are unwilling to have ever paid the Apple premium so, in effect, Apple will virtually never loose a sale to this crowd.

    You're wrong. I'm a UNIX geek turned OS X geek. I own a Mac (several, in fact). I own them because I adore OS X and because Apple makes laptops that sleep beautifully and instantly. I suspect the latter is more a function of OS X than it is of the hardware, but we'll have to see.

    In any case, if a beige box (or PC laptop) ran OS X for $1500 less than my Mac cost... would I do that? You better believe I would. I'm not in it for the hardware. I'm in it for a UNIX with an awesome UI and great UI development tools, and that's what OS X is to me.

    I sincerely doubt I'm alone.
  • Re:My caveats (Score:5, Interesting)

    by lostchicken ( 226656 ) on Wednesday June 08, 2005 @01:16AM (#12755073)
    Maybe this is a misconception, but I thought that at some point the ancient x86 instruction set and registers were "set aside" in favor of a more modern RISC-style processor core, and the old x86 stuff is supported as a kind of pass-through layer on top of that. I understand that's the case with AMD's Athlon, anyhow.

    This has been correct for everything since the Pentium Pro. CISC is a bad way to do a CPU, and everyone knows it. You can think of the x86 layer as a sort of machine code compression that actually increases how much code you can keep in cache at one point. A byte of x86 goes a lot farther than a byte of PPC.
  • by daviddennis ( 10926 ) <david@amazing.com> on Wednesday June 08, 2005 @01:20AM (#12755092) Homepage
    True, but certainly it does not look like Mac compatibility for the top applications (i.e. Photoshop and Illustrator) is in danger.

    One of the reasons Adobe is not as much of a Mac supporter as it once was is Apple's software division. Final Cut Pro absolutely slaughtered Premiere in the marketplace, and with good reason.

    In looking at software quality and design, I trust Apple more than I do any other vendor. I use Final Cut Pro, Motion, Soundtrack Pro, etc, and they're all amazing applications at a very fair price for what you're getting. I've also done some mission critical documents in Pages and it really does a slick job with styles.

    I wonder if Apple will ever design a pro photo editing application. Photoshop is great, yes, but not easy to learn. A bit of competition would do the end user a world of good ...

    D
  • by Ilan Volow ( 539597 ) on Wednesday June 08, 2005 @02:06AM (#12755282) Homepage
    Tonight I wrote a large portion of an experimental RSS program in 45 minutes using only my mouse and XCode's CoreData modeling tool.

    What was the question again?

  • by catwh0re ( 540371 ) on Wednesday June 08, 2005 @02:50AM (#12755398)
    To add to your point. Apple have an advantage when it comes to keeping their OS on their hardware, which is that their motherboard designs are still in house, meaning that while the Intel chip is the same as Dell machines, the underlying structure of the computer is still sufficiently different that it's less about hacking around a software block, and more about having to emulate the remainder of the apple hardware.

    Additionally Mac OS X would be designed to work with a number of specific video cards (and other hardware configurations) which other than increasing Mac OS X's stability, will make it difficult to produce a similar beige box.

    Macs may also still use an inexpensive PPC unit to help the Rosetta software.

    Ultimately the mac will still be sufficiently different despite being based around the x86 chipset.

    A good example is to compare the new game consoles all of which will use PPC chips, but will most definitiely not be compatible with each other.(It's a similar argument to IntelMac versus IntelDell.)

  • by william_w_bush ( 817571 ) on Wednesday June 08, 2005 @02:50AM (#12755404)
    Got a mac SE in 89 at the age of 11, gave it up in 94 for a pc, just for the game and tinker-factor.

    I am one of the biggest closet mac lovers in the world. Till my mini this year i hadn't touched one in a decade, and now im happy.

    Smalltalk, Obj-C, HONEST TO GOD FUCKING DESIGN!

    Windows programming is a combination between brute force and kludged hack, with just almost no technique or architectural finesse. Get it done, and hope it works. When is the last time you saw a windows app that people used for 5 years without an update and said "yeah it works great". It's like disposable software, not disposable like a funcam, disposable like an adult diaper, you just can't put up with the same one for more than a day.

    Linux. Love the theory, but 500 people each with their own pita view of how an OS should work... sucks. Love everything that goes on below the gui, and it makes a great server, though they redefine library hell.

    OSX. This is what happens to software when people keep consistent design principles. Compatibility is secondary to consistency, and programming doesn't mean learning a new way to malloc memory for EVERY G-D interface you try to use. It's like all those MIT guys I knew made an os with all their theory, and kept with it, even when the marketing pricks masturbated on them with their quick-to-copy new features and API's, that were so badly designed that 5 months later they became "legacy" (do not fuck with me on this, look through the windows com+ and ATL specs, or anything involving OLE), and had absolutely nothing in common with any other api in the system.

    Just cracked open XCode, and for the first time in years I'm looking forward to coding again. Everything is intuitive, 1 theory of operation to rule them all.

    Maybe it's an american thing, but why the hell do people buy from companies with such a horrible history of design? Jesus, the only time Ford had a semi-reliable engine was when it was designed so simply that every 10k miles you could rebuild half the engine yourself and get it working well again that way, consumer-products shouldn't be brute forced.

    Seriously, I've been a windows, then linux junkie for the last decade, but can any of you tell me there is any consistent design going on anywhere in there? Till dec 2003 you had to hardcode all the driver init hooks into the linux kernel with ifdefs, explain to me how that makes any sense. Well, another decade from now maybe Mach 1.0 will be out and another ridiculously long software milestone will have been reached.
  • quick postscript (Score:3, Interesting)

    by william_w_bush ( 817571 ) on Wednesday June 08, 2005 @02:59AM (#12755423)
    Just FYI, there are 8 different api's for handling a length prefixed string in windows, each defined separately with WHOLLY different semantics and parameters for performing the same tasks. Ironically while they are not interchangable, each of them has a different, subsection of text-proccessing or storage-management none of the others has, and a completely separate method of conversion to a LPSTR (std string pointer). I have talked to dozens of people about this, and most people who've done work in windows have seen this, Nobody has the slightest fucking clue why they are there or what they have to do with each other. It's like seeing a glowing pink elephant on I-95 every day while going to work, but everyone just drives around it, pretending it doesn't exist.
  • by Anonymous Coward on Wednesday June 08, 2005 @08:52AM (#12756440)
    I'm backing off my initial belief that Apple is dead, based on zero hardware sales for PPC this year and zero software availability for Intel next year (making the new boxes pretty much worthless except for checking email.)

    It's now starting to look like their emulation technology might really be that good, something like 80% performance if you believe its maker, 30% if you believe thinksecret's reports from WWDC. While it's pretty limited compared to the old 680x0 emulator, it's no worse than Classic and makes Intel Mac's at least look possible.

    The opening I see is for new products that might be able to grab market share by outperforming the top tier stuff for the first year or two. (All their promises aside, I'd be amazed to see Adobe or MS ship anything x86 before 2007, or Quark before 2008, if ever, based on previous experience and pure inertia. Add a year, if you're a businessman concerned with ROI from the size market involved.)

    That means that a well engineered Java application might be substantially faster (w/ a native JVM) than a C++ program on a Mac86, as well as running on other platforms. The same goes for most other platform independent languages: The WxWidgets library will surely get ported, making WxPython a better option than ever before, as is PyObjC if you can live with the platform lockin.

    Many of those "second class" languages are also significantly more powerful than C++ for development purposes (bear in mind that the C crowd is now pretty much stuck with XCode, too.) That raises the possibility of writing something the big guys won't be able match once they finally do get moving.
  • by CoolBru ( 798217 ) on Wednesday June 08, 2005 @11:35AM (#12758222)
    Here's a little tip for any Windows or Linux user who wants to know what the hell all this talk about OS X's wonderful APIs is all about. Get on a Mac with Tiger that has the developer tools installed and find a program called "Quartz Composer" (now there's a chance to try out spotlight). Play with it for a couple of hours. When you've realised the beauty of the way the whole thing works, ponder the fact that the entire OS is built this way.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...