Tonight: Presentation to PHPNW

Posted on 5 May 2009 - 5:13pm

Tonight I'll be giving a presentation to PHPNW (event details here) on the subject of Object Relational Mapping in PHP. Putting together a presentation on this topic has been interesting and has caused me to look much more closely at the different types of ORM available. In particular, I've gained a new appreciation of the Zend Framework approach, built around the Table Data Gateway and Row Data Gateway patterns, rather than the Active Record approach favoured by Doctrine (and as used in the Symfony framework).

Active Record's popularity probably owes a lot to the popularity of Rails, which I've never used (I once had a choice between learning Rails and learning Django, and went for Django; I've never felt like revisiting it since). I'm not sure that Active Record is such a good fit for PHP, and using Doctrine does sometimes feel like a lot more complexity than is really needed to get the job done.

Anyhow, if you're interested in ORM and live in or around Manchester (a Venn diagram with a vanishingly small intersection, I'd imagine) then feel free to pop along. See you there!

PS: I've now created a page where you can view my presentations - I'll add this new one tonight once I've given the talk.

An amusing bit of spam

Posted on 13 April 2009 - 12:40pm

Looking through my email this morning, I encountered a fairly normal spam email:

Hi my dear,
my name is joy and i am a beautiful young girl with full of love and carely,
well i saw your email address in your profile today at (www.econsultancy.com)and i love it,
i think we can click together and be good friends
contact me with my email address(**********@yahoo.com)
i will like to show you my photo and at the same time you will know more about me.

thanks for your understanding
joy.
this is my email address (**********@yahoo.com)

This raises an interesting question. I want people to be able to contact me via professional networking sites like Econsultancy, including people that I don't already know. But at the same time, I don't want to receive spam.

The real problem is that I now have to decide if I want to remove my email address from my profile, potentially missing out on useful contacts, or leave it there and suffer the accumulation of spam as my address works its way through the databases of spam operations that will crawl the site. I like the idea of people being able to access my email address when they have some legitimate desire to contact me.

On my own site, this is not a problem. I have a contact form which people can use to contact me. This allows me to do some filtering of the inputs, and also means that I can add a captcha or similar security measure if I want to. What I can't do is place my own contact form on Econsultancy's directory, with control over what passes through it. It's all or nothing - share my email address, or share nothing.

Consorteum

Posted on 7 April 2009 - 7:37pm

This post is to celebrate the launch of Consorteum, a collective of small - but expert - tech agencies based in and around the North West of England. My employer, PRWD is a member of Consorteum, so, by extension, so am I.

The people involved in Consorteum are all highly-skilled experts in their fields, and I'm proud to be listed alongside them. It's great to know that there are really talented people who we can collaborate with on major projects. I've always really liked the collaborative business model and I'm looking forward to see how it works out.

If you have a requirement for e-commerce development, .NET development, software project management, usability consultancy or PHP development, Consorteum is where to go!

Using XMind Mind Maps in OmniFocus

Posted on 4 April 2009 - 1:42pm

If you're here for the XMind-OmniFocus import script, click here

I recently purchased a shiny new MacBook, which I'm really enjoying using thus far. This is my first Mac, and so not only do I get to discover lots of interesting new MacOS features, I also get to use a whole range of applications that I've never used before.

One such is OmniFocus, a GTD-oriented task manager. I'm only on the 14-day trial at present, and I'm going to use the full 14 days to see if it's really as useful as I want it to be (regrettably, this is rarely the case with 'productivity' applications). But having become a recent convert to the concept of mind-mapping, I also want to be able to create and manage task lists in mind-map format. It's just a far more intuitive way of creating lists of things than OmniFocus' outline/list approach.

I use MindJet MindManager at work and, whilst a Mac version is available, I'm not sure that I want another purchase. A quick scan for open source alternatives turned up XMind, an Eclipse-based mind-mapper. XMind (the free version, at least) certainly lacks some of the features of MindManager, but for the core task of creating mind maps it's just as good, and certainly feels a lot more polished than the other free alternative, FreeMind.

