Tim’s Weblog Tim's Weblog
Tim Strehle’s links and thoughts on Web apps, managing software development and Digital Asset Management, since 2002.
2019-02-17

Clean Data is more important than Clean Code

In my experience, many software developers don’t care much about data modeling. They seem to prioritize clean code, a good technology stack and a good user interface over getting the data model right.

All of these are important, but the data model is the foundation:

You can refactor source code anytime, going from unclean to clean and back. You can even throw your UI and all of your code away, and replace your entire technology stack.

The only thing that will live on is the data you migrate into the new system – and most faults in your data model are impossible or impractical to fix. (Believe me; I made many wrong choices as a developer, and my data modeling mistakes had much more long-term impact than my bad coding.)

Data is forever:

Data you did not capture because there was no place for it in your data model will be lost forever.

Data with different semantics (like a photo’s “date taken” vs “date imported”) that you had to squeeze into the same column because your data model did not let you differentiate will be indistinguishable forever.

Data with different data types (is it plain text or HTML?) or encoding (UTF-8 or not?) that went into your database without any hint because there was no attribute for it in your data model (and no normalization step) will be messed up (and potentially insecure) forever.

First, get your data model right.

Sun, 17 Feb 2019 20:18:00 +0000
2018-09-01

Playing with the Camunda workflow engine (and PHP)

A generic workflow engine, configured via a graphical diagram editor on top of an XML syntax – that’s what I tried and failed to develop more than 15 years ago. I did help build three generations of a simple “workflow” component integrated in our DAM product to drive asset ingestion and export, kept reading (see The State of Workflow and Decoupling Application Logic) and writing (Workflow awareness of DAM systems) about workflows – and hoping that one day, a powerful and beautiful workflow management system would make my work easier.

That’s why I was thrilled to discover Camunda, a workflow engine with an open source, free community edition. It is standards-based, written in Java, and comes with a Web UI, REST API and graphical process diagram modeler. Here’s a screenshot of Camunda Modeler:

Read the full article…

Sat, 01 Sep 2018 22:55:00 +0000
2018-06-14

What to put on a DAM Admin dashboard

Imagine you introduce a shiny new Digital Asset Management (DAM) system in your company which can feed all kinds of metrics into the brightly-colored Grafana dashboard hanging on your wall.

What would you track on that dashboard to help you manage, grow and troubleshoot your DAM system? Off of the top of my head, these metrics could be important:

Read the full article…

Thu, 14 Jun 2018 13:34:00 +0000
2018-05-31

The “X” in JSON stands for Extensibility

While I do use JSON, I still think XML is superior for some important use cases (long-lived data that may be exchanged with other systems). So here’s a quick “rant” – prompted by Dan Brickley’s response to Bob DuCharme’s Reification is a red herring – aimed at those (younger?) folks “dissing” XML :)

Over time, requirements and technology inevitably change. Extensibility (the “X” in XML) is the property that helps us adapt and keep pace, letting us evolve technology from simple to advanced without having to throw away and reimplement existing functionality. Here’s two reasons why XML is better at it than JSON:

From one to many

Cardinality (whether data has one or multiple values) is a common problem in data modeling: In a relational database, you need to change the schema (creating an additional table) to turn a single-valued into a multi-valued field. Programming languages distinguish between scalar values and arrays or collections.

Not so in XML; I can move effortlessly (on the producer side, at least) from single…

Read the full article…

Thu, 31 May 2018 12:22:00 +0000
2018-04-11

Digital Asset Management Reading List Feb./Mar. 2018

This time, I cover two months at once: Here’s the Digital Asset Management (DAM) articles from February and March 2018 which I recommend reading. I picked them from the constant stream of blog posts you can see float by on Planet DAM. For more curated DAM links, see the weekly Digital Asset Management.com Links and Tracy Wolfe’s 10 things on the 10th.

I’m happy to see people write and talk about my pet topic, DAM interoperability. On DAM News, Ralph Windsor publishes The Politics Of Implementing Digital Asset Supply Chains: Parking The Enterprise Service Bus. Emily Kolvitz and Brian Kavanaugh present DAM Integrations 101 (video, 30 minutes). Matthew Patulski announces the “Advancing Findability” DAM NY conference session hosted by the W3C DAM schema.org community group.

More thoughts on the future of DAM come from Ramon Forster – Dropbox Is More Than a DAM – and from Dave Jones: What is a Content Services Platform? Jarrod Gingras hosts a webinar on the 8 DAM trends to watch in 2018.

Read the full article…

Wed, 11 Apr 2018 20:34:00 +0000
2018-03-05

For better software, keep talking

In my experience, things diverge quickly in software development when people stop talking to each other. It’s costly if we notice too late that priorities or needs have changed, schedules slipped, or features evolved in the wrong direction.

Developers, users, managers (product, project, or people managers): Keep talking – all of the time – to each other about priorities, requirements, possible solutions, schedules. (Yes, I’m convinced that every developer needs to talk to users directly.)

