Tag Archives: Mac

Back to my Mac, aka Lionification

There are simply so many things to write about lately, but the one which has finally prompted a post is this:

Lionificated

… yes, it’s a computer desktop. Exciting stuff, huh? đŸ˜›

Background

I’ve been a Mac user for a little over four years now. In fact, the journey has been more-or-less chronicled here on my blog since acquiring a MacBook Pro in 2007. I still have the same machine, and it is still in great condition, although I’ve been through several batteries. It has never seen a fresh install of the OS since it shipped (with OS X Tiger 10.4) – instead, it has been upgraded through Leopard and Snow Leopard (which I really liked on its debut).

Over time though, it has become less central to my computing experience. I moved from Windows to Ubuntu on my day-to-day work machine, and my computing life fragmented to include a netbook, smartphones, and most recently a tablet (which is yet another of those things I keep meaning to write about!). Main use cases for the Mac continue to be Keynote – by far the best presentation software available on any platform, in my opinion; Lightroom and iMovie; and iTunes, which is firmly embedded in my life as a sync source for my iPhone and for organising my music library. Even though the iTunes data itself was migrated off the now-comparatively-weedy 120Gb internal drive a couple of years ago, I’ve continued to struggle for a comfortable amount of available disk space, but I still use the Mac for all of those things and I can’t really think of a viable alternative, despite the cloudification of many of the other services I use and their associated data.

Pros and Cons

When Lion was announced and the features previewed last year, I really struggled to see anything compelling in the release. It was clear that it was the iOSification of the desktop OS. The early views of Mission Control looked cluttered and bloated (combine Dashboard, Spaces, and Expose? surely a mess?). I wasn’t a fan of the idea of the Launchpad, I didn’t have a multitouch trackpad, I like to be able to switch and recompose app windows on a GUI and not run things full-screen. My early experience of the Mac App Store wasn’t positive either, with many apps I’d previously purchased having to potentially be repurchased to get the benefits of autoupdate that the App Store could bring.

My early 2007 MacBook was just on the cusp of supported hardware for Lion (it scraped in by virtue of the Core 2 Duo processor; I bought a Magic Trackpad a little while ago to take advantage of gestures, although since it’s separate I still haven’t used it a great deal). I already mentioned my continual struggle for space on the hard drive, but knowing that Apple had actually managed to make the OS smaller in previous releases by getting rid of legacy cruft, it seemed like Lion might be worth a shot.

I spent the week before the release cleaning things up – removing any remaining Classic apps or PPC apps that relied on the now-defunct Rosetta (very few, mostly old camera drivers which were only included in their respective packages to support older machines at the time they shipped); running OnyX to clean out caches and logs; uninstalling anything I’d not used for a long time; cleaning down Library and Application Support folders associated with software I no longer use. Yes, a clean install would have got around this, but on the flipside I would have spent a lot of time putting things back the way they were and reinstalling software. Once I’d done the upgrade I was miffed to discover that the installation package had vanished, but I’m glad that the brilliant Don McAllister has found a way to recover it from the Mac App Store for future use!

So what do I think?

Well, the scrolling thing is interesting. I get the reason that so-called “natural” scrolling has been introduced to unify the touch interfaces across OS X and iOS, and I also realise that while I could switch it off, it’s not going to go away so I may as well get comfortable with the idea. It’s one of those brain-rewiring exercises, similar to the one I’ve been going through learning Unity on Ubuntu, and for the same reason – there’s little point in fighting the future once the decisions are made.

Now for two things I didn’t expect to like: Mission Control and full-screen apps. I really, really like them… I’ve always used a large number of Spaces to organise my workspace and I’m finding that Mission Control makes this even more intuitive. I can still quickly zoom out to have an overview and move things around, and if I’m using the Magic Trackpad the swiping to switch apps and spaces is nice too. There are a few apps that need work on their full-screen modes, notably Chrome, but that will come in time.

I’m not bothered by iCal or Address Book having strange faux-“natural” new looks, since I’ve migrated almost all of my use of those apps to Google anyway, for maximum interoperability across devices and platforms. On the rest of the visual aspects, I’m not sure I like the “zoom/pop” dialog boxes yet. The more rectangular buttons do seem more serious and polished than the older Aqua lozenge style, but it’s a shame to see a much more grey overall feeling across the UI.

Java is gone, as Apple said it would be, but the procedure to get it back was very smooth and simple, typing “java” in a command window started an Apple Update installation, with within a few moments it was all done.

