The Register Columnists

Dave Jewell

Contact Mail Follow RSS feed
The Register breaking news

A New Year's call to Apple: publish and be damned

Mac Secrets Please don't imagine that writing for El Reg is a piece of cake, much less a sizable rum-soaked hunk of Stollen with most of the marzipan in it. Like war, writing can be hell. The ink was barely dry on my first Mac Secrets column in March 2008, when I got a rather hostile email from a Mac fanboi, telling me that I would go to …
Dave Jewell, 17 Dec 2009
The Register breaking news

Icon design for dummies fanbois

Mac Secrets This month, we broaden the bailiwick of the Mac Secrets column. From now on, I’ll cover not only undocumented Apple APIs and programming techniques, but also other topics of Mac developer interest. This time around, I examine the thorny issue of application icon design. Why thorny? Well, even if you can churn out awesome code …
Dave Jewell, 26 Nov 2009
The Register breaking news

Change your views: OS X tags exploited

Mac Secrets Time to conclude our exploration of Apple's mysterious CoreGraphics framework. This time I'll show you how to change the behavior of windows by setting so-called window tags, and I'll exploit window properties to show how to snoop on the windows of another process. Window tags represent another interesting little corner of the …
Dave Jewell, 29 Oct 2009
The Register breaking news

Fun with CoreGraphics, Part II

Mac Secrets This month, we continue our exploration of Apple’s mysterious CoreGraphics framework, beginning with an anatomical overview. Then, I show you how to exploit the notification mechanism built into the framework. You’d be forgiven for thinking that the CoreGraphics library is only about graphics. It actually does a lot of event- …
Dave Jewell, 24 Sep 2009
The Register breaking news

Fresh effects for Cocoa apps

Mac Secrets I've decided to delve into Apple's CoreGraphics framework, to explore some of its undocumented features. Using these routines, you can add all sorts of wondrous effects to your Cocoa applications. I ought to begin by saying that I'm claiming no originality for the undocumented nuggets. If you trawl Google, you'll find similar …
Dave Jewell, 21 Aug 2009
The Register breaking news

iTunes minus the player: hack your Apple beats

Mac Secrets QTMovie, the principal class inside the QTKit framework, isn't just for playing movies. A while back, I provided source code for a program that browsed your iTunes library, showing all available albums and songs. You may remember that this worked by using classes inside Apple's undocumented iLifeMediaBrowser framework. One class …
Dave Jewell, 03 Jul 2009
The Register breaking news

Cloud power harnessed to dump unwanted Mac apps

Mac Secrets One of the many cool things about the Mac is the attention to detail that's been put into the user interface. For example, when you drag something out of the Dock, or customize a toolbar by removing an item from it, you'll see a little explosive "poof" animation, accompanied by an appropriately destructive sound. Well, here's …
Dave Jewell, 29 May 2009
The Register breaking news

String theory and the OS X AppKit

Mac Secrets Much of the time, we're off exploring some framework such as GraphKit or the media browser. This time it's the turn of AppKit itself, the framework that's guaranteed to be used by every self-respecting Cocoa app. Strange as it may seem, there are plenty of undocumented goodies here, too. Let's start with localization, This is …
Dave Jewell, 29 Apr 2009
The Register breaking news

Reverse engineering Apple's OS X

Mac Secrets A number of folks have asked me what tools and techniques I use to reverse engineer Cocoa executables. I thought it would be worth taking some time out from documenting undocumented APIs to show you how easy it is to do the same thing for yourself. My number-one favorite tool is class-dump, a command-line utility written …
Dave Jewell, 17 Mar 2009
The Register breaking news

Digging into Apple's hot-key mechanism

Mac Secrets Before Christmas, I explained how to use an undocumented class within PreferencePanes.framework to easily convert key codes and modifiers into human readable string representations. This time, I make good on my promise to describe the global hot-key mechanism used by Apple software such as Universal Access, Expose, and Dashboard …
Dave Jewell, 24 Feb 2009
The Register breaking news

Create high-resolution displays for OS X