A bit of Googling around led me to this thread on the OmniFocus forums where a user, Udo Gaetke, posted an AppleScript which could parse the XML in XMind files and pipe that through to OmniFocus in the form of tasks. There was only one problem: the script is obviously a bit old and didn't work with the current version of XMind. Fortunately, AppleScript is incredibly easy to pick up simply by reading the code, so I've managed to fix the script for the newest version of XMind. In the hope that others might find it useful, I've posted it here (see the link below for the download).

To use it, simply open the file in the AppleScript editor and run it. You will also need to create a Group in OmniFocus called "Mindmaps" - this is where all tasks/projects copied from your Mindmaps will appear (you can, of course, move them later). Once the script runs, select your XMind file and wait a few seconds as the tasks are copied across. A Growl notification will appear when the process is complete.

Requirements: XMind, Growl
Download: click here

A brief video on VRM

Posted on 11 March 2009 - 8:22am

On March 2nd I attended the PHP UK conference in London, and whilst there I had an interesting chat with Craig Smith of O'Reilly GMT, about various things which eventually led on to a discussion of VRM and the VRM Hub event I'd attended the previous evening. It was a really interesting discussion, and Craig suggested that I record a brief explanation of the concept to appear on the O'Reilly GMT blog. The post is now up here, and you can view the video embedded below:


What's a consumer?

Posted on 3 March 2009 - 9:52pm

pacman.jpg
At the VRM Hub meeting last Thursday, there was an interesting - although somewhat arcane - discussion about what we mean by the term "consumer". Opinion was split between those who regarded "consumer" as a negative term and those who saw it as a value-neutral label to apply to anyone who is a regular purchaser of a vendor's goods or services.

"Consumer" is a word that is often used, with little apparent thought for the suitability of its use; we hear about public services having to regard their users as "consumers"; we now "consume" many things that we might once have participated in; detractors of modern society often rail against "consumerism", but it's little surprise: the promoters of our current way of life have almost deified "the consumer" and make "consumer confidence" the measure of a successful society.

But what is a "consumer"? As I often find, I get my insight into this question from the world of software development: we occasionally talk about software programs that act as "consumers" of data services. For example, an RSS reader is a "consumer" of the XML data served up by my blog. Generally speaking, "consumer" is used to signify a passive recipient of the output of a process. So, my blog software produces whatever it produces and the RSS readers consume what they're given. There is no participatory process there; consumers simply consume.

The only realistic input that a consumer can be said to have is by giving evidence of its existence - the consumer has a binary state, either "consuming" (present) or "not consuming" (absent). My blogging software might have the ability to produce a neat graph showing the rise and fall of the number of consumers over a period of time, but that's all. I am reminded here of the concepts of exit, voice and loyalty, which are used to examine and diagnose situations in which organisations relate to their customers as simple consumers. The binary state of consumers corresponds exactly to the concept of "exit", in that an exiting consumer enters the "not consuming" state.

This has as much to do with organisational psychology as anything else. If we see people as consumers, we can really only relate to them in terms of whether or not they are consuming. This is a deeply crude vision of how markets and economic principles work, but it seems at times to be principle that animates our political leaders. For example, the belief that hospitals can be improved by measuring the rate of consumption of their services - if fewer people choose to be treated at a hospital, that hospital is to be assumed to be failing, ultimately to be closed if it does not reverse the trend. Whilst this is better than no feedback, it's an absurdly simplistic view of human behaviour and one which is only possible because the individual is reduced from a complex bundle of emotions, desires and interests into a being capable of only two states of behaviour through which we can measure their will.

Approaches such as CRM are there to ameliorate the worst effects of a "consumerist" perspective. Organisations gather data about their consumers in an effort to understand the mystery of why, sometimes, they stop consuming, like a faulty lightbulb that occasionally flickers and goes out. A good CRM operation can do a lot to gain understanding of the mindset of many core customer groups and, since that may be the best that anyone can hope for, companies employing this approach tend to succeed in a competitive marketplace. But there is surely room for considerable competitive advantage for companies that can develop the means and the desire to engage with customers in roles other than that of "consumer". "Participant", "collaborator", "cooperator" and "advocate" are all feasible roles. Doubtless there are more.

