Developers Developers Developers Developers

Apple hates Developers Developers Developers Developers

Just got back from WWDC ’06 and all I can say is “it’s amazing that anyone develops software for the macintosh at all.” Apple (like Microsoft) is continually trying to use their 3rd party software developers as a billy club to bring their users onto the latest OS. Apple (like Microsoft) is trying to get their 3rd party developers to adopt a new development language that is locked into their platform (but both claim that it isn’t). However, Apple (unlike Microsoft), pretends that all their developers have embraced this new language and new OS when all evidence is to the contrary. In session after session, Apple employees surveyed the attendees, asking “How many of you use C++, Objective C, Objective C++?” Each time, the answer was overwhelmingly C++, which I imagine was the result in each year previous. Yet, every new Apple API is in Objective C, every code sample was in Objective C. The new APIs look really fun. I bet we’ll see some awesome shareware when Leopard comes out. The professionals (especially those writing cross platform apps) and Apple’s high-end products will continue to ignore these new APIs as they always have.

You add this continual dismissal of developers needs with Apple’s insane secrecy and poor documentation and it seems amazing that professionals embrace this platform at all. I came into this (expensive) conference as a die-hard-mac-fan-boy and now I’m feeling much less so. I still like using macs, but developing for the mac seems much more a chore than a joy, especially compared to windows.

More hot quad action!

impressions after the first couple of days

I’ve spent most of the weekend installing my software, so I haven’t been working on a new album or DVD project yet to talk about the performance in that respect. I did have to run my own personal benchmark though, heavy-duty Reaktor ensembles. If you are unfamiliar with Reaktor, it is a visual programming tool for creating modular software sythesizers. On my 12″ G4 867 MHz laptop, I can’t run the Heiddegger or Leviathan3 ensembles from the Reaktor user library at all. Firstly, they don’t even fit on the screen. Secondly, even throttled down to the lowest sample rates, they immediately max out my CPU. I can happily report that at 44 Khz and the highest quality settings, Leviathan barely makes my CPUs notice its existence at a paltry 12% CPU usage. Heiddegger maxes out around 28% but seems to be constantly spinning between 20%-28% (I don’t know if Reaktor knows how to measure 4 CPUs). Both ensembles show OS X thread scheduling is well done, Activity Monitor shows that Reaktor’s 7 threads are spread pretty evenly across the CPUs.

My only real complaint so far is with the Mighty Mouse which has already begun to squeak when I click. This is destined to be immediately replaced by something less annoying. Sorry Apple mouse guys…

Apple’s big announcement

some observations…

I’m surprised that they aren’t selling the remote and Front Row software as part of iLife. The eMac has disappeared. The iMac is really being pushed at the high school/college/graduated-but-living-in-a-studio-apartment set. I was surprised that they didn’t add a TV-in to the iMac as well. I think some of the fake video iPod designs are more interesting than the actual one. Steve shouldn’t have made a big deal about the video in the iPod because he is right that not many people will be using it. The cool thing about the new iPod to me is that it is thinner and that the battery lasts longer. I don’t really need that 2.5″ video viewing experience and if I wanted it, I would use my PSP for that since it has a wide screen. Also, if this is the year of HD for Apple, why is the new iPod still firmly stuck in the 4:3 world? Selling videos and TV shows in iTunes, great, long overdue. $1.99 is a great price for a TV show, but videos shouldn’t be any more expensive than songs. Also, it sucks because a lot of record companies used to post their videos on their websites so that you could download them for free. Guess that is over. Soon we will be able to rip our DVDs to big disks just like we do for our CDs (I know a lot of people are already, but for me either the compression or the disk space needs to improve enough that you still get decent quality when you project it).

I think that the biggest disappointment for me was that there were no new Powerbooks or Powermacs introduced. I (and many people I know) are waiting for the last rev of the G4/G5 high-end machines to buy before the MacTel switch. I know that Apple’s inventory is getting low… C’mon Steve, help us out over here!

A good IDE

is worth its weight in gold…

Now, this should be obvious, but it isn’t until the day you are forced to use a crappy IDE. When it comes to software development, I’m from the old school. Not the old, old school of punch cards and dip switches, but the newer old school with command line building and debugging through printfs. I’ve realized that I have become soft in my advancing years.