Java on Lion
A couple of little niggles with some other apps. I also found myself resetting my Dock (which I’d been running in 2D with various folders docked as Stacks) to its default state by clearing down the associated .plist files and restarting it, to get it back to the way Lion comes out of the box / download.

The future

I mentioned a tablet and a variety of other lightweight devices, but I can’t see myself abandoning the PC device (in this case a laptop of some kind) just yet. As I mentioned in the discussion of scrolling, I’m firmly of the opinion that we need to adapt to new ways of interacting with technology, and I’ve got a range of devices to play with right now. However, I haven’t yet found a replacement for the keyboard / graphical desktop / pointing device combination that is as effective for creating content as a PC (be that Mac, Windows or Linux, with keyboard and mouse/trackpad/pointer). I can type quickly on a touchscreen smartphone or tablet now, but it’s still not as comfortable for creating text and laying out images as a graphical computer desktop of some kind. I can perform simple and basic image or video edits on a mobile device, but again for anything more extensive I find myself wanting to see more and have finer control than I get with a fat fingertip on a small touchscreen.

So all of that leads me to think ahead to a next device… not that I must have one at the moment, but still. I’ve increasingly fallen out of love with Apple over the past year or two as they have behaved in an increasingly anti-competitive manner over Android, the App Store, made silly restrictions locking out hardware replacement in new iMacs, etc. – but I can’t see myself escaping the ecosystem completely due to the quality of the software I’ve already mentioned, even though I’m not locking myself in to the entire Apple life end-to-end.

The new generation of MacBook Airs hit on Wednesday alongside Lion, and I’m reconsidering whether or not that would make an acceptable replacement for an older 15″ MBP. On paper, at the expense of a diagonal 2″ of screen real-estate, I would still get +1Gb RAM, potentially more storage (256Mb flash storage over 120Gb HDD), a CPU that’s clocked slower (1.7GHz vs 2.33GHz) but probably runs faster due to architectural improvements… it’s tempting… if I could be convinced that I’d get the performance I’d like in iMovie and Lightroom, and if I had the cash, then I might make that jump. I suspect that Lion and the Air make a great match.

Advertisements

OS X mosquitto “bites”…

In my post last week about the new MQTT support coming to WebSphere MQ I very briefly mentioned that there are some third-party tools that already implement MQTT. One of those I pointed to is the very neat mosquitto broker, a project started by Roger Light.

mosquitto has been around for a while now and is aiming to replicate the functionality of the Really Small Message Broker that is on IBM alphaWorks. One of the neat things about it, from my point of view, is that it there is an Ubuntu PPA repository, so with a couple of apt commands, I can install a running MQTT broker and build my own applications independently (NB there are packages for other Linux distros too, as well as Windows). When I want to do some “heavy lifting” or share data with my ESB, I connect up my local mosquitto broker to pass messages across to WebSphere MQ through the new telemetry channels – because MQTT supports a concept of bridges, and both RSMB and mosquitto both include support for bridging.

I noticed that there wasn’t yet a version available for Mac OS X but figured that it shouldn’t be too difficult to compile and run it on that platform. As it happens, it did turn into a bit of an adventure for a couple of reasons, but at least I learned from the experience. If you’re desperate to build yourself a version to try some MQTT development on the Mac, here’s what I had to do to get it going on Snow Leopard:

  1. Installed mercurial, and a GUI for it called Murky (which requires the hg command line tool from the base mercurial package). The sources for mosquitto are in bitbucket, a Mercurial repository… this is optional of course as I could have just used a source tarball.
  2. Grabbed the latest mosquitto source from bitbucket.
  3. Modified the Makefiles throughout the mosquitto tree to build libraries with a .dylib instead of a .so extension (the default on OS X), and also changed the -soname parameter to -install_name which the OS X version of gcc understands.
  4. At this point the compile was starting to show progress… but failing due to missing symbols… the offender being one from sqlite, _sqlite_enable_load_extension. Turns out that the version of sqlite shipped in OS X 10.6.x is 3.5.4 but it does not have extension loading functionality built in, as evidenced by nm -g /usr/lib/libsqlite3.dylib | grep 'sqlite3_enable'
  5. Downloaded sqlite3.8.0, configured it to install to /usr/local (to avoid overwriting the default OS X shipped version), and built and installed it with no issues.
  6. At this point the compile was pretty smooth, once I modded Makefile link and include lines to point to the new version of sqlite in /usr/local. The only thing that failed was documentation, but that was “optional” đŸ™‚
  7. Trying to start the broker failed… because it was trying to load the sqlite3-pcre extension.
  8. Installed git (the source for the sqlite3-pcre extension is in a git repository).
  9. Grabbed the source for sqlite3-pcre and built and installed it using:
    gcc -shared -o pcre.so -L/usr/local/lib -lsqlite3
              -lpcre -Werror pcre.c -I/usr/local/include
    sudo mkdir /usr/local/lib/sqlite3
    sudo cp pcre.so /usr/local/lib/sqlite3
  10. The final issue was that the path to the pcre extension is hard-coded into mosquitto/src/conf.c so I modded that to point at the version in /usr/local and recompiled. I’m assuming that this would not generally be required, but it worked as a hack to get me going!
    D’oh. Just realised that this is precisely what the ext_sqlite_regex variable in the mosquitto.conf file is for. Shouldn’t have bothered!

