You want Apple sauce with that?

Tech 10 Comments

I’ve been a fan of cross-platform development for a while now, I like competition and have a dislike for single-supplier dependence – my general rule is that if you put your eggs in one basket, and then give that basket to a monolithic corporation-being with the power to crush planets with a single cybernetically enhanced pectoral clench, odds are that you’re not your own boss any more. However, as a developer who must inherently exchange the scribing of cryptic text for food & shelter, I haven’t always been able to follow that preference.

I’m a recent convert to the Mac platform – while I’d never have described myself as a cheerleader for Windows, it has always been my desktop of choice simply because I hadn’t used anything better (desktop Linux was often too much hard work), and I would always express that to anyone who asked (with a side-note that if you’re running file/mail/webservers, you’d be nuts to do it on anything other than an open-source *nix, given how easily and cost-effectively it slipped into that role). However, two things happened in recent history – Vista being increasingly forced on me as the incumbent upgrade path despite being a damp squib, and I got a my first, real-life Mac.

At first, all my PC predjudices emerged. One mouse button! All my games don’t work! I have to find replacement applications for X, Y and Z! This interface is weird! Etc. But you know, going on for a year on now, I’ve overcome all that and I’d buy a Mac again without thinking twice about it. My dual-boot to Vista on this machine lies so unused it’s in danger of getting purged if I could actually be bothered.

And I’m not the only one. There was a time when the needs of business also strongly drove the needs of consumers when it came to PCs – you had a Windows PC at work, so you tended to buy that at home too. But then, devices started getting more diverse – Blackberrys, smart phones, iPods, iPhones, games consoles with media playing / web browsing features – most of these didn’t look or feel very much like Windows, even the ones that included a pocket version of Windows, but yet people got used to them, and perhaps realised that they can use this crazy alien technology after all, and that maybe all the concepts underlying it were actually pretty common. The Internet is the platform of choice now after all, it’s the glue that holds most things together now.

The key takeaway from this is that I think the consumer PC/device market is now far more autonomous from the ‘turns like a supertanker’ business market than it’s been in a long time, and is looking to be the engine of real change in the industry. People increasingly expect to be able to hop between devices and still get to all the things that are important to them, and thus make choices about their own devices more independently from the staid business world than they have in the recent past. Apple is a powerful brand in the consumer space, something they’ve genuinely earned in my view, so in an increasingly business-consideration-free consumer space, that’s bound to influence things. Some reports claim that Apple already has 21% of the consumer PC market in the US (note, excludes business PCs – it’s more like 3% worldwide), and look at the results from a recent Morgan Stanley survey of US students:

 

Certainly if you’re Dell, this must be a little concerning, although I’m sure they’ll continue to sell a ton to the besuited world.

Now, this isn’t supposed to be a born-again Mac fanboy post, I’m simply illustrating an increasing desire for diversity, innovation, and just good design in the consumer space, which I personally am very happy to see. I expect (& hope) that if Ubuntu smooths out its remaining kinks that require the kind of forum-trawling that non-enthusiasts have no patience for, it could challenge for the consumer spot too – although at the moment I’d still personally rate a sexy looking MacBook with OS X on it considerably higher as a device for the wider market, at least in wealthier countries, that doesn’t mean it will stay that way forever. The world just needs good software, good designs that fit the purpose and preferably look great at the same time. That’s what people want, and heck, Apple just has a habit of delivering here, so all power to them.

The final thought then? If you develop commercial software for ‘real’ people, you really ought to be including a Mac port in your plans. And perhaps an Ubuntu version, just on the remote chance that anyone running it on the desktop decides to actually spend some money on software one day ;) And of course there are all those cool little devices. It ain’t just about Windows PCs anymore, and chances are in the consumer space it may well get less so as time goes on.

