Innovation in Software

Vagueware

Archive for the ‘os x’ tag

You are reading a blog - Innovation in Software - no longer under active maintenance. These pages are kept here for archive purposes. If you wish to find out more about Vagueware please read our current website which will include links to the new blogs when live.

Carpenters Don’t Build Lathes

with 4 comments

Many years ago I ran FreeBSD on pretty much every system I touched. I loved it. The lack of political polarisation that touches the GNU/Linux community combined with the power of Unix under the hood sucked me in.

I even, almost infamously, had a rant about another operating system I now use daily. I was a zealot. I am ashamed of my attitude in that email – my only excuse is that I was still quite young, a rather naive and opinionated 26 year old.

Today, I use exclusively OS X, and occasionally boot up a virtual Windows instance to test code on MS code. I have a terminal open nearly all the time and often dive down to the Unix goodness, but more often than not the bulk of my work is in the browser, text editor, IDE or Mail app.

Why then, I was asked the other day, do I not just ditch Apple and get a Linux (or even BSD), machine to work with? The bulk of my work (except for iPhone application development) would continue as before.

My answer is very simple: carpenters don’t build lathes.

To explain, let’s first go back to that rant I had about OS X. About a month later, I ordered my first Apple laptop – an iBook G4 – and was very happy with it. What happened in that month?

I realised when shopping around, I needed to check out the chipsets used for WiFi in each laptop because FreeBSD wireless support was pretty hit-and-miss back then. I also needed to understand the graphics chip-set because I’d need to compile X if I wanted to run a graphical desktop environment. I then realised I’d need to assess pretty much every feature in terms of hardware compatibility to make a purchasing decision. And then, on receipt of my new laptop I would have to spend a few hours doing all the compiling and fixing, and I would then need to do this work every few months as part of an upgrade cycle.

Yes, I’d get the power and flexibility of my own tailored operating system environment, but isn’t that a lot of work?

I recalled a few months previously a friend was playing with his new smart phone. It was running Symbian and he seemed to be doing lots of prodding and poking with it. Enquiring what he was doing, he said he was “doing some maintenance” to keep it in working order. Hang on, was he effectively sysadmin’ing his phone? “Yes, I suppose”, came the reply. When you have to do systems administration work on your phone, your phone is no longer a tool to assist with your work, it is an object of work in itself.

It was this insight when thinking about my operating system choices that directed me to OS X: I wanted the power of Unix, sure, but I wanted it to just work. I wanted to be able to get on with my work, the laptop and operating system as tools rather than objects of work themselves.

This small insight has made my life a great deal easier, and still dictates not using any other operating system. Some of my peers see it as weakness (even more point to my original rant above), but I see it as spending my time doing the things I love.

And it’s also an insight I think that as developers we forget: are we developing tools that assist with objectives, or tools that are objects of work themselves. Are we building interfaces and suggesting business logic that means our customers spend time managing the behaviour to fit around them? If so, why?

In the last few weeks I’ve seen some really interesting “reductions” in functionality that aim to make tools more directly useful, rather than requiring some administration.

Take for example, the role of authentication. You need to “contain” all of your customer’s “stuff” in a way that is linked to their “account”. So we have user registration, user profiles, account activations, password resets, etc. Seems like a lot of stuff. Are we sure we need it?

Take for example, Posterous. Their home page explains it all:

posterous.com home page

All you need to do is email stuff to post@posterous.com and you’re up and running. No signup, no captchas, no password strength indicators unless you want to add them. You’re a person capturing stuff – why do you need to admin yet another web application?

BootStrap UK (which is worthy of an article in its own right as a concept), needs accounts but has a simpler registration system: just follow @bootstrapuk on Twitter and they’ll follow you and direct message you a password. Done.

There are other examples out there as well, sometimes using software to help break out “lathe obsession” elsewhere in society. One iPhone app I’ve seen reviewed gets the banking system to work around the customer, rather than demand the customer head into a branch to suit the banking system. Brilliant.

We often spend too much time trying to work out how a customers will need to behave around our application, rather than how we need to get out of the way and let our customers use what we produce in order to do their thing. In every customer we need to start seeing the carpenter more, and assume they – perhaps unlike many of us developers – don’t like tinkering with lathes for its own sake.

Written by Paul Robinson

August 12th, 2009 at 4:35 pm

OS X Leopard – a review, a warning, and alternatives

with 16 comments

Last Sunday I trundled up to the local Apple store with company debit card in hand to grab a copy of OS X Leopard. I installed it that afternoon and have spent the last week on the road and at home living with it. I’ve now come to a conclusion:

Leopard is an excellent advertisement for switching to Ubuntu.