So that was it. Being fair, if I hadn’t been feeling my way through that, I would have installed git and mercurial, grabbed all the lib sources for sqlite3 and pcre and built them, built mosquitto, and been good to go. At this point, the broker and test clients are runnable (assuming the library paths are set up appropriately):

DYLD_LIBRARY_PATH=/usr/local/lib ./mosquitto
DYLD_LIBRARY_PATH=../lib ./mosquitto_pub -t test/andy
        -m "hello world"

If you are interested in seeing this in action, here’s a short (and silent, but annotated) screencast:

The Java GUI application you see in the screencast is the test client shipped in an old IBM SupportPac, IA92, a Java implementation of MQTT. The final release of the WebSphere MQ Telemetry component for WebSphere MQ will contain something similar, considerably enhanced and integrated into WebSphere MQ Explorer.

In other news, Roger recently announced version 0.8 of mosquitto, which now has slightly different packaging and includes C, C++ and Python clients. I hope to give these a test drive shortly!

Things I like best in Snow Leopard

There are a heap of things I’m really liking about Snow Leopard so far… even though it turns out that my early 2007 MacBook Pro can’t take advantage of a lot of the under-the-covers enhancements đŸ˜¦

  1. The new (configurable) Dock behaviour to have application windows minimise into their app icons – combined with the click-hold-Expose feature, this has made the Dock useful for me again. I’ve moved it from autohiding at the side of the screen, to permanent (but 2D) at the bottom.
  2. Safari running Flash as a separate process. Far fewer browser crashes.
  3. Nearly 15Gb of reclaimed disk space. Seriously! Could be the fact that I opted for a custom install and removed most of the language support I didn’t need, too, and also influenced by the fact that Snow Leopard reports disk space differently.
  4. Scrollable, more intelligent grid views in Stacks. The Dock is even more useful.
  5. Seeing the date in the menubar. Bye bye, MagiCal.
  6. Setting Spotlight search to find in the current folder by default (in Finder preferences).
  7. The default screen gamma setting is now 2.2 – at last.

If you want to dig a bit deeper to find some of these things, check out a couple of Macworld articles – I wouldn’t have known about them otherwise! All-in-all then, a minor upgrade with a bunch of welcome changes.

Thoughts on Google Chrome OS

I’ve resisted writing anything on the recently-announced Google Chrome OS, for a number of reasons… the most significant one being that so far, we don’t know a huge amount about it. This hasn’t stopped reams of opinion being written or spoken about it anywhere else though, so a week on from the announcement, I thought I’d lay down a few opinions of my own.

First of all, I always felt that the Chrome browser itself kind of pointed towards an operating system, since the engineers were clearly thinking in terms that you’d usually associate with an OS – ideas like the threading model immediately made me think of the domain of the operating system. The “Google OS” has been one of those rumours that has consistently failed to die.

So what do we know? We know that Google Chrome OS will be based on Linux and will be largely open source, and that the initial target constituency will be the netbook market but that it has ambitions to the desktop. We know that it will have a new windowing system (bye bye X). We hear that Google has been courting various netbook manufacturers, and we know that it should be out sometime in 2010.

On the threat to the desktop