I’ve spent most of the last 11 years of my career doing my development in Visual Studio (and its earlier versions). Now, I’m fairly platform agnostic as a rule. During that time, I’ve also written software for Linux in Java and the Macintosh as well. Eclipse and VisualAge were decent enough IDEs that I didn’t feel hampered. However, the leading IDE on the mac until recently was CodeWarrior. CodeWarrior has an long history. It’s been around for a long time and you would think that as development environments go, it should be one of the best considering it became the main development tool for Mac OS development. I have no idea why though. It sucks. I mean, it really sucks. At first I thought it was just the shock of the new. I was just having to adjust to a new environment, but no, I’ve been using it for 18 months now and I still hate it.

Luckily (or unluckily) Apple is basically forcing all those who want to write software for OS X to switch to XCode. I’ve only just started using it, so my observations are premature. In general, it seems quite good and well designed. It does have some significant quirks and weirdness though. Apple seems really interested in making it better, so here is hoping…

Sneaky Apple…

fishing for switchers…

The halo effect of the iPod is pushing Apple PC sales percentages even after the macintel announcement. Today Apple lowered prices on the mac Mini and on its iBook line. This was a very smart move: Apple is lowering prices on the prime switching machines (the low cost ones) as well as the machines that students use most as we enter August. This should help continue to drive sales.

But Steve, where is the love for the die-hards? When are you going to lower prices on Powerbooks? We’re not all waiting for MacIntels! I want a new Powerbook dammit!

iTunes 4.9

An iPodderX user and a podcast fan gives his impressions of the new iTunes

Overall, it is decent. If iPodderX hadn’t been getting increasingly yicky as it adds unnecessary features and interface I probably wouldn’t switch, but the new iTunes does a decent job at handling podcasts without too much fuss. The new podcast directory in the iTunes music store is pretty decent (although it lists some invalid or old podcast feeds) and it looks like Apple has even convinced some new people to make some podcasts (I don’t remember there being a Nightline podcast before).

Subscribing is pretty simple for a single podcasts, but subscribing to multiple podcasts is a pain. The UI switches you to your new podcast tab and then you have to go back to subscribe to another podcast. Also, it is kinda crummy that iTunes can’t import OPML files which meant I had to re-subscribe to each podcast. I like that through the advanced tab I can add a feed that doesn’t appear in the directory (excellent for the personalized feeds from ITConversations and Audible.com).

At first I was annoyed that podcasts appear in a separate area from the rest of the library and that they couldn’t be rated or anything. Then I found that I could drag an episode of a podcast into my library and then it would appear there and I could treat it like the MP3 it is. Nice.

If you’ve got iTunes, this is worth upgrading for. I can’t compare it to other podcasting aggregators (iPodder lemon never worked for me), but as it is and for free, you don’t really need another if you have iTunes4.9)

I forgot one very important thing:
The update settings are kind of weird, you can update on the hour, by day, by week or manually. If you update daily, it is set to update at 5pm and there is no way to change it. This could be really bad because everyone with iTunes will all try and grab their podcasts at the same time. Most aggregators will do stuff to avoid this, apple should fix this ASAP.

The Apple Phobia

No, not the fear of Apple Computers, the fear that Steve is going to announce new ones

Any Apple customer knows the fear. You check the dates of Steve Job’s upcoming appearances, you time things around MacWorld or WWDC. Not because you can’t wait to hear what new thing is coming out. Because you are petrified about buying a mac or ipod the day before they slash the prices and make the computer you haven’t even received yet a dinosaur. I’m facing that fear right now as I ponder if I want to replace my powerbook before the intel switch.

Everyone knows that the channel is starting to fill with inventory and people are sitting on the fence waiting for those first intel-based macs to be announced. Everyone knows that they’ll be slashing the prices to clear out inventory and that they may announce one more power book revision before the big switch. So you wait. And Wait. Steve doesn’t have another keynote for a while, right? They never announce hardware at Siggraph, right? Maybe now is the time to buy… Or maybe not. Maybe I’ll wait just a bit longer…

Welcome to the fear, my friend.

sometimes Carbon makes me cry

the woes of cross-platform C++ development

