2014-04-01

Rebekah Campbell: The Surprisingly Large Cost of Telling Small Lies

Rebekah Campbell – The Surprisingly Large Cost of Telling Small Lies:

“The act of lying plucks you from the present, preventing you from facing what is really going on in your world. Every time you overreport a metric, underreport a cost, are less than honest with a client or a member of your team, you create a false reality and you start living in it.

[…] I know people who seem to have spent their entire careers inflating the truth and then fighting to meet the expectations they have set.”

Excellent post. I’ve always tried to stick to the truth. Partly because I hate it when others are lying to me, and because I’ve experienced the trust-building power of radical openness. “The truth will set you free.”

Tue, 01 Apr 2014 09:53:31 +0000
2014-03-31

Trailing spaces in SQL – NO PAD vs PADSPACE in MySQL and Oracle

Last week, a customer reported a problem with DC-X – some linked metadata seemed broken. It turned out that slightly buggy custom code had written DCX_PUBINFO.PUB_DOC_ID = 'doc123 ' (note the trailing space) into the MySQL database, while the referenced column DCX_DOCUMENT.DOC_ID contained 'doc123' (without the space).

This came as a surprise to us: We didn’t expect InnoDB’s referential integrity to allow different values in a foreign key relation. But experiments showed that MySQL in fact ignores appended spaces (rtrim) when comparing values with “=”!

Here’s a test case if you’d like to reproduce it:

create table T (V varchar(255) not null); insert into T (V) values ('a'); select * from T where V = 'a ';

On MySQL, the SELECT statement returns the row we just inserted. On Oracle, it doesn’t – which seems to make a lot more sense.

The first Stack Overflow post I found, MySQL disable Auto-Trim, suggested that this was somehow acceptable, SQL-standardized behaviour. Weird. The SQL 92 standard seems to recommend MySQL’s padding / trimming (PADSPACE) and describes a NO PAD opt-out (that MySQL doesn’t offer).

Another post, MySQL treatment of ' ', was more informative – apparently LIKE behaves differently:

select * from T where V like 'a ';

And MySQL has a “binary” workaround for SELECT with “=”: 

select * from T where binary V = 'a ';

For the full background, and a comparison of different RDBMS, read the PostgreSQL discussion String comparison and the SQL standard. According to this, MySQL and SQL Server always ignore appended spaces as described above. Oracle and PostgreSQL, on the other hand, do what we’d expect the database to do and don’t ignore them – as long as you use VARCHAR not CHAR.

We’re learning something new every day…

Mon, 31 Mar 2014 08:21:09 +0000
2014-03-27

Seth Godin: Not even one note

Seth Godin – Not even one note:

“At no point did someone sit me down and say, "wait, none of this matters if you can't play a single note that actually sounds good."

[…] We add many slides to our presentation before figuring out how to utter a single sentence that will give the people in the room chills or make them think.

[…] The cop-out would be […] to add one more thing to my list of mediocre.”

Thu, 27 Mar 2014 08:04:52 +0000
2014-03-25

New “DC” offices in the “Bacardi tower”

Last month, we moved offices from the chocolate factory into the “Bacardi tower” (Stadtparkturm built by Bothe Richter Teherani) in Hamburg.

I like the new office rooms, we’re sitting closer together but the rooms are quieter. We’re sharing a floor with our friends of ppi Media. Here’s some first impressions…

Tue, 25 Mar 2014 15:26:35 +0000
2014-03-24

Michael Lopp: Drift

Michael Lopp – Drift:

“See, as system thinkers, we’re trying to build a model that, well, explains everything. To assist in our discovery of everything, we’ve built ingenious ways of gathering data. Whether it’s a feed reader, a set of bookmark tab groups, Facebook, Twitter, or a news aggregator, we’ve constructed a personal machine that allows us to rapidly consume information.

[…] The process of consuming all this data gives my mind mental velocity, but it’s not just the rate of consumption that gets me mentally limber, it’s the map I’m constantly building and refining. I’m exercising and developing my Relevancy Engine. I’m instantly evaluating everything I know and comparing this item to that impression.

[…] The high volume of information consumption has forced my brain into high gear to process and analyze it. Analysis is the catalyst that opens the door to creativity.”

Well put. Just the way I feel. (Related: How I’m blogging.)

Mon, 24 Mar 2014 09:50:24 +0000
2014-03-23

Short links (2014-03-23)

Sun, 23 Mar 2014 22:23:10 +0000
2014-03-14

Short links (2014-03-14)

Fri, 14 Mar 2014 11:01:11 +0000
2014-03-12

It’s content, not just DAM metadata

In my previous post Web of information vs DAM, DM, CM, KM silos, I asked: “When a photographer’s phone number changes, will you update it in your DAM system? How many places will you have to update it in the DAM – is it stored in a single place, or has it been copied into each photo?”

DAM systems have traditionally focused on files and their metadata. With the metadata only existing in the context of the asset, not as standalone data in its own right. I’ve long been convinced that this is wrong, so it makes me very happy to see a trend in the right direction. A few quotes:

David Diamond – A DAM is no place for an “image”: “With content-focused DAM, you think in terms of, for example, of the words in yesterday’s press release. You don’t think in terms of the press release’s Word and PDF files as being separate entities. They are merely disposable containers for the content. And it is the content that needs metadata, not the files. It is the content that has a lifecycle, not the files. One of the many advantages of the Adaptive Metadata technology that Picturepark developed […], is that metadata can be abstracted from the assets themselves. This means, for example, the metadata can exist entirely on the asset class definition. Those assets assigned to the class inherit the metadata while they remain assigned.”

