Category Archives:

Archived content from, a blog for ISVs on using storytelling techniques for marketing. retired: A blog for ISVs on marketing by storytelling was a blog about helping ISVs sidelined by innovation and new players entering the game to acquire the new strategy and marketing skills they need to get back onto the field, re-enter the game and win.

Writing helped me understand my success in diverse roles in the international software industry is due to my ability to help people facing complex business challenges to discover what they need to say, and then finding the best way to say it.

This blog was an opportunity to deepen my WordPress knowledge, in particular on how the different types of object embedding work.

Update June 2012 — For ease of maintenance I’ve imported the posts from the retired blog. You can find them in category


Office tours: The 37signals story continues

Carrying on from the previous episode, the latest video from 37signals shows the build-out of the new office. From 3:3:30 onwards we get a first look at the theatre. The raised seating base looks a good distance from the front of the room. Maybe an odd perspective effect from the camera? We’ll see.

Continue reading Office tours: The 37signals story continues

Developer relations: True lies

Your stories must be true. Developers can spot lies and it’s easier than ever to spread bad news, such as on Facebook. Not to pick on Facebook, but they serve as an example of conflict between a platform vendor and developers.

Facebook is a platform for third-party applications. And not just for games; you’ll find a range of business and marketing applications as well. After all, with Facebook’s massive user base there’s money to be made.

Continue reading Developer relations: True lies

Web design: And then there was one

I’m pleased to announce that has a new design. As I hope you can see, it stresses the blog’s content and not the information found in most blog’s sidebars. If you’re seeing this post in your RSS reader then please pop over and take a look at the new

I changed to a 1-column design from the 2-column format used by most blogs. The post meta information is right of the post content; all other information in the page footer. This keeps the pages clean and highlights the content, which is, after all, why you’re here.

Continue reading Web design: And then there was one

Software marketing: A new hope

Software companies often find themselves stranded on islands of excellence, serving a small group of customers but unable to grow. Opportunistic sales result in a few more islands from time to time.

It’s depressing to see companies with excellent technology shipwrecked. A love-hate relationship with marketing is often a contributory reason. We love having many qualified leads, but hate getting our hands dirty with marketing.

Why’s marketing hated like this? In my experience the cause is often the developer background of many managers. Developers equate lead generation with advertising. And developers hate advertising even more than marketing!

Continue reading Software marketing: A new hope

Doubting Thomases: Leave the proof to CSI

I developed applications for CICS on IBM mainframes in the 1980s. At that time IBM had a project to reimplement CICS using formal methods. Reading about the Verification Grand Challenge reminded me of that project.

An ambitious 15-year international research project, its goal is to create a large repository of useful code, verified to the highest standards of rigour and accuracy. An early case study applied automated verification tools to prove CICS is formally correct. For this they used the CICS Z notation specifications from the 1980s.

Continue reading Doubting Thomases: Leave the proof to CSI

Apple developers: When worlds collide

The clash of worldviews between Apple and developers took a turn for the worse this week. For the first time, Apple will be banning meta programming tools for the iPhone and iPad. Section 3.3.1 of the latest iPhone Developer Program License Agreement states:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Continue reading Apple developers: When worlds collide