Scott Bourne was saying on MacBreak Weekly this week that he felt this meant it would be no real threat to Mac OS X, and I guess the ensuing discussion really sparked the majority of this post. Scott based his assertion on a straw poll of people who he’d asked “OS X or Chrome?” (a: OS X) for laptops, and “Chrome or Windows Mobile?” (a: Chrome) for PDAs. I just think that’s an impossible discussion right now. So far it’s vapourware. We don’t know what Google Chrome OS will look like and we don’t know what features it will have. It’s pointless to try to compare it to existing operating systems at this stage.

The other reason the MacBreak Weekly crew decided that Chrome OS wouldn’t be a threat was that it would initially be limited to netbooks but “will it actually be able to make the step up to the desktop?”. This is an interesting discussion, as it assumes that the granddaddy / holy grail of machines is the desktop computer. But… wait a minute. Haven’t Apple spent the past two years convincing the whole mobile market that they have to have fully-capable computing platforms on their handheld devices? Isn’t the netbook market exploding? Aren’t laptops outselling desktops? Aren’t computers and televisions converging via set-top boxes and streaming media? People want computing power and access wherever they are, in a form factor that fits. I think the suggestion that the desktop is still “where its at” is deeply, deeply flawed – the desktop is dying, and has been for a long time. The desktop is a place where people occasionally anchor themselves, but the rest of the time they are moving around and taking their platform with them.

So is it a threat? On netbooks, in my opinion, yes – probably to both Linux and Windows. As for Apple, they aren’t going to be keen to let anyone run another OS on their hardware, and they’re not currently in the netbook market, so it probably is not a big deal right now. Windows XP still seems to be an OS of choice on many netbooks, but Microsoft probably will finally kill that with Windows 7. There are too many Linux distributions around (Linpus, Moblin, Ubuntu) vying for a slice of that market. The Google brand, combined with an experience that is genuinely pleasant, could take chunks out of both sides of that market. From there, who knows… but if it is Linux-based, we already know that that scales from big to small machines, so there are plenty of places it could go. I personally think it will be interesting to see where they choose to go with the user interface, and this is the area that will determine the future.

On the cloud

I think the idea that Chrome OS could be a lightweight system with the majority of content hosted in the cloud is particularly interesting. How secure are we all feeling this week about the safety of the cloud? In the light of the Twitter hack, I imagine that people are rethinking the security of the public cloud, anyway. Paired with a secure behind-the-firewall private cloud, a lightweight OS like this makes a lot of sense. That’s not to say I don’t like the flexibility that cloud/web-based services offer me – I use many of them, including things like Google Docs. Of course, you need a network connection for it to be effective, and it’s true that bandwidth is becoming pervasive, although if you take a look at 3G coverage for various UK mobile operators (hint, look at the PDF and the maps *per operator*, not the overall coverage map), you might want to rethink your dependence on that, too.

On the image

Will Google be able to get away with labelling Chrome OS “beta” to start off with? I think that in order to get people to use it, beyond the Google brand name, it will have to be really good, polished, and / or flashy and convincing enough as an initial experience for people to base their computing lives on it. I think it will probably have to have had more testing than many of the existing Google cloud web products.

Final thought

Right now, all we can really say is: “well, this is interesting”. We can speculate, but frankly, I don’t think we know enough to say anything more. That’s all I’m sayin’.

My Mac Menubar

Continuing some of the posts about Mac software and tools I use, this might be of interest – a few of the applets you’ll find in my menubar. The vast majority of these are free.

My Mac Menubar

View full size

  1. LittleSnapper – handy for taking annotated screenshots or grabbing webpages. I don’t run this all the time, but it was running to take this shot.
  2. Google Quick Search Box – I’ve been a Quicksilver user for a long time, currently I’m trying out QSB instead.
  3. Camouflage – hides the icons on the desktop. Great for recording screencasts, or just for tidying up.
  4. DropBox – handy for sharing files between Windows, Linux and Mac.
  5. Caffeine – disable screensaver for watching movies and presentations etc.
  6. iScrobbler – for Last.FM support
  7. Skitch – my screen capture utility of choice, which I do have running all the time. Not as good for annotation or web page capture as LittleSnapper, but quicker to use.
  8. Evernote – todo lists and note taking (syncs with iPhone)
  9. Eject applet
  10. Canon printer/scanner utility for the MP620
  11. SoundSource – very handy tool to select input and output sources, great for podcasting etc.
  12. Displays (enabled from System Prefs) – useful for presentations and viewing video on the TV.
  13. Language (enabled from System Prefs) – quick access to language, special characters, keyboard viewer, etc.
  14. MagiCal – pop up monthly calendar