All of which proves that "consumer" might not be the neutral term that we often think of it as. And it may also be worth wondering if perhaps "consumer confidence" falls not because we lack confidence in ourselves, but lack confidence in the very idea of being a consumer?

VRM and identity

Posted on 25 February 2009 - 9:40pm

In this post on VRM, I made a fairly innocuous statement:

Consider any local, independent shop - a greengrocer, for example. Let us imagine that this greengrocer has access to the VRM data of a reasonable cross-section of the local community; this needn't be more than a few hundred people. In return for providing (suitably anonymised) data about their shopping habits, these customers receive a small discount when shopping at the store in future. The data gleaned might be enough to alert the greengrocer to market opportunities which they could not have known about in any other way

For this, I was pulled up (see the comments and this full post) by Adriana Lukas. Adriana is a major figure in the world of VRM, so when she pointed out a flaw in my statement, I have to take it seriously.

Adriana was taking issue with my use of the term 'anonymised', on the basis that information provided anonymously cannot be used to sustain a relationship. She correctly states that for a full relationship between vendor and customer, both must be able to identify each other. This is clearly true; anonymisation would prevent such a relationship from forming, as the vendor would see customers as anonymous bundles of information and desires.

But I can't help but wonder, after giving it some thought, whether this is entirely a bad thing. Yes, the greatest possible value one could extract from VRM is one in which full information is shared between participants in the relationship. It's a basic principle of market economics that markets function more efficiently when participants gain more information, and less efficiently when information is concealed. But there are other values to be considered, and there are certainly those who feel that their identity is one piece of information that has such value that they wish to conceal it even at the price of some efficiency.

In a world of perfect security and perfect trust, I would be happy to share everything. But I may have many different relationships with many different vendors, and my identity might not always be something that I'm willing to share. For many transactions, precise details of identity are not necessarily required. Services such as PayPal can allow vendors to process payments without gathering any personal data (other than a shipping address) from customers.

The second key point is that identity is difficult. It's really, really hard to prove that I am who I say I am. There are a small number of organisations which may be in a position to verify that claim, and not all of those would be willing to give guarantees for which they might be held liable. In contrast, 'soft' ID systems are everywhere: the standard email address/password combination that gets you into Facebook, Twitter etc. is very soft ID, but it works. The name that you give to retailers when you purchase from them can be inaccurate, provided that the payment details you give are accurate. And yet, these soft ID systems, in which nobody can really rely on that ID being accurate, have worked perfectly well for the massive expansion of commerce on the web to date.

In short, are there not plenty of situations in which a degree of anonymity is perfectly acceptable? Provided that the vendor knows that I am the same person who bought from them a week earlier, they do not need to know my name; my identity is not strictly necessary in order to use my data to provide me with a tailored shopping experience or product recommendations. This is not to say that identity is not important, but to insist on the provision of a valid identity as a prerequesite for VRM-style data exchange could rule out a lot of valuable transactions. In particular, from a technology standpoint, delaying any deployment of VRM technology until the Gordian knot of provable identity has been cut could delay adoption severely, at a time when the economics of VRM are otherwise very attractive.

Now, I'm still fairly new to the VRM debate, so perhaps I'm merely displaying great naivete in posting this. Either way, I'm going to be attending the VRM hub event tomorrow night and will hopefully have a chance to find out more from Adriana and others in person.

VRM: Exit, Voice and Loyalty

Posted on 8 February 2009 - 11:06pm

This post is part of a series:

  1. Vendor Relationship Management
  2. VRM: Rent, don't buy
  3. Data Egalitarianism

You may find it helpful to read (or at least skim) these before continuing.

Exit, Voice and Loyalty is the title of a 1970 book by the economist Albert O. Hirschman in which he examines the failures of organisations and the influences that can help to rescue them from failure. His thesis (by no means unique) is that organisations tend, naturally, to have a considerable amount of 'slack' or under-performance in their activities and, absent any pressures to the contrary, this slack will increase over time as the organisation becomes less efficient. Without feedback to regulate performance, organisations will simply drift and, crucially, this results in poorer service for their customers ('customers' is here used as a catch-all for consumers, citizens, patients etc.).

