Until the day i can install MacOS X on a virtual box or on my pc i remain an apple anti-fan boy. Oh and theres also that closed source thing, but i can live with it, just let me chose the hardware i want to run my software on!(and i don't mean the color of the MBP), Ill pay for it too, i promise!
But this isn't a recipe for the kind of profits Apple wants. And it's not like Apple is alone in this restriction of virtualization, Microsoft does it too.
People get so feisty that Apple doesn't cater to them. Apple makes the products that Apple feels are profitable. There are a lot of other choices and a variety of alternative OS's. You shouldn't feel pressured to buy a mac.
I think a lot of the anti-apple sentiment that you see on the net is a mix of resentment and jealousy because modern macs are such coveted machines.
Why are you motivated to be an anti-advocate? The product isn't right for you. Do you go around making fun of deodorants or toasters that you've decided not to use? Do you make fun of Ivory soap because you're a Dove man?
To paraphrase Steve Yegge's latest:
"This succinct yet completely accurate synopsis shows that all OS's have their attractions, and yet each also has a niche. You can choose an OS for the busy person, an OS for someone without much time, or an OS for the dedicated hobbyist, and you'll find that no matter which one you choose, it's missing some of the abilities you need."
upvoted because you're right, but still apple is evil and i don't like them, i don't know if their awesomeness comes from their evilness or despite it.
Apple makes products, and runs their company like a company trying to maximize their profits. You either buy their products, or you don't. Until they start clubbing seals with iPhones or something, I don't see them as "evil", just a company with shareholders in mind.
The word evil is starting to get thrown around a little to much these days. Maybe we should save it for when it truly applies.
To be fair though, Microsoft is pretty much the company people think of when you mention an evil corporation (in the tech world), and I think they are criticized for largely the same thing. Cohesive, all inclusive environments that provide everything they think you want.
I think evil is bandied about as a proxy for "this corporation operates in a way detrimental to a world I would like to see", or something like that. In which case, I think the label is well deserved for both.
I actually call them evil entirely because they seem not to understand what makes products good and consistent and usable, and yet they spend billions trying to improve their products. Their solutions are thoroughly unintuitive, I've found.
It's not evil so much as it is closed-mindedness. And yes, that's what makes Apple so awesome.
You can't be uncompromising in your feature set and design if you don't hold control over every small aspect of your software and hardware. Apple has decided that they know what's best for their operating system, and that other people aren't allowed to undermine them. It means that programmers have to conform and that hardware designers can't use Apple at all. The result is that users don't have many options, but that all their options are good ones; Apple employees are much better-suited to fixing computer problems than retail employees for other companies; and designers get to focus less on overall design and more on their features. It's a win-win-win.
Say you get to install Apple on a virtual box on your computer. You lose the multitouch capacity, if you're using a laptop, because multitouch pads are rare outside of Apple notebooks. That means you're operating at a loss already, that Apple's system isn't working exactly how Apple wants it to. You also lose the preset keyboard controls for stopping and starting music, you lose keyboards that light up in the dark, you lose buttons for Expose and Dashboard and ejecting CDs. You lose the Command key. In other words, you're suddenly using an operating system that isn't operating at its full capacity. Apple doesn't want that: Steve Jobs is famously quoted as saying that he could make his computers cheaper, but only at the cost of quality and reputation, and that in his mind quality ought to be the top concern for getting a computer. Is that evil? Because I think it's highly principled.
The loss is openness, and that's where you're getting "evil" from. (I'd assume.) The problem with open is that it's unfocused. You can't demand the same level of quality with open that you can with a closed, rigid system. And in my eyes, that's the evil route. The people who say they wish Microsoft and Apple would crumble and fall away because they charge money for their systems are people who're saying that they'd do away with an incredibly efficient system for the sake of something that's buggy and unstable, which is pretty smug and stupid in my opinion.
Translation: I like it when I am mistreated by Apple because I can believe it is part of some greater purpose.
(I think this is a very meaningless argument. Some people care about one thing, other people care about other things. Products may be judged by different criteria by different people.)
It's a meaningless argument in that the two sides won't agree. But I think it's useful in that some people are interested in the opinions from both sides. And I don't like people calling Apple "evil." It's immature.
Translation: I like it when I am mistreated by Apple because I can believe it is part of some greater purpose.
So, was my argument entirely invalid? Because I thought I did an okay job of explaining why being "evil" wasn't actually evil.
In my opinion, Dell and Microsoft mistreat their customers, because they sacrifice quality for customization. I understand their viewpoint but they turn out the inferior product. If Apple's "mistreatment" means excellent screens, keyboards, designs, specs, and software, then by all means let them go ahead.
If Microsoft's "mistreatment" means they produce solidly reliable integrated systems such as their clusterable database server which integrates permissions with their directory service and supports hosting code written in their server/desktop/mobile/web programming language and framework and has its own reporting server which integrates with their web server which can also host code written in the same programming language and framework, the same language that's used to customise their collaboration portal and office application suite, then let them go ahead.
Microsoft sacrifice quality for customisation? Hah. I dislike it because it's so high quality and uncustomisable. Means you can't do what you want with it, but the boss loves it.
Microsoft sacrifice quality for customisation? Hah. I dislike it because it's so high quality and uncustomisable. Means you can't do what you want with it, but the boss loves it.
Then that's very different from their OS set-up, which allows for a lot of options at the expense of unification and aesthetic pleasure. I haven't used what you talk about, but if they do that then good for them. I still think they do their OS customers a disservice.
It's not evil so much as it is closed-mindedness, he says while characterising fans of open systems as "evil, smug, stupid" and favouring buggy and unstable software.
POP3 is open. SMTP is open. IMAP is open. Microsoft make money from Exchange which deals with all three. C# is an open standard, Microsoft make money from it; it's high quality and reliable. Java is an open standard, Sun make money from licensing it, it's Enterprise class. RedHat is open source, RedHat Inc. make money from supporting it, it's used in Enterprises accross the world.
Open, good quality, focused, reliable, profitable, they're not all the same thing.
You named three open formats that don't require anything but coding to push back and forth. You named two programs that are open, but I've used Java: it's an ugly language. It results in really ugly programs. Universal programs, but ugly ones. I haven't used C# or Red Hat, but I've heard bad things about Red Hat.
Apple does support open standards. Look at WebKit. What they don't support is releasing everything they make openly. Usually, the rule of thumb is as follows: if the product's quality would suffer from being open, they don't make it open. If it works completely open, they release it as such. The problem is that in a lot of cases, opening things means inviting opposing beliefs. And that means that you get a bunch of sub-optimal choices, and that results in a lot of noise and a lot of low-quality options. Apple prides themselves on having a very reliable brand name. They couldn't do that if they were as open as Microsoft, and they couldn't turn out such good programs.
And as I said on this thread: Jobs is famous for having said that he'd rather make a high quality product than lower his standards and make more money. And he's making billions and churning out good things, so I'll trust that he knows what he's doing, and that part of what he's doing is closing things that ought to be closed.
Also, I think it's pretty clear that Apple hates Java, at least on the desktop, and for pretty good reason. Java GUI apps are pretty much the antithesis of Mac OS X GUI apps. Java may be great for certain applications but I have yet to be convinced that GUI apps are one of them.
You'd think that, but digging a little deeper shows: "Java SE 6 is available on 64-bit, Intel-based Macs only." Unless your customers are running 64-bit machines (and even they would have waited until this September for compatibility), you're SOL and have to compile a separate Java 1.5 release for Mac.
So, Windows 2000/XP: No problem! 1.6 compatibility in 2006.
OS X 10.5: Whoa! This Java thing is too new-fangled for us!
As for the GUI: You can get around that with a Synth theme. Ugly and slow Java on the desktop is a thing of the past (even on Mac).
It's not just the theme that I dislike (Java on OS X tries to mimic native OS X widgets) Java GUI apps just don't feel like real OS X apps. Whether that's a shortcoming of Java itself, Apple's implementation, or Java developers, I don't know. Probably a combination.
I'm pretty sure that all the Macs Apple sells now (and for the past year or so) are 64-bit. (Also it's been available since April). But yes, it's less than ideal.
Restricting your customer base to those who purchased a new computer in the past year will greatly harm your income (particularly if you're selling business apps).
As for the feel: Don't get bogged down by the implementation technology. The vast majority of your customers (presuming you're not targeting the rabid fanboy subset of Mac) will not notice nor care about the language you've implemented your application in.
If your software does what a business needs and looks reasonably good while doing it, you'll make a killing.
You cannot deploy Java 6 applications to Mac (except 64-bit Intel Mac OS X 10.5 after September, as mentioned above). You can build Java 6 for all other platforms (back to Windows 98, FFS), but to work for Mac customers you have to adjust your build to create a Java 1.5 version.
You also have to add in special Java upgrade instructions for those using OS X 10.4 (since the 1.5 upgrade isn't included in automatic updates), and tell anyone with a Mac earlier than that to piss off, because Java 1.5 (released over FOUR years ago, in 2004) won't work on OS X 10.3 or earlier.
That is an exceptional pain which isn't present on Windows or Linux.
Apple makes wonderful hardware but they treat their third-party developers like crap. Microsoft is absolutely awesome in comparison and realizes that "Developers, Developers, Developers" are the secret to their OS's success.
The Java on OSX situation is pretty deplorable, I agree. But that is not equivalent to "treating their third-party developers like crap." Java is an underprivileged minority on the OSX desktop, for better or worse.
It's not just Java. Apple's been awful with backward compatibility for years.
Every time Apple upgrades their Mac OS a frantic application re-write is often required from third-party developers just to get things working on the new platform. In contrast, I can pull out an application written 15 years ago for DOS and fire it up under Windows without a problem. Microsoft realizes how important it is to keep third-party software working on their platform and bends over backwards to provide that backward compatibility.
For our own software, we've not had to tinker with the base code (written on Win 98) at all under Windows.
Building desktop apps for Mac is a (lucrative) pain.
Aside from a) the Mac OS to Mac OS X transition (though existing apps worked under "Classic" mode), b) some apps during the PPC to Intel transition (namely apps with assembly or endian issues), and c) apps that used private / unpublished APIs, that's not really true.
In case you missed that, SimCity had a bug where it used memory it already freed. This worked under DOS for whatever reason, but not under Windows. So the Windows team hardcoded a special case just for SimCity.
That is going too far, IMO. Why should my OS have all this extra bloat to check for buggy applications? This is why OS vendors seed preview releases to developers, so they can test their own damn software and issue fixes for these kinds of bugs. While it may have been hard to distribute updates 20 years ago, with the internet it's trivial.
SimCity had a bug where it used memory it already freed. This worked under DOS for whatever reason, but not under Windows. So the Windows team hardcoded a special case just for SimCity.
It sounds like there was a some kind of bug in DOS that allowed SimCity to work with object freed from memory and Windows team tried to hide it in Windows by making a special case :)
In any case I think it's called going an extra mile for the customer, isn't it? (I can't believe I'm writing it about MS)
Have you got any actual examples of backward compatibility problems on the Mac? I've written a few Mac apps that targeted Jaguar, and they still work fine under Leopard.
Also, Apple never just pulls the plug on an API - at worst, if you use an API, and then Apple decides to remove the API, the next version of the OS simply lists the API as deprecated, and you get a warning when you compile. It is only in the following version of the OS that the API may actually be pulled. I don't think it's unreasonable to expect developers to update their apps every 2-3 years if they want them to keep working.
Microsoft is a software juggernaut. They can throw as many developers at a problem as it takes, and backwards compatibility is one of those problems they've chosen to focus on since they're used so much in business. Apple can't do that, and it pays a lot less for them. Mac apps tend to be more consumer based, which means backwards compatibility isn't nearly as important.
Exactly. Java developers still have the 98% of computers that aren't old Macs as a customer base. They probably don't care that 2% of the market is unavailable, and in the odd case that they do care, they'll just have to target Java 1.5, not 1.6. Not exactly onerous, particularly as the situation is only going to improve going forwards as the last PPC Macs hit EOL.
As for Java developers wanting to develop on the Mac, well, I don't know any Mac developers still using PPC Macs as their principle machine. Actually, I don't know any developer, period, using a computer that is older than about 2-3 years as their principle machine.
Have you checked out Chet Haase & Romain Guy's Filthy Rich Clients in Java? Pretty slick in my opinion as far as Java UIs go. (See http://news.ycombinator.com/item?id=155276)
It is worth noting that Chet has since moved to work for Adobe, and Romain now works at Google on the Android UI.
I probably missed the part of: what are the benefits of writing software on a Mac.
Developing C# on bootcamp is like developing Linux on Windows running VirtaulBox. I actually experienced the last sentence to one time thing, but on daily basis I would say its inefficient.
Personally after 4 years of windows development staying with Windows. I've got a Vista laptop and I admit that there are some challenges to get things done, but in all its working fine. For what I'm doing I can't see any benefit using a Mac
I don't have a whole lot of time, but here's the gist of it: on a Mac, I have access to BSD apps (easily installed via MacPorts), OSX apps and Windows apps (via VMWare fusion, which works like a treat). For example, if I'm developing a webapp, I can fire up two Windows sessions in VMWare for easy testing on IE6 and IE7, a Ubuntu session for testing in Konqueror, and test FF2 and FF3 in various OSs.
In the end, I spent several years developing on Windows, and a couple years developing on various versions of Linux. Then I tried a Mac, and found that for my needs, for the way I work and the things I'm working on, I am more efficient on a Mac.
4GB of memory in a MacBook Pro is a marvelous thing.
I can develop in whatever OS I like and still enjoy being at my computer. It's the little things, I find, that make me stop working. It's the little things that Mac takes care of. I don't have to be frustrated, I can just open up whatever tool I need on whatever OS it needs and work away.
A lot of credit goes to VMWare too. Fusion is a terrific product.
Funny, my impression was that it is rather Microsoft that also takes care of the little things, whereas Apple seems to be prone to skipping the little things because they might appear too ugly. It's little things like having the right menu options at the right place, "Open Command Line Here", stuff like that - have forgotten the details because I haven't used either OS X or Windows in a while. But Windows has usability research groups. I am not sure if Apple even has those, or if they just rely on their fancy designers.
"It's possible to build a quad-core PC running Eclipse and Gimp for less than $400 with refurbished hardware. At the time of this writing, the Mac Pro with one quad-core CPU begins at $2,300. Adding Photoshop and other tools can push the bill closer to $4,000."
It may be true that it's possible to do that, but part of the reason Macs are so expensive is that they don't (generally) skimp on parts, and there's a lot of design that they put into the system.
Yeah, I would like to know where someone is going to find a quad-core harpertown for less than 600 per unit (unless it happens to "fall off the back of a truck"...)