Even after you’re “done”, keep talking about whether the software is actually helpful (“delivers value”) and what to improve next.

Developers, keep talking to your colleagues in “ops” and customer support to learn how the software is behaving in real life.

Keep talking to other developers and your boss – share what you’re working on, what you’ve learned, whether you’re stuck, ask for their feedback and ideas.

This was one of the main points of the agile movement: In “waterfall development”, there’s no communication between developers and users about changing requirements or intermediate results. It’s why the Agile Manifesto talks about “interactions”, “collaboration” and “face-to-face conversation”, and states that “business people and developers must work together daily throughout the project.” To keep talking is the purpose of Scrum ceremonies (daily scrum, review, retrospective).

If your (agile) process gets people talking, great. Whatever stops people from communicating – “that’s the product owner’s job, not mine”, “this doesn’t belong in the 'daily'”, “just look it up in Jira” – might be a sign that things could be better.

We’re in this together – it’s called a “company”, after all. Nobody has all of the information, and every perspective matters, so we need to work things out together. Again and again. Keep talking!

Mon, 05 Mar 2018 19:33:00 +0000
2018-02-06

Digital Asset Management Reading List Jan. 2018

Here’s the Digital Asset Management (DAM) articles from January 2018 which I recommend reading. I picked them from the constant stream of blog posts you can see float by on Planet DAM. For more curated DAM links, see the weekly Digital Asset Management.com Links and Tracy Wolfe’s 10 things on the 10th.

The big news in January was Mark Davey and company launching The Codified DAM Consultant™. He introduces it in an interview led by Nora Gehin, and positions it against vendor selection on the golf course or via G2 Crowd. I like the focus on the Ten Core Characteristics of a DAM system.

Congratulations to Ralph Windsor for becoming the new DAM Guru Program director! Ramon Forster introduces him in an open letter.

Read the full article…

Tue, 06 Feb 2018 21:05:00 +0000
2018-01-22

Linked Content: 8 steps toward content system interoperability

The single, central content repository might exist somewhere, but the businesses I’ve seen employ a dozen or more content-focused systems: ECMS, WCMS, DAM, search, publishing systems… All of which need to be integrated for content and workflows to cross system boundaries with ease. (For example, to search and select images in the DAM system and place them in a Web CMS gallery, or in a print layout tool, without having to download files from the DAM to manually upload them into the WCMS.)

Bespoke point-to-point integrations between each of those systems are way too much work. (More on this in Improving DAM Interoperability In 2017.) I think Linked Data is a good model for making systems interoperate well, minimizing the amount of integration work required. Here’s eight “Linked Content” steps towards better interoperability, embracing Web architecture:

1. Each content object has its own Web page (“details page”)

First, every photo, article, or video needs its own permanent URL (see Cool URIs don’t change). Example: some random Flickr image.

Your system might already have such a details page URL. If not, start with this step even if you’re not ready for the rest; people will enjoy being able to share links to content via Skype or mail.

Read the full article…

Mon, 22 Jan 2018 12:44:00 +0000
2017-12-30

Digital Asset Management Reading List Dec. 2017

I’m experimenting with the Reading List format: Instead of providing an exhaustive overview of the last month’s Digital Asset Management articles, it lists just a few links (from November and December 2017) which I highly recommend reading. As always, I pick them from the constant stream of blog posts you can see float by on Planet DAM. For more curated DAM links, see the weekly Digital Asset Management.com Links and Tracy Wolfe’s 10 things on the 10th.

For a look into the future of DAM, read the two Ralph Windsor pieces What it Will Take for Artificial Intelligence to Become Useful For DAM and Blockchain And Content DAM: Myth, Reality And Practical Applications.

“What is the organization's vision for DAM?” Michael Shattuck challenges us to “dream bigger”.

From animal species detection to similar images matching, Peter Krogh explains the various capabilities of computational tagging, i.e. “AI”-powered image recognition.

Read the full article…

Sat, 30 Dec 2017 21:36:00 +0000
2017-11-30

Digital Asset Management Reading List Nov. 2017

Here’s the last month’s Digital Asset Management articles which had a lasting impression on me – picked from the constant stream of blog posts you can see float by on Planet DAM. For more curated DAM links, see the weekly Digital Asset Management.com Links and Tracy Wolfe’s 10 things on the 10th.

Sadly, I currently don’t have much time to read about DAM. If you do, here’s lots of links from October:

Industry and product news: Ralph Windsor reviews the Elvis-based Swivle “DAM Lite” system. Acquia creates its own DAM system for Drupal. Northplains licenses CHALEX SmartFlo. Razuna 2.0 is delayed. Extensis Portfolio is named “Leader” and “Trend Setter” by G2 Crowd and KMWorld. Bynder is working on GDPR compliance. Webdam has a new Salesforce connector. Active Logistics partners with Picturepark.

Read the full article…

Thu, 30 Nov 2017 22:52:00 +0000