Hirschman identifies two primary means by which customers of an organisation can pressure that organisation to improve: exit and voice.

Exit is simply the choice to sever the existing relationship - no longer buying from a particular shop or a particular brand, choosing to be treated in a different hospital, or emigrating to another country. If enough people do this, it should send a clear warning signal to the organisation that they are failing to meet the needs of a significant number of their customers.

Voice is exercised when the customer chooses to complain, campaign or attempt some kind of communication with the organisation without exiting (though the implied threat of exit remains in many cases). Examples would include writing a letter, organising a petition or making a view known on a blog. Voice allows the speaker to request specific changes to how the organisation operates.

A third concept, loyalty, is covered in the book - loyalty affects the likelihood of choosing exit or voice, as well as the amount of decline in performance a customer is willing to put up with before making the choice.

Astute observers may notice that exit is the system primarily associated with markets in which customers can choose from a wide number of providers and there is little cost to switching, and voice is the system primarily associated with democratic government, in which government claims a monopoly on the provision of certain services and exit is a costly option, but elections and public pressure can mean that voice cannot simply be ignored. Of course, this distinction is not a clean one, but it does reflect certain tendencies. Hirschmann himself notes that voice is the preferred concept for political scientists, whilst exit is the preferred concept for economists.

This quote is illuminating:

The customer who, dissatisfied with the product of one firm, shifts to that of another, uses the market to defend his welfare or to improve his position; and he also sets in motion market forces which may induce recovery on the part of the firm that has declined in comparative performance. This is the sort of mechanism economics thrives on. It is neat - one either exists or one does not; it is impersonal - any face-to-face confrontation between customer and firm with its imponderable and unpredictable elements is avoided and success and failure of the organisation are communicated to it by a set of statistics; and it is indirect - any recovery on the part of the declining firm comes by courtesy of the Invisible Hand, as an unintended by-product of the customer's decision to shift. In all these respects, voice is just the opposite of exit. It is a far more "messy" concept because it can be graduated, all the way from faint grumbling to violent protest; it implies articulation of one's critical opinions rather than a private, "secret" vote in the anonymity of a supermarket; and finally, it is direct and straightforward rather than roundabout.

Hirschman goes on to point out that economists are apt to regard voice simply as too confusing to be useful. How can you measure performance based on the analysis of communication with customers, when the sample of customers who engage in this communication is self-selecting? And these messages are written in natural language, which can mean different things to different people. How do we know that something which causes great dissatisfaction to one person will have the same effect on others? In contrast, the "bottom line" is definitive: if sales went up, we know people like the product.

This is the logic which, albeit often poorly applied, lies behind many "market-oriented" reforms in government services in recent years. And it's certainly true that exit has a unique ability to focus the minds of the people running those organisations whose customers are leaving in droves. But voice should not be so lightly dismissed. Voice can be much more specific about the reasons for dissatisfaction, in a way that exit cannot. Many businesses might not know why they lose customers; they are reliant on the data that they have gathered about those customers to identify what they may have in common, which in turn may give some hint as to why they are no longer customers.

VRM is a much more customer-driven approach to customer-vendor relations than typical business practices. Instead of vendors managing their customers, customers manage a choice of possible vendors. In doing so, they will likely be heavily swayed by the voices of other customers - in blogs, reviews, Twitter messages and so forth. And there's always offline communications! Already, one of the world's largest experiments in VRM, eBay, makes prominent use of customer reviews of vendors. Having many bad reviews will greatly harm a vendor, whilst positive feedback is extremely valuable. What this means is that bad reviews are not bad per se, but unaddressed bad reviews are potentially catastrophic; if you're doing something wrong and you don't fix it, you can expect a long list of complaints that will undermine your business. Experiences like this will become common as businesses attempt to clean up the damage to their reputations.