Carbon is Apple’s APIs that were created for developers who had been writing for OS versions before OS X. Apple really wants developers writing in Cocoa (just as Microsoft wants to developers to write in .Net), and they couldn’t make it more clear to those of us who are using Carbon. While being fairly feature-rich, it is overly complicated and poorly documented. Every company I have ever done professional software development with (which includes several of the top companies in the world) does development in C++. Cocoa doesn’t work with C++. It uses ObjectiveC, which means (like .Net) that you can’t easily write portable code for Cocoa. Apple is going out of their way to make it hard to port apps to their platform and should wake up and support C++ for Cocoa.

Apple and Intel roundup

More on this massive announcement

So everyone is weighing in on this and I’ve been reading tons of commentaries. Here’s some of what I thought were the most insightful.

First of all, Apple has Steve Job’s keynote up so you can watch it for yourself. The one thing I got from that which I hadn’t seen covered yesterday was the fact that Apple has more PPC machines in the pipeline. What this means for those of us trying to decide if we want to get one of the last PPC powerbooks is that we might want to wait a bit longer to see if there will be one more performance boost before the Pentium-based machines show up. The other thing that was interesting was that the Pentium-based machine Steve was demoing on was using a “standard-issue” Pentium which might put to rest some of the speculation around a custom intel chip. Also, the responsiveness of Steve’s demo machine which was using a 3.6 GHz Pentium didn’t seem that much better than my 867 MHz PB.

eWeek’s article about how the transition will affect developers was interesting, but could have had more depth. Steve made it sound like most of the OS X developers had already made the switch to Cocoa and X-Code, but what he neglected to say was the majority of the developers using Metrowerks and Carbon are the oldest developers for Macintosh, with the largest codebases. Don’t expect too many new big features in your favorite mac apps releasing in 2006.

SiliconValley.com has a nice article on some of the other potential benefits for Apple by moving to a processor family with more vendors and options.

Dan Farber has his own summation of the techno-pundits on his blog.

David Berlind has got some great insights in his blog

Thomas Claburn of Information Week has confirmed that while Apple won’t let OS X run on non-Apple hardware, it won’t prevent other OSes from being loaded on Apple hardware. This is a pretty important detail. Imagine being able to dual-boot XP and OS X on sweet Apple hardware… I don’t think Apple should try and become an OS vendor since one of the reasons that OS X is so much more stable and secure is because of it’s limited hardware surface. Some insane percentage of crashes in XP systems is due to driver issues according to Microsoft. Apple has avoided this with their strategy and I think that is a major part of Apple’s appeal.

Peter N. Glaskowsky at eWeek presents a very interesting perspective on the whole deal.

Apple and Intel. Official.

The good and bad

I’ve never been a fan of Apple because of the processor, it is the OS that I like. This is going to be interesting.

the good:

  • Macs should get cheaper. Thanks to the economies of scale, Intel chips are cheaper than PPC chips because they make a lot more of them. This should make macs using Intel chips significantly less expensive than they are right now.
  • Macs should improve faster. Since Intel is developing chips for both PCs and Macs, Apple will get the benefit of the R&D that is done. Since the PPC chips were such a small part of IBM’s business, they weren’t as dedicated to improving them as Intel is.

the bad:

  • This transition will be full of FUD for both users and developers alike. As a OS X developer, I’m now forced to transition my projects to X-Code which I’ve been avoiding until now. X-Code is improving, but it has a long way to go to being a first-class IDE. Not that I’m a big supporter of Metrowerks either. I don’t link having choice be taken away. As a user, I was contemplating getting a new Mac PB this year. Do I wait for the new Intel-based machines next year, or do I get a new one now and hope that apps will still run on it once the transition to the Intel-based macs is complete? If I decide to get a PPC-based mac, do I wait for the inventory clearing sales? Are there going to be any more improvements to the G4 Powerbooks, or are they going to be frozen until the new Intel-based ones come out?
  • Is OS X going to be forced to take stuff that Microsoft is forcing into the hardware level? Microsoft has been trying to push more and more security features into the hardware in recent years to try and circumvent the virus writers and the music pirates. Is Apple going to be forced to support these things? I definitely hope not. Having OS X get dragged around by Windows is the last thing mac users and developers want.