Louis King in a comment on the LinkedIn DAM group discussion on Why Images Don’t Belong In Your DAM (requires registration): “Each of these chunks of metadata represent investments that provide value to the asset. By separating them into individual but related assets DAM users are not burdened by the complexity of the whole but are focused only on the metadata that is returning value to their role. Very few DAMS do this but trends in metadata are moving rapidly in this direction. Take a look at Open Linked Data to see how that might play out in emerging DAM.”

Ralph Windsor – Digital Asset Management And The Politics Of Metadata Integration: “There are many other [applications] and you could include any system where the key entity is not an asset […]. In these scenarios, the external entity which contains the data of interest has an adjacent or perpendicular relationship with a digital asset. In other words, it is not above or below it in terms of the metadata schema hierarchy and needs to be treated independently (i.e. linked by association rather than part of the same record). […] The staff HR record and the employee photo are independent of each other and different users have to work on them separately from each other to fulfil independent business functions.”

I also like how Rory Brown quotes Douglas McCabe on Twitter: “Content has to be atomised because no one knows what the 4th wave of disruption will be (after desktop, phone, tablet)”

For a nice real-world example, see the BBC News Labs presentation on Storylines, Topics & Tags. Their News Archive doesn’t just store “article” and “image” assets, but also contains a database of people (with properties like “birth place”, “birth date”, “role”), organizations, places, events, themes (“unemployment”), and storylines (“the death of Nelson Mandela”). Each of which can be linked to the assets.

Once we agree on the need for standalone data in the DAM (or linked to the DAM) – asset-independent databases or knowledge bases – the next questions are how to model it, and how to ensure a good user experience. I think Topic Maps are perfect for modeling arbitrary, flexibly structured data. How are you doing it?

And what DAM systems do already have this functionality? I know of Picturepark with its Adaptive Metadata, ImageSnippets and our own DC-X with its Topic Maps engine. Any others?

Update: See also Eric Barroca’s (of Nuxeo) Deep Content: A Fresh Take on Content Modeling: “Deep content is about reversing that, putting (meta)data first, then crafting your content model based on your business domain.”

Update: I’m giving an example – newspaper articles about crime cases – in DAM Champ: Tim Strehle, Part 2.

Update: Demian Hess on Capturing DAM Relationships: “Because these systems pull together information from across the enterprise, they can support operations as varied as DAM, PIM, CRM, MRM and CMS. These systems provide "asset intelligence," with the understanding that anything can be an asset: an image, a piece of content, a character, a product, a contract or a user.”

Update (2016-11-17): In the Semantic / Graph DataBases and the evolution of Digital Asset Management webinar recording, Wendy Skoulding, Rich Carroll and Bill Covington explain how graph databases enable rich, flexible and highly related information modeling – and demo these features in Censhare.

Update (2017-03-31): In a preview of the Picturepark Content Platform [PDF]: “Build multi-node metadata and content relationship models that not only describe content, but provide semantic meaning and context, and ultimately improve the findability of specific content and the exploration of related content.”

Update (2017-04-05): Laurence Hart in Information Governance, Moving on from Content: “Information First: Here’s the deal. Content never stands alone. Yes it has metadata but there are entities that need to be managed that may not have content.”

Update (2017-04-11): censhare partner IO Integration – How a Semantic Network Makes the Unattainable Attainable: “Most digital systems require you to ingest your assets, which need to be some sort of digital file. A semantic network allows you to include simply metadata, which then relates to every relatable asset within the system. The difference is that anything can be an asset. A person and their project are both assets, meaning the project, the assets related to it and the person who needs them most are all related.”

Update (2017-04-18): I think your company needs its own Knowledge Graph.

Wed, 12 Mar 2014 08:09:42 +0000
2014-03-11

Dan Gillmor: Learning about, and deploying IndieWeb tools

Dan Gillmor – Learning about, and deploying IndieWeb tools:

“Already, using easily deployed tools, I’m using this blog to create posts that show up on Twitter, LinkedIn and Google+. […] What I’ve also done, using the IndieWeb plugin — created by a member of the growing community dedicated to making this all work — is to get Twitter replies and retweets to show up as comments on the blog posts.

[…] Ryan Barrett‘s work is key to this. He created something called Bridgy, which sends webmentions for comments, likes, and reshares on Facebook, Twitter, Google+, and Instagram.”

Tue, 11 Mar 2014 08:26:46 +0000
2014-03-10

Gerry McGovern: The complexity-simplicity trade off

Gerry McGovern – The complexity-simplicity trade off:

“Many of the systems organizations give to their employees are usability monstrosities.

The reason for this is that senior management just doesn’t care. It has abdicated its responsibility when it comes to technology. It sits there listening to presentations about huge savings if only huge amounts of money are spent. It allocates the budget and walks away, because “it’s technology” and that’s too hard to understand for a senior manager.

The problem goes even deeper. Senior managers don’t care about their salaried employees’ time. I’ve been doing web consulting since 1994 and I have yet to meet a senior manager who really cared about making it easier for employees to do their jobs.”

Mon, 10 Mar 2014 08:37:39 +0000
2014-03-03

Short links (2014-03-03)

Mon, 03 Mar 2014 22:53:39 +0000