However, VRM should allow for businesses to be much more reactive to voice. By encouraging customers to come forward, even with complaints, the business can react sooner and deliver a better experience in future. This picks up a point I made in an earlier post, that VRM allows the business model of a small firm with personal relationships with its customers to scale up to a mid-size business and beyond. When Hirschman wrote - in 1970 - that the primary motivating factor for businesses was almost always fear of customer exit rather than voice, it was with an implicit assumption that any corporation over a certain size would be "faceless" and incapable of understanding the complexity of their customer's opinions. The first exceptions to that rule were created by the major multinational corporations who have enough customer data to gain statistical insights; VRM opens up that possibility for smaller businesses. And so, voice is, at least as far as the eBay example is concerned, providing a useful alternative and complement to exit as a measurement of success.

Assorted Links 6th Feb 2009

Posted on 6 February 2009 - 9:22pm

  1. Adriana Lukas on her VRM journey
  2. Steph Gray examines how co-creation of online public goods can be more effective than traditional government agency delivery
  3. The semantic web for finance is a nascent idea at present, but Sean Park is calling for action
  4. Something too many good people are having to think about right now: how to polish your CV and get ahead in the job race
  5. Panic? Bruce Sterling thinks that panic will be the leitmotif of 2009
  6. And finally... last week, PRWD sponsored an event titled "Usability: What's the Use?". You can see Paul Rouke's presentations from the event here.

Data Egalitarianism

Posted on 1 February 2009 - 1:39pm

Following on from my recent post about the economics of VRM, particularly as it applies to small and large enterprises, I'd like to sketch out some more examples of how I think that this could apply.

The key point in my previous post was this:

What VRM offers is a different means of using data to drive a business, where you 'rent' the data from its owners - the customers - rather than 'buying' the data through mining. Just like renting, you don't have to worry about the asset depreciating in value because you've failed to maintain it - in a VRM scenario, you get automatic updates to the personal data of your customers so long as they continue to consent. The costs of acquisition are negligible; it might be necessary to offer some incentive to customers to provide their data, but this can be in the form of discounts or other benefits which only apply when you're generating cashflow in the first place. And as the quality of data improves, the need for overwhelming quantities of data is mitigated.

In other words, VRM might make it effective for small, local businesses to have access to data of just as high a quality as that available to multinationals. Consider any local, independent shop - a greengrocer, for example. Let us imagine that this greengrocer has access to the VRM data of a reasonable cross-section of the local community; this needn't be more than a few hundred people. In return for providing (suitably anonymised) data about their shopping habits, these customers receive a small discount when shopping at the store in future. The data gleaned might be enough to alert the greengrocer to market opportunities which they could not have known about in any other way - for example, a local demand for health foods or organic produce. From studying what customers are buying when they shop at local supermarkets, the greengrocer can begin to compete with them. Customers, too, begin to get more of what they want. It's not too hard to imagine such a system being used by a wide variety of local, independent shops.

What this represents is a shift away from the present situation, where the only businesses that can adapt effectively to our shopping patterns are those that can afford the massive data mining operations necessary to divine our habits, to a situation where that data is available (with consent as a requirement) to anyone who can make good use of it. One of the major competitive advantages of size - the ability to afford data mining - would disappear, shifting the balance in favour of the local independent suppliers. In the title of this post I have termed this 'data egalitarianism', meaning that all parties can have equal access to our data should we deign to share it with them.

This approach is also very scalable. 'Scalability' is a term often used by IT people to mean an approach which copes well with an expansion in its scope or intensity - for example, web server software is considered to be 'scalable' if doubling the number of physical servers also doubles the capacity of the site. At present, monitoring what your customers want is possible for micro-businesses because there tends to be personal contact between the people running the business and their primary customers. And at the high end, large corporations have sophisticated data mining operations designed to replicate the kind of knowledge about customer desires that personal contact would yield - the personal contact approach is not scalable. Mid-tier businesses suffer because they lack the personal contact of the micro-business and the data mining of the large enterprise. VRM addresses this because it works just as well at any level.

A store with a single outlet might have, perhaps, less than a hundred customers feeding in VRM data. But when another outlet opens, they might gain another hundred. The costs - in terms of either direct payments or discounts to these customers - do go up, but only in line with the size of the business. There's no point at which the business has to leap to the massive expense of data mining. This means that our small independent greengrocer might be able to expand, opening up a few more outlets in neighbouring towns, without incurring any disproportionate costs in gathering data about what these new customers might want to buy.