Facebook privacy: End of a beautiful friendship?

Bruce Nussbaum’s article Facebook’s Culture Problem May Be Fatal shows what went wrong when Facebook chose to tell a new story inconsistent with the worldview of their core users.


Web design: And then there was one

I’m pleased to announce that StoryComplete.com 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 StoryComplete.com.

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

Firefighting: Holding out for a hero

Fire-fighting often becomes a core competency at software companies. The usual cause? Our dread of no revenue forces us to accept customers who are not consistent with our worldview. Unique customers cause trouble.

You’re doing the best you can to deliver great software. You pull all-nighters and work weekends to satisfy each hard-won customer. Been there. Done that. But, while it’s great to play the hero fire-fighter occasionally, in the end something’s got to give.

Seth Godin nails it in the 2nd edition’s preface to All Marketers Are Liars Tell Stories:

There are small businesses that are so focused on what they do that they forget to take the time to describe the story of why they do it.

Continue reading Firefighting: Holding out for a hero

Change tracking: World in motion

Worldviews change; ignore at your peril. At Dynasty Technologies Inc. in the 1990s, I saw first-hand what happens when your worldview holds you hostage.

Dynasty was a 2nd generation client/server application development tool. Our main competitor was Forté Software Inc. Founded in the mid 1990s, both companies had significant venture capital funding with a growing global base of enthusiastic early adopters.

The Dynasty Development Environment generated native C/C++ code with no runtime system. Forté generated proprietary code with a runtime interpreter. For some developers runtimes were OK; for others a pure incarnation of evil. Customer’s runtime worldview was decisive for sales.

Continue reading Change tracking: World in motion

Being remarkable: Finding pleasure in small things

Being remarkable doesn’t always mean you have to develop something large. Sometimes remarkable is small, as this Clang example seen today on Hacker News demonstrates very nicely.

Clang is an open-source compiler front-end for C, C++ and Objective C. The project builds on the LLVM compiler back-end with the goal of replacing the GCC tool chain. Their worldview accepts that programmers can and do make mistakes. Amazing feats of Clang Error Recovery shows how they’ve woven this worldview into the compiler.

What caught my eye was how Clang recovers from unknown tokens. Instead of unhelpful error messages (like GCC), the Clang team chose to do something remarkable: they added a spell-checker to guess what you mean:

Continue reading Being remarkable: Finding pleasure in small things

Software solutions by Andrew Biss