Seriously, it sucks. I’m not talking suckiness on a Windows Vista level, but compared to Tiger, it’s awful. Here’s some reasons.

Firstly, perhaps reasonably for a dot-zero release (but still annoyingly), it crashes and/or locks up quite often. In several years of using Panther and then Tiger, I don’t think I had to power-cycle my machine more than twice. I’ve done it five times this week. Sometimes when using an external keyboard on my Macbook Pro, the system “just forgets” it’s there and I’ll have to unplug the keyboard from USB and plug it in again, but sometimes nothing happens even then: Finder stops responding, the mouse stops moving, and then it’s time to hold down the power button for a few seconds and bring it back up.

Whilst we’re talking about peripherals, I grabbed myself a replacement Mighty Mouse whilst buying Leopard (note: the scroll ball clogs and breaks within months, you’ll be buying a lot of replacements for the improved productivity I accept it provides), this time a wireless version. This helped me discover that bluetooth support for mice in Leopard is rubbish. Whether’s it blued taking up 50%-60% of CPU for long stretches of time, to not being able to see the mouse at all on resume, it’s so bad it’s basically useless. I don’t think it’s reasonable load average should be > 0.7 just because I am moving my mouse around.

Then there’s the RAM issue. Sure, with each release of an OS you expect to see more RAM being gobbled up, but I swear, I’ve never seen an OS have a problem with 2Gb of RAM and six applications open, not even Windows. With Tiger I used to be able to do a lot more and have a lot more free space to move around in. Leopard swaps so hard in the same usage scenario that it reminds me of when I was using an iBook G4 with half a gig of RAM.

Let’s now move to the extra features Apple provide in Leopard.

I don’t care what people say, Safari 3.0 is not faster than Firefox – anybody who is saying so just isn’t doing any meaningful measurement. What’s more, Safari still doesn’t “get” the plugin thing, and on my system at least rendered pages like it was spitting out HTML in vomit-like chunks.

The other big upgrade, Mail, is more of a mixed bag. Whilst Mail.app version 3.0 fixes several bugs I had learned to “work around” in 2.0, it introduces a few more niggles. That’s not the big problem though. Quite frankly Mail.app 3.0 needs a stake driving through it’s cold dead heart for producing HTML e-mail that cruddy, insisting all “notes” have yellow ruled-line backgrounds and integrating with iCal as more of an after-thought than as a reasonable feature.

Spaces is worse than 3rd-party solutions I used wth Tiger in my opinion, and gobbles even more RAM – a scarce commodity as it is in Leopard-land.

I’ve not actually tried the new integrated back-up system, because I’ve heard that Time Machine breaks Leopard even more than Leopard does on its own time and you end up fighting reboot screens constantly. I’ll stick with SuperDuper and the odd s3sync

Meanwhile they’ve managed to make sure the Dock is harder to make sense of thanks to little, tiny, blue-ish orbs on a reflective background indicating app state instead of clear arrows. Whilst we’re down there, can somebody please tell me what good are Stacks given that they’re slow, only make sense in ‘grid mode’ and don’t help you find anything you don’t already roughly know the location of.

At least though, that’s a relatively sane way of finding files. Cover-flow in Finder is just slow and silly, although Finder in general is much better. I daren’t even go near Spotlight, fearing that I might accidentally send share prices in CPU fan and RAM manufacturers soaring.

Whilst we’re at it, can I just mention the integrated firewall isn’t a firewall apparently, so unless you’re comfortable with ipfw, you’re about as open as it’s possible to be.

I am not however a typical OS X user. I am a developer who approaches OS X as a Unix with a better GUI than X + your choice of window manager. Some people will be happy with Leopard, and won’t want the stability or flexibility I need. Many switching from Windows will find the random, sporadic instability perfectly normal behaviour. I do not.

For all my problems with Unix as a desktop in the past, after nearly 3 years away from that flock, Leopard has convinced me to start moving back to Open Source. This weekend I’m going to Bootcamp up and put a “proper” Unix on like FreeBSD or a GNU/Linux distro like Ubuntu. That will allow me to slowly transition my data and working environment over and keep OS X (and Windows w/parallels) available for development and testing work.

I’m sorry Apple, this time you blew it, and you blew it hard. I hoped Leopard was meant to be more than an eye-candy release, but ultimately it’s just worse than any other version of OS X. I’d recommend Panther over Leopard right now, never mind Tiger.

Written by Paul Robinson

November 2nd, 2007 at 4:24 pm

The Desktop Metaphor – the best we can do?

without comments

Apple Insider is giving us a thorough run-down on the history of the Virtual Desktop in anticipation of Apple’s launch of OS X Leopard. Leopard will ship with ‘Spaces’, Apple’s own take on the Virtual Desktop.

