Apple and Independent Developers 395
Corleone writes "We've seen a realization recently that Microsoft isn't standing still with Longhorn, and countering Longhorn has been pushed to the forefront. That is why I found the concept of Apple being the larger danger in Rhapsody in Yellow so ironic. The author skirts the scary question: would Apple porting their frameworks to Linux give them undue influence over the direction of the free operating system movement? This is after recent reports saying missing programs are the biggest thing holding Linux back on the desktop. Macromedia has interest in their tools on Linux, surely many others are too. This would seem to allow thousands of companies a simple path to the Linux market but with Apple as the gateway. If not Apple, what of Microsoft porting their engine?"
What about GNUstep? (Score:5, Informative)
No mention of GNUstep?
GNUstep is a complete reimplementation of the OPENSTEP (i. e. Cocoa) frameworks which works on GNU/Linux, BSD, and several other *NIX platforms... it already provides the portability necessary and an environment to develop apps against that framework for free.
What it's missing is a few crucial pieces which are slowly starting to fall together:
1)
2). $$$. GNUstep has no major corporate backer. Most of the people who work on it work on it because they love it. KDE, Gnome, and Mono all have the Novell monstrosity behind them. GNUstep has nothing.
3). Lack of distributed objects compatibility. See (1)
4). Outdated interface. The OPENSTEP look is, needless to say, passe. Apple did well redesigning their interface completely. GNUstep still looks like OPENSTEP did 10 years ago. This needs to change.
If Apple were to throw their weight behind GNUstep ( a tough decision, but an interesting one which could potentially bode well for both Apple and the free software community ) we could have the outcome the author asks for... Apple pushing a disruptive technology based on their own frameworks into free software, and taking hold of the market. Pipe dream? Maybe. But we can dream
Re:What about GNUstep? (Score:5, Informative)
Re:What about GNUstep? (Score:5, Insightful)
Carbon, however, will never be deployed on other platforms. It's a horrible, messy kludge composed of about 15 years of Macintosh API evolution plus the necessary changes to make it work on OS X. There's nothing about it that's appealing from a "beginning to code for" standpoint... it's just there for transition.
Cocoa has all that potential because it is a beautiful, clean API in a modern object-oriented language plus it already has cross-platform support in the form of GNUstep. The article decried the lack of interest in starting to code for Cocoa (and thus to create new Mac OS apps) by new developers precisely because it's only really supported on OS X and thus not attractive... I think GNUstep already proves that false to a degree and will do so further in the future.
Re:What about GNUstep? (Score:5, Informative)
Except for single applications like QuickTime Player for Windows and iTunes for Windows, which *do* essentially contain large chunks of Carbon.
Re:What about GNUstep? (Score:4, Interesting)
Re:What about GNUstep? (Score:5, Informative)
GJC
That's not entirely true (Score:5, Interesting)
Apple continues to improve and evolve the Carbon API, dropping a lot of their legacy cruft and encouraging developers to move their applications forwards. While it does ease porting, if you just do the minimum so your old apps compile and run on OS X, you do not really have a Mac OS X application - it probably won't look and feel completely right.
Carbon also works completely differently under the hood. As time goes on, Apple exposes these improvements through entirely new API, for example the HIView stuff that appeared in 10.2. Things like QuickDraw are largely going away for a lot of uses, with more modern alternatives like Quartz 2D or OpenGL recommended depending on your needs.
It's also important to note that Cocoa is actually implemented using Carbon in some cases, and we're starting to see the reverse also be true.
You can't say that Carbon, at its heart, is a "horrible, messy kludge". It's actually a fully-featured modern procedural API for creating native applications that provide a full Mac OS X look and feel.
Having said that, it's highly unlikely that Carbon will see the light of day on other platforms, purely because of the effort involved in writing something comparable and the sheer size of the API.
Apple seems to be pushing Carbon as its lower-level application development API, and Cocoa as its application framework (as a replacement to MacApp, the former C++ framework that was based on Carbon).
Re:That's not entirely true (Score:5, Funny)
Re:That's not entirely true (Score:3, Interesting)
Misconception about Carbon (Score:3, Interesting)
The ancestor to Carbon is the port environment that was developper by Apple for QuickTime. and is still used today. This is never said but when you install QT on Windows you install Carbon as a side effect. You can even compile against it!! Take the include file on a Mac and compile link against the QT lib you will get a working application.
Just to say that Carbon already exist on Windows what is missing is the support.
Re:What about GNUstep? (Score:3, Informative)
That's where you're wrong. Carbon is a full-fledged operating environment on Mac OS X, just like three out of the other four.
What are the other four, you ask? Well, we have Cocoa, of course, and Java. Then we have BSD; that's how programs like PostgreSQL can run with very little modification. Finally, the four environment, the red-headed stepchild, is Classic.
Four out of five of those environments are equal peers. Classic is meant to be a step
Re:What about GNUstep? (Score:5, Interesting)
It adds a few keywords to C (it's in the single-digits, I believe) and one syntactic structure.
The idea that people aren't picking up Objective-C because they don't want to learn another language is preposterous. They're not picking it up because the only complete platform to develop with it is Apple's Cocoa, and that's just not large enough of a platform to be worthwhile to a lot of development houses. Once GNUstep is up to par (in my opinion it already is if you're willing to be a hacker, but that's obviously not true for most) I think exactly that raison-d'etre will be delivered.
Comment removed (Score:5, Insightful)
Re:What about GNUstep? (Score:4, Interesting)
Re:What about GNUstep? (Score:5, Interesting)
Agree! I've often admired ObjC, but haven't really bothered to learn it yet. Perhaps if there were nicely done Gnome bindings, but the existing ones appear to be Gnome 1.x and have bitrotted. Gnome development is one place where I think ObjC could really shine, because you get the similarity to the underlying GObject model (in C) but you get generic programming and automatic memory management, too. Oh well.
Re:What about GNUstep? (Score:5, Interesting)
I don't care how long it takes to learn. The problem isn't the learning curve - it's that nothing else on the planet besides OS X has good support for it. Not only do you wind up with an app tied to the Cocoa UI framework but all of your code is in a language that doesn't have good support on any other platform.
I just did an app for OS X - we did it in Java/Cocoa. Works fairly well, looks like a good Mac application. And 90% of the code is directly portable to just about any other platform.
Re:What about GNUstep? (Score:3, Informative)
Couldn't you do the same with Objc and C++? The C or C++ part of your code would be protable and the Cocoa parts wouldn't be... heck ObjC is part of gcc, so the Frameworks stuff is really the only part of a 'pure' Cocoa app that isn't portable...
And a Java/Cocoa app is just as tied to the frameworks as an Objc/Cocoa app.
Re:What about GNUstep? (Score:4, Insightful)
Let me see if I understand you. You're saying that you dislike Objective C because... the @ character is unattractive to you? What?
Re:What about GNUstep? (Score:5, Informative)
Apple is actively trying to bring the Java support up to the same level of quality as the Objective C support and it's getting better with every release.
As far as "other languages" go, well, XCode has builtin support for C, C++, Objective C and Java. That's not exactly bad. And while these are the only language it comes in with builtin compile support for, it does contain highlighting semantics for a decent number of other languages. I use it to write Perl all the time (and really, what do you need out of a Perl dev tool besides syntax highlighting?).
XCode also happens to be very modular, so adding additional "support" to XCode for additional languages should be something third parties are perfectly capable of. I'm not sure if they could hook into CodeSense or a few of the more advanced features of the debugger, but if you're trying to add support for a language I'm just about certain you could easily define just about whatever syntax highlighting and build process rules that you would like. (Of course, good luck trying to find the documentation that describes how to do all this...)
Instead of wasting time and money on xcode apple should join the eclipse group and make sure there is a decent plug in for webobjects (yes I know about wolips) and objective c.
I'm really kind of going to have to assume from this statement that you are not a Cocoa developer. (Of course, if what you're telling us here is that you're a WebObjects developer, then that neatly explains your animosity toward XCode, since youall have kind of gotten the shaft lately).
For Cocoa developers, Apple's Developer tools are EXCELLENT and all fit together with each other and with XCode in a very pleasant manner. And they're getting better and more elaborate with every release. I would say that the developer tools are almost as much a reason to use Cocoa as the API itself. I routinely give XCode as one of the main things I like about OS X development. I'm not sure what Apple would stand to gain by throwing it all out and starting over with a different set of tools which, while nice, aren't exactly targetted for Apple's needs. XCode meanwhile is finely tuned to Cocoa development and is getting moreso all the time...
Finally they should give serious thought to abanding objective C. Yes it's a great language but let's admit that people don't want to spend time learning it. Switch to python or ruby or something and be done with it.
First, there are python bindings for Cocoa already; I don't know if anyone's managed to integrate them into XCode yet. Second, I totally fail to see how-- if people won't bother to learn Objective C because they can't be bothered to get used to square brackets for method calls-- Apple is going to have any better luck at all with convincing people to learn Python, which is totally unlike anything the vast majority of people are used to. (Yes, it's a quick learn, but the problem with ObjC isn't getting people to learn it, the problem is getting people to WANT to learn it.)
Re:Carbon is still required, however (Score:3, Informative)
Foex:
johnson% touch test1
johnson% touch test2
ls -l test*
-rw-r--r-- 1 johnson staff 0 May 2 08:13 test1
-rw-r--r-- 1 johnson staff 0 May 2 08:13 test2
No probls, right?
Now command-option drag test1 to make an alias.
do ln -s test2 test2_ln
On the desktop they both look like aliases.
ls -l test*
-rw-r--r-- 1 johnson staff 0 May 2 08:13 test1
-rw-r--r-- 1 johnson staff 0 May 2 08:15 test1 alias
-rw-r--r-- 1 johnson staff 0 May 2 0
Re:Carbon is still required, however (Score:4, Informative)
Aliases are a lot more than symlinks. They're kind of a hybrid between hard links and symlinks plus some extra stuff. An alias contains a file ID, plus the path to the file plus info about the volume it's mounted from. If you rename a file or move a file the alias will still point to it. If you delete the file and make a new one with the same name, the path will resolve and it will point to it. If the volume is unmounted it will attempt to remount it.
Dumbass
And OSS Web Objects to complete the picture. (Score:5, Informative)
The parent post has a really, really good point. GNUStep has oh, so much potential and it's getting close to ready.
Like it or lump it, Apple has produced the most cohesive *nix environment out there. They've got support from the important corporate software vendors. Vendors want to port to Linux, but damn, the myriad gui toolkits and serious lack of complete frameworks is daunting for commercial entities.
I know choice is good, but is Cocoa/Aqua that unexpressive to code in? The proliferation of apps for the Mac would seem to point to the contrary. Why must we reinvent the boring stuff (i.e. toolkits and frameworks) over and over? Couldn't we just adopt a proven successful model, run with it, then tweak where needed?
I just built GNUStep from NetBSD's excellent cross-platform package management/build system, pkgsrc [pkgsrc.org]. GNUStep is pretty cool. It's like a slightly primative, somewhat ugly Mac. Other than that, it's very, very similar. It's clear people are starting to write useful apps with it. It's got a finder-like app called GWorkspace. It's got a pretty decent mail application that runs on both MacOS and GNUStep.
-Peter
Re:What about GNUstep? (Score:5, Insightful)
No. What is missing is the final (and most important) piece of the cross-platform idea - Windows. I'm a Mac guy, and I love Cocoa, and I've been a Linux user since 1994 and a Solaris user befor that, but I understand the realities of the world today. For a development platform like GNUStep to succeed, it has to be able to run on Windows and, and here's the kicker, act like a native Windows application.
If Apple were to throw their weight behind GNUstep ( a tough decision, but an interesting one which could potentially bode well for both Apple and the free software community ) we could have the outcome the author asks for... Apple pushing a disruptive technology based on their own frameworks into free software, and taking hold of the market.
I actually agree in this situation - the open source version, given the ability and cooperation from Apple, could flourish technically and allow cooperation between Apple and the free software community which extends past simply command line tools and support libraries, while Apple still eats its lunch on the interface and user experience side of things (in addition, just because Apple would allow third party developers to develop true cross-platform apps between itself and *nix (and, like I said earlier, Windows), there would not necessarily be a version of Final Cut Pro for Linux - you want the real Mac experience, for what Macs are really good for, you buy a Mac.
Wow, that's a long sentence.
Re:What about GNUstep? (Score:5, Interesting)
A salient point, and one on which you would find surprising agreement from the fine denizens of the gnustep-discuss mailing list.
It is recognized that GNUstep pretty much utterly fails on Win32 (at least in terms of the Application Kit... Foundation Kit is relatively functional but of course provides no GUI functionality). I foresee a future where the actual drawing of widgets and interaction with the user is abstracted away into different backend libraries on each platform, and interfaces are coded in XML which is parsed by XSLT stylesheets into the proper layouts for each platform.
I suggested this idea on gnustep-discuss and it received a lukewarm response, but I'm considering working on it myself, starting off with Nicola Pero's excellent Renaissance framework.
Apple supported GNUstep would be a fine thing (Score:5, Interesting)
Apple could swing a lot of converts with a write once, compile everywhere system. I'm not interested in Aqua on windows or Linux, in fact I'd prefer the interface to be OS consistent, (one of the big swing gui and X11 on OS X issue). Being able to produce an app for which ever platform the customer wants or has the best processors.
If we'd had an OS X based solution for our core product (a broadcast playout system) we could shift a lot of Macs and a lot of copies of final cut pro. The all Mac workflow isn't necessary but it looks attractive, especially with XSan, XServes, Motion, even iMovie thrown into the mix (it may seem hard to believe but there are some people using iMovie to edit for broadcast and for cuts only editing why the hell not). However the activation energy hump to port to OS X is too high at the moment, we can't afford to develop for two platforms unless we get a little help. We can't afford to move to OS X exclusively, what if another processor bottleneck happens as happened before the arrival of the G5, we'd feel much safer if we had Xeon, Opteron and PPC as options in case one stalls.
So come on Apple, you will sell more hardware, more crown jewels software if you make cross platform a doddle.
Re:What about GNUstep? (Score:5, Informative)
I maintain Gorm (the IB clone), which is fully functional at this point. You've got to realize that the website is only updated every so often. So GNUstep is more complete than you think.
GJC
C'mon now... (Score:3, Insightful)
They won't even port Quicktime!
Re:C'mon now... (Score:5, Informative)
Besides, quicktime has a poor interface currently, and unless you go pro, is annoyance ware.
Re:C'mon now... (Score:4, Insightful)
hmmm... wrong (Score:5, Insightful)
I suspect Apple doesn't want to give *nix users a reason to not switch to Apple. They are forced to support QT on windows because if they don't, it won't stay relevent.
Plus, I believe several companies license QT from Apple for use on embedded systems running Linux, so porting it is not cost prohibitive.
But who gives a "flying fuck" anyway? I believe the Xine developers already reverse-engineered the codec and have a native version for Linux. Oh, right... Patents... *sigh*
Re:hmmm... wrong (Score:5, Informative)
> forced to support QT on windows because if they don't, it won't stay relevent.
I can speak to this personally.
Two problems with Linux: code and support.
First off, Apple (for obvious reasons -- you may not agree with them, but they are obvious) most certainly doesn't want to ship QuickTime as a set of source files and let Jack Jones compile it on his machine. Thus, they'd have to ship binary versions for all the major Linuxes. And on MacOS X and Windows QuickTime isn't a normal application: it interacts with the kernel in peculiar ways, most notibly in the area of thread priority (pseudo-realtime-ness). On Linux, at least a few years ago, there was really a choice between having that kind of integration or putting up a product that skipped and jerked and didn't really work. (Processors being faster now, it might be okay, I have no idea.) If they wanted to do this on Linux, they'd have to ship an update with every kernel, or make people compile some 'driver' portion of QuickTime each time they updated their kernel. Yes, THAT would really speed adoption of desktop Linux.
Second: the entire QuickTime team, to varying degrees, works with two OSes already: Windows and MacOS X. For a while it was three: Windows, MacOS X/Carbon, and MacOS 9/Classic. There are people who know more about Windows and there are people who know less about Windows but everyone has a Windows machine on their desks and everyone tests their software on Windows. They tried, many years ago, to have a Windows 'team' to port QuickTime, but QuickTime is a very
Don't underestimate the difficulty of this. QuickTime isn't just some app that you can download and compile anywhere, nor is it something that is being withheld from you for marketing reasons. If someone else were to underwrite the development and testing of QuickTime, I'll bet Apple would be delighted to do it. However, if it's not going to increase their revenues AT ALL (those Linux people, they aren't known for being big spenders on crippleware, and most of the ones I know would never consider paying for a Mac when they can get Linux for free) and it's going to increase their costs by (whatever) a million per year, it's kind of a no-brainer as far as I (and apparently they) are concerned.
> Plus, I believe several companies license QT from Apple for use on
> embedded systems running Linux, so porting it is not cost prohibitive.
I hadn'd heard, but I could believe this... but do you see how your first statement doesn't at all lead to your second? Embedded system: one version of Linux, one kernel, no testing costs (the client picks most of them up), *AND* the development is underwritten by someone else.
-fred
Re:hmmm... wrong (Score:3, Insightful)
Wha?
You are saying that developing from the ground up a port of a very complicated and optimized set of libraries and GUI applications onto a platform which not only does Apple have zero infrastructure for in terms of personell which know how to develop for it, not only is this platform the single most diverse in terms of hardware and softwa
Re:C'mon now... (Score:3, Interesting)
Who the hell would port the subgraphics engine for Quartz/Quartz Extreme to Linux? Apple has been offered Billions for QuickTime and turned it down-ask Avid about it.
What Apple should do is open up the .NIB and help GNUstep folks by providing the Cocoa Hooks for KDE and Company.
GNUstep UI is a partial hack of Openstep--I used to support that beautiful OS at NeXT and Apple and trust me it is a hack, but don't blame the folks for not having the money to pay Keith Ohlfs to help.
Apple has helped with
linux can learn alot from apple (Score:5, Interesting)
seriously, linux is already a larger presence than apple in the market, there are major players that have just entered, and haven't even begun to reach their full capacity (novell in particular) and in general - linux could definitely learn a thing or two from apple, particularly in the interface and ease of use department.
i don't see how apple could become any more of a threat than it is currently, and if anything, it becomes a powerful marketing force to help promote linux/opensource in general - we want them on our side after all...
Yeah (Score:4, Insightful)
Linux needs to be easier to setup, be easier to use, and have less trouble with various devices (e.g. audio).
Re:Yeah (Score:5, Interesting)
it then needs high quality photo apps and Video editing apps.
after that, it needs high quality DVD authoring apps.
all of these apps need to work together smoothly and there needs to be a workflow the exists between them so you can export from one into the other from each app. oh and fix the GIMP... maybe par it down and use it as a base for the photo application, get a red-eye, touch-up and enhance, plus a few other simple things going. then get the app set up so you can upload to clubphoto and snapfish, etc.
if you make the consumer applications for making bad home videos, touching up and ordering bad home photos, and collecting music files, all in an nice integrated workflow, then consumers will come.
Re:Yeah (Score:4, Interesting)
it then needs high quality photo apps and Video editing apps.
after that, it needs high quality DVD authoring apps.
all of these apps need to work together smoothly and there needs to be a workflow the exists between them so you can export from one into the other from each app. oh and fix the GIMP... maybe par it down and use it as a base for the photo application, get a red-eye, touch-up and enhance, plus a few other simple things going. then get the app set up so you can upload to clubphoto and snapfish, etc.
But now you've described a lot of Apple's value-add, and frankly why they're a 10 billion dollar company. That stuff is really, really hard. Not that linux coders aren't up to the task, but to coordinate all that would be a nightmare.
And likely, if any programmers showed such facility for herding the cats and whipping up some inter-app processes, they'd be snapped up in a VC minute by Apple or MS.
Re:Yeah (Score:5, Insightful)
I have worked in a computer store as a tech before I moved on to becoming a consultant for small businesses. If someone made a linux distro that was easy to use for an average user (web browser, e-mail client, office suite), people could start using it.
I trained monkey, I mean, tech, can install linux just as easily as windows. The "average" user comes into the store or hires a consultant and pays $79+ to have windows reinstalled. The "average" user doesn't install windows at all. Or if they do, it is on a click once to restore your hard drive to factory settings sort of deal.
Sure, while a real linux power user is going to want an costumizable install, the average user needs a one-click install that is easy and intuitive to get started with.
Re:Yeah (Score:5, Insightful)
1. gui. this should be windows like, checkboxes, textboxes, menu items... lickable guiness
2. command line, with flags, recompiling(if i have to), or sub commands of something to tweak an app.
3. text file config editting. just open it in vi or openoffice.org and change the 1 to a 0.
They all should work, on all apps, they should be able to switch from 1 to 3 to 2 seamlessly without hickups, and they should have clear documentation on what the hell each thing means.
Re:Yeah (Score:3, Funny)
I'm all for it. But... how do you get the beer to come out of the screen? Some kind of custom video driver?
Apple frameworks on Linux would be excellent (Score:5, Interesting)
Re:Apple frameworks on Linux would be excellent (Score:3, Informative)
Don't be so sure. Write once. Compile anywhere. wxWidgets [wxwidgets.org].
(Oh, and it works, too. AOL Communicator uses it. [aol.com])
Re:Apple frameworks on Linux would be excellent (Score:3, Interesting)
The code, using only wxWidgets calls (and other code that compiles in MinGW) compiles very cleanly under Windows (although using net-snmp does add a couple of steps more convoluted than "./configure;make;make install"). I used to use Qt, but swi
Re:Apple frameworks on Linux would be excellent (Score:5, Insightful)
As much as I respect Cocoa and Objective-C development on OS X, the one thing Apple really needs is a high quality C++ toolkit. Even though the benefits of Obj-C are worth it, it can be quite hard to convice developers to learn a completely different language to develop in (native language, so don't tell me Java). I'd really like to see Apple partner with Trolltech and include Qt by default in OS X and eliminate or reduce the fees for developers who target Qt/OS X.
Re:Apple frameworks on Linux would be excellent (Score:3, Informative)
Re:Apple frameworks on Linux would be excellent (Score:5, Informative)
Cocoa has been designed to work well with just about any OO language you throw at it. See the numerous bridges between OO languages and Cocoa.
Re:Apple frameworks on Linux would be excellent (Score:4, Insightful)
If you use a cross-platform GUI framework, you're going to produce substandard applications. That's pretty much the end of that.
So the user interface will have to be native for each target platform. That's fine. If you use the model-view-controller paradigm, the largest fraction of your application code can remain unchanged across platforms; only the view, the UI, needs to change.
Apple Success (Score:4, Interesting)
To me Apple has been my gateway to opensource projects, and a greater understanding of 'nix line of OSes, i've been able to understand the structure better and faster than i could while using linux directly. Most of the software i run on my Mac is opensource.
Re:Apple Success (Score:5, Insightful)
damn that hurt my head. (Score:3, Insightful)
I read and read and read...
but still don't quite get it all.
I think he's whinging about the lack of developer exodus from the wintell
Well durrr... I think it comes down to wanting to fill your pocket with something more than lint.
Not intending to troll, and I'm typing this on one of my 2 powerbooks, it's just that not many a 3rd party have gotten rich developing for Apple platforms. And when people do have a successfull product, Apple has tended to come up with their own version in house that kills the 3rd party app. On occasion, Apple has been known to be nice and just acquire said tech, but lately, they've taken no prisoners. Most the big apple apps these days are apps that used to be made by third parties. Most are rather raw at this time such as Garage Bad (Acid Wannabe) while Final Cut has slaughtered Premier.
When looking at Apples treatment of 3rd party apps and developers, their monolithic approach and the fact that in the last 5 years they've gone through a MAJOR OS change and have now migrated their processor architecture to 64-bit I'd expect most people to be keenly interested but taking a wait and see tact.
Surely, OS X is a beautiful OS and Apple puts out some sexy hardware, but with ~5% marketshare, not many are exactly looking at OS X as *the* platform to be developing for when it comes to reaching the masses and driving your sales figures.
Hopefully the G5 will catch on when they release the die-shrink to 90nm and the speed boosts to both 2.5ghz and 3.0ghz over the course of the summer. Personally, I've been waiting for that boost myself and plan on buying one when the 3ghz comes out.
But when it comes to 3rd party development for OS X desktop software? I'm not holding my breath waiting for a glut of new 3rd party apps anytime soon.
Re:damn that hurt my head. (Score:5, Informative)
You're completely off on your rationale and your information. Garage Band is a cunsumer-level application along the lines of iPhoto and iMove (since it's sold only as part of iLife). The full feature-rich version of Garage Band is Soundtrack, which is pro.
Funny you compare Garage Band to Acid, but don't compare iMovie or even Final Cut Express to Premiere.
Re:damn that hurt my head. (Score:3, Informative)
But when it comes to 3rd party development for OS X desktop software? I'm not holding my breath waiting for a glut of new 3rd party apps anytime soon.
If by "anytime soon" you mean "a constant stream for the last 5 years", then there really is no need for you to hold your breath. For example, check out our Mac Aggregate Tracker [subsume.com], which lists new releases from a number of sites. You'll see 3rd party updates numbering over a hundred most weekdays. Exactly how much more 3rd party development do you need?
Ok, one sec... (Score:5, Funny)
What the hell is going on with independent development & the Mac?
ONLY geeks talk about Macs and technology when they are drunk!
no dev model (Score:3, Troll)
although windows doesn't have huge open source legions, it has 90%+ of the desktop market, so 90% + of the developers will target it, and, the tools ar not that expensive, really. plus, there has been nothing like VB to amke us all think we're uber hackers!!! the only thing that would have sustained a huge mac deevlopment process is open source, and it never happened.
Not going to happen (Score:3, Insightful)
Even the rare bit of software that Apple has developed has been serving some other purpose, like iTunes and iTMS selling iPods. So to apple the question is going to be "What will we sell if we port the frameworks?" If it isn't overpriced hardware theres no chance in hell of it happening.
Furthermore what Apple has done with Darwin and keeping that open source has been tied down with conditions and restrictions that to barely support open source development.
Sure it would be great to see Apple throwing its weight behind *nix to form an alliance that could present a channenge to Microsoft, but in reality its never going to happen.
Re:Not going to happen (Score:3, Insightful)
Oh, God, someone else declaring themselves an Apple authority without knowing what the hell they are talking about.
Apple is a widget company. They are hardware and software, relying on both to sell the other. Just like Sun, SGI and Sony. Apple is not now, nor have they ever been, nor will they ever be anything but a widget company. They want you to buy it all or nothing, and have had a very
Cocoa for Windows exists (Score:5, Interesting)
Re:Cocoa for Windows exists (Score:5, Interesting)
It was interesting, but it felt kind of awkward with the NeXT influence just kind of thrown in there, because it didn't really fit in with the Mac OS interface.
You can definitely see how Rhapsody became Mac OS X, as Rhapsody was based upon the Mach kernel just like Rhapsody, and NeXT before it. I think one place where Apple made a large change is when they decided to have the UNIX side further integrated into the Mac OS itself, creating a closer-knit combination of the two, rather than having them so seperate and awkward-feeling as it was with Rhapsody.
Of course, you can see that many NeXT and Rhapsody elements survived, like the layout of the File Manager [z80.org] which is almost identical in OS X to what was in Rhapsody and NeXT.
For some screenshots go here [z80.org] or here [toastytech.com].
Also, here's something pretty interesting: screenshots of Mac OS X server [apple.com] before the Aqua GUI was added, still existant on the Apple website!
Developer-friendliness (Score:5, Insightful)
Apple seems to care about its users somewhat, but not at all about its developers. There just isn't the same level of outreach nor the same "developers come first" attitude as Microsoft. And not nearly as much care about compatibility. e.g. how many OSX programs broke with the OSX 1.2 and 1.3 updates?
Both companies offer excellent APIs that are specific to their platforms (e.g. DirectX on Windows and Cocoa on Mac). But Microsoft has an advantage here. If you write your program to use Windows-exclusive APIs, you still have 90% of the potential market. But if you use Apple-specific APIs, you cut yourself down to 10%. THAT is why
Any rational desktop software company will develop for Windows first, and then, if it seems worthwhile, they'll make a Mac port. There is a small market for Mac-only stuff but I don't think it's a reasonable business strategy to support ONLY the Mac. For one thing, Apple has a habit of shipping free products by surprise that demolish the market for an established Mac vendor. (how'd you like to be a Mac-only calendar/email application developer the day after iCal and Mail came out? or MetroWerks' Mac team after Xcode?). This is outright developer-hostile behavior.
Re:Developer-friendliness (Score:5, Insightful)
Re:Developer-friendliness (Score:5, Insightful)
It should have read "Microsoft bends over backwards to help developers that do not occupy a space that Microsoft wants."
Look at how much MS shat on Real, Netscape, Apple, Citrix, Corel and god knows how many other companies because they were in a space MS wanted.
Re:Developer-friendliness (Score:5, Insightful)
Roughly zero. Apple is very good about not breaking apps, and they basically never break apps that don't rely on undocumented behavior.
If you go to http://home.earthlink.net/~mrob/pub/missile20.htm
how'd you like to be a Mac-only calendar/email application developer the day after iCal and Mail came out? or MetroWerks' Mac team after Xcode?
Mail shipped with the OS since the beginning, so that one doesn't make a lot of sense. (And what is Outlook Express, chopped liver?) I'm totally unfamiliar with Mac calendar apps, so I can't comment on that. But the CodeWarrior thing I can comment on, namely that CodeWarrior's Mac version is still being sold and still going strong. I haven't heard of any sackings, plans to cancel the product, or any other lamentations from them.
Of course, Microsoft's tactics of using legal and illegal bundling to kill all competition in various application spaces e.g. browsers is no problem at all.
Re:Developer-friendliness (Score:4, Interesting)
But the CodeWarrior thing I can comment on, namely that CodeWarrior's Mac version is still being sold and still going strong. I haven't heard of any sackings, plans to cancel the product, or any other lamentations from them.
Actually CodeWarrior has become something of a joke on Mac OS X. CodeWarrior used to be the premier dev environment on the Mac but ever since OS X was released it has been declining in usefulness and popularity. This coincides (extremely roughly) with MetroWerks being bought by Motorola and CodeWarrior being aimed mainly at embedded systems. If you do legacy development then of course CodeWarrior is the dev environment to use - but for any new development I think most developers are choosing xcode
Re:Developer-friendliness (Score:3)
"both companies offer excellent APIs that are specific to their platforms (e.g. DirectX on Windows and Cocoa on Mac)."
There is first piece of evidence that you don't have clue what you are talking about: DirectX and Cocoa are not comparaible APIs. DirectX is the Microsoft's graphics API for
Why I... (Score:4, Insightful)
1. You open the box, plug it in, use it. End of story,
2. I know that it's built on *BSD,
3. It's not Windows.
Why I don't have a Mac:
1. Too expensive, can't afford it.
Why I would like to be using Linux:
1. It's free,
2. It's not MS Windows (therefore stable and secure).
Why I don't use Linux:
1. My must-have applications won't run on it (or at least not without some geek-tweak),
2. Experienced Linux users seem to be more interested in pissing-contests than helping new users.
Why I wish I didn't have to use MS Windows:
1. It sucks, it really does, no matter what MCSEs might shriek in its defence. I'm so sick of having to dance naked in the virus and spyware minefield every time I boot it up.
Why I use MS Windows:
1. What else am I gonna use? Refer previous sections.
When Apple drops their prices then I'll buy a Mac; or when Linux developers stop trying to be so damn 133t and focus on user-friendliness; and the must-use applications (or equivalents) I need become available for that OS, I'll give Linux another try.
You can sneer at me and all the others like me for being n00b luser whatevers (and most of you apparently think you have to), but not everybody has the free time necessary to learn all the arcane rules of the High Priest's OS.
Re:Why I... (Score:3, Informative)
Don't worry about the 'lack of expansion' because you can plug in more hard drives via fire wire and the memory can be expanded easily as well.
as for the 17" crt monitor it's fine.
there's no need to drop thousands on a Mac, especially if it's your first one.
over on wired.com there was an article the other day about people making windows xp look like os x. one of the reasons use
Price myth! (Score:3, Insightful)
Macs are pretty competitively priced for the hardware and software that you get.
Sure, they can't compete with Dell for the "3Ghz PC with 17" TFT for $400! Theres nothing wrong with it, honest! We didn't use the cheapest, crappiest parts we could find to offset the cost of the CPU and LCD panel, really!"
You'll be hard pressed to find a better value laptop than an iBook (or even a Powerbook, excluding the 17" which is a bit overkill).
The dekstops vary more, but an eMac is as close
Re:Why I... (Score:4, Funny)
"Windows PCs are only cheaper than Macs if your time has no value".
Underlying assumption wrong? (Score:4, Interesting)
"But as far as big, high-quality apps... there just aren't many, and those that are being released are from the usual suspects. Nothing much new."
My question is, couldn't this could really be said for any platform (except maybe Linux, and even then mostly via porting)? What major, big, commercial, ground breaking applications have been release on Windows in the last 3 years that weren't there before? The Mac has lost Framemaker and Premiere, but what successful new applications has Windows gained? Is this really an effect of a larger fallout in the software development world?
The biggest problems with Cocoa (Score:5, Insightful)
The classes contain endless numbers of "convenience" functions that don't really belong where they are. Witness that the STRING class has methods like stringByAppendingPathComponent, and similar other functions that should be in a separate class for paths. Meanwhile, Attributed strings do not respond to any of the standard string methods, although they do respond to methods to do things like load RTF files.
The problem is that Cocoa is not straightforward enough to be easy to program in without an intimate familiarity with the API. It's just too different from anything else out there. Now that I'm used to programming in it, I can develop an application faster than I ever could with windows APIs, but the learning curve makes it difficult.
The other thing about Cocoa, which the article doesn't quite get to saying explicitly, is that the design of the API itself actually makes it very difficult to get apps to the mac from other platforms.
Cocoa is designed to be easy for porting applications to other platforms. But you can't port applications to other platforms because Cocoa isn't available for other platforms. What Apple needs for their existing strategy to work is an API that is easy to port existing programs to. They sort of have this with carbon (hence why most applications that get ported from windows are written using carbon APIs), but they don't take advantage of a lot of features (like system services, and automatic spell checking) that only work with Cocoa programs.
It would be nice if Apple would port their APIs (or at least support something like GNUStep), but if they won't, then they need to make their "strong" API something that can easily be ported to. There are oddities in Cocoa that make incorporating code from anywhere else almost impossible.
In short, Apple's programming tools and their corporate strategy are incompatible. The article frames this as a problem with Apple's strategy, but it could just as easily be seen as the tools not fit for the job. Apple started out with Rhapsody to try and make the mac the premier program for development but somewhere in between changed their focus to getting existing software to the mac. Unfortunately, they didn't change the tools to match.
Re:The biggest problems with Cocoa (Score:3, Informative)
As for your gripe with NSAttributedString, it does not inherit from NSString, so why would you expect it to act the same? It's conve
What Apple could do... (Score:3, Informative)
Oh but for Rhapsody.... (Score:4, Insightful)
Firstly, that blog was intense. Bordering, due to it's length, on the edge of unreadability, it was fascinating-not due to it's indepth-ness, but that it lightly touched on so many interrelated threads. (the wideness of the wide is the "depth" of the superficial)
He dared mention Rhapsody, for the love of gawd, HE DARED to MENTION it. Dazed,confused and oft bitterly disilussioned developers and dreamers bitten once by that dream never really have recovered- I loved her, she was so beautiful, but she was a....lie. Has enough time passed to heal the wounds of betrayal, could it be her beauty was just premature(ie. not 16 yet)
Rhapsody promised more than any other computing project worth mentioning in the last 20 years. It was friggin incredible. The entire landscape of desktop computing would be markedly different today if Rhapsody had ever materialized. But no. Apple killed it, killed the best project that they ever actually came up with.
The author of the blog appears to not have a clue about Linux-land. Neither did he mention GNUstep, nor did he acknowledge what is now being developed at X.org-ie.cairo+opengl+xdamages+xfixes+xcomposite. in other words the tech that will bring the GUI desktop of the Linux world into the 21st century-farther along that trajectory in fact than either Acqua or Longhorn.
If Apple would just open up their API's new apps could be developed for a combined market-Apple + Linux. Now is the time to overcome the desire for attaining windows compatibility-if app developers could count on a market of Apple and Linux users this would push both Apple and Linux beyond the effects of the chicken-egg dilemna which both have been struggling with
The propietary parts of Aqua are being realized now, in an opensource form, in cairo, which is in a state of very active development. If the GNUstep coders use cairo as the basis of their new developments they finally have an answer to the display postcript issues which have dogged them.There is already a great deal of convergence going on between the MACOSX and Linux world-if nothing more than the GNU utilities which compose our common toolkits.
Now is the time for Apple to heal wounds with the development community. They should open up their API's, provide exact documentation as to the point where cocoa and OpenStep meet and where the specific differences lie and they should support GNUstep as the basis for developing cross platform apps. With the developments at X.org ongoing GNUstep could be made very viable for such purposes in short order,ie GNUstep + cairo >= cocoa
I'm sure this is all just pipe-dream stuff, but combining the markets for Apple and desktop Linux just make sense for both Apple and Linux users....
Now someone with more of a clue about these issues-go ahead shoot this idea down...
Bottled Water (Score:5, Informative)
According to DBM's logic Apple might have a real nice developer platform on their hands if they'd only port the base API to other platforms. I find this assertion to be pretty ridiculous. OpenStep already lost this battle a decade ago. The problem NeXT ran into with OpenStep was developers were already entrenched with native and proprietary APIs on their platforms of choice. Few developers were willing to drop all of their current code in order to develop OpenStep applications.
There's also the small problem of Apple's OpenStep derived frameworks (AppKit & Foundation Kit) being a tiny (though important) fraction of the frameworks available in OSX. If only Cocoa were ported to other platforms developers would have to write their own frameworks for advanced functionality. Instead of being able to leverage Apple's DiscRecording framework a developer would have to write, maintain, and package their own in order for their app to be as cross platform as Cocoa. Then the argument would be Apple ought to port their more advanced frameworks in order to draw in more developers.
If Cocoa were to be ported to Windows and Linux tomorrow it wouldn't magically bring oodles of developer talent to the Mac. Think of how many KDE and GNOME apps run on Linux, FreeBSD, Darwin/PPC, and Windows with no platform specific patches despite their common API usage. Only the simplest of Cocoa apps would run with only a recompile (or fat compile) on multiple platforms.
DBM doesn't pay nearly enough attention to Java in his little rant as he should. With Java Apple's already got a nice cross platform development environment to work with. Apple ships two J2EE environments, WebObjects and JBoss, as well as J2SE on their client systems. MacOS X is also bundled with a Java/Obj-C bridge which DBM almost totally ignores. The Java bridge gives OSX a serious advantage as a development and deployment platform for Java applications. With the Java bridge [cocoadevcentral.com] a developer can write a single cross platform application model and then stick a native Objective-C/Cocoa based GUI on top of it. Java's huge cross platform development base with a native Aqua GUI.
There's a few languages such as Python [sourceforge.net], Perl [apple.com], and Ruby [imasy.or.jp] that can be bridged to Objective-C and can access Cocoa. That is not to mention C++ [apple.com] code can easily access Objective-C classes and thus Cocoa just as well as anything else. I don't really see Objective-C to be much of a hurdle in the development of Mac applications.
What it really comes down to is developers who don't want to abandon the APIs they are used to. All porting Cocoa would do is let Linux and Windows users run Mac applications. If everyone could run Mac applications on non-Mac computers the Mac would become a commodity item and Apple would be little more than an iPod manufacturer that happened to write some software. If Macs ran Windows there'd be no difference between a Mac and an HP. If PCs ran MacOS they'd be no different from Macs. In either case Apple would no longer have a whole product to sell. Without a whole product to sell Apple would either just be yet another software company or yet another hardware company. There's hundreds of each of those. Apple makes money by selling a whole computer product.
What GNUStep Needs (Score:5, Interesting)
- Eye candy/themes. The interface is very usable but also very ugly. You cannot please everyone with one interface, so I say themes are the way to go.
- Compatibility with Cocoa. Seriously, they are both implementations of the OpenStep API, but hardly compatible. Each has its own extensions, interface files are completely incompatible (and let's face it - it's all about the GUI; that's what distinguishes OpenStep from the rest)
- Stability - I can't speak for everyone, but GNUStep has never worked reliably for me. I tested GWorkspace about a week ago, and it crashed or went catatonic every few minutes. It also didn't at all nicely integrate with WindoMaker. I would have expected much better from such a central app.
I don't know _what_ is wrong with GNUStep. OpenStep is great, alledgedly much nicer than GTK, so how come GTK has lots of developers and is very robust and complete, whereas GNUStep remains in alpha after all this time?
When Apple released OS X and started touting Cocoa, I expected developers to rally behind GNUStep en masse. As far as I can see, that hasn't happened. How come? It's not like there aren't obvious benefits. So where is the action?
Re:What GNUStep Needs (Score:3, Interesting)
Also, you should look further than any one app (in your case GWorkspace) to gauge the stability of GNUstep as a whole. There are many apps which run reliably and are completely stable under GNUstep. I, personally, haven't had a problem with GWorkspace recently.
GJC
It's over guys... deal with it. (Score:3, Insightful)
I love all this discussion about GNUstep and such. Personally I'm partial to WindowMaker which I believe is or can be a part of GNUstep. Not sure, it's early
But this talk of Microsoft porting their framework to Linux... Why? Seriously... Why? I just don't see why anyone with an eye on technical factors give this any consideration at all.
It's Over because Linux and Apple have clearly broken the beach heads to Fortress Microsoft and now it's time to prepare for their big defensive resistence push as we eat their market share and profit margins.
What got me to originally consider Linux wasn't the interoperability or ease of use or feature rich desktops. It was the freedom from Microsoft and the freedom from Corporate PHB's trying to run the show. Do you have any idea how much Marketing Hype is integrated into every software manual?
What's going to keep me there is the same thing. Microsoft could release Office XP for Linux tomorrow morning in both RPM and DEB packages and I simply would not touch it. Too my Hype and too many Hooks to use safely. So if Microsoft isn't really involved in the article, don't give them any airtime. Their current direction shows they are Loosers. If they can honestly change their tune then maybe the won't be Loosers.
And don't give me that "Corporations have to make money and that's all Microsoft does" crap. RedHat and SuSE makes money and they haven't been convicted multiple times in multiple countries.
Disruptive technology (Score:5, Insightful)
Cocoa is a great technology, but it isn't agile enough. By that I mean that it's more monolithic application/client oriented, wheras the
Re:Disruptive technology (Score:3, Informative)
So dumb. (Score:3, Insightful)
Microsoft, bring themselves to Linux, I highly doubt that. Microsoft might make a move on the PPC architechture. But this is speculation because of the XBOX 2 hardware specs include PPC 970 derivatives, if not actual 970's. But that is just speculation.
The third desktop (Score:4, Interesting)
The thing is, there's a third desktop on Linux that's got potential. It's not doing very well right now, because it's not as cool as KDE and Gnome, but it should be very interesting to Apple. And that's GNUstep.
Apple could throw a little of the old NeXT code they're not using any more, like the NeXT file manager, over the Open Source wall into GNUstep land... and all of a sudden the third Linux desktop will be OS X junior, *and* a viable framework for people to develop for Linux and Windows for on their Powerbooks... without the bad press of Java...
Nice conclusion... (Score:4, Interesting)
Cat and Kaboodle (Score:3, Interesting)
What would be far more interesting would be if they were to port the whole kaboodle to x86 hardware. They had a bash with rhapsody. Apple have got themselves some respect in the past few years despite some dodgy *iPod* battery practices from time to time. With long wait for longhorn, and microsoft getting such bad practices. It could be a good time to think about this, the main problem of course being cross architecture. If someone were to solve the cross architecture binary incompatibility issue it would surely put quite a large spannner in the works.
nick
underestimates number of developers (Score:4, Informative)
-S
Re:Apple (Score:4, Interesting)
Re:Apple (Score:5, Insightful)
Re:Apple (Score:3, Insightful)
Re:Apple (Score:5, Insightful)
It's also a "down-with-IP", "information wants to be free", "I don't want to pay for watching this movie", "I don't want to pay for this song", "down with even the most liberal forms of DRM" userbase.
Re:Apple (Score:3, Interesting)
I also think that one of the benefits Apple has enjoyed since the introduction of OSX is a certain cultural buzz that comes from their association with the *X movement in general. Instead of being a completely proprietary also-ran platform, they are now though of as "Unix under the hood" and they get additional street cred for that--even from people who barely know what that means.
Association and cooperation with the the *X world enhances their positioning as a slightly subversive, cutti
Comment removed (Score:4, Interesting)
Re:Apple (Score:5, Informative)
Actually, porting iTunes to Linux or BSD would be a horrific experience, as iTunes written in Carbon (Porting that to Linux would be a nightmare).
Re: (Score:3, Funny)
Re:Apple (Score:3, Insightful)
Why do clueless people continue to state this idiotic premise? I'm not even going to correct it, I just want to say how displeased I am to see it showing up every time Apple is mentioned. To people who will comment in the next Apple article: get a clue, and don't post this stupid thing again!
Re:Apple (Score:4, Funny)
Every time a Slashdotter posts this, God kills a kitten.
Re:Apple cant do any worse (Score:4, Insightful)
Re:who needs apple (Score:5, Insightful)
Applications are created using the underlying toolkits and frameworks. The higher the quality of these frameworks, the better the applications will be. The easier the frameworks are to develop with, more applications will be developed more quickly.
Its a chicken and egg sort of thing where the egg definately comes first.
Re:You cannot polish a turd. (Score:4, Funny)
You appear to forget that even Lamborghini make tractors.
The offtopic parable of mister Lamborghini... (Score:4, Interesting)
Then one day, mister Ferrari said something rude about mister lamborghini and the quality of his tractors.
Mister Lamborghini took it personally.
Nowadays, of course, Lamborghini and Ferrari still live within a couple of miles of each other.
But mister Lamborghini makes better cars.
Re:You cannot polish a turd. (Score:3, Interesting)
Re:The real problems of Mac development (Score:3, Insightful)
Developers don't trust Apple or Jobs: I'll admit developers might be squirmish due to past history, but the point of the article was getting NEW developers people who have yet to work with Apple and can't develop any of these distrusts.
Too Many APIs: Only an idiot would claim this as a problem. If you think everything is held together with duct tape you need to be introduced to a little document called SystemOverview.pdf trust me OS X