Tuesday, April 20, 2010

Mac gets no love

I should blog more. But twitter is so much faster. At any rate...

@timbray tweeted yesterday "Eclipse SPOD DIAF." After getting out my magic decoder ring, I soon learned that he was complaining about the performance of Eclipse on Macs. Apparently there were memory issues in Eclipse 3.5 Cocoa that causes a lot of garbage collection (assuming I'm interpreting that correctly). That causes the pause icon to pop up while Eclipse is locked down. The so called Spinning Pizza of Death, which is being asked to Die In A Fire, or at least so my magic decoder ring told me. Kids and their fancy lingo...

I hear that's fixed in Eclipse 3.6 and I haven't seen it in the few times I've run Eclipse Helios on Mac. But it's another episode in a long story of Mac not getting any love from the Eclipse community, or at least the contributors. The good news is that as more and more contributors are using Macs, these issues are getting addressed. But the perception has already been set free that Eclipse sucks on Macs and hopefully the Mac users are passionate about Eclipse to give it another try.

I ran into another case that confused the hell out of me last night. I was testing the new Android CDT integration I'm contributing to the Sequoyah project and had an NPE show up. So, as I do on Windows and Linux, I quickly tried to fire up my CDT workspace to take a look at the line of code the log was complaining about. You know, if you have an Eclipse running and you try to launch a second instance, it just pops up the one you have running.

From what I've been told, Mac applications are always singletons. You run one instance of the application and it's able to handle multiple documents. But that doesn't work in Eclipse because Eclipse can't handle multiple workspaces. I remember that coming up at the e4 summit as someone wanting to do that, but at the time I didn't get it. Now I do.

I imagine things like this will get solved over time (although the multi-workspace thing, I'm not sure). But it is a great example of how open source projects work. The only way features get done is if someone has a vested interest in getting it done. To date, there have been few Eclipse contributors with such an interest in Eclipse on Mac. Yes, that's changing, but pretty slowly.

Now, here comes the controversial part. What you don't see in open source much except for the few cases where projects are bankrolled by forward seeking companies with lots of money (i.e. Google) is projects investing before the need. We've known for a long time Mac was going to be important, the trends were pretty obvious. But open source doesn't work that way. The funding for development isn't strong enough to support risk like that.

Or so I think. I am curious if you agree and if you have a theory of why that is. I'm not sure how it can be changed, or if vendors who fund open source want it to change. I know of companies that don't want it to. But the companies that do easily trump that if they can figure out how.

16 comments:

  1. We started supporting MacOS in the Fall last year. I feel it is a host platform that we need to support, even if the current download numbers don't really warrant the extra effort. We find bugs on MacOS that would not have manifested themselves so quickly on Windows or Linux.

    That's one reason we support it, but there are a lot of people internally who are Mac users, even if our external community isn't so strong. The thing I observed at EclipseCon is that well over 25% of the people walking around were using Macs (myself included), so what are those guys doing? Are they developing on Windows or Linux?

    Curious.

    ReplyDelete
  2. I saw a lot of Mac users using Parallels or VirtualBox to run Windows. That's one way around the problem.

    ReplyDelete
  3. Doug, I agree with your comments that open source doesn't typically do a good job working on features before they're actually required. If there's no itch to scratch, the community isn't likely to work on it.

    But given the lack of support of the Eclipse Mac platform by the companies that you would think would care we are lucky that it is as good as it is. And we are especially lucky that IBM hired Scott Kovatch to work on it going forward.

    ReplyDelete
  4. on 3.6, the performance issues seem to have been resolved - the whole application is definately a lot snappier.

    to open a 2nd instance of eclipse, from the terminal you can do: open -n /Applications/eclipse/Eclipse.app/

    ReplyDelete
  5. I've been using Eclipse on MacOS X for about 2 years now (actually, most of the 140 or so itemis employees use Eclipse on MacOS X) and am very satisfied with it. Eclipse 3.6 Cocoa is my workhorse and I rarely run into situations where I need to restart. Kevin has fixed some serious memory issues a while ago, basically eliminating the SPOD problem.

    I'd never go back to Windows, BTW.

    ReplyDelete
  6. I too have been using Eclipse on Mac for a couple of years. While I love the Cocoa port, we're not out of the woods yet. I run recent builds (currently I20100406) and I'm running a fast machine and I still feel as though Eclipse is laggy. While SPOD doesn't visit here often, I still see it on occasion.

    ReplyDelete
  7. I'm working on OSX cocoa 64 and this performs very well. (Helios M6)
    I also have installed Ubuntu and Windows / on Parallels - but only for testing redView on other platforms.
    Recently I had to use Windows 7 with Eclipse for a customer project (RIM BlackBerry Eclipse PlugIn), but only because the RIM BlackBerry only runs under Windows. 2 days ago I got confirmation from RIM that there will be OSX version soon.
    ekke

    ReplyDelete
  8. I've been on Mac for a couple of years. The cocoa port is fantastic. I don't have any particular issue and I would like to point out that my coworkers have been hit by the change introduced by the recent Ubuntu upgrade a lot more.

    ReplyDelete
  9. It's important to keep in mind that the SWT on cocoa was essentially a v1.0 product when Eclipse 3.5 shipped. The SWT team actively promoted the cocoa port before 3.5 shipped, and with the community involvement were able to track down many issues and greatly improve the quality and the stability.
    Also keep in mind that SWT is approximately a half dozen people supporting about 15 platforms so having a stable and usable cocoa port for 3.5 was a huge effort and required a lot of love.
    That effort continued into 3.6 and when I left the project Scott jumped in and was more than able to fill the hole that I left.
    The growing number of mac user has been noticed by SWT for some time and they get a lot of attention from the SWT team, but there's only so much a team of that size can do.

    ReplyDelete
  10. I'd like to point out that while Scott certainly can fill the holes Kevin left, it's a pity we do not have Kevin working on the SWT team any more. At least to me, he has been SWT's face on Mac. If I may quote, "Cocoa is the future of SWT on the Mac"!

    ReplyDelete
  11. I think Doug is talking about something bigger than the SWT, though I agree the perception of stability is a big part of it. It's things like not being able to do Blackberry development on a Mac or assuming that every platform works like Windows does. Java has never been write once run everywhere - you can get about 90% of the way to your goal, but the last 10% gets hindered by leaky abstractions and platform assumptions that you didn't realize were assumptions until someone else hits them. I have often see my role as covering that last 10 percent, but I would like to get out of the role of playing catchup. That won't happen until people treat the Mac as an equal and not just another platform that needs to be built.
    Interestingly enough, Adobe AIR right now is the only technology I've seen that seems to have put that level of thought into the product up front.

    ReplyDelete
  12. This comment has been removed by the author.

    ReplyDelete
  13. There's a pretty simple work-around to the launching multiple instances problem. I did a quick screencast: http://bewarethepenguin.blogspot.com/2010/04/launching-multiple-instances-of-eclipse.html

    ReplyDelete
  14. Took me a long time to get around to replying to this ... generally, I think it's important to acknowledge the work done by the SWT guys, but it needs to be realised that it's a "whole package" thing, and not just the SWT widgets that are at stake here.

    http://alblue.bandlem.com/2010/04/mac-doesn-get-much-love.html

    ReplyDelete
  15. Hmm... looking at all these Eclipse screenshots in research papers and other magazines (e.g., the german "Eclipse Magazin"), I've always got the impression as if Mac is a rather popular platform. I'm using Mac and Eclipse for over two years now, and I cannot complain (except the missing XOR drawing mode...).

    ReplyDelete