10 Responses to “You want Apple sauce with that?”

  1. Kezzer Says:
    April 25th, 2008 at 9:05 am

    Aye, nowadays if I were developing I aim for Mac, Ubuntu and XP/Vista. The growth of Apple in the consumer market is supposedly ever-growing comparative to MS equivalent technologies, so it’s something to be more wary of.

    When I worked for Symantec we actually had a Mac in the office where one of our client packages was developed on it which I thought was great because the software we were developing was mostly unheard of, yet implemented on a mass scale for primarily businesses, so to have a Mac port was quite a hurdle.

    With the growth of Mac users (and there’s probably a steadily increasing curve for Windows users due to increasing awareness of computing for the newbies such as older generations, families unaware of computing potential etc.) I would say it’s becoming more and more important to support those users.

    Ubuntu is a biggy now, especially with their vast increase in numbers and a huge development community working around the clock on the OS, as well as being implemented in schools around the world now (Swedish schools recently).

    If you’re a developer working on a single platform, then there’s something very wrong ;)

  2. SunSailor Says:
    April 25th, 2008 at 10:15 am

    The problems with the mac systems are mainly two. First, porting existing software isn’t trivial, as you need to bridge at least between Cocoa and C++, as Cocoa is limited to objective-c. A plain port, using the usual abstraction methods isn’t that easy, e.g. see OpenOffice and several other major open source projects. The second problem is the limited allotment of developers in relation to the users. On Linux, there are a significant amount of the users developers in some kind, on windows, at least the tools are available for a major developer scene, but on the mac, you have mostly art oriented people. So, this doesn’t raise the availability of a wide application range.

  3. Steve Says:
    April 25th, 2008 at 10:26 am

    @SunSailor: I think the impression that Macs are mostly for arty types is woefully outdated. I see Macs cropping up most in the hands of developers these days – many people in our local developer circle are owners of MacBooks as their personal machines, even though at work they are Windows developers, and when I was at a game developer conference in the UK late last year, I saw just as many MacBooks (pro and non-pro) being pulled out of laptops as Windows machines. Many are attracted to the fact that they can run Windows on it as well now, but when given a choice between OS X and Windows for general tasks, most seem happy to use OS X (like me – the Intel chip gave me the fallback but I’ve found I rarely use it). Developers tend to like the BSD underpinnings of OS X, in my experience, and the fact that as a portable machine, the Mac has physical and battery characteristics that make a Vista-based laptop weep.

    You’re right about Cocoa, but you can level the same kind of argument at Gtk+ – there are wrapper libraries you can use to get around it, but if you want a ‘native’ feel you may have to invest in specific UIs for each platform with a common back-end, if you’re not web-based. It’s a resource sink, but it depends on how UI focussed your application is. App availability really hasn’t been an issue for me – NeoOffice gives me a Cocoa-native version of Open Office, I’ve gotten used to XCode now, many of my other apps are cross-platform anyway (like Eclipse, Thunderbird, Firefox) and there are a few apps on the Mac I’d love to be able to use on Windows but can’t, like Adium, Quicksilver and PixelMator.

  4. Kezzer Says:
    April 25th, 2008 at 10:53 am

    Steve: How come you used XCode? Did you ever take a look at Eclipse CPP for Mac? I’m not saying one is better than the other as I’ve barely used Eclipse for C++ development, I was just wondering what the benefits were?

  5. Steve Says:
    April 25th, 2008 at 11:10 am

    I’ve never had a great experience with Eclipse/C++ in the past (as compared to Eclipse/Java), and I like to use the ‘most common’ environment. XCode comes with OS X so it’s the one most people are going to use, hence it makes sense to get to know it. I’m happy with it now.

  6. Andrew Fenn Says:
    April 25th, 2008 at 3:50 pm

    It’s been interesting listening to your grumblings about your Mac until you’ve reached the point where you’re now praising it. :)

  7. Paul Evans Says:
    April 25th, 2008 at 4:05 pm

    I’m sure this will probably bug you listening to it, but you might find this interesting:
    Jonathan Zuck on the Politics of OOXML
    http://www.dotnetrocks.com/default.aspx?showNum=335

  8. Steve Says:
    April 25th, 2008 at 5:04 pm

    @Andrew: touché :) Yeah, XCode took the longest, and the overwriting of folders threw me, but other than that I’ve been happy.

    @Paul: Oh jeez has that podcast got some of the most irritating content ever. Cheezy music: check. Irritating introduction: check. Seemingly endless ‘sponsored by’ fluff: check. Use of the word ‘rock’ in an entirely inappropriate context, bringing back memories of the unjustifiable confidence of Vanilla Ice: check. I should have been paid to listen to this ;)

    His issues seem to revolve around that people lobbied for ODF, so no-one should mind OOXML, but it’s really not about that. It’s about whether you end up with a genuinely open document standard that can be implemented by many people. ODF is already open and implementable – the spec is not that complex, it’s not anyone’s fault but MS that they haven’t implemented it yet. Conversely OOXML is a sprawling mess with a shedload of outstanding unanswered issues on it, that even Office doesn’t implement properly yet, that’s the core problem. Do you really want a sprawling, horrid ‘standard’ which can’t even get simple formatting commands consistent between Word/Powerpoint/Excel? I don’t, I want something the entire industry can actually use efficiently. Clearly they based it on what Office can spit out now which is why it’s so internally inconsistent.

  9. Paul Evans Says:
    April 28th, 2008 at 11:38 am

    @Steve – You didn’t have to listen to it, I congratulate your curosity and persistence :-) I guess I’m used to sponsered podcasts, major nelsonm, hansleminutes and the road house both have little bits in. Perhaps it’s necessary once you reach a certain amount of bandwidth usage.

    What I got from that point of view was about the same as you, that the OOXML standard was a retroactive document… including documenting quirks and mistakes in previous products way back through the history of office.

    It also sounded like it came about via a reaction to ODF lobbying for only allowing products that deal with ODF in government contracts because it’s an ISO standard, to the exclusion of MS Office.

    I think the whole thing is more to do with politics and using it as a baton to hit the other around the head with. I think if ODF wasn’t used like that, this whole thing would have just gone quitely by.

    As for implementation, it seems that so far they are letting 3rd parties and the open source community create add-ins to do odf things. So I guess it’s the whole “yeah it can, but not by default” thing. It will be interesting to see how this develops, and if saving as an odf would mean you loose things that you wouldn’t if you saved in the native format.

    Course I hardly know the ins and outs of it all, and it’s all personal opinon. I’m sure ODF is lovely and clear in comparison, there again the purpose of a shiney new standard and one that covers warts and all of products for a decade or so are going to look very different.

  10. Steve Says:
    April 28th, 2008 at 12:04 pm

    I think whenever you get a standard, people want to extend it. Giving MS the benefit of the doubt here, it’s not always because they want to create a custom version they can own – sometimes it’s genuinely because they think they can to do it better. That’s natural – standards are always the lowest common denominator, but sometimes, that’s a trade-off that’s worth making.

    When it comes to documents, there are many organisations that need to keep them for a very long time now, especially governments. It’s not acceptable to be locked up in a format that has exactly one, proprietary implementation, especially when that implementation changes and drops support for old versions (Office 2007, hang your head in shame). Now, I don’t care really what standard it is, so long as there is one, and it’s implementable by anyone with a bit of talent in a reasonable amoune of time. The whole lobbying for ODF has a good side (despite no doubt nefarious intentions by IBM / Sun) in that ODF is relatively easy to support, as compared to OOXML, and as such it’s a better basis for a common standard. If people bolt on extensions, that’s for them to decide but the sensible ones should avoid doing it, or at least the business leaders should be smart enough to say that no extensions are allowed. Sure, people will bitch about their favourite extensions, but tough luck – if the goal is to keep business data open and maintanable for the next 50 years, then stick to the damn standards. There’s no ifs or buts here – if ‘coolness’ has to suffer for the benefit of long-term persistence, then so be it. It’s all a question of priorities.

Leave a Reply