Mac Secrets OK, I lied. Last time I said I'd continue our exploration of symbolic hotkeys. That can wait, though, as since then I found myself buried in the guts of Apple's new CoreUI framework and found a pressing need to talk about it. What exactly is CoreUI, you ask? As you may know, Apple is moving towards a fully-scalable, vector- …
Dave Jewell, 12 Jan 2009
The Register breaking news

The power of OS X hot keys unlocked

Mac Secrets When I kicked off Mac Secrets, the first thing I looked at was "a better way to build OS X preferences." In this installment, I'll be looking at various undocumented aspects of PreferencePanes.framework that happen to be a documented framework. Moreover, the stuff I'm looking at has got nothing to do with preference panes! …
Dave Jewell, 15 Dec 2008
The Register breaking news

Hidden recipes for OS X charts and graphs

Mac Secrets One of the many secrets hidden away inside OS X is a private undocumented library called GraphKit.framework. Despite being private, the name is familiar to many Mac developers - and for all the wrong reasons. Some while back, Apple accidentally introduced a bug into the Xcode 2.1 uninstaller software: If you chose to uninstall …
Dave Jewell, 17 Nov 2008
The Register breaking news

Apple's ImageKit exposed

Mac Secrets When Leopard arrived, a number of significant new technologies came with it, including Objective-C 2.0, Core Animation, and ImageKit. ImageKit brings together a number of classes designed to make it easy to display and edit images, view slideshows, take pictures using an attached or built-in camera, and more besides. In fact, …
Dave Jewell, 14 Oct 2008
The Register breaking news

Discover OS X's hidden artistic side

Mac secrets One of the most frequently used Cocoa classes is NSImage which, as the name suggests, is all about displaying and manipulating image data. The imageNamed: method of this class retrieves an image reference for you - provided that you know the name of the image you're after. Many of the images that can be retrieved via the …
Dave Jewell, 02 Sep 2008
The Register breaking news

Spice up your Apple applications

Mac Secrets Apple's "Professional" range of applications such as Final Cut Studio, Aperture or Logic Express have a completely different look to the standard Aqua color scheme. This comes courtesy of a private framework called ProKit.framework, intended to make Apple's professional software stand out from the crowd. And stand out it does. …
Dave Jewell, 19 Aug 2008
The Register breaking news

Leopard pimpin' method madness

Mac secrets Having dipped into the undocumented frame class used by NSWindow to handle the parts of a window not directly under the control of the application program, its time to go further. Let's dig into the methods exposed by the frame class hierarchy. The hierarchy of undocumented classes will become obvious if you checked out the …
Dave Jewell, 17 Jul 2008
The Register breaking news

The iPhone's love/hate relationship with hackers

Amazingly, it's now a whole year since metrosexuals and geeks waited patiently outside Apple and AT&T stores in the US for their very first iPhones. Since June 29 2007, the iPhone has gone from novelty spot to "oh, there's another" in bars and business meetings, as Apple has quickly overtaken Microsoft in US smartphone market …
Dave Jewell, 30 Jun 2008
chart

New vistas with windows frames

Mac Secrets Time to look at the mysterious 'borderView' object, used by the Cocoa libraries to render a window to the screen. Although you'll not often need the specialised facilities provided by the border view, they can be very useful when creating certain kinds of application. Here's a little experiment you can try. In xCode, create a …
Dave Jewell, 19 Jun 2008
iTunes logo

Serve up iTunes with Apple's media browser

Mac Secrets Let's stay with the iLifeMediaBrowser.framework, which we looked at last time. Previously, I showed how to use Apple's built-in media browser using virtually no code. Following on from that, a number of folks have asked me if it's possible to use classes in the iLifeMediaBrowser library to access your iTunes library without …
Dave Jewell, 20 May 2008
Apple logo

Behind the scenes with Apple's media browser

Mac Secrets Welcome my second “peek behind the scenes” for Cocoa developers. I enjoyed the responses to the first installment, both for and against, and especially the lively email exchanges, some of which I plan to pick up on in the near future! For now, though, let me just emphasize a couple of important points. First, this column is not …
Dave Jewell, 22 Apr 2008
Iphone