What has surprised me most in recent years is that nobody seems interested in why we continue to try and fit everything into the ‘Desktop’ metaphor at all.

As I understand it, when they were trying to decide an interface at Xerox PARC, they thought about who would use the tools they were developing. It is a sign of the times that they thought the only person likely to be sat in front of a keyboard any time in the future would be a secretary – so the developers went down to the typing pool and looked at how a typist might understand the World of work.

It’s for that reason, and that reason alone, we have the metaphor of a ‘file’ and a ‘folder’ and a ‘desktop’ within modern user interfaces.

There have been experimental interfaces to shift the metaphor, but these experiments have normally failed because the chosen metaphor has been so weak. Surely there has to be a better way to think about the way we work now we have fully embraced the hypertext document, the network as the computer and the social network?

Written by Paul Robinson

October 12th, 2007 at 1:45 pm

A Nice Problem to have

with one comment

For the last year, I’ve been running pretty much everything off old hardware I had lying around. It did its job – and still does it very well – but it’s time for an upgrade.

I’m now in the fortunate position that for the first time in about two years I actually have a small amount of spare cash to hand. Well, when I say “spare”, I mean “not immediately needed to pay a bill anywhere”. This means I have choices.

The first thing I need to decide is whether I want to stay with Apple or not. OS X has been my primary desktop for the last 2 years, and whilst it has a few features that make it stress-free – decent WiFi and phone synch support out of the box, combined with the integrated address book – there isn’t anything I couldn’t replicate in open source without a bit of tinkering. And I do miss running an entirely open source system. There’s also the fact that Apple hardware is ridiculously expensive for what it is. Component for component, even the cheapest Macbook can be had by a generic laptop supplier for nearly half the price.

I also need to decide on the level of portability I want or need. About six months ago, my laptop’s screen got fallen on (aka “The Guinness Problem”), and I haven’t got around to fixing it yet. That means it’s been anchored to an external monitor, keyboard and mouse for the last six months. There have been perhaps three occasions in all that time where I could have done with it being a laptop again, instead of a very quiet and power-efficient desktop. I anticipate in the next 3 months a total of five occasions – all of them “get around”-able – where I could do with power on the road and so I have to ask whether the premium for a laptop is worth it. I’m already planning on an E90 Communicator when they hit the market, so my “ssh whilst in the coffee shop” problem is taken care of. It’s whether I need something portable I can code on that is the issue.

This last one has led me to a rather philosophical point. The reason I am naturally resistant to getting a dream-machine dual-head, or even triple-head desktop setup, is that I don’t want to feel that moving from Manchester would require a great deal of thought. A laptop has the feeling that I could just pick myself up, pack a bag, and head anywhere in the World and still be in business. That feeling is perhaps immature, but I’ve been reading Steinbeck’s “Travels With Charley” in recent days and I’m not convinced it isn’t just that I’m in need of spending some time on the road. Either way, I know taking root in a way that closes that choice out would make me feel a little peculiar right now.

All this results in me now trying to decide what the right hardware to buy is, not on technical specifications or pipedreams of how technically superior I could be if I bought “X”, but a much deeper philosophical perspective: what do I want out of life? Do I want to be here in Manchester? Do I want the hassle-free existence of OS X, or the unbridled freedom and moral authority of a completely open source system?

Stupidly “Big Questions” to be asking of a technology purchase. Especially when the answer might just be a couple of a Mac Minis or a Stinkpad.

Written by Paul Robinson

May 25th, 2007 at 8:29 am

Posted in Hardware, Home

Tagged with , , , , ,

Apple Fanboys

without comments

I found this rather entertaining ‘review’ of sorts earlier today, and it made me think about my own relationship with Apple. There’s no doubt they’ve raised expectations of what consumers are expecting from their computers these days, but I have had a love/hate relationship with their machines going back over a decade.

It all change a couple of years back however, when I was running FreeBSD on all my machines at home, and where I could, at work. A lot of people involved in FreeBSD at the time were switching to Apple, and it became clear that a lot of them weren’t coming back. See, under the skin of OS X – Apple’s newest operating system – is a Unix that is based in large part on FreeBSD. One of the first to move over was Jordan Hubbard, who started the FreeBSD project and is, to my knowledge, still head of release engineering at Apple on the OS X product. He has been followed professionally by many people, and in terms of users, I don’t know of any local BSD guys who were knocking around a few years ago who don’t own Apple hardware yet.

My reaction to this at first, was somewhat… well… judge for yourself. On a FreeBSD mailing list, somebody asked if anybody had any tips for a BSD’er starting on OS X. My reply, below, aptly represents my attitude at the time (and yes, I did used to be this aggressive nearly all the time, jerk that I was):