Dilemma meets opportunity: iPhone beta SDKs in review

iPhone SDKs are like buses these days, the appear so frequently. Since my introductory piece on iPhone development, Apple has rolled out an initial SDK preview, a second iteration of the SDK (Beta 2) while a third beta followed not long behind. The second beta included the much-anticipated Interface Builder application but Beta …
Dave Jewell, 14 Apr 2008

A better way to build OS X preferences

Mac Secrets Welcome to Dave Jewell’s new Mac Secrets column, focused at Apple Mac developers — particularly those using Cocoa. Here, on a regular basis, Dave will introduce you to unknown and undocumented aspects of the Foundation and AppKit class libraries that Apple has, er, neglected to tell you about… In my opinion, there’s no sense in …
Dave Jewell, 11 Mar 2008
Iphone

Go native with iPhone development

Hands on I'll admit it. I'm an unashamed fan of the iPhone. I had an unlocked device in the UK running on my cheapskate Vodafone tariff before November's official launch. From a developer perspective my real interest is in being able to create native iPhone applications. I emphasize native. There's plenty of information around on how to …
Dave Jewell, 14 Jan 2008
The Register breaking news

Hey Mr Policeman - this car is stolen!

I’m sure you’ve heard that old joke which contrasts the development of the car with the astonishing rate of progress in digital electronics. The story goes that if automobile technology had advanced at the same pace as desktop computers in the last couple of decades, we’d all be driving cars that can circle the globe on a …
Dave Jewell, 28 Aug 2007
triangular warning sign featuring exclamation mark

Don't Forget The 'C' in Objective-C

Last time round, we looked at the way an unnamed developer had used Cocoa routines to chop up a simple C-string in order to determine whether or not it contained a particular, named OpenGL extension name. A few folks pointed out that if, hypothetically speaking, some new extension name gets devised that happens to be a …
Dave Jewell, 25 May 2007
The Register breaking news

Of colour schemes and cognitive dissonance

Comment My mother trained as a shorthand-typist back in the early 1940s. As a lad, I was always impressed by her typing. With one of those old fashioned Imperial typewriters, she could bash out around 60 or 70 words a minute, which wasn't bad considering the mechanical inertia built into something that weighed as much as a Chieftain …
Dave Jewell, 22 May 2007

Vista – End of the Dream?

Column You’ve probably heard of – if not actually read – that modern-day classic, “Dreaming in Code”. The book is subtitled “Two dozen programmers, three years, 4,732 bugs and one quest for transcendent software”. For those who haven’t heard of it, suffice to say that the book covers the development of Chandler, an over-ambitious open …
Dave Jewell, 29 Apr 2007
The Register breaking news

Don't forget the ‘C’ in Objective-C

Part One Nowadays, it’s all too easy to take today’s fast processors for granted. At the risk of sounding like an old fogey, I get the impression that a lot of developers do just that. This devil-may-care attitude is not, in my opinion, the result of complacency but far more likely due to inexperience or even – dare I say it? – ignorance …
Dave Jewell, 06 Apr 2007
The Register breaking news

Giving some Juce to cross-platform tools

Hands on Last month I looked at Qt, the popular C++ cross-platform framework which underpins the KDE desktop, and a whole lot more. This time, I'm continuing that same theme by taking a look at another cross-platform C++ library called Juce (OK, no jokes about Apple Juce!) Chances are pretty good that you've never actually heard of Juce …
Dave Jewell, 18 Dec 2006
The Register breaking news

Cross platform development for Windows and Mac OS X

Hands on I’ve been fascinated by cross-platform programming for more years than I care to remember, and my interest has recently been sharpened by the acquisition of a number of Apple Macs – both Intel and PPC (PowerPC). This article focuses primarily on some technical aspects of Qt, Trolltech’s cross-platform C++ toolkit which, as you …
Dave Jewell, 19 Nov 2006