My advice is that you sell your over-priced fashion-victim toy with it’s Fisher Price Unix installed, and use the money instead to buy yourself a top of the range Thinkpad. It will outperform it, run FreeBSD, not look out of fashion next season, has been built by a company that is truly committed to the open source movement and whose execs don’t patronise you by assuming you travel to work on a skateboard in cargo pants or worse, pander to your girlfriend’s idea of what a computer should be.

In addition, you’ll be able to easily and cheaply upgrade parts of your laptop, built as it is on commodity hardware with 3rd-party suppliers being plentiful. You’ll find either the manufacturer’s support much better than Apple’s, alternatively you won’t have to travel 300 miles to find your “local” dealer as pretty much any computer store in the country will be able to carry out any repairs you need. Spares will be cheaper, labour will be cheaper, and you will not be without your laptop for 3 months whilst a replacement TFT screen sits on a boat from Korea slowly plodding it’s way to you, thanks to a ridiculous spares and repairs policy.

In addition, you won’t be contributing to the “brain drain” that Apple has caused on the Open Source movement, will understand more about how your computer works as a result, and won’t spend half your working day fighting bouncing icons, “helpful” software that constantly tries to break into every WAP point within range and a user interface that was specifically designed to be helpful to 5-year olds and your technophobic mother. You’ll instead get to use an OS and an interface designed for somebody who understands computers, not have to put up with one that assumes you are a 6th-grader with learning difficulties.

Plus, brilliantly, people won’t point at you and laugh when you get your laptop out on a plane or in a cybercafe for spending thousands of dollars on a laptop that isn’t as powerful as Intel-based competitors just because you think it “looks neat”. You will be considered by your peers to be a man instead of a boy, a leader instead of a follower, and you won’t get any more snide e-mails like this when you post to a FreeBSD list for help with your hardware.

Hope that helps. Sorry it was you that suffered my rant on Apple kit, but you are, to my knowledge, the first in a while.

I will now don the fireproof suit.

You know what the really ironic thing about that is? Two weeks later I needed to buy a new laptop. I didn’t want to go through the pain of configuring a load of drivers and just wanted a laptop with supported bluetooth and WiFi out of the box, with some reasonably familiar BSD-style Unix. At the time I was working for a University and qualified for Apple’s educational discount. Price wise, I couldn’t get a similar spec Thinkpad – or indeed any other laptop – to compete with the iBook G4 I’m typing this article on right now. Yes, I switched. I am a hypocrite. After blasting a guy with all that, I went out and bought an Apple.

I am now at a point where within a few weeks I will need to buy some new hardware, and once again I am considering the value proposition of an Apple box. They aren’t cheap, but given that it’s a FreeBSD userland under the skin, and they now have a decent processor inside, it’s starting to look tempting to drop a couple of thousand quid on a Macbook Pro.

The problem is, when I bought the iBook it made me a bit of a radical. Now, it just makes me the same, but a different kind of sameness. When I had a coffee in my usual place in town this afternoon, I noticed 4 people using laptops – all of them Apple’s of one flavour or another. They all looked like they should be using Apple machines: they didn’t look Unix types to me, more “I don’t know how to use my mobile phone properly” types.

Whilst Apple were able to leverage the fact that Toshiba, Dell, Sony Vaio and Acer laptops were all a bit ‘samey’, the problem they might now face is that Macbook and Macbook Pro hardware now signals to the nearby people in the know that the buyer doesn’t really know what to buy so just bought something ‘easy’. There is much more variety in the non-Apple laptop market than there is within Apple’s range, and its starting to feel like a severe and horrible weakness on Apple’s part.

What’s more, whilst Apple produces a pretty decent operating system, it’s not perfect. I do prefer the power and adaptive configurations you can push a ‘real’ Unix into, even if that means I don’t get to run various commercial applications. I can now get a cheap laptop with similar high-speed Intel hardware inside to a Macbook Pro from a variety of other manufacturers and roll out Ubuntu, OpenSolaris or even my old ally in times of war, FreeBSD, with relative ease: driver configuration has improved leaps and bounds.

Oddly, by buying a Sony, or even a Dell, I would now actually mark myself out as being a little bit different once more. I’d save money, and get all the advantages of cheap servicing I mentioned in my post above. The one thing that might make me stick with Apple? I think I might have subconsciously become an Apple Fanboy. It’s not that I want to lick my Apple hardware, but I like not thinking about it, and maybe the kids in the coffee shop are onto something: who wants the pain of thinking about hardware when all you want to do is write, produce videos, mix music, write software, whatever?

Written by Paul Robinson

November 19th, 2006 at 5:09 pm

Posted in Hardware, Home, Humour, Trends

Tagged with , , ,