BibliocloudBloghttp://bibliocloud.com/blog2018-04-09T00:00:00+00:00BibliocloudRuby code and why you should carehttp://bibliocloud.com/blog/bath-ruby-2018/2018-04-09T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Ruby is the primary programming language that Bibliocloud is written in, chosen for its readability and
maturity. And last month, we were lucky enough to spend a thought-provoking and inspiring two days at the <a href="https://2018.bathruby.uk/">2018 Bath Ruby conference</a>.</p>
<p>I know that if you&rsquo;re reading this post, you&rsquo;re likely more interested in books than code.
But I think you would have enjoyed the conference.</p>
<p>Because so much of Ruby is about the things that bookish people love. Ruby is about story, and its shifting shapes.
It&rsquo;s about becoming lost in something so beautiful you forget about time. It&rsquo;s about feeling that you belong,
and that your work matters, and that whilst much in the world might be awful, there are pockets
that you can carve out for yourself which make everything worthwhile.</p>
<p>In the same way that books have history &ndash; and by books I mean everything from story and character to author
relationships and production values &ndash; Ruby has history. There&rsquo;s a rich, deep context to this language&rsquo;s
development and use which gives it grace and humility.</p>
<p>Publishing, as an industry, is not a fad or a flash in the pan. It has the quiet, solid confidence that comes from having been
around for 500-odd years. In absolute terms, the Ruby programming language is young: a mere 25 years old
this year. But in computer years, that&rsquo;s about as established as it gets. And Ruby has the feeling, like
book publishing, that we&rsquo;re all in it for the long term. We can sagely ride the peaks and troughs of fashion, and wisely tolerate
the bright frenzy of the new, because there are timeless truths at work.</p>
<p>Those truths will be familiar to you. The importance of clear words to convey complex thoughts, simply.
The need to be kind to those around you, in order to get their best work. The fact that it&rsquo;s the dance, not the
destination, which matters. The idea that it&rsquo;s the relationship between notes, not the individual notes,
which make music.</p>
<p>The reason why I wanted to mention that we&rsquo;d been to a Ruby conference, though, was not to draw parallels between
code and books, fascinating and relevant though it is. It was to explain why you should care about our code.</p>
<p>One line in one talk in particular jumped out for me at Bath Ruby. <a href="https://twitter.com/valeriecodes">Valerie Woolard</a>, in her talk about code and coding as art, said <q>your clients don&rsquo;t care about your code. Only you care about your code.</q></p>
<p>This troubles me. She&rsquo;s right. Why should you care about our code? It&rsquo;s like me caring about what
sort of pipes the plumber uses when they come round to fix a leak: just so long as the tools they use stop the leak that&rsquo;s wrecking
the furniture, I don&rsquo;t care.</p>
<p>But our code affects you a lot more than the plumber&rsquo;s choice of pipes affects me.</p>
<h3 id="not-all-code-is-created-equal">Not all code is created equal</h3>
<p>Before I was a programmer, I fell into the trap of thinking that programming was binary: code either existed or it didn&rsquo;t.
I failed to realise there could be good code and bad code. You can have two web pages that, to the casual observer, look exactly the same and do exactly the same thing. But the code that renders them can either be diabolically complex, repetitious and strangely structured, or elegant, terse and readable.
You might not see the difference, but it matters what&rsquo;s under the hood, because the quality of the code affects how easy it is to edit, and how likely it is to break with new data, system upgrades and interactions.</p>
<h3 id="not-all-programmers-are-created-equal">Not all programmers are created equal</h3>
<p>I also fell into the trap of thinking that programming was binary: you could either do it
or you couldn&rsquo;t. Of course, turns out reality is more complex. The gulf in capability between a struggling beginner and
someone with thirty years&rsquo; experience is vast. And there&rsquo;s nothing to say that becoming a good programmer is a function of sheer hours put in.
There are plenty of okay programmers who&rsquo;ve been at it for years. What I feel is that good programmers are those who work hard to
understand the fundamentals of their specialism, such as object orientation, and apply that to their daily work. That means a lot of admitting that
you&rsquo;re wrong and being open to change: not traits that everyone is blessed with.</p>
<h3 id="not-all-teams-are-created-equal">Not all teams are created equal</h3>
<p>There are yet more things I didn&rsquo;t realise. Good code is created by a team, not an individual. It&rsquo;s the process of
conversation, of peer review, of coaching up and down and sideways, of being able to change your mind without embarrassment, of
having honest conversations without ego, that creates good code.</p>
<h3 id="good-code-doesnt-write-itself">Good code doesn&rsquo;t write itself</h3>
<p>What is good code? It&rsquo;s readable. Simple. Considerate to others of all abilities. The sort of code that does what it says on the tin.
It&rsquo;s well-structured, well-tested, so that if later code breaks it, an alarm goes off. The famous Mark Twain quote about not having
enough time to write a short letter, so he wrote a long one, holds true: good code, like good writing, is the result of editing,
reflection, redrafts and rigour. It&rsquo;s the result of craft.</p>
<h3 id="good-code-comes-from-the-right-environment">Good code comes from the right environment</h3>
<p>So good code doesn&rsquo;t happen unless you put the infrastructure in place for it to be created. We still have some legacy code from the very early days, but then we built the right team, the right
working environment, the right strategic message that says <q>where we work, quality is the most important thing</q>. We don&rsquo;t have client-facing
deadlines. We don&rsquo;t have <a href="https://en.wikipedia.org/wiki/Death_march_(project_management)">death marches</a>. We&rsquo;re not flat-out
perfectionists because then nothing would get shipped, but we don&rsquo;t cut corners and accrue <a href="https://www.bibliocloud.com/blog/technical-debt/">technical debt</a>.</p>
<h3 id="good-code-futureproofs-you">Good code futureproofs you</h3>
<p>Why should you care? The code we write is good and maintainable, which means that when you get in touch to ask for a change or an improvement,
we can probably incorporate that change because we have built the code to be edited. It&rsquo;s not a dangerously-teetering stack of cards, brittle to the touch. It&rsquo;s well-organised, with test coverage and sensible
conventions.</p>
<p>And because we write good code, we&rsquo;ll also know when it&rsquo;s wrong to incorporate your suggestion &ndash; because our spidey-sense will tell us
that it would result in a garbled interface, strange convention-breaking or misplaced complexity. Much better to enquire what the business reason is for your suggestion to get to the root of the problem and fix that, than
expect our customers to be systems architects.</p>
<hr>
<p>This is a rather strange conference write-up, being about code quality rather than the actual talks per se, but the thing about Ruby is that it gets you thinking.
And I write this on the eve of the <a href="http://www.londonbookfair.co.uk/">London Book Fair 2018</a> &ndash; another event in the calendar that gives one a chance for reflection and inspiration, for seeing the
bigger picture and the shape of the winds of change.</p>
<p>We&rsquo;re one of the more technically-minded teams present at the book fair, I expect. Perhaps people like us are meant to embrace and exploit trends such as blockchain and the like.
But that&rsquo;s not for me. Craft, harmony, pride and doing the job properly have to define the future so that the code we write,
that our customers rely on, rides out shrill trends and remains solid, planted and long-lived: just like the book trade, just like Ruby.</p>
'Continuing to solve real problems': Futurebook 40, London Book Fair 2018 and the Works pagehttp://bibliocloud.com/blog/product-news-works-page/2018-04-07T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Just in time for the London Book Fair this week, check out the new works page. Go to <a href="https://app.bibliocloud.com/works">https://app.bibliocloud.com/works</a> which looks like this:</p>
<p><img src="../../images/content/images/works_page.gif" alt="Works page" /></p>
<p>As you probably know, we&rsquo;re making our way through the list pages in the system, applying the patterns we&rsquo;ve
designed and standardised in our <a href="http://app.bibliocloud.com/component_library">component library</a>. So far we have improved:</p>
<ul>
<li>Products</li>
<li>Contacts</li>
<li>Royalty runs</li>
<li>Royalty statements</li>
<li>Schedules</li>
<li>Tasks</li>
<li>Contracts</li>
<li>ONIX fragments</li>
</ul>
<p>And now, Works joins the list of improved pages. Now that it&rsquo;s a far more useful page, we would encourage you to
try it out, because it provides a lot of information in one place:</p>
<ul>
<li>Work level information, with links to refined lists of works with the same subject</li>
</ul>
<p><img src="../../images/screenshots/works__subjects.png" alt="Works subjects" /></p>
<ul>
<li>The products list</li>
</ul>
<p><img src="../../images/screenshots/works__products.png" alt="Works products" /></p>
<ul>
<li>The list of contributors, arranged in sequence order descending, with roles, contact details, professional affiliation and tags,
just like on the main Contacts page for consistency.</li>
</ul>
<h2 id="london-book-fair-2018">London Book Fair 2018</h2>
<p>We&rsquo;ll be there with bells on, and this year, as members, we&rsquo;re thrilled to be exhibiting on the ALPSP pavilion,
which is in the National Hall, Stand 7C19, on the ground floor. Do come and say hello to us and the ALPSP team.</p>
<h2 id="futurebook-40">Futurebook 40</h2>
<p>In other news, I was delighted to be included in the Futurebook 40 list of innovators this week. Thanks to The Bookseller
for recognising my work on Bibliocloud as an important innovation for publishing. Here&rsquo;s my face amongst some other great faces:</p>
<p><img src="../../images/content/images/20.png" alt="20" /></p>
<p>From <a href="https://t.co/L52DCQCA6E">The Bookseller article</a>:</p>
<blockquote>
<p>&hellip;What the FutureBook 40 can do is provide a representative selection of the innovative work going on around books. On the inaugural list, you’ll find a mix of disruptors working from within the establishment, entrepreneurs rapidly proving their worth, and hungry new talents just starting to elbow their way in. You’ll find publishers, agents, writers, booksellers, academics, events organisers, designers, illustrators, consultants and a good few hybrids. You’ll discover people innovating across every area of the industry—in a way that is focused on solving real problems, rather than simply getting buzzwords in the press.</p>
</blockquote>
<p>Here&rsquo;s to continuing to solve real problems!</p>
How many authors is too many?http://bibliocloud.com/blog/how-many-authors-is-too-many/2018-03-29T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>How big is your company’s contact database? How many authors has your company ever published? How do you fancy inputting each of them one-by-one into your chosen publishing system?</p>
<p>In academic publishing, a single book can have dozens of authors — even more than a hundred. Who wants to input all of these names one-by-one?</p>
<p>Individually filling in each name and associating it with a work — or even associating fifty authors already in your system with a new work — can be an endless tedium of clicking.</p>
<p>However, the tedium must be endured because each of those fifty authors brings along an interested audience. Each and every one of those names can have a direct impact on sales if it is included in the metadata of the book and disseminated properly into the supply chain. (Even if an ONIX recipient does not read or catalogue 100+ contributors to a work, you still need it in your metadata management system.)</p>
<p>Enough with the tedium! Down with the clicking! The answer to “How many authors is too many?” should be “There’s no such thing.”</p>
<p><img src="../../images/screenshots/importer_new_page.png" title="Screenshot of import steps" alt="alt text" /></p>
<p>Bibliocloud is proud to launch our bulk contact importer, which can bring in brand new contacts, update existing contacts and/or associate contacts to a work via any of the ONIX compliant contributor roles.</p>
<p>You can now import:</p>
<ul>
<li>All contact name fields, whether key names, a single name or an organisation name</li>
<li>All address fields, from standard street addressed down to sub-building detail level</li>
<li>A biographical note, ISNI number, ORCID, In-house customer ID, In-house supplier ID, Phone number, Fax number, Website, Email address</li>
<li>Professional affiliations to existing or new organisations</li>
</ul>
<p>You can update all of those fields via the Bibliocloud contact ID.
You can associate a contact with a work via Bibliocloud work ID and a ONIX contributor role.</p>
<p><img src="../../images/screenshots/import_data_using_template__draft_items.png" title="Screenshot of uploaded import's draft item details" alt="alt text" /></p>
<p>Not only will the contact importer help you get in large amounts of contact data fast, it will validate all the incoming data to make sure that you are getting it right the first time, and corrections won’t be needed in the future.</p>
<p>ORCIDs, ISNIs, email and website formats, ONIX compliant contributor roles and more are all validated before getting into the system; we’re doing sense checks on phone numbers and post code/country matching; we’re checking that the information is not already in the system.</p>
<p>You can be confident that the importer does what you expect it to, because the code is covered by fully automated tests that describe the exact behaviour of what we want the importer to do.</p>
<p>What does that mean? Well, there are 177 examples of expected results that are programmatically checked every time new code is added to the system. If something changes, the test will “break” and the new code won’t be allowed in until the test is fixed. There are 23 scenarios - or overarching user requirements - that are broken down into 270 individual steps that are also checked every time code is changed.</p>
<div class="highlight"><pre class="highlight plaintext"><code> Scenario: Viewing a contact import error messages
Given I have uploaded "two_invalid_imports.xlsx" for the client "Fauxbooks"
And the draft items for the "contact" import "two_invalid_imports.xlsx" have been validated
When I am on the "error" messages page for "two_invalid_imports.xlsx"
Then I should see the following messages:
| Column name | Data | Error |
| Website | iainduncansmithorguk | Website invalid |
| ISNI number | 0000 0004 047195 | ISNI must have 16 digits |
</code></pre></div>
<p>We know our importer performs as it should now, and that it will when the system changes in the future, because we’ve created a program to check that it does. Automation is a beautiful thing.</p>
<p>So, once you’ve got your contact data together, challenge the Bibliocloud importer on the question of “How many authors is too many?” Because, to a computer, one takes pretty much the same amount of time as a thousand — and that’s what automating your administrative work is all about.</p>
<p>When I joined Bibliocloud as a developer last year, I said I wanted to build the publishing system I wish I had as an editor. Today, the editorial assistant part of me is doing a happy dance.</p>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "NewsArticle",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.bibliocloud.com/blog/how-many-authors-is-too-many/"
},
"headline": "How many authors is too many?",
"image": [
"https://www.bibliocloud.com/images/screenshots/importer_new_page.png",
"https://www.bibliocloud.com/images/screenshots/import_data_using_template__draft_items.png"
],
"datePublished": "2018-03-28T08:00:00+08:00",
"dateModified": "2018-03-28T09:20:00+08:00",
"author": {
"@type": "Person",
"name": "Sara O'Connor"
},
"publisher": {
"@type": "Organization",
"name": "Bibliocloud",
"logo": {
"@type": "ImageObject",
"url": "https://www.bibliocloud.com/images/bibliocloud_logo.png"
}
},
"description": "When I joined Bibliocloud as a developer last year, I said I wanted to build the publishing system I wish I had as an editor. Today, the editorial assistant part of me is doing a happy dance. Enough with the tedium! Down with the clicking! The answer to “How many authors is too many?” should be “There’s no such thing.”"
}
</script>
Better ONIX fragmentshttp://bibliocloud.com/blog/onix-fragments/2018-03-13T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>There&rsquo;s a new way of seeing your previous ONIX in Bibliocloud. It&rsquo;s called the ONIX fragments page and it looks like this.</p>
<p><img src="../../images/screenshots/onix_fragments__page.png" alt="Onix fragments page" /></p>
<h2 id="what-are-onix-fragments">What are ONIX fragments?</h2>
<p>ONIX fragments are pieces of XML which contain a single product&rsquo;s data at one particular point in time. Here is a small ONIX fragment, with very little data because the book was cancelled.</p>
<p><img src="../../images/screenshots/onix_fragments__small_fragment.png" alt="Onix fragments small fragment" /></p>
<p>ONIX fragments are the building blocks of an ONIX message. An ONIX message is the large file that gets sent to data recipients from Bibliocloud, and it contains lots of ONIX fragments: one per product.</p>
<p>Click on the row on the ONIX fragments page to see an example of your own data.</p>
<h2 id="getting-to-the-page">Getting to the page</h2>
<p>Click on the link on the products page row. It will be greyed out if you have not yet got ONIX feeds set up for the product.</p>
<p><img src="../../images/screenshots/onix_fragments__product_row.png" alt="Onix fragments product row" /></p>
<p>Click on the link on the work overview page.</p>
<p><img src="../../images/screenshots/onix_fragments__work_overview.png" alt="Onix fragments work overview" /></p>
<h2 id="the-reason-for-this-new-page">The reason for this new page</h2>
<p>This new page came about because we field many sensible questions from clients about their ONIX:</p>
<ul>
<li>When did the ONIX last go for this product to my distributor?</li>
<li>Has data for my product been sent in ONIX to my distributor / Nielsen / etc?</li>
<li>Which book data has not yet been sent in ONIX to my distributor / Nielsen / etc?</li>
<li>What ONIX has my distributor received?</li>
<li>Which contacts are set up to receive ONIX and when?</li>
<li>How do I set up a contact to receive ONIX?</li>
<li>How do I ensure that Amazon receive the sort of ONIX that they say they accept?</li>
<li>I want to see the vanilla ONIX for my product, and the Amazon flavour</li>
<li>Did this image / epub file go out in ONIX?</li>
</ul>
<p>We wanted to make answering these questions more intuitive, to save our clients&rsquo; time so they don&rsquo;t have to ask,
and to save our time so we don&rsquo;t have to answer.</p>
<h2 id="the-project">The project</h2>
<p>This new page is the first of quite a few which are still in development. Here&rsquo;s how the project has gone so far.</p>
<p>The first stage was to brainstorm and review all the questions we&rsquo;ve received over the last year or so, which is how
we came up with that list of questions. The project, we knew, needed to allow clients to get answers to these
frequently asked questions.</p>
<h2 id="the-approach">The approach</h2>
<p>We don&rsquo;t usually do this, but this time we decided to try Documentation Driven Development, which I <em>think</em> we&rsquo;ve made up, but it might be an actual
software development approach.</p>
<p>Here&rsquo;s how our (currently unpublished) documentation page looks like for these new features.</p>
<p><img src="../../images/screenshots/onix_fragments__docs.png" alt="Onix fragments docs" /></p>
<p>The idea here is that the docs are drafted, and will be gradually replaced by real screenshots.</p>
<p>This has proved really helpful, as a developer. If you ever write code, you&rsquo;ll know that there&rsquo;s a question and answer
website called StackOverflow. It&rsquo;s an old joke that most questions posted to StackOverflow never get posted, because
the act of writing out the question answers it. We found the same in writing out formal documentation: it was a great way
to check that the code we were planning to develop was going to answer real user questions, in an explainable way.</p>
<p>You&rsquo;ll also see some ticket numbers and developer notes in those docs.</p>
<p><img src="../../images/screenshots/onix_fragments__dev.png" alt="Onix fragments dev" /></p>
<p>These relate to our JIRA project management board. The <q>ONIX</q> epic looks like this.</p>
<p><img src="../../images/screenshots/onix_fragments__onix_epic.png" alt="Onix fragments onix epic" /></p>
<h2 id="next-steps">Next steps</h2>
<p>We have another eleven tickets&rsquo; worth of development to do before this piece of work is complete. But you can see
that the work we&rsquo;re doing is customer-question led, and so will hopefully be a helpful addition to Bibliocloud which will save
us all time and effort.</p>
Burleigh Dodds Science Publishinghttp://bibliocloud.com/blog/burleigh-dodds-science-publishing/2018-03-12T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p><a href="http://www.bdspublishing.com/">Burleigh Dodds Science Publishing</a> are just three years old, but the founders come from rich stock,
being former directors at <a href="https://www.elsevier.com/books-and-journals/woodhead-publishing">Woodhead Publishing</a>.
Burleigh Dodds use &lsquo;smart-publishing’ to help achieve ‘climate-smart’ agriculture.
As <a href="http://www.bdspublishing.com/innovation/climate-smart-publishing/">Editorial Director Francis Dodds says:</a></p>
<blockquote>
<p><q>It is widely recognised that agriculture is a significant contributor to global warming and climate change.
It has been estimated that agriculture is responsible for 10-12% of greenhouse gas emissions.
Agriculture needs to reduce its environmental impact and adapt to current climate change whilst still feeding a growing population.</q></p>
</blockquote>
<p>Bibliocloud partnered with Burleigh Dodds to provide specific metadata management features that have underpinned their ability to deliver this important content via a new publishing model. And we&rsquo;re particularly excited to share our story now, because Burleigh Dodds have just <a href="https://www.thebookseller.com/news/maths-no-problem-scoops-independent-publisher-year-747216">won the Nick Robinson Newcomer Award</a> at the <a href="http://www.ipg.uk.com/independent-publishing-awards">IPG Awards 2018</a>.</p>
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Congratulations to <a href="https://twitter.com/bdspublishing?ref_src=twsrc%5Etfw">@bdspublishing</a>, winner of the 2018 Nick Robinson Newcomer Award <a href="https://twitter.com/hashtag/ipgsc?src=hash&amp;ref_src=twsrc%5Etfw">#ipgsc</a> <a href="https://twitter.com/hashtag/ipgawards2018?src=hash&amp;ref_src=twsrc%5Etfw">#ipgawards2018</a> <a href="https://t.co/v3p6lwDLP9">pic.twitter.com/v3p6lwDLP9</a></p>&mdash; IPG (@ipghq) <a href="https://twitter.com/ipghq/status/972045579915284480?ref_src=twsrc%5Etfw">March 9, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<h2 id="the-vision">The vision</h2>
<p>We first met Rob Burleigh in the John Lewis cafe in Milton Keynes &ndash; a suitably central meeting point for our two companies, based in Oxford and Cambridge respectively. At that meeting, Rob sketched out on the back of a napkin his vision for the metadata management environment for his newly-founded company.</p>
<p>Experts in their field would be invited to be series and book editors.
The books would contain contributions from further experts, sometimes up to 40 chapters&rsquo; worth. And Burleigh Dodds&rsquo; key point of difference? The ability to manage each of the chapters as its own work.</p>
<p>As chapters were delivered and edited, Burleigh Dodds would publish them as standalone eBooks, delivering the time-sensitive subject matter to the readership as soon as possible.
When all the chapters were delivered, Burleigh Dodds would publish one large combined work, derived from all the chapters and linked in the metadata system, in hardback and eBook, with the option of combining chapters in multiple ways in the future to create new products with a different main focus.</p>
<p>Bibliocloud would need to accommodate this complex work derivation model in order to help. And we did want to help, because it was evident that Burleigh Dodds were going to be changing the world for the better in more than one way, and we wanted to be part of that story.</p>
<h2 id="the-development">The development</h2>
<p>Armed with the napkin, and full of enthusiasm for a new enhancement to Bibliocloud which we felt would help not only Burleigh Dodds but other clients with multi-layered work relationships, we established a formal development project. This project did the following:</p>
<ul>
<li>Designed the underlying system architecture to relate works to each other.</li>
<li>Designed the UX: users create an original work at any level of the hierarchy, which can then be used as the basis for a derived work, or be the parent work.</li>
<li>Allowed metadata on the combined works to be derived automatically from the chapters, saving tedious and error-prone manual data entry for long contributor lists and tables of contents.</li>
<li>Planned the enhancements to the ONIX feeds to select partners able to ingest and interpret this part of the ONIX standard.</li>
<li>Communicated with Rob at Burleigh Dodds to iterate on our plan, to ensure it was meeting his strategic needs.</li>
<li>Developed and tested the code to deliver the new feature.</li>
</ul>
<h2 id="the-commercial-side">The commercial side</h2>
<p>We also confirmed back to Burleigh Dodds that our pricing model would not penalise them. In practice, the derived work approach meant that on <q>day one</q>, Burleigh Dodds had thousands of products in Bibliocloud, although from a traditional publishing point of view they only had around 15 main works. Other bibliographic systems that charge by the product made it impossibly expensive. Our more
flexible approach of pricing by the user meant that Burleigh Dodds could have thousands of products in the system, for £55 / user / month.</p>
<h2 id="the-result">The result</h2>
<p>In short order, Burleigh Dodds were able to store their works at a much richer level than previously possible. As well as the new derived work functionality, they immediately understood the importance of rich metadata. They also chose their distributor very wisely. We find Plymouth-based <a href="http://distribution.nbni.co.uk/">NBN International</a> to be by far the best UK distributor and are able to ingest our enhanced ONIX feed without a hitch, which includes:</p>
<ul>
<li>Related products</li>
<li>Derived works</li>
<li>Multi-part tables of contents, automatically generated in Bibliocloud from the derived work associations and structured in valid XHTML</li>
<li>Multiple, ordered Thema, BIC and BISAC codes</li>
<li>Multiple contributor associations: helpful when some of the derived works had upwards of eighty contributors</li>
<li>Marketing texts, multi-currency pricing</li>
<li>Non-trade products having no ISBN</li>
</ul>
<h2 id="as-a-bonus-market-specific-ais">As a bonus: market-specific AIs</h2>
<p>We also developed two market-specific AIs, incorporating amongst other variances different publication dates for North America and the UK and Europe. Perhaps you can spot the differences: they are both produced from the same source data that forms the ONIX feeds. Bibliocloud generates exports in the right format for the recipient, whether they are a computer or a retail buyer.</p>
<p><img src="../../images/content/images/burleighdodds__uk_ai.png" alt="Burleigh Dodds UK AI" /></p>
<p><img src="../../images/content/images/burleighdodds__us_ai.png" alt="Burleigh Dodds US AI" /></p>
<h2 id="conclusion-strategic-feature-development-without-breaking-the-bank">Conclusion: strategic feature development without breaking the bank</h2>
<p>We were honoured to develop this new functionality, at no cost to the client, to fuel Burleigh Dodds&rsquo; innovative publishing approach based on the provision of excellent, rich, deep and automatically generated structured metadata. And hearty congratulations to them for winning the Newcomer of the Year IPG award: as close partners we are able to say it is richly deserved.</p>
<p><img src="../../images/content/images/burleighdodds__website.png" alt="Burleigh Dodds website" /></p>
New websitehttp://bibliocloud.com/blog/new-website/2018-02-25T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Never ones to rest on our laurels, here&rsquo;s our new website. In my <a href="/blog/customer-survey-report">previous post</a> (originally for our customers&rsquo; eyes only, but now public)
I promised that, by way of thanks for their helpful feedback, we&rsquo;d have a new documentation site up and running in the first half of this year. Well, it&rsquo;s
two weeks later, and here it is. And it&rsquo;s not just a new documentation site. You&rsquo;ll find our blog (with many archive posts rescued from the <a href="http://archive.org/web/">Wayback machine</a> after the Digital Book World blog shut down) and
useful information about Bibliocloud all in one place. This speedy development is thanks in no small part to the sort of tools that are available
to programmers nowadays.</p>
<p>Our new website is a <a href="https://middlemanapp.com/">Middleman app</a>, a static site generator. Hosting and a ton of
amazing deployment features are provided by <a href="https://www.netlify.com/">Netlify</a>, the single best web app of any type
I have ever used. Effortless DNS management comes from <a href="https://dnsimple.com">DNSimple</a>, and a really great new
search is provided by <a href="https://www.algolia.com/">Algolia Docsearch</a>. We&rsquo;ve got a direct integration with our
CRM tool, <a href="http://pipedrive.com">Pipedrive</a>, on the <a href="/request_a_demo/">Request a demo</a> page, which helps us to get back to prospective customers
quickly. Testing is done with <a href="http://rspec.info/">Rspec</a>, and git version control is done by <a href="https://bitbucket.org">Bitbucket</a>, which has a Continuous Integration, erm, integration with
Netlify which builds and deploys the static HTML and CSS files each time we push the code to the master branch. (And, as a minor point of personal pride, we wrote it without any CSS framework, or jQuery.)</p>
<p>All these bulletproof tools mean we have been able to write this website from scratch in our spare time in two weeks. It&rsquo;s a work in progress, but the structure is in place to build what we
hope will be the best bibliographic software website, bar none.</p>
<p>For example, we&rsquo;ll post news about our new style guide in due course, once we&rsquo;ve applied all the rules to our existing content. This style guide builds on and complements our <a href="https://app.bibliocloud.com/component_library">component library</a>
and brings the sort of consistency of language, tone, colour, typography and more that makes our documentation and application straightforward to use, search, read and understand. Here&rsquo;s to consistency and harmony!</p>
<p>We&rsquo;ll also be refining the documentation search, in particular. It&rsquo;s fresh out of the box at the moment: we&rsquo;ll be refining it to make sure the top results remain the most relevant, over time. We&rsquo;re delighted with its speed, relevance and coverage already.</p>
<p><img src="../../images/content/images/22.49.54.png" alt="22.49.54" /></p>
<p>We&rsquo;ve started to post regular product updates on the blog, too, so do subscribe to our feed or bookmark our blog to keep up to date with product news, as well as our musings. The whole team pitch in with thoughts and contributions, so you can look forward to hearing news from a combination of <a href="https://twitter.com/saramoohead">Sara</a>, <a href="https://twitter.com/databasesponge">Dave</a>, <a href="https://twitter.com/andypearson">Andy</a>, <a href="http://www.snowbooks.com/">Rob</a> and <a href="https://twitter.com/has_many_books">me</a>.</p>
<p>I hope you enjoy having a look, and seeing how it unfolds. We&rsquo;re looking forward to it, too!</p>
2018 Customer survey reporthttp://bibliocloud.com/blog/customer-survey-report/2018-02-11T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p><em>This is a long post, so here&rsquo;s the summary:</em></p>
<p><em>* We&rsquo;re going to work on the things you have told us to work on in 2018</em></p>
<p><em>* Skip to the bottom for some exciting news!</em></p>
<p>Just before Christmas, we once again asked our customers for feedback about Bibliocloud and the service you receive from us, using a short form. We asked you for a score out of ten in response to the question <q>how likely are you to recommend Bibliocloud to another publisher?</q> Then we asked you why you gave that score: What do you like and what still needs to be improved. We also asked what one thing would you like us to focus on in 2018. The results are in, and this post shares with you the results, and what we&rsquo;re doing about them. Once our customers have all read this post and we have discussed any follow ups, we&rsquo;ll make this post public.</p>
<h3 id="methodology">Methodology</h3>
<p>91.5% of respondents gave us at least 5 out of 10, with 61% giving us at least 8 out of 10. Those numbers are fine as far as they go, but the real actionable meat of the feedback is in the written comments, so that&rsquo;s where we focussed.</p>
<p>We took the comments, and broke them down so that each time something in particular was mentioned, it received a count: +1 for a positive, -1 for a negative. For example, the following answer was broken down into +1s for</p>
<ul>
<li>+1 Intuitiveness</li>
<li>+1 Everything in one place</li>
<li>+1 Staff support</li>
</ul>
<p><img src="../../images/content/images/Screen-Shot-2018-02-06-at-13.24.12.png" alt="Screen shot 2018 02 06 at 13.24.12" /></p>
<p>And the next answer broke down into</p>
<ul>
<li>-1 Navigation</li>
<li>-1 Validations</li>
</ul>
<p><img src="../../images/content/images/Screen-Shot-2018-02-06-at-13.29.04.png" alt="Screen shot 2018 02 06 at 13.29.04" /></p>
<p>The feedback split into the following categories:</p>
<h4 id="existing-features">Existing features:</h4>
<ul>
<li>Metadata</li>
<li>Schedules</li>
<li>Gantt</li>
<li>Contracts</li>
<li>Production</li>
<li>Royalties</li>
<li>Contacts</li>
<li>Briefings</li>
<li>Imports</li>
<li>Exports</li>
<li>P&amp;L</li>
<li>Works</li>
<li>Search</li>
<li>Validations</li>
</ul>
<h4 id="new-feature-requests">New feature requests:</h4>
<ul>
<li>Journal management</li>
<li>Tagging</li>
<li>Summaries / dashboards</li>
</ul>
<h4 id="integrations-imports-and-exports">Integrations, imports and exports:</h4>
<ul>
<li>Shopify integration</li>
<li>Marketing materials</li>
</ul>
<h4 id="usability">Usability:</h4>
<ul>
<li>Data entry usability</li>
<li>Data entry duplication</li>
<li>Speed</li>
<li>Navigation</li>
<li>Design</li>
<li>Notifications</li>
<li>Everything in one place</li>
<li>Intuitiveness</li>
<li>Pagination on index pages</li>
</ul>
<h4 id="support">Support:</h4>
<ul>
<li>Communication</li>
<li>Client data specific</li>
<li>Staff support</li>
<li>Price</li>
<li>Documentation</li>
</ul>
<blockquote>
<p><strong>A note on the response rate</strong></p>
<p>Thank you so much to the 56% of invitees who took the time to so carefully and generously share their thoughts with us. If this summary doesn&rsquo;t reflect your own feelings about the system then please do let us know at the next survey. These surveys, followed by the support tickets we receive, are the number one way we prioritise our development work. And, according to the stats, the form took an average of 5:39 minutes to complete, so not too awful! If you want to have a say in how we develop Bibliocloud, the surveys are the best way to let us know, although our ears are always open: <a href="http://app.bibliocloud.com">raise a ticket</a> to share your thoughts!</p>
</blockquote>
<h2 id="analysis">Analysis</h2>
<p>Here are the main insights that we took away.</p>
<ul>
<li><p>The single most popular thing about Bibliocloud is that it provides everything in one place.</p></li>
<li><p>The other things you like are the design and the intuitiveness of the system.</p></li>
<li><p>The main things you think need work are schedules and data entry.</p></li>
</ul>
<h3 id="key-insights">Key insights</h3>
<p>These are the key actionable learnings we have taken from this analysis and used as the basis for our 2018 work plan.</p>
<p><strong>1) Documentation</strong> We could do a better job of keeping the user documentation up to date. We push new code almost daily, and it can be a challenge to actually document and notify people about the changes.</p>
<p><strong>What we&rsquo;re doing about it:</strong> We knew we were falling a bit behind on documentation, but for it to be raised as a concern in feedback makes it a big priority. So work has started on improving the infrastructure of the docs, to make them more appealing for us to maintain, and also to make them more consistent. There will be a newly edited version of the docs, with new content and radically improved search, coming in the first half of this year.</p>
<p><img src="../../images/content/images/Screen-Shot-2018-02-06-at-13.53.31.png" alt="Screen shot 2018 02 06 at 13.53.31" /></p>
<p>Hand-in-hand with documentation goes support. In a review of roles at the start of this year, we have decided that I, as CEO, am best placed to be <q>on duty</q> on the front line, picking up all the tickets. We are big fans of the <a href="https://sixteenventures.com/customer-success-definition">Customer Success</a> movement, and, by having the chief decision maker fully aware of the ebbs and flows of customer sentiment, we can make sure we keep customers at the heart of the business. It&rsquo;s a golden opportunity to extend the conversation from just the issue at hand to rootle around in and solve the underlying problems. And it makes the customer service function much more strategic: now I have a very clear insight into both the detail of what customers are grappling with and the larger swathes of their experience, which will feed in to future planning. First response time is down to just over 5 hours (down by 18 hours, gosh) too.</p>
<p><em>The takeaway? Raise a ticket if you want affect how we work!</em></p>
<p><strong>2) Schedules</strong> are too complex and hard to use.</p>
<p><strong>What we&rsquo;re doing about it:</strong> We&rsquo;ve heard that you find schedules &ndash; particularly the Gantt view &ndash; unfriendly to use, and we&rsquo;ve been working with a core team of customer representatives who are being kind enough to spend time with us to capture the specifics. The survey was taken before the Christmas break, and since then we have released two new important improvements: a new tasks page and a new schedules page. There&rsquo;s <a href="/blog/product-news-schedules-page/">a write up here</a> of the work so far, but it&rsquo;s still work in progress. Please use the new schedules and tasks pages, and tell us what&rsquo;s still lacking &ndash; we&rsquo;d love to hear from you so we can continue to improve this feature. Notably, if you choose to have a simple schedule with no dependencies between tasks, you can now edit the dates entirely through tables rather than using the Gantt chart.</p>
<p><strong>3) Data entry.</strong> Much work in 2017 focussed on being able to <strong>find and review data better</strong>, resulting in a well-received new pattern for pages such as the products, the contacts and the tasks pages, and being able to <strong>get data out</strong>, resulting in huge performance improvements behind the scenes in ONIX and in a new <a href="/blog/advanced-advance-information-2/">Advance Information Sheet default</a>. However, being able to <strong>get data in</strong> remains at the core of the system and there&rsquo;s still work to be done. A detailed reading of your feedback here reveals that are two things at play, here: the ease with which you can get your data into the system, and the confidence you have about whether this means it&rsquo;s complete, accurate, timely and optimised for sales.</p>
<p><strong>What we&rsquo;re doing about it:</strong> Two things.</p>
<p>First, <a href="https://twitter.com/saramoohead">Sara</a> is nearly ready to launch her simply amazing spreadsheet contact data importer, and then will start work on another importer for product data. I won&rsquo;t steal her thunder on it and there will be a full write up soon: suffice to say you will be able to upload, validate and clean contact data from a spreadsheet in Bibliocloud. Game changer.</p>
<p>Second, <a href="http://twitter.com/andypearson">Andy</a> has just started work on a major new feature which will allow you to check your data in Bibliocloud against any number of rules, and receive actionable feedback about how complete, relevant and accurate your data is. We&rsquo;re looking at the start of summer for this to be ready for prime time.</p>
<p>There will still be more work to do, particularly on the Metadata page. And of course these projects aren&rsquo;t the only work we do. There is:</p>
<ul>
<li>Work prompted by support tickets</li>
<li>Ongoing ONIX configurations and improvements</li>
<li>Standardising the layouts of existing pages using our <a href="https://app.bibliocloud.com/component_library">patterns</a></li>
<li>Integration projects</li>
<li>Other roadmap projects (there&rsquo;s a post coming soon on our roadmap!)</li>
<li><a href="/blog/advanced-advance-information-2/">Here&rsquo;s a nice insight into the thorough way we work</a>, too.</li>
</ul>
<p>But both these major strategic efforts will help you to produce <strong>better data in a shorter amount of time, in order to sell more books</strong>, which is why we have chosen this prioritisation.</p>
<h2 id="where-these-plans-sit-in-the-wider-picture">Where these plans sit in the wider picture</h2>
<p>Customer success is at the heart of what we do, because our own success and revenue model is predicated on recurring revenue from customers sticking with us.</p>
<ul>
<li>Our value proposition is to provide one version of the truth to the sorts of publishers we feel we can help best, so that they achieve their desired outcomes over time and stay with us year after year.</li>
<li>We say <q>no</q> to potential customers who we feel have a different desired outcome to that which we know we can support &ndash; because we know they won&rsquo;t be successful and won&rsquo;t renew.</li>
<li>We use many channels to keep the conversation flowing between us and our customers, and have multiple touch points to actively solicit ever-changing feedback. ZenDesk tickets, this survey, specific projects and scheduled calls are just a few of those channels.</li>
<li>Our key activities revolve around building the right system to make our customers successful.</li>
</ul>
<p>So you can imagine how important the results of our surveys are to us. It&rsquo;s high customer retention that has driven our results over the last few years (you&rsquo;ll have to email me privately to ask about the y-axis scale!)</p>
<p><img src="../../images/content/images/Screen-Shot-2018-02-06-at-09.57.42.png" alt="Screen shot 2018 02 06 at 09.57.42" /></p>
<h2 id="and-finally">And finally</h2>
<p>As part of our endeavours to keep the conversation flowing, we are excited to be organising a Customer Conference in 2018. We hope everyone will be able to make it and so, to help our planning, we would be super-happy if you could let us know what would make it a <a href="https://www.surveymonkey.co.uk/r/TDMGM2J">great day out for you on our survey</a>. We&rsquo;ll look forward to seeing you there!</p>
Advanced advance information!http://bibliocloud.com/blog/advanced-advance-information-2/2018-02-10T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>If you are a Bibliocloud client, you have always been able to click a button to download your metadata directly from Bibliocloud into one beautiful PDF layout. You can do that for one, or a thousand, products in one go. It&rsquo;s a hugely time-saving feature, and one directly related to selling more books.</p>
<p>AIs remain at the core of the selling-in process, taken into all types of sales meetings between publisher sales teams and their customers: at sales conferences, head office presentations, to wholesalers, at Meet the Buyer events, and at store level. We see no sign of them being superseded by technology any time soon!</p>
<p>Over the years, we have often been asked to implement our clients&rsquo; own designs in our code, as part of their onboarding. We take our client&rsquo;s design, and write the code and tests which allow Bibliocloud to produce AIs in that style on demand. We&rsquo;ve thus had the chance to see all manner of expert designs, and to learn what works and what doesn&rsquo;t. We wanted to take all those learnings and produce our own <q>super-AI</q> – and make it available to all our clients for free as a built-in benefit of their licence fee.</p>
<p>This has been an important project for us and many of our clients so I thought you might enjoy the background story.</p>
<h2 id="the-brief">The brief</h2>
<p>Back in April 2017 we wrote up a detailed brief of what we needed our new AI sheet to do, and, along with many examples of our existing AIs, sent them all over to super-designer <a href="http://www.spindlow.co.uk/">Tom Spindlow</a>. Our <a href="http://twitter.com/andypearson">Andy</a> had worked with Tom on many successful prior projects and knew him to be an excellent designer.</p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-30-at-15.33.20.png" alt="Screen shot 2018 01 30 at 15.33.20" /></p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-30-at-18.00.57.png" alt="Screen shot 2018 01 30 at 18.00.57" /></p>
<h2 id="the-sketch">The sketch</h2>
<p>Tom soon sent back his first impressions – keen to reinforce the point that this wasn&rsquo;t a design, but a sketch, intended to ensure that all the required elements were present and weighted according to their importance.</p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-30-at-15.40.05.png" alt="Screen shot 2018 01 30 at 15.40.05" /></p>
<p>We did some back and forth, demoting certain elements and promoting others, until Tom had enough insight to be able to provide a second cut.</p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-30-at-15.43.13.png" alt="Screen shot 2018 01 30 at 15.43.13" /></p>
<h2 id="the-design">The design</h2>
<p>From there, Tom worked his magic and produced some beautiful, clean designs: one serif, one sans. The idea was that the designs be modular and extensible: as we encountered as yet unknown new requirements in the future, we would be able to incorporate them into the basic layout.</p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-30-at-15.46.06.png" alt="Screen shot 2018 01 30 at 15.46.06" /></p>
<p><img src="../../images/content/images/2018/01/ais-1.png" alt="Ais 1" /></p>
<p>At this point we could share the designs with some key clients who we knew were looking for new ideas for their AIs, and refined the design further based on their feedback.</p>
<h2 id="the-programming">The programming</h2>
<p>At last, the programming could begin! Andy implemented a future-looking design pattern which would gift us the option to adapt this feature in the future, whilst only doing the programming that was needed at the moment. We pragmatically adjusted the spec to deliver the project in the most time and cost-effective way, balancing the desire to achieve design perfection with the need to deliver value for our customers as rapidly as possible.</p>
<h2 id="the-testing">The testing</h2>
<p>In order to check that Bibliocloud produces AIs as expected, we don&rsquo;t just click on a few links to see what happens.</p>
<h4 id="our-development-process">Our development process</h4>
<p>When we write code, it&rsquo;s on our laptops, on a copy of the main codebase called a branch. Imagine a tree: the trunk of the tree is the official codebase (called <q>master</q>), and our branch of code is an offshoot, which we can edit without sullying the official version.</p>
<p>Before we share that code with anyone else, we write automated tests to make sure that the code does what we expect it to do and that it&rsquo;s formatted according to our style guide. We run these on our computer. Green dots mean the test has passed, red means it&rsquo;s failed, and we can find out what the problem is. We can run tests just for the bit of code we&rsquo;ve edited, to save time, as the whole test run takes about twenty minutes.</p>
<p><img src="../../images/content/images/2018/01/cc49826-tests.gif" alt="Cc49826 tests" /></p>
<p>We then share that code with colleagues on a code storage service called <a href="https://bitbucket.org/">Bitbucket</a>, using something called a <q>pull request</q> to invite comment and sign-off. It&rsquo;s called that because we <em>request</em> that our new code is <em>pulled</em> into the <q>master</q> version of the Bibliocloud codebase.</p>
<p>When the code has been buffed to perfection, it&rsquo;s approved by colleagues and merged into the master branch. It&rsquo;s now ready to be deployed to the real website.</p>
<p>If the code has been in development for a long time, there will be many tens, even hundreds, of cycles of pull requests. On this project, there were 13 main pieces of work, each with multiple pull requests and commits to the feature branch:</p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-30-at-18.33.31-2.png" alt="Screen shot 2018 01 30 at 18.33.31 2" /></p>
<p>Depending on the scale and nature of the change, we will either send that code to the Bibliocloud website, or to a test or demo website for review.</p>
<p>Before the code is allowed onto the live website, it runs through a <q>continuous integration</q> service called <a href="https://codeship.com/">Codeship</a> which runs the whole suite of our tests again. So if our change has broken something inadvertently in a far flung corner of the application, this process will catch the problem before the code is released.</p>
<p>If the code is a proposed structural change, we will often configure it so that users can flip between the old and the new version, until we have solicited feedback and everyone is up to speed.</p>
<h4 id="special-sorts-of-tests-for-pdfs">Special sorts of tests for PDFs</h4>
<p>Normally our tests look a bit like this:</p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-30-at-16.00.30.png" alt="Screen shot 2018 01 30 at 16.00.30" /></p>
<p>or a bit like this:</p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-30-at-16.01.39.png" alt="Screen shot 2018 01 30 at 16.01.39" /></p>
<p>These tests check what the data is, or how the browser looks, in certain circumstances. But PDFs are neither data nor browsers, and needed something extra. As well as testing the classes which generate the data, Andy came up with a new sort of integration test to see whether the generated PDF was exactly as expected.</p>
<p>First he generates the AI, programmatically, which we store in our codebase:</p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-30-at-18.43.10.png" alt="Screen shot 2018 01 30 at 18.43.10" /></p>
<p>Then he wrote tests which generate that same AI, using the current version of the code, and literally overlay one on the other to see if there are any differences. Any differences get reported on; the test fails and we can amend the code to make sure that our changes haven&rsquo;t altered the expected behaviour of the system.</p>
<h2 id="the-launch">The launch</h2>
<p>Once the feature was completed and all the necessary tests written, we pushed the code to the main site. We will be inviting all clients who don&rsquo;t have a bespoke AI template to review their data in our new format, and hope that they soon begin to enjoy the benefits of this rigorously produced design through selling many more books, as a result!</p>
Zed Bookshttp://bibliocloud.com/blog/zed-books-and-the-power-of-automation-and-better-data/2018-02-09T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Zed Books had a storming year in 2017. In this post, we explain how Bibliocloud played a part in their success. It&rsquo;s a great case study and an inspiring example of a publisher really committing to a long-term vision and seeing it through. Here&rsquo;s how the journey began, how it evolved, and what we&rsquo;ve achieved to date.</p>
<h1 id="zed-books-in-2014">Zed Books in 2014</h1>
<p>Zed Books came to us three years ago with an ambitious plan. They aspired to modernise their systems, transform their data and invest in a major rebrand. Adopting Bibliocloud was one of their first and most fundamental steps to meet their objectives:</p>
<ul>
<li>Invest in a three-year transformation project</li>
<li>Improve metadata to improve discoverability and sales</li>
<li>Automate a supply of rich content from Bibliocloud to a new website</li>
<li>Automate ONIX feeds to third parties</li>
<li>Invest in bespoke AIs and press releases to convey Zed Books&rsquo; brand</li>
</ul>
<h1 id="metadata-transformation">Metadata transformation</h1>
<p>We provided hands-on support and advice to import Zed Books&rsquo; data from their existing system - both products and also contacts. We worked over several months to review, complete and optimise their metadata to improve discoverability of front and backlist - for example, adding in secondary contributors and keywords. A nice example was adding the well-known travel writer Hilary Bradt to the metadata for <em>Thank you, Madagascar</em> as contributor of the foreword. The book now also appears in searches for <q>Hilary Bradt</q> on Amazon and other retailers, improving discoverability.
<img src="../../images/content/images/2017/12/E994FBAE-3274-43DF-AAB7-B5645A2FB556.png" alt="E994fbae 3274 43df aab7 b5645a2fb556" /></p>
<h1 id="an-automated-workflow">An automated workflow</h1>
<ul>
<li>Automated daily ONIX feeds to Nielsen, NBNi and other recipients, including POD arrangements to NBNi</li>
<li>Automated bespoke AI, Author profile and Press releases, designed to match new Zed branding (as below)</li>
<li>Partnership with Zed Books&rsquo; developers, Burgess and Beech, to power the new Zed Books website with the Bibliocloud API feed.</li>
<li>Streamlined the set-up and maintenance of our API by making it possible to find out if data has changed instead of checking every product.</li>
</ul>
<p><img src="../../images/content/images/2017/12/1070EEA6-1F1F-4606-8041-566460559F2E.png" alt="1070eea6 1f1f 4606 8041 566460559f2e" /></p>
<h1 id="reflections">Reflections</h1>
<p>As one of our earliest clients, Zed Books&rsquo; success is very satisfying and the result of huge amounts of work on both sides - and much learning along the way. It&rsquo;s brilliant to see the benefits of a single, reliable source of truth play out in a really impressive website (one of the best in the industry) - and higher sales. Zed Books are unique in their business model and their mission to champion marginalised voices is increasingly important in our changing times. As they mark their 40th anniversary, we&rsquo;re especially proud to be supporting them and look forward to many more successful years.</p>
<h1 id="takeaways">Takeaways</h1>
<ul>
<li><p>Good data is the backbone that makes creativity possible. When you trust your data source and can automate and flex it, you can do the creative branding that helps you sell more books. <strong>Get in touch to see how we can help you get your data into Bibliocloud and optimised for better sales.</strong></p></li>
<li><p>If you&rsquo;re considering building a new website, Bibliocloud can supply your book data automatically. <a href="/docs">Our API is documented here.</a> Using the Bibliocloud API, you and your developers have the freedom to design the website that&rsquo;s right for your business, while Bibliocloud provides an accurate source of your data. <a href="https://www.zedbooks.net/">Check out Zed Books&rsquo; website here</a>, and as below.</p></li>
</ul>
<p><img src="../../images/content/images/2018/01/FireShot-Capture-5---Home---ZED-Books---https___www.zedbooks.net_-1.png" alt="Fireshot capture 5 home zed books https www.zedbooks.net 1" /></p>
A hidden benefithttp://bibliocloud.com/blog/a-hidden-benefit-of-bibliocloud/2018-02-08T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>I&rsquo;ve noticed an interesting side-effect to using Bibliocloud. If you use one of the features that presents data in a human-readable way, it completely alters your data-management-motivation levels.</p>
<p>Take websites. Over Christmas, I released the new <a href="http://www.snowbooks.com">Snowbooks.com</a> website. From the design point of view, I hope it&rsquo;s good: legible, navigable, easy on the eye, a great showcase for our wonderful books, and helpful for customers to be able to choose where they can shop.</p>
<p><img src="../../images/content/images/2018/01/Jan-09-2018-13-27-40.gif" alt="Jan 09 2018 13 27 40" /></p>
<p>(As an aside, from the technical point of view, it was a complete joy to write. It&rsquo;s a <a href="https://jekyllrb.com/">Jekyll</a> app, which is a way to write static websites. That means you use the Ruby programming language to combine data about your books with templates for the website to create all the HTML files on your computer, then upload the finished files to the internet &ndash; you don&rsquo;t rely on a server to draw together data on the fly. And it uses the response from a request to Bibliocloud&rsquo;s API as its data source. As part of General Products&rsquo; Side Project Friday Afternoon Initiative, I&rsquo;m preparing the code to be open sourced, so hopefully other people might consider writing adapters to other data sources. <a href="mailto:emma@bibliocloud.com">Drop me a line</a> if you&rsquo;re particularly interested!)</p>
<p>The point is that when I was developing this website, it made me want the pages to look good. I mean, I was spending time creating something which is our shop window. I wanted it to look as nice as possible. And, with that hat on, one&rsquo;s eye is drawn to ugly blanks and missing data. Cue a big flurry of metadata updating, as I variously:</p>
<ul>
<li>uploaded higher-resolution images when the one I was pulling from Bibliocloud was a bit on the fuzzy side</li>
<li>made sure everyone was credited, and in the correct order</li>
<li>made sure the latest reviews were front and centre</li>
</ul>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-09-at-13.57.08.png" alt="Screen shot 2018 01 09 at 13.57.08" /></p>
<p>and, most interestingly</p>
<ul>
<li>came up with new series groupings of books which, post-publication, I decided sit together nicely on the page. Welcome to the world, Snowbooks Gothic, Snowbooks Fantasy Originals and friends!</li>
</ul>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-09-at-13.41.12.png" alt="Screen shot 2018 01 09 at 13.41.12" /></p>
<p>Which additionally appeared on websites around the world the next day, as ONIX carried the good news:</p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-09-at-16.27.36.png" alt="Screen shot 2018 01 09 at 16.27.36" /></p>
<p>It might be a bit extreme to spark up brand new series on a whim, but it&rsquo;s interesting how seeing your data presented in a new way can inspire new ways of looking at the list. And now the books are related to each other in a new and discoverable way in our ONIX.</p>
<h2 id="catalogues">Catalogues</h2>
<p>As a minimum, it certainly makes you notice where data completion could be improved. Treasured client <a href="https://twitter.com/PharmPress">Pharmaceutical Press</a> used an XML export from Bibliocloud to populate their catalogue this week, and found the same thing as me: their bundled student packs now include images where previously the metadata hadn&rsquo;t necessarily needed to be so rich. Their catalogue benefits from another image, and in the process, almost as a side-effect and certainly with no additional work, their metadata is that much richer.</p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-09-at-13.47.21.png" alt="Screen shot 2018 01 09 at 13.47.21" /></p>
<h2 id="advance-information-sheets">Advance information sheets</h2>
<p>The classic part of the system that prompts this sort of work is the advance information sheet. We&rsquo;re all guilty of only getting our data up to date when we need it for the sales conference &ndash; and it makes it so much easier to <q>see</q> data when it&rsquo;s in a human readable format. I often output a whole bunch of AIs as a ZIP file in one go from Bibliocloud, and flick through them on Finder on my laptop, to get a sense of whether I&rsquo;m pleased with the blurbs, the pricing and so on.</p>
<p><img src="../../images/content/images/2018/01/ais.png" alt="Ais" /></p>
<h2 id="crowdsourcing-quality">Crowdsourcing quality</h2>
<p>When you put your data into a human-readable format, you hope there&rsquo;s a chance that a human other than yourself might read it. This is great: the more eyes the better. This just in from prized and beady-eyed author Jonathan Green:</p>
<p><img src="../../images/content/images/2018/01/Screen-Shot-2018-01-09-at-14.22.25.png" alt="Screen shot 2018 01 09 at 14.22.25" /></p>
<h2 id="the-right-format-for-the-job">The right format for the job</h2>
<p>Bibliocloud is not just about getting data into a format suitable for computers to share: just as valuable is getting data into a format that works for your brain. I&rsquo;m a sucker for a pretty picture, but I&rsquo;m happy that it&rsquo;s improved my metadata quality.</p>
Schedules pagehttp://bibliocloud.com/blog/product-news-schedules-page/2018-02-07T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>It&rsquo;s been a long time coming, but here – just in time for Christmas – is a new Schedules page. Log in to Bibliocloud and go to <code>/schedules</code>, where you can click to preview the new version:
<img src="../../images/content/images/2017/12/Screen-Shot-2017-12-23-at-20.16.51.png" alt="Screen shot 2017 12 23 at 20.16.51" /></p>
<p>You will be able to flick back and forth between the current and the new version for a while – at least until the end of January 2018. And we&rsquo;ve only made the first changes available for preview so far, meaning that this is a work in progress. Feedback is definitely welcome, as ever.</p>
<p>Here&rsquo;s how the new page is looking: you&rsquo;ll want to log in to your own account to see your own data.</p>
<p><img src="../../images/content/images/2017/12/Screen-Shot-2017-12-23-at-20.20.54.png" alt="Screen shot 2017 12 23 at 20.20.54" /></p>
<p>You can click through to the tasks page to see the detail behind the task counts.</p>
<p>This is the first stage in redesigning this page. Further development will make it possible to:</p>
<ul>
<li>Add, edit, duplicate and delete schedules</li>
<li>Open a panel to view all tasks on a schedule, as well as potentially tabs for &lsquo;Roles&rsquo;, &lsquo;Issues&rsquo; and other data relevant to a schedule.</li>
</ul>
<p>We&rsquo;d love to know:</p>
<ul>
<li>Does this page help you answer the question of where you are with your schedules, and what needs doing?</li>
<li>Is there anything missing that is important for you?</li>
<li>What data would you find particularly valuable in the open-and-close panel for each schedule, to help you answer the questions important to your work?</li>
</ul>
<p>Please email <a href="mailto:emma@bibliocloud.com">emma@bibliocloud.com</a> with your thoughts, or raise a support ticket.</p>
<p>By the way, this is the first product update blog post that we&rsquo;ve included on Code:Read. Previously we&rsquo;ve relied on the <a href="https://app.bibliocloud.com/change_log">change log</a> but feedback on our recent customer satisfaction survey suggested that clients would like more information about when new features are announced. So bookmark this blog in your browser, and subscribe to our <a href="../../feed.xml">RSS feed</a>, too.</p>
<p>Many thanks from us all, and a very merry Christmas and happy new year!</p>
2017 in reviewhttp://bibliocloud.com/blog/2017-in-review/2018-02-06T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>As is traditional at this time of year, we&rsquo;re looking back over 2017. It does give me a more than mild sense of vertigo to think about how much we&rsquo;ve done. And whilst, at times, the tumultuous happenings in the wider world have felt overwhelming, <a href="https://bibliocloud.com">Bibliocloud</a> continues to be a meaningful and tangible thing that I can do to help make the world better. We are honoured to be able to bring more organisation, more fluency, and more time to be creative to our publishers. And by freeing them up to do the work that matters, we can know that we&rsquo;re helping them produce more of the sorts of books that will steer the world towards something better.</p>
<p>Books matter. It matters to us that we&rsquo;re helping in their creation, and that the way we go about helping is something to be proud of, in itself. To those ends, our big moments of 2017 were oriented towards our goal of making our customers successful, and doing it in style.</p>
<h2 id="sara-oconnor-joined-the-team">Sara O&#39;Connor joined the team!</h2>
<p>As part of our plan to build a crack team of the best programmers in publishing, in April <a href="https://twitter.com/saramoohead">Sara O&#39;Connor</a> joined us as a full stack developer, bringing our technical team count to four and giving it a pleasing two-women, two-men gender balance. Sara was formerly editorial and digital director of <a href="http://hotkeybooks.com/">Hot Key Books</a>, a Bonnier imprint, who retrained as a programmer at <a href="http://www.makersacademy.com/">Makers Academy</a>, before working for business data company <a href="http://www.exceedra.com/">Exceedra</a>. Domain knowledge is one of the hardest parts of programming: finding a team member who knows publishing <em>and</em> programming is rare and brilliant. Sara hit the ground running, first reviewing and improving the test suite for our royalties functionality and then diving into a hugely ambitious long-term project to allow user-controlled contact, product and other data uploads to Bibliocloud. The fruits of her labours will be revealed in early 2018, but for now it&rsquo;s enough to say that it&rsquo;s a dream come true for me to be able to watch people such as Sara reskill and reorient their whole career towards something they know makes a difference.</p>
<h2 id="sharpening-our-focus-on-customer-success">Sharpening our focus on customer success</h2>
<p>Throughout 2017, one of our main ambitions has been to get better and better at delivering customer success. The year started with a bang as we won the <a href="/blog/prizes-galore/">IPG GBS Services to Independent Publishers award</a> in February, as nominated by our own customers, so it was nice to know that we were heading in the right direction.</p>
<blockquote class="twitter-tweet" data-cards="hidden" data-lang="en"><p lang="en" dir="ltr">Huge congratulations <a href="https://twitter.com/Bibliocloud?ref_src=twsrc%5Etfw">@Bibliocloud</a> on the IPG Award; we see how well you service publishers day in and day out&hellip; richly deserved <a href="https://twitter.com/hashtag/ipgawards?src=hash&amp;ref_src=twsrc%5Etfw">#ipgawards</a> <a href="https://t.co/FsJLnW0GbD">pic.twitter.com/FsJLnW0GbD</a></p>&mdash; NBN International (@nbnibooks) <a href="https://twitter.com/nbnibooks/status/829821936918208512?ref_src=twsrc%5Etfw">February 9, 2017</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<p>In March, <a href="https://twitter.com/emilylabram">Emily</a> instigated a rota for our online ticketing <a href="https://www.zendesk.co.uk/">helpdesk</a>, making sure that there was always a team member dedicated primarily to managing queries, and over the course of the year we have better than halved our response times to support tickets. It was great to talk later in the year in October at <a href="https://www.buchmesse.de/en/fbf/">Frankfurt</a> with many of our customers, all of whom reported that things are going great. Vidisha at <a href="https://www.zedbooks.net/">Zed Books</a>, for example, credited Bibliocloud with underpinning their recent amazing success, which makes you tingle all over. (The link takes you to their stunning new website, proudly fed from Bibliocloud via our <a href="/docs">API</a>). And then, as we close the year in December, the results of our latest Net Promoter Survey are coming in, and they&rsquo;re looking really good. (More in the new year about those results and feedback, and how it&rsquo;s driving our plans for 2018.) We&rsquo;re so pleased that our efforts are helping you succeed.</p>
<h2 id="listening">Listening</h2>
<p>Because we&rsquo;ve orientated ourselves towards customer success, we&rsquo;ve also got better at listening. By hearing where customers have had twangles, ideas and troubles, we have been able to focus our efforts on the work that really matters to them. All in all, our stats show that we deployed 200 discrete pieces of work, ranging from maintenance tasks such as <a href="http://www.editeur.org/151/Thema/">THEMA code updates</a> and new integrations; small improvements such as adding fields to API feeds; the occasional bug fix; and major features such as:</p>
<ul>
<li>a better, more usable, faster <a href="https://Bibliocloud.readme.io/docs/search-icon">search</a> functionality</li>
<li>a better <a href="https://Bibliocloud.readme.io/docs/search-product-page">products page</a></li>
<li>a better contacts page</li>
<li>a better tasks page</li>
<li>better <a href="https://Bibliocloud.readme.io/docs/generate-statements">royalties pages</a> (and a special shout out to <a href="https://liverpooluniversitypress.co.uk/">Liverpool University Press</a> and <a href="https://www.v-publishing.co.uk/">Vertebrate</a> for being the leading clients on that endeavour)</li>
<li>improved contract templates</li>
<li>better <a href="https://Bibliocloud.readme.io/docs/create-briefs">briefing notes</a></li>
</ul>
<p>And coming in early 2018 are the fruits of our most recent efforts:</p>
<ul>
<li>universal data importers that feed back on data quality and validations</li>
<li>a new default advance information sheet, designed by <a href="http://www.spindlow.co.uk/">Tom Spindlow</a></li>
<li>a better schedules page:
<img src="../../images/content/images/2017/12/Screen-Shot-2017-12-18-at-15.36.29.png" alt="Screen shot 2017 12 18 at 15.36.29" /></li>
<li>and more! You can always follow along on our <a href="https://app.bibliocloud.com/change_log">change log</a>, and you can flip between old and new versions of code when we&rsquo;re doing a big development, providing feedback whilst development is still ongoing.</li>
</ul>
<h2 id="using-tools-and-partnerships-to-improve-our-own-processes">Using tools and partnerships to improve our own processes</h2>
<p>We&rsquo;re in the business of writing tools which help our customers run their companies more effectively, so it stands to reason that we would try to be as efficient as possible in our own work. A festive shout out to the partners who help us support you: Graham at <a href="http://www.editeur.org/">Editeur</a>, <a href="http://www.ipac-for-publishing.org/">IPAC</a>, <a href="http://www.nielsen.com/uk/en.html">Nielsen</a>, <a href="https://www.bdslive.com/">BDS</a>, the completely brilliant <a href="http://distribution.nbni.co.uk/">NBNi</a>, <a href="https://www.alpsp.org/">ALPSP</a> and the <a href="http://www.ipg.uk.com/">IPG</a>. And to the tools that help us make Bibliocloud better:</p>
<ul>
<li><a href="https://www.atlassian.com/software/jira">JIRA</a>, which we use to manage our programming work</li>
<li><a href="https://www.atlassian.com/software/bitbucket">Bitbucket</a>, where we store versions of our code</li>
<li><a href="https://codeship.com/">Codeship</a>, which runs our tests before deploying code</li>
<li><a href="https://heroku.com">Heroku</a>, which hosts our applications</li>
<li><a href="https://newrelic.com/">New Relic</a>, which reports on how the applications are running</li>
<li><a href="https://www.zendesk.com/">Zendesk</a>, which keeps the conversation flowing between us and our customers</li>
<li><a href="https://readme.io/">ReadMe</a>, which provides our user and API docs</li>
<li><a href="https://aws.amazon.com/">AWS</a>, which provide database, storage and backup functions</li>
</ul>
<p>We know that Bibliocloud sits as one more application in your landscape of tools and services, and we try our hardest to be among the best, in terms of usefulness, beauty and support.</p>
<h2 id="out-and-about">Out and about</h2>
<p>We&rsquo;ve attended some banging events this year, and we plan to do more of that next year, whether as speakers or delegates. There were the trade shows: the <a href="http://www.londonbookfair.co.uk/">London Book Fair</a> in March and <a href="https://www.buchmesse.de/en/fbf/">Frankfurt</a> in October.
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">⚡️ “Bibliocloud at Frankfurt 2017”<a href="https://t.co/PWtpTpS50C"><a href="https://t.co/PWtpTpS50C">https://t.co/PWtpTpS50C</a></a></p>&mdash; Bibliocloud (@Bibliocloud) <a href="https://twitter.com/Bibliocloud/status/919645287408455682?ref_src=twsrc%5Etfw">October 15, 2017</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>There was the new: the amazing <a href="https://brightonruby.com/">Brighton Ruby conference</a> in July and the <a href="https://ltvconf.com/">Life Time Value</a> conference in April, and the <a href="http://www.opentech.org.uk/2017/">OpenTech</a> conference in May. There was the annual <a href="http://www.ipg.uk.com/home">IPG Spring</a> and <a href="http://www.ipg.uk.com/ipg-blogs/7938/the-why-of-publishing">Autumn</a> conferences (click that link for a brilliant reflection on the day by Emily), and the digital quarterlies.</p>
<p>As well as attending events which helped us reframe and reconsider some publishing truths, we contributed as much as we could to help other people find the joy of code. We ran our sell-out <a href="https://bookmachine.org/2016/10/30/coding-publishers-taster-course/">Try Coding for Publishers</a> course in conjunction with Book Machine in April, which raised over £200 for <a href="https://www.savethechildren.org.uk/">Save The Children</a>:</p>
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Lots of garish screens on show at <a href="https://twitter.com/hashtag/publisherswhocode?src=hash&amp;ref_src=twsrc%5Etfw">#publisherswhocode</a> workshop as our delegates get to grips with CSS&hellip; <a href="https://t.co/ZAsNxUSnBn">pic.twitter.com/ZAsNxUSnBn</a></p>&mdash; Emily Labram (@emilylabram) <a href="https://twitter.com/emilylabram/status/849994063986253825?ref_src=twsrc%5Etfw">April 6, 2017</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<p>And we are regular and cheerful coaches at <a href="http://railsgirls.com/">Railsgirls</a> London.</p>
<h2 id="each-day-getting-better">Each day, getting better</h2>
<p>We get our kicks from being competent in a field that matters. So it was a source of real pride to launch the <a href="https://app.bibliocloud.com/component_library">Bibliocloud Component Library</a> in May, hand-rolled by <a href="https://twitter.com/andypearson">Andy</a> and used throughout the year and into next as we increasingly standardise the interface.
<img src="../../images/content/images/2017/12/Screen-Shot-2017-12-18-at-15.45.46.png" alt="Screen shot 2017 12 18 at 15.45.46" /></p>
<p>We have also made great strides with our ONIX provision. We have sent 5700 ONIX files this year alone, containing 571,000 ONIX product fragments, totalling 20GB of data. Phew!</p>
<p>We also find time to pursue personal projects, having instigated a new Side Project Friday afternoon initiative. On Friday afternoon, when the clients tend to go a little quiet, we crack open our personal projects. Andy is learning <a href="https://reactjs.org">React</a> and <a href="https://electronjs.org">Electron</a> by building a rules viewer for tabletop games. Sara is working on her family bingo app, which she uses herself at events that attract 100 players. Emily introduced herself to SQL. Dave contributed to a number of open source libraries, such as the <a href="https://github.com/ragalie/lisbn/graphs/contributors">LISBN gem</a>. And I wrote my <a href="https://publishingperspectives.com/2017/11/make-our-book-international-school-publishing-program-uk/">makeourbook.com</a> schools publishing app. Whilst that sounds nice but not very relevant, it is actually a fantastic way to hone and grow our programming skills and try out new ways of working. It&rsquo;s an easy, motivational and interesting way to ensure we undertake ongoing professional development and cross-fertilise new ideas across the team.</p>
<h2 id="and-helping-more-publishers">And helping more publishers!</h2>
<p>We were delighted to welcome seven new clients to Bibliocloud in 2017, who will be joined by 13 (and counting) in 2018. We plan to grow at a slow and steady rate and are glad to be able to curate close relationships with the sorts of publishers we feel best able to support, and most proud of helping. So a festive wave to these new clients: the <a href="http://ioppublishing.org/">Institute of Physics</a> (– read our <a href="/blog/iop-publishing-onix-a-case-study/">case study</a>), <a href="http://www.thepress.purdue.edu/">Purdue University Press</a>, <a href="http://upers.kuleuven.be/en">Leuven University Press</a>, the <a href="http://www.britishmuseum.org/">British Museum</a>, <a href="https://www.whatonearthbooks.com/">What on Earth?</a>, <a href="http://innovapress.co.uk">Innova Press</a>, <a href="http://rethinkpress.com/">Rethink</a>, and to those joining us in the spring. They join a fleet of publishers that we burst with pride to call our customers, who include:</p>
<p><img src="../../images/content/images/2017/12/Screen-Shot-2017-12-18-at-17.06.29.png" alt="Screen shot 2017 12 18 at 17.06.29" /></p>
<p>Although it&rsquo;s lovely to work with new clients, you might be interested to know that our internal bonus scheme is based on renewals: 5% of the licence fee revenue from renewing clients is paid to non-director staff as a bonus. To be honest, our enthusiasm for Bibliocloud means that we&rsquo;re pretty good sales people. However, it&rsquo;s one thing to to sell software to new clients; it&rsquo;s quite another to have them want to keep using it, a year later. So I&rsquo;m delighted to report that, in 2017, all of our active clients renewed their licenses. It&rsquo;s a real measure of success, I think, and we&rsquo;re hugely grateful to our customers for sticking with us.</p>
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Recommended. Bibliocloud is light years beyond every other bibliographic data system, and that&rsquo;s because it&rsquo;s built with empathy and agility by some very smart people. <a href="https://t.co/AYvcP8SlXE">https://t.co/AYvcP8SlXE</a></p>&mdash; Simon Collinson (@Simon_Collinson) <a href="https://twitter.com/Simon_Collinson/status/936302570607468545?ref_src=twsrc%5Etfw">November 30, 2017</a></blockquote>
<h2 id="and-so-to-2018">And so, to 2018</h2>
<p>So here&rsquo;s to continuing the hard work and customer focus into 2018 and beyond. We will be in touch with all our customers at the end of January to update them on our firm plans for the year, based on their feedback in our survey. (If you&rsquo;re a client, and you&rsquo;ve not yet responded, please do – it&rsquo;s a great chance to shape Bibliocloud to your priorities, so it&rsquo;s worth the five minutes!)</p>
<p>Thank you once again to our brilliant and important clients for 2017. This is all for you, and your books, and we hope you thrive and flourish in 2018 with us.</p>
IOP Publishinghttp://bibliocloud.com/blog/iop-publishing-onix-a-case-study/2018-02-05T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>We were extremely excited to hear from IOP Publishing. Science publishers do vital and inspiring work, and, at Bibliocloud HQ, we get a real kick out of supporting them. We embarked on the RFP process with enthusiasm.</p>
<h2 id="why-iop-publishing-chose-bibliocloud">Why IOP Publishing chose Bibliocloud</h2>
<p>Despite stiff competition, we were delighted that Bibliocloud&rsquo;s usefulness and intuitive interface stood out.</p>
<p>Christian Box, Head of Sales Operations, explained their choice:</p>
<blockquote>
<p><q>We were hugely impressed with the interface and user design elements of Bibliocloud, and the modern approach to system architecture which we feel is well placed to grow with us as our programme grows.</q></p>
</blockquote>
<p>IOP Publishing were also impressed by our expertise, and keen to work with Bibliocloud&rsquo;s David Aldridge on metadata, whom they&rsquo;ve since described as <q>a true expert in the field</q>.</p>
<h1 id="a-smart-team-investing-in-design-and-technology">A smart team, investing in design and technology</h1>
<p><img src="/images/content/images/2017/11/IMG_2884.JPG" alt="IOP marketing materials on-site"/></p>
<p><strong>IOP Publishing impressed us from the outset with their strategic mindset.</strong></p>
<p>They had invested time in defining their value to the scientific community as a publisher and were committed to investing in the technology to support it.</p>
<p>Their investment in Design, too, shone through their unique, in-house Studio, whose design principles unified their books, covers and marketing materials and generated a palpable sense of pride throughout the team.</p>
<p>This was a skilled and technical organisation with a growing title count. Their manual systems had served them in the early days, but they were now outgrowing them. With talented staff spending increasing amounts of time chasing and correcting data, it was time to invest in a convenient, central source of truth.</p>
<h2 id="iops-objectives">IOP&rsquo;s objectives</h2>
<ul>
<li>Streamline workflow</li>
<li>Improve metadata</li>
<li>Automate marketing materials</li>
<li>Automate data feeds to retailers and distributors</li>
</ul>
<h1 id="measuring-and-learning">Measuring and learning</h1>
<p><strong>IOP Publishing were keen to publish ever more efficiently, from acquisition to publication.</strong></p>
<p>To that end, they aspired to measure the entire process from acquisition to manuscript delivery, production and publication. Bibliocloud would handle IOP&rsquo;s workflow from contract to production, capturing data on key dates to help IOP streamline and shorten their process over time.</p>
<p>There was also the possibility of an integration with Salesforce down the line, which IOP use to streamline and manage their acquisitions process. This would be technically feasible given Bibliocloud&rsquo;s Platform-as-a-service provider, Heroku, which has a tried-and-tested Connect service with Salesforce.</p>
<p>It was an exciting brief!</p>
<h1 id="what-we-did">What we did</h1>
<ul>
<li><strong>Migrated IOP&rsquo;s data</strong> from Confluence and ONIX Edit into Bibliocloud</li>
<li>Designed a <strong>bespoke AI</strong> to match IOP&rsquo;s original</li>
<li>Trained up the team</li>
<li>Integrated a daily <strong>price and availability feed</strong> from NBNi</li>
<li>Prepared a reporting area in our database for IOP&rsquo;s Business Intelligence team to directly access metadata</li>
<li>Set up <strong>production schedules</strong> on Bibliocloud</li>
<li>Set up <strong>daily automatic ONIX feeds</strong> to their key trading partners and metadata aggregators.</li>
</ul>
<h3 id="iop-publishings-ai">IOP Publishing&rsquo;s AI</h3>
<p>Automatically generated, AIs can also be downloaded across titles in bulk in a few short clicks.</p>
<h2 id="briefing-templates-a-highlight">Briefing templates: a highlight</h2>
<p>Bibliocloud&rsquo;s power is in being a &lsquo;canonical source of truth&rsquo;: one up-to-date, accurate data source. The beauty of this is the ability to reuse this data in many automatic ways.</p>
<p><strong>IOP&rsquo;s beautiful briefings templates are one of many examples, used for handing over work between departments:</strong></p>
<p><img alt="Briefing template" src="/images/content/images/2017/11/Screen-Shot-2017-11-14-at-15.21.21.png" style="width:500px"></p>
<p>The cover, title, description and other metadata fields feed onto the briefing document automatically, and the headers are templated. The briefing team adds in their unique instructions, and - bam - a delightful and impressive-looking PDF is created in Bibliocloud.</p>
<p>Briefings save IOP Publishing from manually creating these documents and copying and pasting data and eliminate the risk of inaccuracy. More importantly, the templates are stored in Bibliocloud for posterity. That&rsquo;s invaluable for problem-solving down the line and for reflection, refinement and continuous improvement.</p>
<h1 id="next-steps-from-here">Next steps from here</h1>
<p>The IOP Publishing team are up-and-running, feeling the benefits of having <q>everything in one place</q>. Their metadata - including their collections of ebooks, known internally as &lsquo;releases&rsquo; - is stored and structured for the future.</p>
<p>Automated data feeds, AIs and briefings have already saved hours of manual data re-entry. And production schedules are enabling them to measure their workflow in readiness for a bumper 2018.</p>
<p>Nevertheless, this is just the beginning of a long-term partnership. We have several projects planned or underway to radically automate more of IOP&rsquo;s workflow - and which we hope will benefit the client-base as a whole.</p>
<p>Ebooks Product Manager Callum MacKay, who expertly managed the implementation on IOP&rsquo;s side, reflects on where we are now:</p>
<blockquote>
<p>The automation of ONIX to distribution channels saves us a huge amount of time and effort. The relationship with your team - David Aldridge in particular - allows us to develop our existing metadata, and develop new product metadata and mechanisms too using Bibliocloud as a source. This is really valuable.</p>
</blockquote>
<p>We&rsquo;re proud to be equipping this talented team to bring ever more benefit to the scientific community.</p>
<p><img src="https://www.evernote.com/l/AO1-HwtPJ6dFpoa7ReZwvcTGMlmiKfX5QlkB/image.png" alt="Image" /></p>
Thema Subject Codes Update November 2017http://bibliocloud.com/blog/thema-subject-codes-update-november-2017/2018-02-04T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>The latest Thema updates have been released with 744 new codes, bringing the total to 6,748, and are now available in Bibliocloud.</p>
<p>As per the list below, many new place qualifiers are available, in particular for Holland, Portugal, Russia, Italy, Hungary, Greece, India&hellip; Actually, loads of countries have contributed more geographical detail, which is great to see.</p>
<p>On the education side, German professional/vocational qualifications and degrees are now available.</p>
<p>We strongly advise all clients to be as specific as possible in assigning Thema codes, as there is no risk associated with being too detailed, even if recipients of ONIX have not yet updated their systems.</p>
<p>Here is a list of the 744 new codes.</p>
<h3 id="geographical">Geographical</h3>
<ul>
<li>1DDN-NL-BB: Breda</li>
<li>1DDN-NL-BE: Eindhoven</li>
<li>1DDN-NL-BH: s-Hertogenbosch</li>
<li>1DDN-NL-BT: Tilburg</li>
<li>1DDN-NL-DA: Assen</li>
<li>1DDN-NL-DE: Emmen</li>
<li>1DDN-NL-FA: Almere</li>
<li>1DDN-NL-FL: Lelystad</li>
<li>1DDN-NL-GA: Arnhem</li>
<li>1DDN-NL-GD: Apeldoorn</li>
<li>1DDN-NL-GE: Ede</li>
<li>1DDN-NL-GN: Nijmegen</li>
<li>1DDN-NL-HH: Haarlem</li>
<li>1DDN-NL-HM: Alkmaar</li>
<li>1DDN-NL-LM: Maastricht</li>
<li>1DDN-NL-LV: Venlo</li>
<li>1DDN-NL-NG: Groningen</li>
<li>1DDN-NL-RL: Leeuwarden</li>
<li>1DDN-NL-SA: Alphen aan den Rijn</li>
<li>1DDN-NL-SC: Dordrecht</li>
<li>1DDN-NL-SD: Delft</li>
<li>1DDN-NL-SH: The Hague</li>
<li>1DDN-NL-SL: Leiden</li>
<li>1DDN-NL-SR: Rotterdam</li>
<li>1DDN-NL-SZ: Zoetermeer</li>
<li>1DDN-NL-UA: Amersfoort</li>
<li>1DDN-NL-UU: Utrecht</li>
<li>1DDN-NL-VE: Enschede</li>
<li>1DDN-NL-VZ: Zwolle</li>
<li>1DDN-NL-ZG: Goes</li>
<li>1DDN-NL-ZM: Middelburg</li>
<li>1DDN-NL-ZV: Vlissingen</li>
<li>1DFH-CH-GVL: Lausanne</li>
<li>1DNC-IS-R: Reykjavík</li>
<li>1DSM-MT-G: Gozo</li>
<li>1DSP-PT-B: Norte (Northern Portugal)</li>
<li>1DSP-PT-BP: Porto</li>
<li>1DSP-PT-C: Centro (Central Portugal)</li>
<li>1DSP-PT-L: Lisboa (Region)</li>
<li>1DSP-PT-LL: Lisbon</li>
<li>1DSP-PT-LS: Sintra</li>
<li>1DSP-PT-N: Alentejo</li>
<li>1DSP-PT-P: Algarve</li>
<li>1DSP-PT-PF: Faro</li>
<li>1DSP-PT-R: Madeira - Autonomous Region</li>
<li>1DSP-PT-RF: Funchal</li>
<li>1DSP-PT-T: Azores - Autonomous Region</li>
<li>1DST-IT-NZ: Northern Italy: Places of interest</li>
<li>1DST-IT-NZB: The Northern Apennines</li>
<li>1DST-IT-NZD: The Dolomites</li>
<li>1DST-IT-NZL: The Italian lakes region</li>
<li>1DST-IT-NZLC: Lake Como</li>
<li>1DST-IT-NZLG: Lake Garda</li>
<li>1DST-IT-NZLM: Lake Maggiore</li>
<li>1DST-IT-NZLQ: Lake Iseo</li>
<li>1DST-IT-NZP: The Po River &amp; its tributaries</li>
<li>1DST-IT-TRPT: Lake Trasimeno</li>
<li>1DST-IT-TSEB: Val d’Orcia</li>
<li>1DST-IT-TSLB: Elba</li>
<li>1DST-IT-TX: Central Italy: Places of interest</li>
<li>1DST-IT-TXA: The Arno river &amp; tributaries</li>
<li>1DST-IT-TXC: The Tiber river and tributaries</li>
<li>1DST-IT-TXF: The Central Apennines</li>
<li>1DST-IT-TXM: Maremma</li>
<li>1DST-IT-UDSD: The Costa Smeralda</li>
<li>1DST-IT-ULME: Aeolian Islands</li>
<li>1DST-IT-ULTE: Mount Etna</li>
<li>1DST-IT-UMNC: Capri / Ischia</li>
<li>1DST-IT-UMNP: Pompeii / Herculaneum</li>
<li>1DST-IT-UMNV: Mount Vesuvius</li>
<li>1DST-IT-UMSC: The Amalfi coast</li>
<li>1DST-IT-UZ: Southern Italy: Places of interest</li>
<li>1DST-IT-UZC: The Southern Apennines</li>
<li>1DST-IT-UZCE: Monte Gran Sasso</li>
<li>1DST-IT-UZCP: Monte Pollino</li>
<li>1DST-IT-UZD: Sila</li>
<li>1DTA-RU-B: Russia: Central District</li>
<li>1DTA-RU-BK: Kursk</li>
<li>1DTA-RU-BM: Moscow</li>
<li>1DTA-RU-BS: Smolensk</li>
<li>1DTA-RU-D: Russia: Southern District</li>
<li>1DTA-RU-DB: Volgograd</li>
<li>1DTA-RU-DD: Rostov-on-Don</li>
<li>1DTA-RU-F: Russia: Northwestern District</li>
<li>1DTA-RU-FA: Archangel / Arkhangelsk</li>
<li>1DTA-RU-FC: Kaliningrad</li>
<li>1DTA-RU-FD: Novgorod</li>
<li>1DTA-RU-FP: Saint Petersburg</li>
<li>1DTA-RU-H: Russia: Far Eastern District</li>
<li>1DTA-RU-J: Russia: Siberian District</li>
<li>1DTA-RU-JZ: Siberia: places of interest</li>
<li>1DTA-RU-JZB: Siberia: Lake Baikal</li>
<li>1DTA-RU-L: Russia: Ural District</li>
<li>1DTA-RU-N: Russia: Volga District</li>
<li>1DTA-RU-NN: Nizhny Novgorod</li>
<li>1DTA-RU-P: Russia: North Caucasus District</li>
<li>1DTA-RU-PC: Chechen Republic (Chechnya)</li>
<li>1DTB-BY-M: Minsk</li>
<li>1DTD-LV-R: Riga</li>
<li>1DTE-EE-T: Tallinn</li>
<li>1DTF-LT-V: Vilnius</li>
<li>1DTG-GE-T: Tbilisi</li>
<li>1DTH-HU-B: Central Hungary</li>
<li>1DTH-HU-BB: Budapest</li>
<li>1DTH-HU-D: Transdanubia</li>
<li>1DTH-HU-DB: Lake Balaton</li>
<li>1DTH-HU-DD: Lake Neusiedl / Ferto</li>
<li>1DTH-HU-DF: Mecsek Mountains</li>
<li>1DTH-HU-DG: Transdanubian Mountains</li>
<li>1DTH-HU-DH: Little Hungarian Plain</li>
<li>1DTH-HU-DP: Esztergom</li>
<li>1DTH-HU-DQ: Győr</li>
<li>1DTH-HU-DR: Pécs</li>
<li>1DTH-HU-DS: Sopron</li>
<li>1DTH-HU-DT: Székesfehérvár</li>
<li>1DTH-HU-DV: Veszprém</li>
<li>1DTH-HU-F: Great Plain &amp; the North</li>
<li>1DTH-HU-FD: North Hungarian Mountains</li>
<li>1DTH-HU-FDE: Eger</li>
<li>1DTH-HU-FP: Great Hungarian plain</li>
<li>1DTH-HU-FPD: Hortobágy National Park</li>
<li>1DTH-HU-FPJ: Debrecen</li>
<li>1DTH-HU-FPK: Szeged</li>
<li>1DTH-HU-FPW: Lake Tisza</li>
<li>1DTH-HU-Z: Hungary: Places of interest</li>
<li>1DTH-HU-ZD: Danube–Tisza Interfluve</li>
<li>1DTH-HU-ZT: Transtisza / Tiszántúl</li>
<li>1DTJ-CZ-A: Prague</li>
<li>1DTJ-CZ-B: South Moravian Region</li>
<li>1DTJ-CZ-C: South Bohemian Region</li>
<li>1DTJ-CZ-E: Pardubice Region</li>
<li>1DTJ-CZ-H: Hradec Kralove Region</li>
<li>1DTJ-CZ-J: Vysocina Region</li>
<li>1DTJ-CZ-K: Karlovy Vary Region</li>
<li>1DTJ-CZ-L: Liberec Region</li>
<li>1DTJ-CZ-M: Olomouc Region</li>
<li>1DTJ-CZ-P: Pilsen Region</li>
<li>1DTJ-CZ-S: Central Bohemian Region</li>
<li>1DTJ-CZ-T: Moravian-Silesian Region</li>
<li>1DTJ-CZ-U: Usti nad Labem Region</li>
<li>1DTJ-CZ-Z: Zlin Region</li>
<li>1DTJ-CZ-X: Czechia : places of interest</li>
<li>1DTJ-CZ-XB: Bohemia</li>
<li>1DTJ-CZ-XBF: Bohemian Forest</li>
<li>1DTJ-CZ-XBG: Krkonoše / Giant Mountains</li>
<li>1DTJ-CZ-XBV: Vltava river &amp; tributaries</li>
<li>1DTJ-CZ-XM: Moravia</li>
<li>1DTJ-CZ-XS: Czech Silesia</li>
<li>1DTK-SL-B: Bratislava</li>
<li>1DTN-UA-K: Kiev</li>
<li>1DTP-PL-M: Masovian Voivodeship</li>
<li>1DTP-PL-MA: Warsaw</li>
<li>1DTP-PL-P: Lesser Poland Voivodeship</li>
<li>1DTP-PL-PK: Krakow</li>
<li>1DTV-AM-Y: Yerevan</li>
<li>1DTX-AZ-B: Baku</li>
<li>1DXA-AL-T: Tirana</li>
<li>1DXB-BG-S: Sofia</li>
<li>1DXC-HR-A: Zagreb</li>
<li>1DXC-HR-C: Central Croatia</li>
<li>1DXC-HR-D: Dalmatia</li>
<li>1DXC-HR-DD: Dubrovnik</li>
<li>1DXC-HR-DK: Šibenik</li>
<li>1DXC-HR-DS: Split</li>
<li>1DXC-HR-DY: Zadar</li>
<li>1DXC-HR-J: Istria</li>
<li>1DXC-HR-K: Kvarner &amp; the Highlands</li>
<li>1DXC-HR-L: Lika - Karlovac</li>
<li>1DXC-HR-S: Slavonia</li>
<li>1DXD-MK-S: Skopje</li>
<li>1DXG-GR-E: Central Greece</li>
<li>1DXG-GR-EA: Attica</li>
<li>1DXG-GR-EAA: Athens</li>
<li>1DXG-GR-EAE: Eleusis</li>
<li>1DXG-GR-EAP: Piraeus</li>
<li>1DXG-GR-EE: Euboea</li>
<li>1DXG-GR-EEC: Chalcis</li>
<li>1DXG-GR-EF: Phocis</li>
<li>1DXG-GR-EFD: Delphi</li>
<li>1DXG-GR-EK: Aetolia-Acarnania</li>
<li>1DXG-GR-EKM: Missolonghi</li>
<li>1DXG-GR-ET: Phthiotis</li>
<li>1DXG-GR-ETA: Atalanti</li>
<li>1DXG-GR-EV: Boeotia</li>
<li>1DXG-GR-EVT: Thebes</li>
<li>1DXG-GR-H: Epirus</li>
<li>1DXG-GR-L: Thessaly</li>
<li>1DXG-GR-M: Macedonia</li>
<li>1DXG-GR-MC: Chalkidiki</li>
<li>1DXG-GR-ME: Pella</li>
<li>1DXG-GR-MP: Pieria</li>
<li>1DXG-GR-MT: Thessaloniki (region)</li>
<li>1DXG-GR-MTH: Thessaloniki</li>
<li>1DXG-GR-P: Peloponnese</li>
<li>1DXG-GR-PA: Achaea</li>
<li>1DXG-GR-PAP: Patras</li>
<li>1DXG-GR-PD: Arcadia</li>
<li>1DXG-GR-PH: Elis / Ilia</li>
<li>1DXG-GR-PHO: Ancient Olympia</li>
<li>1DXG-GR-PK: Corinthia</li>
<li>1DXG-GR-PKK: Corinth</li>
<li>1DXG-GR-PL: Laconia</li>
<li>1DXG-GR-PLS: Sparta</li>
<li>1DXG-GR-PLY: Mystras</li>
<li>1DXG-GR-PM: Messenia</li>
<li>1DXG-GR-PR: Argolis</li>
<li>1DXG-GR-PRA: Argos</li>
<li>1DXG-GR-PRM: Mycenae</li>
<li>1DXG-GR-S: Greek Islands</li>
<li>1DXG-GR-SA: North Aegean Islands</li>
<li>1DXG-GR-SAC: Chios</li>
<li>1DXG-GR-SAH: Lemnos</li>
<li>1DXG-GR-SAL: Lesbos</li>
<li>1DXG-GR-SAS: Samos</li>
<li>1DXG-GR-SC: Crete</li>
<li>1DXG-GR-SCH: Heraklion</li>
<li>1DXG-GR-SD: Dodecanese (Islands)</li>
<li>1DXG-GR-SDH: Karpathos</li>
<li>1DXG-GR-SDK: Kos</li>
<li>1DXG-GR-SDL: Leros</li>
<li>1DXG-GR-SDP: Patmos</li>
<li>1DXG-GR-SDR: Rhodes</li>
<li>1DXG-GR-SF: Ionian Islands</li>
<li>1DXG-GR-SFC: Corfu</li>
<li>1DXG-GR-SFF: Paxos</li>
<li>1DXG-GR-SFK: Cephalonia / Kefalonia</li>
<li>1DXG-GR-SFL: Lefkada</li>
<li>1DXG-GR-SFP: Ithaca</li>
<li>1DXG-GR-SFR: Zakynthos</li>
<li>1DXG-GR-SK: Cyclades (Islands)</li>
<li>1DXG-GR-SKK: Mykonos</li>
<li>1DXG-GR-SKM: Milos</li>
<li>1DXG-GR-SKN: Naxos</li>
<li>1DXG-GR-SKP: Paros</li>
<li>1DXG-GR-SKS: Santorini</li>
<li>1DXG-GR-SKY: Syros</li>
<li>1DXG-GR-SR: Saronic Islands</li>
<li>1DXG-GR-SRA: Aegina</li>
<li>1DXG-GR-SRS: Salamis</li>
<li>1DXG-GR-SS: Sporades (Islands)</li>
<li>1DXG-GR-SSA: Alonnisos</li>
<li>1DXG-GR-SSK: Skiathos</li>
<li>1DXG-GR-ST: Other Greek Islands</li>
<li>1DXG-GR-STK: Kythira</li>
<li>1DXG-GR-STM: Samothrace</li>
<li>1DXG-GR-STS: Skyros</li>
<li>1DXG-GR-T: Thrace</li>
<li>1DXH-BA-S: Sarajevo</li>
<li>1DXN-ME-P: Podgorica</li>
<li>1DXR-RO-B: Bucharest</li>
<li>1DXR-RO-Z: Romania: places of interest</li>
<li>1DXR-RO-ZT: Transylvania</li>
<li>1DXS-RS-B: Belgrade</li>
<li>1DXV-SI-C: Carniola</li>
<li>1DXV-SI-CL: Ljubljana</li>
<li>1DXY-CY-C: Nicosia</li>
<li>1FBH-IL-A: Tel-Aviv</li>
<li>1FBH-IL-H: Haifa</li>
<li>1FBJ-JO-P: Petra</li>
<li>1FBL-LB-B: Beirut</li>
<li>1FBN-IR-A: Tehran</li>
<li>1FBN-IR-S: Shiraz</li>
<li>1FBP-PS-G: Gaza</li>
<li>1FBQ-IQ-B: Baghdad</li>
<li>1FBS-SY-A: Aleppo</li>
<li>1FBS-SY-D: Damascus</li>
<li>1FBS-SY-P: Palmyra</li>
<li>1FBXS-SA-H: Hejaz /Hijaz</li>
<li>1FBXS-SA-HJ: Jeddah</li>
<li>1FBXS-SA-HM: Mecca / Makkah</li>
<li>1FBXS-SA-HN: Medina</li>
<li>1FBXS-SA-R: Riyadh</li>
<li>1FBXU-AE-A: Abu Dhabi</li>
<li>1FBXU-AE-D: Dubai</li>
<li>1FCA-AF-K: Kabul</li>
<li>1FCK-KG-B: Bishkek</li>
<li>1FKA-IN-A: Northern India</li>
<li>1FKA-IN-AB: Chandigarh</li>
<li>1FKA-IN-AD: National Capital Territory of Delhi</li>
<li>1FKA-IN-ADN: New Delhi</li>
<li>1FKA-IN-AG: Haryana</li>
<li>1FKA-IN-AH: Himachal Pradesh</li>
<li>1FKA-IN-AHS: Shimla / Simla</li>
<li>1FKA-IN-AJ: Jammu &amp; Kashmir</li>
<li>1FKA-IN-AP: Punjab</li>
<li>1FKA-IN-APB: Amritsar</li>
<li>1FKA-IN-AR: Rajasthan</li>
<li>1FKA-IN-ARB: Jaipur</li>
<li>1FKA-IN-ARD: Jodhpur</li>
<li>1FKA-IN-ARF: Udaipur</li>
<li>1FKA-IN-C: Central India</li>
<li>1FKA-IN-CB: Chhattisgarh</li>
<li>1FKA-IN-CD: Madhya Pradesh</li>
<li>1FKA-IN-CF: Uttar Pradesh</li>
<li>1FKA-IN-CFA: Agra</li>
<li>1FKA-IN-CFC: Varanasi / Benares</li>
<li>1FKA-IN-CH: Uttarakhand</li>
<li>1FKA-IN-E: Eastern India</li>
<li>1FKA-IN-EB: Bihar</li>
<li>1FKA-IN-ED: Jharkhand</li>
<li>1FKA-IN-EF: Odisha</li>
<li>1FKA-IN-EH: West Bengal</li>
<li>1FKA-IN-EHC: Kolkata</li>
<li>1FKA-IN-EHD: Darjeeling</li>
<li>1FKA-IN-G: North East India</li>
<li>1FKA-IN-GA: Assam</li>
<li>1FKA-IN-GC: Arunachal Pradesh</li>
<li>1FKA-IN-GE: Manipur</li>
<li>1FKA-IN-GH: Meghalaya</li>
<li>1FKA-IN-GJ: Mizoram</li>
<li>1FKA-IN-GL: Nagaland</li>
<li>1FKA-IN-GN: Tripura</li>
<li>1FKA-IN-J: Western India</li>
<li>1FKA-IN-JB: Dadra &amp; Nagar Haveli</li>
<li>1FKA-IN-JD: Daman &amp; Diu</li>
<li>1FKA-IN-JF: Goa</li>
<li>1FKA-IN-JG: Gujarat</li>
<li>1FKA-IN-JM: Maharashtra</li>
<li>1FKA-IN-JMM: Mumbai</li>
<li>1FKA-IN-L: Southern India</li>
<li>1FKA-IN-LA: Andhra Pradesh</li>
<li>1FKA-IN-LC: Karnataka</li>
<li>1FKA-IN-LCB: Bengaluru</li>
<li>1FKA-IN-LE: Kerala</li>
<li>1FKA-IN-LEC: Kochi</li>
<li>1FKA-IN-LG: Puducherry</li>
<li>1FKA-IN-LGB: Pondicherry</li>
<li>1FKA-IN-LJ: Tamil Nadu</li>
<li>1FKA-IN-LJC: Chennai</li>
<li>1FKA-IN-LK: Telangana</li>
<li>1FKA-IN-LKH: Hyderabad</li>
<li>1FKA-IN-LN: Andaman &amp; Nicobar Islands</li>
<li>1FKA-IN-LP: Lakshadweep</li>
<li>1FKB-BD-D: Dhaka</li>
<li>1FKN-NP-K: Kathmandu</li>
<li>1FKP-PK-B: Balochistan</li>
<li>1FKP-PK-D: Khyber Pakhtunkhwa</li>
<li>1FKP-PK-F: Punjab (PK)</li>
<li>1FKP-PK-FB: Lahore</li>
<li>1FKP-PK-H: Sindh</li>
<li>1FKP-PK-HB: Karachi</li>
<li>1FKP-PK-L: Islamabad</li>
<li>1FKS-LK-C: Colombo</li>
<li>1FMC-KH-A: Phnom Penh</li>
<li>1FMC-KH-B: Siem Reap</li>
<li>1FMC-KH-BA: Angkor</li>
<li>1FMM-MY-B: Kuala Lumpur</li>
<li>1FMM-MY-M: Melaka / Malacca</li>
<li>1FMM-MY-P: Penang</li>
<li>1FMM-MY-S: Sarawak</li>
<li>1FMM-MY-T: Sabah</li>
<li>1FMN-ID-B: Sumatra</li>
<li>1FMN-ID-D: Java</li>
<li>1FMN-ID-DJ: Jakarta</li>
<li>1FMN-ID-F: Kalimantan</li>
<li>1FMN-ID-K: Sulawesi</li>
<li>1FMN-ID-M: Maluku</li>
<li>1FMN-ID-P: Papua</li>
<li>1FMN-ID-S: Lesser Sunda Islands</li>
<li>1FMN-ID-SL: Lombok</li>
<li>1FMP-PH-A: Manila</li>
<li>1FMT-TH-B: Bangkok</li>
<li>1FMT-TH-C: Chiang Mai</li>
<li>1FMT-TH-K: Krabi</li>
<li>1FMT-TH-KL: Ko Lanta</li>
<li>1FMT-TH-P: Phuket</li>
<li>1FMT-TH-Q: Surat Thani</li>
<li>1FMT-TH-QB: Ko Samui / Koh Samui</li>
<li>1FMT-TH-Y: Ayutthaya</li>
<li>1FMV-VN-B: Ho Chi Minh City</li>
<li>1FMV-VN-D: Hanoi</li>
<li>1FPKS-KR-B: Seoul</li>
<li>1HBA-DZ-A: Algiers</li>
<li>1HBL-LY-C: Cyrenaica</li>
<li>1HBL-LY-CB: Benghazi</li>
<li>1HBL-LY-T: Tripolitania</li>
<li>1HBL-LY-TT: Tripoli</li>
<li>1HBM-MA-B: Tanger-Tetouan-Al Hoceima</li>
<li>1HBM-MA-BC: Tangier</li>
<li>1HBM-MA-F: Fès-Meknès</li>
<li>1HBM-MA-FE: Fez</li>
<li>1HBM-MA-H: Rabat-Salé-Kenitra</li>
<li>1HBM-MA-HR: Rabat</li>
<li>1HBM-MA-L: Casablanca-Settat</li>
<li>1HBM-MA-LC: Casablanca</li>
<li>1HBM-MA-M: Marrakesh-Safi</li>
<li>1HBM-MA-ME: Essaouira</li>
<li>1HBM-MA-MM: Marrakesh / Marrakech</li>
<li>1HBM-MA-P: Drâa-Tafilalet</li>
<li>1HBM-MA-PO: Ouarzazate</li>
<li>1HBM-MA-R: Souss-Massa</li>
<li>1HBM-MA-RA: Agadir</li>
<li>1HBS-SD-B: Khartoum</li>
<li>1HBT-TN-A: Tunis</li>
<li>1HBT-TN-D: Djerba / Jerba</li>
<li>1HFDH-GH-A: Accra</li>
<li>1HFDL-LR-A: Monrovia</li>
<li>1HFDM-ML-A: Timbuktu</li>
<li>1HFDN-NG-A: Lagos</li>
<li>1HFDS-SN-A: Dakar</li>
<li>1HFDU-GN-A: Conakry</li>
<li>1HFDY-CI-A: Abidjan</li>
<li>1HFGA-ET-A: Addis Ababa</li>
<li>1HFGK-KE-A: Nairobi</li>
<li>1HFGK-KE-M: Mombasa</li>
<li>1HFGR-RW-A: Kigali</li>
<li>1HFGT-TZ-B: Dar es Salaam</li>
<li>1HFGT-TZ-C: Zanzibar</li>
<li>1HFGT-TZ-E: Northern Tanzania</li>
<li>1HFGT-TZ-EB: Kilimanjaro</li>
<li>1HFGT-TZ-ED: Serengeti</li>
<li>1HFGU-UG-A: Kampala</li>
<li>1HFJC-CG-A: Brazzaville</li>
<li>1HFJZ-CD-A: Kinshasa</li>
<li>1HFMB-BW-A: Gaborone</li>
<li>1HFMB-BW-V: Okavango River &amp; Delta</li>
<li>1HFMQ-MZ-A: Maputo</li>
<li>1HFMS-ZA-A: Eastern Cape</li>
<li>1HFMS-ZA-B: Free State</li>
<li>1HFMS-ZA-BB: Bloemfontein</li>
<li>1HFMS-ZA-D: Gauteng</li>
<li>1HFMS-ZA-DB: Johannesburg</li>
<li>1HFMS-ZA-DD: Pretoria</li>
<li>1HFMS-ZA-F: KwaZulu-Natal</li>
<li>1HFMS-ZA-FB: Durban</li>
<li>1HFMS-ZA-H: Limpopo</li>
<li>1HFMS-ZA-J: Mpumalanga</li>
<li>1HFMS-ZA-K: North West Province</li>
<li>1HFMS-ZA-M: Northern Cape</li>
<li>1HFMS-ZA-N: Western Cape</li>
<li>1HFMS-ZA-NB: Cape Town</li>
<li>1HFMS-ZA-Z: South Africa: places of interest</li>
<li>1HFMS-ZA-ZK: Kruger National Park</li>
<li>1HFMS-ZA-ZD: Drakensberg</li>
<li>1HFMW-ZW-A: Harare</li>
<li>1HFMZ-ZM-A: Lusaka</li>
<li>1HSU-MU-B: Rodrigues</li>
<li>1KJC-CU-D: Havana</li>
<li>1KJC-CU-V: Guantánamo</li>
<li>1KJD-DO-D: Santo Domingo</li>
<li>1KJH-HT-P: Port-au-Prince</li>
<li>1KJP-PR-C: Spanish Virgin Islands</li>
<li>1KJP-PR-CC: Culebra</li>
<li>1KJP-PR-CD: Vieques</li>
<li>1KJWB-BS-A: Nassau</li>
<li>1KJWJ-JM-B: Kingston</li>
<li>1KJWWT-TT-P: Port of Spain</li>
<li>1KJX-BL-B: Saint Barthélemy</li>
<li>1KJX-BQ-B: Bonaire</li>
<li>1KJX-BQ-E: Sint Eustatius</li>
<li>1KJX-BQ-S: Saba</li>
<li>1KJX-CW-C: Curaçao</li>
<li>1KJX-SX-M: Sint Maarten</li>
<li>1KJX-MF-M: Saint Martin</li>
<li>1KLCG-GT-A: Guatemala department</li>
<li>1KLCG-GT-AC: Guatemala City</li>
<li>1KLCG-GT-E: Guatemala: Central region</li>
<li>1KLCG-GT-EB: Sacatepéquez</li>
<li>1KLCG-GT-EBA: Antigua Guatemala</li>
<li>1KLCG-GT-F: Guatemala: South western region</li>
<li>1KLCG-GT-FB: Sololá</li>
<li>1KLCG-GT-H: Petan department</li>
<li>1KLCG-GT-HF: Flores</li>
<li>1KLCH-HN-A: Honduras: Western region</li>
<li>1KLCH-HN-AC: Copan</li>
<li>1KLCH-HN-C: Honduras: North Eastern Region</li>
<li>1KLCH-HN-CJ: Bay Islands</li>
<li>1KLCH-HN-E: Honduras: Central Eastern Region</li>
<li>1KLCH-HN-EA: Francisco Morazán (Department)</li>
<li>1KLCH-HN-EAB: Tegucigalpa</li>
<li>1KLCM-MX-A: Northwest Mexico</li>
<li>1KLCM-MX-AA: Baja California</li>
<li>1KLCM-MX-AAB: Tijuana</li>
<li>1KLCM-MX-AB: Baja California Sur</li>
<li>1KLCM-MX-ABB: Los Cabos</li>
<li>1KLCM-MX-AC: Chihuahua</li>
<li>1KLCM-MX-AD: Durango</li>
<li>1KLCM-MX-AE: Sinaloa</li>
<li>1KLCM-MX-AEB: Mazatlan</li>
<li>1KLCM-MX-AF: Sonora</li>
<li>1KLCM-MX-B: Northeast Mexico</li>
<li>1KLCM-MX-BA: Coahuila de Zaragoza</li>
<li>1KLCM-MX-BB: Nuevo Leon</li>
<li>1KLCM-MX-BC: Tamaulipas</li>
<li>1KLCM-MX-E: North-Central Mexico</li>
<li>1KLCM-MX-EA: Aguascalientes</li>
<li>1KLCM-MX-EB: Guanajuato</li>
<li>1KLCM-MX-EBB: San Miguel de Allende</li>
<li>1KLCM-MX-EC: Queretaro</li>
<li>1KLCM-MX-ED: San Luis Potosi</li>
<li>1KLCM-MX-EE: Zacatecas</li>
<li>1KLCM-MX-F: South-Central Mexico</li>
<li>1KLCM-MX-FA: Mexico City</li>
<li>1KLCM-MX-FB: Mexico State</li>
<li>1KLCM-MX-FBM: Teotihuacan</li>
<li>1KLCM-MX-FC: Morelos</li>
<li>1KLCM-MX-C: West Mexico</li>
<li>1KLCM-MX-CA: Colima</li>
<li>1KLCM-MX-CB: Jalisco</li>
<li>1KLCM-MX-CBA: Guadalajara</li>
<li>1KLCM-MX-CBD: Puerto Vallarta</li>
<li>1KLCM-MX-CC: Michoacán de Ocampo</li>
<li>1KLCM-MX-CD: Nayarit</li>
<li>1KLCM-MX-D: East Mexico</li>
<li>1KLCM-MX-DA: Hidalgo</li>
<li>1KLCM-MX-DB: Puebla</li>
<li>1KLCM-MX-DC: Tlaxcala</li>
<li>1KLCM-MX-DD: Veracruz</li>
<li>1KLCM-MX-H: Southeast Mexico</li>
<li>1KLCM-MX-HA: Campeche</li>
<li>1KLCM-MX-HB: Quintana Roo</li>
<li>1KLCM-MX-HBB: Cancun</li>
<li>1KLCM-MX-HBC: Cozumel</li>
<li>1KLCM-MX-HBD: Playa del Carmen</li>
<li>1KLCM-MX-HBM: Tulum</li>
<li>1KLCM-MX-HBN: Riviera Maya</li>
<li>1KLCM-MX-HC: Tabasco</li>
<li>1KLCM-MX-HD: Yucatán</li>
<li>1KLCM-MX-HDA: Merida</li>
<li>1KLCM-MX-HDM: Chichen Itza</li>
<li>1KLCM-MX-HX: Southeast Mexico: Places of interest</li>
<li>1KLCM-MX-HXP: Yucatan Peninsula</li>
<li>1KLCM-MX-G: Southwest Mexico</li>
<li>1KLCM-MX-GA: Chiapas</li>
<li>1KLCM-MX-GB: Guerrero</li>
<li>1KLCM-MX-GBB: Acapulco</li>
<li>1KLCM-MX-GBE: Ixtapa-Zihuatanejo</li>
<li>1KLCM-MX-GC: Oaxaca</li>
<li>1KLCM-MX-GCA: Oaxaca de Juarez</li>
<li>1KLCM-MX-Z: Mexico: places of interest</li>
<li>1KLCM-MX-ZC: Gulf of California / Sea of Cortes</li>
<li>1KLCN-NI-M: Managua</li>
<li>1KLCP-PA-A: Panamá</li>
<li>1KLCP-PA-C: Colón</li>
<li>1KLCP-PA-D: Darien</li>
<li>1KLCR-CR-A: San José</li>
<li>1KLCS-SV-A: El Salvador: Western</li>
<li>1KLCS-SV-B: El Salvador: Central</li>
<li>1KLCS-SV-BA: San Salvador</li>
<li>1KLCS-SV-C: El Salvador: Eastern</li>
<li>1KLSA-AR-A: Northwest Argentina (NOA)</li>
<li>1KLSA-AR-AA: Catamarca</li>
<li>1KLSA-AR-AB: Jujuy</li>
<li>1KLSA-AR-AC: La Rioja</li>
<li>1KLSA-AR-AD: Salta</li>
<li>1KLSA-AR-AE: Santiago del Estero</li>
<li>1KLSA-AR-AF: Tucuman</li>
<li>1KLSA-AR-B: Northeast Argentina (NEA)</li>
<li>1KLSA-AR-BA: Corrientes</li>
<li>1KLSA-AR-BB: Chaco</li>
<li>1KLSA-AR-BC: Formosa (AR)</li>
<li>1KLSA-AR-BD: Misiones</li>
<li>1KLSA-AR-C: Cuyo</li>
<li>1KLSA-AR-CA: Mendoza</li>
<li>1KLSA-AR-CAM: Aconcagua</li>
<li>1KLSA-AR-CB: San Juan (AR)</li>
<li>1KLSA-AR-CC: San Luis (AR)</li>
<li>1KLSA-AR-D: Centro</li>
<li>1KLSA-AR-DA: Buenos Aires</li>
<li>1KLSA-AR-DB: Córdoba (AR)</li>
<li>1KLSA-AR-DC: Entre Rios (Mesopotamia)</li>
<li>1KLSA-AR-DD: La Pampa</li>
<li>1KLSA-AR-DE: Santa Fe (AR)</li>
<li>1KLSA-AR-E: Patagonia</li>
<li>1KLSA-AR-EA: Chubut</li>
<li>1KLSA-AR-EB: Neuquén</li>
<li>1KLSA-AR-EC: Rio Negro (AR)</li>
<li>1KLSA-AR-ED: Santa Cruz (AR)</li>
<li>1KLSA-AR-EDM: Parque Nacional de los Glaciares</li>
<li>1KLSA-AR-EE: Tierra del Fuego</li>
<li>1KLSA-AR-EEA: Ushuaia</li>
<li>1KLSB-BR-A: Brazil: North Region</li>
<li>1KLSB-BR-AA: Acre (state)</li>
<li>1KLSB-BR-AB: Amapa</li>
<li>1KLSB-BR-AC: Amazonas (state)</li>
<li>1KLSB-BR-AD: Para</li>
<li>1KLSB-BR-AE: Rondônia</li>
<li>1KLSB-BR-AF: Roraima</li>
<li>1KLSB-BR-AG: Tocantins</li>
<li>1KLSB-BR-B: Brazil: Northeast Region</li>
<li>1KLSB-BR-BA: Alagoas</li>
<li>1KLSB-BR-BB: Bahia</li>
<li>1KLSB-BR-BBB: Salvador de Bahia</li>
<li>1KLSB-BR-BC: Ceara</li>
<li>1KLSB-BR-BD: Maranhão</li>
<li>1KLSB-BR-BE: Paraíba</li>
<li>1KLSB-BR-BF: Pernambuco</li>
<li>1KLSB-BR-BFB: Recife</li>
<li>1KLSB-BR-BG: Piaui</li>
<li>1KLSB-BR-BH: Rio Grande do Norte</li>
<li>1KLSB-BR-BJ: Sergipe</li>
<li>1KLSB-BR-C: Brazil: Central-West Region</li>
<li>1KLSB-BR-CA: Distrito Federal</li>
<li>1KLSB-BR-CAB: Brasilia</li>
<li>1KLSB-BR-CB: Goias</li>
<li>1KLSB-BR-CC: Mato Grosso</li>
<li>1KLSB-BR-CD: Mato Grosso do Sul</li>
<li>1KLSB-BR-CZ: Brazil: Central-West Region: places of interest</li>
<li>1KLSB-BR-CZP: Pantanal</li>
<li>1KLSB-BR-D: Brazil: Southeast Region</li>
<li>1KLSB-BR-DA: Espirito Santo</li>
<li>1KLSB-BR-DB: Minas Gerais</li>
<li>1KLSB-BR-DC: Rio de Janeiro (State)</li>
<li>1KLSB-BR-DCA: Rio de Janeiro</li>
<li>1KLSB-BR-DD: São Paulo</li>
<li>1KLSB-BR-E: Brazil: South Region</li>
<li>1KLSB-BR-EA: Parana</li>
<li>1KLSB-BR-EB: Santa Catarina</li>
<li>1KLSB-BR-EC: Rio Grande do Sul</li>
<li>1KLSC-CO-A: Colombia: Amazonian Region</li>
<li>1KLSC-CO-B: Colombia: Andean region</li>
<li>1KLSC-CO-BA: Antioquia</li>
<li>1KLSC-CO-BAA: Medellin</li>
<li>1KLSC-CO-BB: Boyaca</li>
<li>1KLSC-CO-BD: Cundinamarca</li>
<li>1KLSC-CO-BDA: Bogota</li>
<li>1KLSC-CO-BF: Norte de Santander</li>
<li>1KLSC-CO-BJ: Santander (department)</li>
<li>1KLSC-CO-C: Colombia: Caribbean Region</li>
<li>1KLSC-CO-CB: Bolivar (department)</li>
<li>1KLSC-CO-CBA: Cartagena</li>
<li>1KLSC-CO-CG: San Andres, Providencia &amp; Santa Catalina</li>
<li>1KLSC-CO-D: Colombia: Orinoco Region</li>
<li>1KLSC-CO-E: Colombia: Pacific Region</li>
<li>1KLSC-CO-ED: Valle del Cauca</li>
<li>1KLSC-CO-EDA: Cali</li>
<li>1KLSE-EC-A: Ecuador: Coastal region</li>
<li>1KLSE-EC-B: Ecuador: Andean region</li>
<li>1KLSE-EC-BA: Azuay</li>
<li>1KLSE-EC-BAA: Cuenca</li>
<li>1KLSE-EC-BE: Chimborazo</li>
<li>1KLSE-EC-BF: Cotopaxi</li>
<li>1KLSE-EC-BJ: Pichincha</li>
<li>1KLSE-EC-BJA: Quito</li>
<li>1KLSE-EC-C: Ecuador: Amazonian region</li>
<li>1KLSG-GY-G: Georgetown</li>
<li>1KLSH-CL-C: Chile: Zona Central</li>
<li>1KLSH-CL-CD: Santiago</li>
<li>1KLSL-BO-A: Pando</li>
<li>1KLSL-BO-B: La Paz</li>
<li>1KLSL-BO-C: Beni</li>
<li>1KLSL-BO-D: Oruro</li>
<li>1KLSL-BO-E: Cochabamba</li>
<li>1KLSL-BO-F: Santa Cruz</li>
<li>1KLSL-BO-G: Potosi</li>
<li>1KLSL-BO-H: Chuquisaca</li>
<li>1KLSL-BO-HA: Sucre</li>
<li>1KLSL-BO-J: Tarija</li>
<li>1KLSP-PY-A: Asunción</li>
<li>1KLSR-PE-A: Peru: Amazon Region</li>
<li>1KLSR-PE-AA: Amazonas region</li>
<li>1KLSR-PE-AAB: Chachapoyas</li>
<li>1KLSR-PE-AC: Madre de Dios region</li>
<li>1KLSR-PE-ACT: Tambopata</li>
<li>1KLSR-PE-B: Peru: Andean Region</li>
<li>1KLSR-PE-BD: Cusco region</li>
<li>1KLSR-PE-BDC: Cusco / Cuzco</li>
<li>1KLSR-PE-BDD: La Convención</li>
<li>1KLSR-PE-BDM: Machu Picchu</li>
<li>1KLSR-PE-BDV: Ausangate &amp; the Cordillera Vilcanota</li>
<li>1KLSR-PE-C: Peru: Northern coastal region</li>
<li>1KLSR-PE-D: Peru: Central coastal region</li>
<li>1KLSR-PE-DA: Ancash region</li>
<li>1KLSR-PE-DAB: Huaraz</li>
<li>1KLSR-PE-DAS: Cordillera Blanca &amp; Huascaran National Park</li>
<li>1KLSR-PE-DAY: Yerupaja &amp; Huayhuash</li>
<li>1KLSR-PE-DC: La Libertad region</li>
<li>1KLSR-PE-DD: Lima region</li>
<li>1KLSR-PE-DDL: Lima</li>
<li>1KLSR-PE-E: Peru: Southern coastal region</li>
<li>1KLSR-PE-EA: Arequipa region</li>
<li>1KLSR-PE-EB: Ica region</li>
<li>1KLSR-PE-EBN: Nazca</li>
<li>1KLSS-SR-P: Paramaribo</li>
<li>1KLSU-UY-A: Uruguay: North</li>
<li>1KLSU-UY-B: Uruguay: North West</li>
<li>1KLSU-UY-C: Uruguay: South West</li>
<li>1KLSU-UY-D: Uruguay: East</li>
<li>1KLSU-UY-E: Uruguay: Southern central</li>
<li>1KLSU-UY-EF: Montevideo</li>
<li>1KLSV-VE-C: Caracas</li>
</ul>
<h3 id="educational">Educational</h3>
<ul>
<li>4Z-DE-UH: For specific German professional/vocational qualifications &amp; degrees (dual education system)</li>
<li>4Z-DE-UHA: For German vocational qualifications working in the land sector</li>
<li>4Z-DE-UHAA: For German vocational qualifications in agriculture, husbandry, forestry, landscaping &amp; horticulture</li>
<li>4Z-DE-UHAB: For German vocational qualifications in land surveying</li>
<li>4Z-DE-UHB: For German vocational qualifications in the food industries</li>
<li>4Z-DE-UHBA: For German vocational qualifications in baking, pastry making &amp; confectionary</li>
<li>4Z-DE-UHBB: For German vocational qualifications as a butcher</li>
<li>4Z-DE-UHBC: For German vocational qualifications as a chef</li>
<li>4Z-DE-UHBD: For German vocational qualifications as a food &amp; beverage specialist</li>
<li>4Z-DE-UHD: For German vocational qualifications in metal production &amp; metal working industries</li>
<li>4Z-DE-UHDA: For German vocational qualifications in precision engineering &amp; related professions</li>
<li>4Z-DE-UHDB: For German vocational qualifications in metal production &amp; processing</li>
<li>4Z-DE-UHDC: For German vocational qualifications in metalworking, plant construction, sheet metalwork, casting, &amp; fitting</li>
<li>4Z-DE-UHDD: For German vocational qualifications as an industrial mechanic or toolmaker</li>
<li>4Z-DE-UHE: For German vocational qualifications in stone, glass &amp; ceramic production &amp; related industries</li>
<li>4Z-DE-UHEA: For German vocational qualifications in stone, glass or ceramics processing &amp; building materials</li>
<li>4Z-DE-UHEB: For German vocational qualifications in mining &amp; quarrying</li>
<li>4Z-DE-UHF: For German vocational qualifications in the cloth &amp; leather industries</li>
<li>4Z-DE-UHFA: For German vocational qualifications in spinning, weaving, textile finishing</li>
<li>4Z-DE-UHFB: For German vocational qualifications in textile processing &amp; leatherworking</li>
<li>4Z-DE-UHH: For German vocational qualifications in engineering, manufacturing &amp; construction</li>
<li>4Z-DE-UHHA: For German vocational qualifications in electrical trades</li>
<li>4Z-DE-UHHB: For German vocational qualifications as technicians or mechanical engineer</li>
<li>4Z-DE-UHHC: For German vocational qualifications as a drafter or drafting technician</li>
<li>4Z-DE-UHHD: For German vocational qualifications in vehicle or aircraft manufacture &amp; maintenance</li>
<li>4Z-DE-UHHE: For German vocational qualifications in construction, wood &amp; plastic processing</li>
<li>4Z-DE-UHHF: For German vocational qualifications in the chemical &amp; plastics industries</li>
<li>4Z-DE-UHHG: For German vocational qualifications in paper manufacture, processing &amp; printing</li>
<li>4Z-DE-UHJ: For German vocational qualifications in scientific, geographical and IT related professions</li>
<li>4Z-DE-UHJA: For German vocational qualifications in chemistry, physics or natural sciences</li>
<li>4Z-DE-UHJB: For German vocational qualifications in IT</li>
<li>4Z-DE-UHL: For German vocational qualifications in transport, logistics, security &amp; safety</li>
<li>4Z-DE-UHLA: For German vocational qualifications in the transport sector</li>
<li>4Z-DE-UHLB: For German vocational qualifications in aviation or seafaring</li>
<li>4Z-DE-UHLC: For German vocational qualifications in quality control &amp; inspection</li>
<li>4Z-DE-UHLD: For German vocational qualifications as packers, warehouse or transport workers</li>
<li>4Z-DE-UHLE: For German vocational qualifications in personal protection &amp; security</li>
<li>4Z-DE-UHLF: For German vocational qualifications in the safety &amp; security professions</li>
<li>4Z-DE-UHLG: For German vocational qualifications in cleansing &amp; waste disposal</li>
<li>4Z-DE-UHM: For German vocational qualifications in commercial services, retail, distribution, hospitality and tourism</li>
<li>4Z-DE-UHMA: For German vocational qualifications in the retail sector</li>
<li>4Z-DE-UHMB: For German vocational qualifications in the wholesale sector</li>
<li>4Z-DE-UHMC: For German vocational qualifications as caretakers &amp; property management</li>
<li>4Z-DE-UHMD: For German vocational qualifications in the hospitality industry</li>
<li>4Z-DE-UHP: For German vocational qualifications in the finance, business &amp; administration sectors</li>
<li>4Z-DE-UHPA: For German vocational qualifications in banking or insurance</li>
<li>4Z-DE-UHPB: For German vocational qualifications in commercial office skills</li>
<li>4Z-DE-UHPC: For German vocational qualifications in management, accounting &amp; business consulting</li>
<li>4Z-DE-UHPD: For German vocational qualifications in public administration</li>
<li>4Z-DE-UHPE: For German vocational qualifications in finance &amp; bookkeeping</li>
<li>4Z-DE-UHPF: For German vocational qualifications in secretarial &amp; office skills</li>
<li>4Z-DE-UHPG: For German vocational qualifications in the legal sector</li>
<li>4Z-DE-UHQ: For German vocational qualifications in the health, social care &amp; educational sectors</li>
<li>4Z-DE-UHQA: For German vocational qualifications in personal care</li>
<li>4Z-DE-UHQB: For German vocational qualifications in health care (licenced)</li>
<li>4Z-DE-UHQC: For German vocational qualifications in health care (without a licence)</li>
<li>4Z-DE-UHQD: For German vocational qualifications in social work</li>
<li>4Z-DE-UHQE: For German vocational qualifications in teaching</li>
<li>4Z-DE-UHS: For German vocational qualifications in the cultural sector, creative industries &amp; the media</li>
<li>4Z-DE-UHSA: For German vocational qualifications in advertising</li>
<li>4Z-DE-UHSB: For German vocational qualifications in art or music</li>
<li>4Z-DE-UHSC: For German vocational qualifications in design or photography</li>
<li>4Z-DE-UHSD: For German vocational qualifications in publishing, librarianship, translation &amp; related sectors</li>
</ul>
A quick look at data visualisation and analysishttp://bibliocloud.com/blog/a-quick-look-at-data-visualisation-and-analysis/2018-02-03T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>I&rsquo;ve recently been harking back to my roots as a veteran Business Intelligence architect, which was pretty much the entirety of my working life before joining <a href="https://www.bibliocloud.com/">Bibliocloud</a> (leaving aside the brief Merchant Navy adventure, MFI warehouse work, and extensive Baskin Robbins experience, all of which threatened my life in one way or another).</p>
<p>And something that has been nagging at me for the past few years is how best to make the most of the data that we are storing for publishers. What insights could we deliver beyond the usual sets of static reports and (shudder) <a href="https://www.google.co.uk/search?q=pie+charts+are+bad">pie charts</a>?</p>
<p>One challenge to overcome is the wide variation in the data that publishers store in the system. Clients using the royalties functionality are pretty well placed – in general they will have good quality book metadata, contact information, sales, advances, and royalties calculation results. That&rsquo;s definitely something to work with.</p>
<p>For clients who do not need royalty functionality, or who have not got to that stage in their adoption, we might have inventory data fed directly from a distributor from which some estimation of sales might be gathered.</p>
<p>Or we might simply have metadata – products, prices, subject codes, publication dates, contributors, audiences, etc. That&rsquo;s not too bad – we can visualise the publication schedule in terms of how many works and products are in the pipeline in comparison to historical trends, and dive into metadata completion.</p>
<p>The second challenge has been to find the right technology for the task. In the initial stages of exploring functionality I do not want to spend the time setting up a server on AWS, and performing data migrations. So I&rsquo;m looking for a price-and-time-economical starting point that has the potential to scale later on, and needs the minimum of data preparation.</p>
<p>I settled on <a href="https://www.tableau.com/products/desktop">Tableau Desktop Personal Edition</a>, which is currently priced at USD35 per user per month, and is an easy install (on Mac at least – I don&rsquo;t see it being harder on Windows). Tableau also provide a free <a href="https://www.tableau.com/products/reader">Reader</a> application, which can be used to explore data exported as a package from Desktop, allowing me to try out some data analysis and share it with clients.</p>
<p>Lastly, how to access data? At Bibliocloud we are rolling out very fast and efficient CSV-formatted <a href="https://app.bibliocloud.com/data_exchange">downloads</a> from the system for all clients (I just dropped 200MB of daily inventory data to my desktop in about 30 seconds). And a CSV format, done correctly, is a great start.</p>
<h2 id="onwards-to-the-visualisations">Onwards, to the visualisations &hellip;</h2>
<p>I looked at sales data for a client who has implemented the royalties functionality, and has loaded aggregated sales data for quite a reasonable historical period of about eight years.</p>
<p>Here is a very small taste of the work so far.</p>
<h3 id="in-what-part-of-the-year-do-different-formats-sell">In What Part Of The Year Do Different Formats Sell?</h3>
<p>Looking at the seasonality of sales by product form, the stand-out here is the relatively high level of hardback sales around the Christmas sales period – November sales are three times the June sales. Is that a surprise to anyone? We all know that everyone loves a hardback for Christmas.</p>
<p><img src="../../images/content/images/2017/11/Screen-Shot-2017-11-15-at-12.58.58.png" alt="Screen shot 2017 11 15 at 12.58.58" /></p>
<p>And it&rsquo;s trivial, of course, to look at this by subject, and to look for confirmation that biographies of football managers might be more prone to this effect than romance fiction.</p>
<p>On the face of it, that looks like an open-and-closed case, but there&rsquo;s quite a list of caveats with this. Not the least of those is which month of the year the products are most likely to be published in.</p>
<h3 id="when-do-we-publish-different-formats">When Do We Publish Different Formats?</h3>
<p><img src="../../images/content/images/2017/11/Screen-Shot-2017-11-15-at-12.59.08.png" alt="Screen shot 2017 11 15 at 12.59.08" /></p>
<p>Which would not be relevant if it weren&rsquo;t that the post-publication sales profile for hardbacks was so peaky&hellip;</p>
<h3 id="do-hardback-sales-decline-faster-than-paperback">Do Hardback Sales Decline Faster Than Paperback?</h3>
<p><img src="../../images/content/images/2017/11/Screen-Shot-2017-11-15-at-12.59.19.png" alt="Screen shot 2017 11 15 at 12.59.19" /></p>
<p>Yes, they do. And that has interesting implications for inventory management – how closely do individual product sale profiles cleave to this average, and how much inventory are you holding ten months after publication?</p>
<p>And do we deliberately publish Christmas-friendly hardbacks in October?</p>
<p>More analysis required&hellip;</p>
<h3 id="forecasts">Forecasts</h3>
<p>And just jumping sideways for a moment, here is a simple-to-generate total sales forecast.</p>
<p><img src="../../images/content/images/2017/11/Screen-Shot-2017-11-15-at-13.04.23.png" alt="Screen shot 2017 11 15 at 13.04.23" /></p>
<p>Note how the linear trend and seasonality have been picked out here.</p>
<h2 id="early-learnings">Early Learnings</h2>
<p>So here are my conclusions with this mini-project so far.</p>
<p>Firstly, having thought about the range of publishers and their data that we currently store, data exploration of this kind is going to follow a very particular path for each of them. We have non-GB based clients with only a peripheral interest in BIC codes, or who only publish eBooks, or who publish only a few very high value products, and others who have to consider both trade and academic audiences (and who consequently have very different predominant sales channels for different works and products).</p>
<p>Secondly, systems such as Bibliocloud are sitting on an absolutely vast range of data that should be very amenable to analysis, covering metadata, data sharing, sales, inventory, royalties, and when you combine these data sets together you have extraordinary potential for insight. At what stage prior to publication are you sending ONIX to different partners, and how often do different products have data changes? What&rsquo;s the correlation between values of high-level BIC and BISAC main subject codes? And so on.</p>
<p>But make sure you are using a system that enables you to access that data.</p>
<p>Thirdly, it is entirely possible to do quick and efficient Business Intelligence exploration projects, when you have found the right tools. I&rsquo;ve enjoyed working with Tableau so far, and the range of free learning materials on their support site has been excellent. If you&rsquo;re trying to do non-trivial analysis in Excel, stop right now – we have at least two clients who are already using Tableau successfully, so find some time on your schedule to go and get yourself a <a href="https://www.tableau.com/products/desktop/download">trial</a>.</p>
<p>And finally, no pie charts.</p>
ONIX. Not very standardhttp://bibliocloud.com/blog/onix-not-very-standard/2018-02-02T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Here at Bibliocloud we send ONIX to around thirty recipients, and I think it&rsquo;s fair to say that no two feeds are exactly the same &ndash; different content goes to each client even for the same product at the same time.</p>
<p>This may be a surprise, since ONIX is a capital-S Standard in the book trade, or, more accurately, it is a set of standards that cover various different functionalities and versions. However, here we&rsquo;re concerned with one form – ONIX for Books – for the exchange of product metadata.</p>
<p>But given that ONIX for Books is a Standard, why would a single product not have a single version at any one time, to be sent to all recipients? Isn&rsquo;t that the point of a Standard?</p>
<p>If only it were so &hellip; and for the following reasons, it is not. What follows is a list of some of the features that ONIX recipients ask us for.</p>
<h1 id="1-proprietary-codes-please">1. Proprietary Codes, Please</h1>
<p>Identification is a perpetual bugbear of the publishing industry.</p>
<p>The ISBN is thankfully well-established as a product identifier, but as far as the rest goes it&rsquo;s still the Wild West out there. ISTCs appear to be dead or dying as a work identifier; DOI is well-established in the academic market; and ISNI has a strong and growing claim as an authoritative identifier of public personae (authors, primarily).</p>
<p>Outside of the English-speaking world there are pockets of strongly-established identifiers for publishers (e.g. the Fondscode Boekenbank) and imprints (e.g. Identifiant Marque Electre in France), and the ISNI can be used for such purposes. But in the global publishing market there are few, maybe no, widely-used organisational identifiers.</p>
<p>And therefore we have ONIX recipients, primarily distributors, who must have their code for an imprint in the ONIX feed, with specific requirements on how it should be included in the feed. Well, if they&rsquo;re big enough then they can get away with it, but in practice I suspect that they have lumbered themselves with a requirement that is so infrequently fulfilled by ONIX vendors that their ONIX take-up by smaller publishers will be very poor. I have heard, anecdotally, of a medium-sized publisher being quoted in excess of £10,000 for the establishment of an ONIX feed to a major UK distributor, an offer which the publisher declined in favour of continuing to type metadata into a web form.</p>
<p>It probably goes without saying that if you start sending distributors imprint-specific codes to all of your ONIX recipients, you&rsquo;re soon going to find problems.</p>
<p>Thus we have</p>
<blockquote>
<p>Rule One:</p>
<p>For some ONIX recipients you must include their particular identification codes, and you&rsquo;d best not be sending them to anyone else.</p>
</blockquote>
<h1 id="2-we-still-use-the-old-way">2. We Still Use The Old Way</h1>
<p>ONIX is a standard, but it is an evolving standard, and particularly in the still-alive-and-kicking ONIX 2.1 there are almost always different ways of representing the same data. ISBN-13 could be represented in its own element, or as a type 15 Product Identifier, or even as a type 03 (GTIN-13) Product Identifier.</p>
<blockquote>
<p>Rule Two:</p>
<p>For every new way of representing a data item in ONIX, there will be one new format of ONIX required by someone.</p>
</blockquote>
<h1 id="3-were-eight-code-lists-behind">3. We&rsquo;re Eight Code Lists Behind</h1>
<p>Another way in which ONIX evolves is by the addition of new code values, and re-interpretations of old values.</p>
<p>The Price Qualifier <q>06</q> used to be <q>Corporate price</q>, described as <q>Price for sale to libraries or other corporate or institutional customers</q>. The use of <q>or</q> is a giveaway, because now, of course, <q>06</q> is <q>Corporate / Library / Education price</q>, and there are more specific codes (six of them) to allow differentiation between the subtypes.</p>
<p>None of which will stop some recipients of library prices from requiring that they be coded as <q>05</q>.</p>
<blockquote>
<p>Rule Three:</p>
<p>The same data is sometimes sent under different codes.</p>
</blockquote>
<h1 id="4-we-dont-need-that">4. We Don&rsquo;t Need That</h1>
<p>ONIX is a broad format, and it covers many business cases for transferring metadata: publisher to distributor, publisher to sales agent, publisher to retailer, and so on. For some of these you need to include particular data that is not required for others:</p>
<ul>
<li>Retailers need to know the consumer prices, not the library prices. They might need only particular currencies, and if they only price in a single currency then telling them which territories that price applies in is unnecessary.</li>
<li>Sales agents already know who the sales agents are (it&rsquo;s them), but might need to know the full range of prices – consumer/library, GBP/USD/AUD – and in which territories each currency should be used.</li>
<li>Metadata aggregators quite often don&rsquo;t need to know who all your distributors are, but if they&rsquo;re broadcasting metadata round the world then the list of sales agents per territory is going to be useful.</li>
</ul>
<p>It is not necessarily a case that sending the extra data is going to break anything (see Rule Seven for that), but every extra data item you send is another potential data change that you have to check for, which might cause data to be sent too frequently to recipients. If you change your sales agent for Algeria, do you then want to send a complete refresh for every product with world sales rights to every recipient?</p>
<blockquote>
<p>Rule Four:</p>
<p>Not every recipient needs every item of data. Be prepared to trim off the excess.</p>
</blockquote>
<h1 id="5-onix-doesnt-do-what-we-need">5. ONIX Doesn&rsquo;t Do What We Need</h1>
<p>ONIX is also a narrow format. There is a wide range of metadata that it is not designed to carry, but the standard can be bent slightly to accommodate extra requirements.</p>
<p>One example of this is the identification of POD printers to a distributor. A POD arrangement might be in place with different printers in different territories, or a stock item in some territories and POD in other. It might be true POD, or could be an automatic stock replenishment program designed to keep a minimum number of units in stock.</p>
<p>This can require logic such as <q>when sending this product to this recipient, against this supplier add one or more codes to represent this set of POD/ASR arrangements</q>.</p>
<blockquote>
<p>Rule Five:</p>
<p>Sometimes you will need to go beyond the natural capabilities of ONIX.</p>
</blockquote>
<h1 id="6-not-in-that-order">6. Not In That Order</h1>
<p><q>We can read those codes, but only the first six, so please make sure that they are ordered according to the following arrangement.</q></p>
<p>Typically observed with Related Product composites, and reflecting a weakness in the capabilities of the recipient&rsquo;s system, we sometimes cannot rely on sending all the metadata and letting the recipient pick out the interesting parts.</p>
<blockquote>
<p>Rule Six:</p>
<p>It&rsquo;s not just the data, it&rsquo;s the order in which you include it.</p>
</blockquote>
<h1 id="7-that-breaks-our-system">7. That Breaks Our System</h1>
<p>Just because ONIX is valid doesn&rsquo;t mean it&rsquo;s valid for everyone.</p>
<p>Particularly seen in composites that can be repeated an arbitrary number of times, some systems will only accept particular codes for those composites. Add the <q>wrong</q> one, and that&rsquo;s your data not ingested.</p>
<p>Often expressed as <q>We can only accept one Work Identifier</q>.</p>
<blockquote>
<p>Rule Seven:</p>
<p>One person&rsquo;s <q>valid ONIX</q> is another person&rsquo;s <q>we can&rsquo;t read this</q>.</p>
</blockquote>
<h1 id="8-different-market-different-data">8. Different Market, Different Data</h1>
<p>I think it is fair to say that publishers in the UK have a particular perspective on prices.</p>
<ul>
<li>No tax on print books.</li>
<li>One rate of tax on eBooks.</li>
<li>No need to think about tax for the rest of the world.</li>
</ul>
<p>And the slight variation in there is that academic publishers often want to specify eBook prices exc-tax, and trade publishers want to specify inc-tax. UK recipients of GBP pricing generally want inc-tax prices, and for the most part this is entirely compatible with the publisher&rsquo;s viewpoint.</p>
<p>In Europe there appears to be a slightly different approach, in that specifying inc-tax prices in their home currency means picking their own VAT rate and applying it to their Euro prices. When the price is sent to a trade partner in a different country who also uses Euros, there are a few possibilities:</p>
<ul>
<li>Use the same inc-VAT price, but with local taxes applied instead.</li>
<li>Use the same exc-VAT price, converted to new inc-VAT prices at the local tax rates.</li>
</ul>
<blockquote>
<p>Rule Eight:</p>
<p>The same data item can need to be presented in an entirely different way.</p>
</blockquote>
<h1 id="9-send-different-data">9. Send Different Data</h1>
<p>Consider the Short Description &ndash; 350 characters of finely tuned, carefully crafted marketing wizardry, designed to entice the reader. Do you want to send the same text to Amazon.com as you do to Waterstones? Possibly not.</p>
<blockquote>
<p>Rule Nine:</p>
<p>Not everything can be blamed on ONIX recipients. Sometimes you just have to do what you have to do.</p>
</blockquote>
<h1 id="10-send-different-products">10. Send Different Products</h1>
<p>eBook distributors get PDFs, only send Kindle to Amazon, don&rsquo;t send this to them unless it has a USD consumer price, OpenAccess doesn&rsquo;t go there&hellip;</p>
<p>You get the picture.</p>
<blockquote>
<p>Rule Ten:</p>
<p>You sometimes need to filter out products by varied criteria.</p>
</blockquote>
<h1 id="summary">Summary</h1>
<p>There is no such thing as Standard, and sometimes you have to:</p>
<ul>
<li>Not send some data.</li>
<li>Change the order of the data.</li>
<li>Change the meaning of some data.</li>
<li>Add extra not-strictly-ONIX data.</li>
<li>Add particular identifiers unique to a recipient.</li>
<li>etc.</li>
</ul>
<p>Next up, I&rsquo;ll write about how we track changes to product-level ONIX on a per-recipient basis, to guarantee that they only get truly incremental feeds.</p>
BIC, Thema and artificial intelligence...http://bibliocloud.com/blog/bic-thema-and-artificial-intelligence/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>David Aldridge went to the <a href="http://www.londonbookfair.co.uk/en/Sessions/35660/BICs-Building-a-Better-Business-Seminar-2017?sId=35660">BIC Building a Better Business seminar</a> at the London Book Fair last week. Here&rsquo;s what he found out.</p>
<hr>
<h2 id="isnis">ISNIs</h2>
<p>There seems to be a push at the moment on one of those international standard identifiers that ought to be making everyone&rsquo;s metadata more accurate (and in theory should make our lives easier), but which inevitably requires a certain breadth of adoption in order to get the required momentum.</p>
<h3 id="what-are-they">What are they?</h3>
<p>International Standard Name Identifiers are just what they sound like, with a few subtleties. Broadly speaking, they identify the public personae for a person or organisation involved in the production of creative works.</p>
<p>Typically, we&rsquo;re talking about authors, illustrators, musicians, etc, but ISNIs extend to include organisations such as publishers, or imprints, or even fictional characters.</p>
<p>They look like this: <q>0000 0001 2103 2683</q></p>
<h3 id="what-are-they-good-for">What are they good for?</h3>
<p>Their primary purpose is to unambiguously identify a person or organisation. There are two key issues for publishers that they help with.</p>
<ul>
<li>Distinguishing between people who have the same name. There are 38 different John Johnsons listed on the ISNI website</li>
<li>Identifying people known by different names in different cultures. There are 295 different spellings for William Shakespeare on the ISNI website: <q>ウィリアム・シェイクスピア</q>, for example.</li>
</ul>
<p>If you&rsquo;ve had the experience of one of your authors being confused with a different person on Amazon, then you&rsquo;ve suffered from the problems that ISNIs are intended to solve.</p>
<h3 id="who-assigns-them">Who assigns them?</h3>
<p>The <a href="http://www.isni.org/">ISNI International Authority</a>.</p>
<h3 id="how-should-i-be-using-them">How should I be using them?</h3>
<p>Authors who have published before are fairly likely to have an ISNI already assigned to them. You can look them up from the <a href="http://www.isni.org/search">ISNI website</a>, and enter them into Bibliocloud. They will then be included in ONIX feeds, and we&rsquo;ll add a link to the contact&rsquo;s page to take you to the ISNI entry.</p>
<h3 id="what-are-the-benefits-for-me">What are the benefits for me?</h3>
<p>At the moment its difficult to be sure. Will it increase your sales? Maybe not right now. One of the challenging parts of sending ONIX is knowing who is using what, and I&rsquo;m attempot</p>
What publishers need to know about Ruby on Railshttp://bibliocloud.com/blog/what-publishers-need-to-know-about-ruby-on-rails/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Since so much of the publishing ecosystem is becoming more and more web-based every day, it helps even those who aren’t strictly on the tech side to understand the fundamentals about how Rails works.</p>
<p>Ruby on Rails—or just “Rails” for short—is my web development framework of choice.</p>
<p>If your job has anything to do with the Internet—which if you’re reading this it does—then you’ve likely used a Rails application already today. Groupon, Airbnb, Shopify, Bloomberg, Indiegogo and hundreds of thousands of other websites are all written in Rails.</p>
<p>Since so much of the publishing ecosystem is becoming more and more web-based every day, it helps even those who aren’t strictly on the tech side to understand the fundamentals about how Rails works.</p>
<p>As a mature framework, Rails has a thriving open-source ecosystem of developers, so if someone’s pitching a new web product to you, for instance, there’s a good chance they’ll be pitching a Rails app.</p>
<p>Simple websites whose data rarely change don’t need sophisticated frameworks like Rails. You can just write plain old HTML in a text file and upload it to your web server. If, however, you’ve got an interactive website where the data change a lot, or there’s a lot of data to start with—and these days there is—then a static HTML page won’t work. You’ll need a database to store the data in, a way of accepting inputs from users and the ability to display different data depending on what the user types and clicks.</p>
<p>Enter Rails: a set of conventions, written in the Ruby programming language, that makes writing complicated websites less complicated.</p>
<p>A Rails app is a set of files in folders, just like you’d see in Finder on Macs or Explorer on PCs. Rails apps are all organized the same way—into folders called models, controllers and views. What follows is a quick, guided tour through each one, plus a zoomed-out look at what publishers should understand about the broader system as they continue to develop their web presences.</p>
<h1 id="models">Models</h1>
<p>Model files are the engine rooms of a Rails app. They are where the objects of the application are defined and where business logic is stored.</p>
<h1 id="methods">Methods</h1>
<p>Say you’ve got an online bookshop, and you want to display all your ebooks, rather than print books, on a single page. You’d write some logic in the model that would let the bookshop determine what an ebook is. In pseudocode:</p>
<p>The definition of “Ebooks” is: Books where the product_form is Digital</p>
<p>As a matter of fact, the real code is simpler. Want to see it?</p>
<div class="highlight"><pre class="highlight ruby"><code> <span class="k">def</span> <span class="nc">self</span><span class="o">.</span><span class="nf">ebooks</span>
<span class="n">where</span><span class="p">(</span><span class="ss">:product_form</span> <span class="o">=&gt;</span> <span class="s2">"Digital"</span><span class="p">)</span>
<span class="k">end</span>
</code></pre></div>
<p>(This code is in a file called “models/book.rb”)</p>
<h1 id="associations">Associations</h1>
<p>Models are also where we establish the relationships among the objects that appear in the app. If you had a Book model, it can be related to a Price model like this:</p>
<div class="highlight"><pre class="highlight ruby"><code> <span class="n">has_many</span> <span class="ss">:prices</span>
</code></pre></div>
<p>(This code is in a file called “models/book.rb”)</p>
<div class="highlight"><pre class="highlight ruby"><code> <span class="n">belongs_to</span> <span class="ss">:book</span>
</code></pre></div>
<p>(This code is in a file called “models/price.rb”)</p>
<p>So a book can have many prices, and a price belongs to a book.</p>
<p>Models talk to the database. When the data are all nicely stored in the right place, all of it becomes easily manageable, checkable and accessible—which tends to mean more sales and lower costs for you.</p>
<h1 id="controllers">Controllers</h1>
<p>Controllers are the busy command centers of a Rails app, taking instructions from the user, passing them on to other parts of the Rails app for processing, then delivering back the results.</p>
<p>So a user might enter their username and password to sign into their account on a website. The browser (Chrome, Firefox or similar) will send the username and password to the user’s controller file. The user’s controller, in turn, will hand over the data to the model and database, to check that it’s the right password, and wait for feedback.</p>
<p>Next, the model lets the controller know that all’s well. The controller can then hand the message back to the user’s browser, refreshing the page to say “you’re all signed in!”</p>
<p>Controllers, in other words, check to ensure that your app’s code is organized and optimized and that requests from the browser are dealt with accurately and quickly. Everyone loves a fast website, right?</p>
<h1 id="views">Views</h1>
<p>Last but not least, views are files that often contain a lot of HTML. They’re the bit of the Rails app that describes what the webpage will look like.</p>
<p>Have you ever done a mail merge in Microsoft Word? You have the bulk of the letter typed out, but when you want to put in a bit of dynamic data, such as a name or an address, you pop a placeholder tag in. When you run the mail merge, lots of versions of the letter get produced, with the right data magically appearing in the placeholder tags.</p>
<p>That’s what Rails views are like—some static HTML with bits of dynamic, changing data being swapped in and out according to what the model and controller tell it.</p>
<p>Which means you don’t have to write hundreds of pages of HTML for your hundreds of books. You write one template, and Rails fills in the data dynamically. Sounds like a time saver to me!</p>
<h1 id="design-patterns">Design Patterns</h1>
<p>Rails sensibly uses some tried and tested programming patterns. Patterns are ways of doing something that people have thought through and found to be a good idea. Here are two:</p>
<ul>
<li>Convention over configuration: By sticking to a series of rules that govern the basic setup of a web application, Rails developers can avoid writing repetitive code and get to the good bit faster—the actual design and logic of a particular application brief.</li>
<li>DRY (“Don’t Repeat Yourself!”): We only write code once and reuse it. This makes code more maintainable. For clients, that means cheaper and, ideally, more scalable applications.</li>
</ul>
<h1 id="what-it-all-means">What It All Means</h1>
<p>With such a regimented approach to code organization, Rails apps are great for teams because they provide a lingua franca. Everyone knows where to find the sort of code they’re looking for. So your project can be worked on by more than one developer or picked up by a new developer, and there’s no awful learning curve to figuring out one coder’s particular take on things.</p>
<p>Rails’s popularity and longevity (its first release was in 2004, an eternity ago) means there’s a phenomenal infrastructure built around it, in terms of the number of active developers; the number of code libraries it plays nicely with, such as jQuery (Javascript code that runs in web browsers, making the user experience smoother); and services such as Heroku, a “platform as a service” that makes deploying applications to web servers fast, cheap, robust and reliable.</p>
<p>Rails means developers can create complex websites, fast and cheaply. From publishers’ points of view, that means more bang per buck. And even for publishing professionals who don’t work in Rails or develop websites, simply understanding how Rails functions can be a great practical asset as the industry finds its footing in the online marketplace.</p>
A company of one's own.http://bibliocloud.com/blog/a-company-of-ones-own/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Being an indentured employee is how most people pay the bills. But about 12 years ago I started down a different path.</p>
<p>I’m the founding CEO of <del>two</del> three companies: <a href="http://snowbooks.com">one publisher</a>, <a href="http://bibliocloud.com">one software house</a>, <a href="http://makeourbook.com">one publishing platform</a>. It’s been a hell of a decade-and-a-bit, and I’ve learned plenty along the way. I’d never actively persuade someone away from the perceived comfort of receiving a steady paycheque at the end of the month (although you’re only ever a couple of months’ notice away from insecurity): people have to really want to strike out on their own. But if you’ve ever daydreamed about being the master of your own fortune, and are considering setting up a new company in the publishing sector, read on.</p>
<h1 id="make-your-mistakes-on-other-people-s-money-and-time">Make your mistakes on other people’s money and time</h1>
<p>The best thing about working for other people is that you can use their resources to learn, to test and to explore your ideas. The first seven years of my career (at a global retailing group and then as a management consultant) was a boot camp in how organisations, customers and supply chains work. And even though your new venture will have fewer people than most companies (at least at first), the same lessons about human nature, politics and influence apply. At an established company, you learn which products and processes work, and which don’t. Reflecting on the reasons can help you with your own business planning. Most of the time, of course, the lesson will be in how <em>not</em> to do things, but that’s just as useful.</p>
<h1 id="know-your-domain-solve-real-problems">Know your domain, solve real problems</h1>
<p>When I started Snowbooks, I knew nothing about publishing. I just figured that making books would be much nicer than making PowerPoint slides (I worked for Deloitte, and I was right). Snowbooks became known for its innovation, mainly because we didn’t know what the norms of the industry were. Things that we considered to be a fairly sensible approach to things turned out to be interesting and new. But I did know retailing and business process, and so I could talk to buyers at the large chains in a way they appreciated. Later, when we started our software venture General Products in 2011, it was because we knew only too well what sort of software a publisher needs, having run one for more than a decade, and having desperately needed a decent, affordable system which we ended up writing ourselves. Knowing the intricacies of your industry, from whatever your angle of specialty, means you’re more likely to achieve product-market fit from the start, without all of this “pivoting” that the kids talk about nowadays.</p>
<h1 id="interrogate-your-values-and-do-something-that-matches">Interrogate your values and do something that matches</h1>
<p>You may as well keep working for the man if you’re going to set up a company that doesn’t make you happy and proud. I reflected on what made me properly happy: it came down to craftsmanship and having a life with the minimum of arguments. So I set things up that way.</p>
<h1 id="stick-with-what-you-re-good-at">Stick with what you’re good at.</h1>
<p>It’s true that I’ve spent the last five years learning a brand new skill: how to code. But that’s still entirely compatible with the sort of person I am: learning new things and practicing till I’m perfect plays to my innate strengths. Managing people and doing non-product-related, non-revenue-generating admin, on the other hand, I’m hopeless at — which is why our team is small and I choose alternative ways to grow the businesses, such as automating processes. For too long, previous employers tried to get me to become someone that I’m not. Life is a lot more enjoyable when you play to your god-given strengths.</p>
<h1 id="don-t-be-someone-else-s-product">Don’t be someone else’s product</h1>
<p>I’ve been guilty of chasing things that make me feel better about myself which don’t necessarily contribute to the health of the businesses. Having a boss means you get a pat on the head when you do something well, but when you’re your own boss, that validation is missing. I seek to fill that gap from time to time by entering business awards. It feels nice to put on a frock and get a round of applause. But these things rarely bring any actual money in. In a small business, every waking hour has to be spent on either product development or revenue generating activities. Entering awards, going to peripheral conferences: it’s a way for someone else to make some money out of you. Arthur Attwell, founder of now-folded Paperight, wrote about this eloquently on Medium recently.</p>
<h1 id="be-organised-so-you-can-focus-on-the-creative">Be organised so you can focus on the creative</h1>
<p>There are lots of things that you have to do for the first and only time when you’re setting up a company. You have to register with all sorts of organisations: HMRC, Nielsen, the Data Protection people, Companies House. And then, once you’re set up, there’s no end of stuff you have to do just to keep the show on the road. Royalty calculations, contract management, supplier invoices, bookkeeping, printer negotiations, metadata management, sales report aggregation: all this and more can fill your days entirely so that you don’t have time left for the actual creative challenge. Whilst it might seem odd for me to say it, considering that I hawk my publishing management software for a living, you don’t necessarily need to buy any software when you’re tiny. You just need to be super-methodical, and organised. (And use Google docs and other cloud-based software, because no-one backs up their hard drives enough.) Recently, the manager of a new start-up told me he likes to <q>keep all his data in his head</q>. Why fill your head with ISBNs, pub dates, multi-currency retail prices with their tax statuses, and royalty rates when you could keep more interesting, creative, bookish things in it instead?</p>
<h1 id="be-adequately-capitalised-and-cut-your-costs-to-the-bone">Be adequately capitalised and cut your costs to the bone</h1>
<p>It is very, very hard to make money. Think about how willingly you’d relinquish a whole £600 — how amazing the product would have to be, how much time or effort it would save you, how much your life would have to be improved. Then think about how far £600 after tax and expenses goes towards your monthly bills: it’s a drop in the ocean. How many books do you have to sell to just cover your monthly costs?</p>
<p>Go to the warehouse and look at a pallet of 250 copies of a novel. It’s a pretty huge pile. Think how hard it would be to sell all of them, and then calculate how much money you’d make if you did somehow sell them all (Answer: about £200, all told.) That’s the gap I have to fill every day and, honestly, it’s energy-sapping. You have to really hate the idea of being an employee, and really love building your own world, which, thankfully, I do.</p>
<p>When you’re planning your new venture, divide your estimated sales by three and multiply your estimated costs by four. If your new venture still makes sense, you’re on to something. If it doesn’t, think creatively. Can you excise printing costs altogether and keep things digital? Can you use POD effectively? Can you invert the usual publishing cash flow curve and crowdfund? Can you remain salaried for 12 months until you have a revenue stream?</p>
<h1 id="eat-your-own-dog-food">Eat your own dog food</h1>
<p>This rather strange saying comes from an anecdote about a premium pet-food factory, which employed actual humans to taste-test their product. If it was good enough for the dogs we’re hoping to feed, they reasoned, it should be good enough for us. I use my own Bibliocloud software every day to run Snowbooks. With my coder hat on, I’ll write a new feature — tracking review copies, for instance — and be all pleased with myself. The next day, with my publisher hat on, I’ll start to use the new functionality. Who coded this rubbish, I’ll mutter, it’s difficult to use and doesn’t take into account the fact that I need to track 50 copies in one go, not just one book at a time. So I’ll rewrite the code. Rinse and repeat, back and forth. Add it up over four years and you end up with software that’s pretty cool, and useable, and relevant. Same with the books: I’ve got a copy of a book we published in 2007 in my bag today. I’m enjoying the cover design and the paper stock we chose and I’m loving rediscovering the story. If you expect other people to enjoy your products, you should enjoy them yourself.</p>
<h1 id="it-takes-a-long-time-to-be-an-overnight-success">It takes a long time to be an overnight success</h1>
<p>The lens we see success through tends to collapse timescales. You’ll read a profile in The Bookseller of a company doing well after a prize win or similar, but it’s hard to fathom the years of effort that led to that moment. Running your own show is emotional hard graft. You’ll only know if you have the stamina to work for years on the knife edge of cost control if you try it. But worst case? You’ll end up having to get a similar job to the one you’ve got now.</p>
<p>I said I wouldn’t actively persuade anyone to branch out on their own. But life is short. What do you want to look back on with pride? What will your legacy be?</p>
How APIs can make publishing more efficienthttp://bibliocloud.com/blog/how-apis-can-make-publishing-more-efficient/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>(I wrote this article about APIs for DBW in February 2015.)</p>
<p>As a rule, application programming interfaces, or APIs, aren’t easy to talk about.</p>
<p>For instance, you can’t have a debate about whether or not APIs are a good idea. That would be like arguing over whether the Internet is a good idea.</p>
<p>Instead, it’s easier to talk about what a modern API actually is. We in the publishing world need to get in the habit of having that conversation more regularly, since APIs are already helping plenty of publishers improve data integrity and become more efficient, and they could mean a great deal more for the future of the book trade.</p>
<p>To that end, a quick primer: Not so long ago, getting web services (websites, in common parlance) to talk to one another was a fairly tricky ordeal. The main protocol, called SOAP, established a way of passing XML over HTTP, but it was complex and difficult to implement and was liable to break if anything on either side of the data exchange changed. Nowadays, any web service worth its salt exposes some of its data using a RESTful API. (REST is the architectural style upon which the web itself is built.)</p>
<p>Modern, RESTful APIs tend to send data in what’s known as the JSON format, which is a lovely thing. JSON data is laid out in a structured way that both humans and computers can read. This is how I’d display my own and my colleague’s names:</p>
<div class="highlight"><pre class="highlight ruby"><code> <span class="n">our_names</span> <span class="o">=</span> <span class="s1">'[{"firstname": "Emma",
"lastname" : "Barnes"},
{"firstname": "David",
"lastname" :"Aldridge"},
{"firstname": "Rob",
"lastname" :"Jones"
}]'</span>
</code></pre></div>
<p>Curly braces and square brackets keep the data in a structured order. If I want to get at the data, I can do something like this:</p>
<ul>
<li>Use the Ruby JSON gem to parse data in the JSON format</li>
</ul>
<div class="highlight"><pre class="highlight ruby"><code> <span class="n">json</span> <span class="o">=</span> <span class="no">JSON</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="n">our_names</span><span class="p">)</span>
</code></pre></div>
<ul>
<li>Get the first person&rsquo;s firstname. Ruby counts from 0, not 1!</li>
</ul>
<div class="highlight"><pre class="highlight ruby"><code> <span class="n">json</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s2">"firstname"</span><span class="p">]</span>
<span class="o">=&gt;</span> <span class="s2">"Emma"</span>
</code></pre></div>
<ul>
<li>Get the second person&rsquo;s firstname
<div class="highlight"><pre class="highlight ruby"><code> <span class="n">json</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s2"><q>firstname</q></span><span class="p">]</span>
<span class="o">=&gt;</span> <span class="s2"><q>David</q></span>
</code></pre></div></li>
<li>Get each bit of the JSON data&hellip;
<div class="highlight"><pre class="highlight ruby"><code> <span class="n">json</span><span class="p">.</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">person</span><span class="o">|</span>
</code></pre></div></li>
<li>&hellip; and print the firstname and last name, with a space in the middle.
<div class="highlight"><pre class="highlight ruby"><code> <span class="nb">puts</span> <span class="n">person</span><span class="p">[</span><span class="s1">&#39;firstname&#39;</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="n">person</span><span class="p">[</span><span class="s1">&#39;lastname&#39;</span><span class="p">]</span>
<span class="o">=&gt;</span> <span class="s2"><q>Emma Barnes</q></span><span class="p">,</span> <span class="s2"><q>David Aldridge</q></span><span class="p">,</span> <span class="s2"><q>Rob Jones</q></span>
</code></pre></div></li>
</ul>
<p>Modern web services make data available in that JSON format, at a perfectly ordinary web URL. And if you know some rudimentary programming, it’s straightforward to go to that URL, authenticate with your username and password and read the data. If the application’s API allows it, you can also send data. In practical terms, that means that even novice programmers can get computers to share information.</p>
<p>This has terrific, and by now well-known, implications for digital publishers. Take our metadata web app, Bibliocloud, which sends its data to the e-commerce platform Shopify via an API. In the same vein, publishers can write their own web apps and get them to ask Bibliocloud for up-to-date metadata to populate them.</p>
<p>There are quite a few well-known APIs already in existence and freely available for use by the book trade. Bibliocloud grabs book reviews and ratings from Goodreads’s API. It collects and stores tweets that include authors’ names and book titles from Twitter. It harvests book information and review ratings from Google Books’s API. It also grabs the current data from Amazon’s API for all of a publisher’s titles and compares them to the data held in Bibliocloud, flagging any mismatches.</p>
<p>Can you imagine the time-saving potential of that automatic checking service, the improved quality of data provision—and the knock-on effect of being able to sell more books as a result? These are just a few of the immediate benefits APIs can bring to a digital publishing business.</p>
<p>And as we look ahead to an industry increasingly driven by web services, it’s easy to see that the overarching issue becomes figuring out how these services integrate with each other.</p>
<p>Using a web service to store your metadata is one thing; getting it to populate your e-commerce website and rights platform, grab sales data and send orders directly to printers, partners and other platforms is quite another.</p>
<p>As I wandered around the London Book Fair’s tech area this week, I saw no end of interesting web applications, all of which could provide value to publishers. But the really useful ones will be those that play nicely with the other services you use. The content management system Librios, the content solution IDM, the semantic publishing platform Ontotext, the social DRM service BooXtream the Edelweiss platform and of course my own publishing ERP solution Bibliocloud all have APIs—which means they can be configured to work as part of an ecosystem, with data being transferred programmatically between them to allow publishers to get the most out of their investments without adding administrative overhead.</p>
<p>From a publishers’ point of view, any efficiency gains from new web services are lost by repetitive web processes. If you have to type book data manually into your ebook platform, and then into your metadata system, and then into a rights marketplace, and then into retailer web forms and so on, it’s no better than the bad old days. APIs let us enter data in just once and get the computers to do the boring bit of sharing it around. And then things start look a lot more productive.</p>
<p>So when you’re considering your options from the plethora of web services coming to market, ask web service developers to show you their well-documented APIs as well as the functionality of their products. You’ll be headed toward a more strategically sound, better integrated investment.</p>
Learning how to code, the long way aroundhttp://bibliocloud.com/blog/learning-how-to-code-the-long-way-around/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>I’d always meant to learn to code, but there never seemed to be a good time.</p>
<p>I graduated in 1996 with a degree in archaeology and got a well-paid job as a management trainee. I zoomed up the corporate ladder, doing what I thought successful people did: getting promoted and joining a prestigious management consultancy — until I realized that writing PowerPoint slides for sixteen hours a day and saving giant corporations millions on their stationery budgets was all a load of nonsense.</p>
<p>Instead, I wanted to do something meaningful and skilled and — gasp — fun. So in 2003, I co-founded a book publishing company called Snowbooks with my best friend. What could be more important, more deserving of effort, than books?</p>
<p><img src="../../images/content/images/2015/11/pic1.jpg" alt="Pic1" /></p>
<p><em>You Are The Hero: a history of Fighting Fantasy, by Jonathan Green. Published by Snowbooks 2014. More than 50 5-star reviews on Amazon!</em></p>
<p>It wasn’t a particularly brave move. I reasoned that if Snowbooks failed outright, the worst case scenario would be that I’d just get another of the same sort of awful job I was already stuck in.</p>
<p>Thankfully, it’s been a superb ride — and I’ve learned lots of things along the way.</p>
<h4 id="innovation-is-easier-when-you-don-t-know-how-things-are-meant-to-work">Innovation is easier when you don’t know how things are meant to work</h4>
<p>Building Snowbooks gave me a chance to dabble with technology as well as explore the creative aspect of the business.</p>
<p>From the start, we used XML to automate the creation of our marketing materials in InDesign. We used off-the-shelf packages such as Microsoft Access and Filemaker to write little database programs to keep our data in order, to calculate our royalties and to keep track of our sales.</p>
<p>I didn’t know anything about publishing before starting the company — which made innovating a lot easier. Whilst my programming capabilities stopped abruptly at the ‘hobbyist’ level, our business focus and innovations won us awards and a pretty high profile in the industry.</p>
<h4 id="disasters-often-have-silver-linings">Disasters often have silver linings</h4>
<p>And then, disaster struck. 2010 was the year from hell, which brought a series of personal and business crises. By the end of it, I had little money, and my trust in human nature was completely shattered.</p>
<p>At last, the time had come to learn to code. It was the perfect antidote to my personal crisis.</p>
<p>Looking back, coding was just the sort of logical, immersive, rewarding activity I needed to focus my mind, regain my self-belief and give me something to work towards.</p>
<h4 id="ruby-on-rails-rocks">Ruby on Rails rocks</h4>
<p><img src="../../images/content/images/2015/11/pic2.jpg" alt="Pic2" /></p>
<p>I needed to build some sort of new system to allow me to store all my Snowbooks data — by this time, there was a lot of it, and it wasn’t very well organized.</p>
<p>I remember my best friend recommending Michael Hartl’s The Rails Tutorial as a gentle but thorough introduction to the web development framework Ruby on Rails. Later that day, I sat on the sofa, laptop at the ready, tutorial book in hand — and all my cares slipped away. This magical, open-source way to create significant, functional websites out of thin air, just by typing into a text editor, blew my mind. I was hooked from the start.</p>
<h4 id="learning-to-code-takes-time-but-holy-smokes-it-s-worth-it">Learning to code takes time, but holy smokes, it’s worth it</h4>
<p>Days passed, and I got to grips with the basics of Ruby, databases and HTTP. Weeks passed, and I finished The Rails Tutorial. By following its instructions, I’d recreated my own version of Twitter, with my own hands!</p>
<p>Months passed, and I started to apply what I’d learned to build a book data management application. First, I tackled title metadata, and then contacts. Contracts, rights and royalties came next, then production management, sales and workflow. I called my application Bibliocloud — my pride and joy; my phoenix from the ashes.</p>
<p>Years passed, and I racked up thousands and thousands of hours of coding. Bibliocloud went through hundreds of iterations, several times being razed to the ground and rebuilt, as my skills developed and I realized there were more elegant ways to write the code. My friend and I teamed up with another developer, whose Oracle and SQL expertise brought new depths to the application.</p>
<p>The buzz of coding intensified as I got better. I’ve been lucky enough in life to discover several pastimes which seem to make time stand still — playing the piano, boxing, reading — but none of them match coding for its achievement highs, its need for pureness of concentration, its excruciating, frustrating, infuriating, <em>brilliant</em> challenge.</p>
<h4 id="code-is-easy-knowing-your-industry-is-the-hard-bit">Code is easy. Knowing your industry is the hard bit.</h4>
<p>I’d written Bibliocloud so I could run Snowbooks properly, but in 2012 other publishers started signing up to use it, too. It was almost accidental: in conversation with my publishing friends, I realized that the exact reasons I had needed a comprehensive, cheap, elegant system were shared by other publishers just like me.</p>
<p>By writing software that solved my real-life problems, I’d created something that had value to other publishers — something that I could turn into another business.</p>
<p><img src="../../images/content/images/2015/11/pic3.jpg" alt="Pic3" /></p>
<p><em>Setting up at the London Book Fair, April 2015</em></p>
<p>I have found that understanding the problem is far more important than knowing the code. Code can be learned. A real understanding of the problems of an industry only comes about when you’ve lived it.</p>
<h4 id="don-t-write-features-solve-problems">Don’t write features: solve problems</h4>
<p>If you’ve lived, worked and breathed the publishing industry for a while, you’ll recognize some of its problems.</p>
<p>For instance, you’ll know what I mean when I talk about the “spreadsheet from hell,” printed out on A3 paper in an impossibly small font, covered in pencil annotations. Every publisher without a decent system has one. Editors clutch it to their hearts as if their life depends on it. It describes their list — the books they’ll publish in the next 18 months, the dates that can’t be missed, the vital information about specs and printings. These spreadsheets are difficult to maintain, don’t interact with other systems, and everyone has a slightly different version — all of which causes chaos.</p>
<p>And if you’re a publisher, you’ll understand me when I talk about the strain on editorial assistants who went into publishing for the love of books, but who spend their days copying and pasting metadata into retailer spreadsheets, webforms and advance information InDesign templates, wondering where their dream went so wrong.</p>
<p>And if you’re a publisher, you’ll understand that being able to produce decent royalty statements isn’t a bookkeeping exercise: it’s an expression of a publisher’s regard for its authors. Lateness, inaccuracy and a lack of clarity in these statements is rightly taken as a personal slight. Authors hand over their precious words to us as a mother hands over her firstborn to a nursery. We must protect them and treat them with the utmost respect.</p>
<p>Systems aren’t a place to store your data. They are a means of making good on your promises and a way to nurture your relationships.</p>
<h4 id="use-apis-to-share-data-between-systems">Use APIs to share data between systems</h4>
<p>You’ll also understand how delighted I was to discover Shopify last year, because until then we hadn’t solved the problem of how to provide a low cost, lightning fast, efficient, gorgeous way to carve out a home for our publishers’ books on the web.</p>
<p>We’ve written an API between Bibliocloud and Shopify: not only can Bibliocloud now send data to retailers, wholesalers, and data aggregators in the right format, but it can feed a publisher’s own home on the web with no more effort than the click of a button to trigger the API call.</p>
<p>Have a look at <a href="http://snowbooks.com">Snowbooks.com</a>, which is based on a tweaked version of the free Shopify Supply theme, and which takes a data feed from Bibliocloud. It uses metafields and custom collections to add publishing-relevant data such as series, publication dates, age banding, author information, and more. It also only took me a few days to configure.
<img src="../../images/content/images/2015/11/Screen-Shot-2015-09-20-at-10-37-28.png" alt="Screen shot 2015 09 20 at 10 37 28" /></p>
<p><em>Bibliocloud integrates seamlessly with Shopify</em></p>
<h4 id="eat-your-own-dog-food">Eat your own dog food</h4>
<p>I’ve grown a publishing company from scratch, I’ve spent more than a decade immersed in the industry, and I’ve built software based on the needs of the publishing process. That’s why Bibliocloud is so popular: it’s been built to solve real problems. My Snowbooks team and I use it every day to run our own business, which keeps it relevant and sharply focused on solutions, not features.</p>
<p><img src="../../images/content/images/2015/11/pic6.jpg" alt="Pic6" />
<em>Snowbooks.com</em></p>
<h4 id="it-takes-a-long-time-to-be-an-overnight-success">It takes a long time to be an overnight success</h4>
<p>And so, twelve years after I left the corporate world, Bibliocloud has just launched out of beta with customers from throughout the publishing world — academic, trade, children&rsquo;s, illustrated, and digital books. Our clients at launch range from start-ups with a handful of publications, to established presses with thousands of books on their backlist. Most of them will be using Shopify to showcase their wares to the world.</p>
<p>To the outside world, we look like a new company who’s hit the ground running and has achieved overnight success. But it would be a mistake to overlook the long journey, and our deep roots in our industry — which has been the key to our success.</p>
<p>I knew my industry, and the code took care of itself. The occasional disaster along the way just added fuel to the fire.</p>
<p><em>Originally written for and posted on the <a href="https://www.shopify.com/partners/blog/36215555-learning-how-to-code-the-long-way-around">Shopify partners blog</a> in June 2015</em></p>
Three ways to do more with ONIXhttp://bibliocloud.com/blog/do-more-with-onix/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>A quick primer: ONIX is a list of tags that we in the book trade have agreed to use to describe our books to each other. Arbitrary though they may be, the consistency prevents confusion.</p>
<p>Take an author’s name, for example. The people who decided on ONIX tag names could have chosen “Author Name” or “Author First Name” or “Author Last Name.” But they settled on tags like “Contributor” and “KeyNames.” So now everyone who sends or receives an ONIX message knows exactly what the data mean.</p>
<p>Having a lingua franca such as this is hugely helpful. Over a decade after ONIX was first introduced, it’s no wonder that, nowadays, being able to describe your books using ONIX is now an absolute necessity for any publisher, large or small.</p>
<p>Once you’re ONIX-compliant, your data get sent to the data aggregators, and that’s great. But if you find yourself still having to manually type data anywhere—for your catalog, for your tipsheets, in emails, into spreadsheets for customers who are not yet receiving ONIX—then ONIX can help you, too.</p>
<p>Not all ONIX is created equal (ironically enough, for an XML standard). For example, Amazon’s PublishToKindle requires the <TitleText> tag in addition to the <TitlePrefix> and <TitleWithoutPrefix> tags, and fails silently if you omit it: ONIX will still validate without the inclusion of <TitleText> (see page 40 here.) So it helps if you know your way around the standard—and actually using ONIX to create documents is a great way to get familiar with it.</p>
<p>Let’s have a look at how three other programs you already have on your computer can deal with ONIX.</p>
<p>Spreadsheets
Open up Excel or another open-source spreadsheet program like LibreOffice or OpenOffice. In LibreOffice, for example, go to Data &gt; XML source and find your ONIX file on your computer or network. You’ll see the structure of ONIX appear. With a bit of clicking, you can map the ONIX fields to spreadsheet columns. Pick out “TitleText,” “Contributor,” “RecordReference” and “PublicationDate” to get your bearings. Click OK and see your data appear in a flash.</p>
<p>Word Documents
The same goes for Microsoft Word. In Word 2007, for instance, create a new macro from the developer tab. (To show the developer tab, go to the Office button and click “Word Options” at the bottom of the dialog box. Click “Show Developer Tab” in Ribbon.) Paste the following into it:</p>
<p>ActiveDocument.CustomXMLParts.Add ActiveDocument.CustomXMLParts</p>
<p>and load your ONIX file.</p>
<p>Next, create tags in the Word document where you want the XML data to go. On the Developer/Controls tab, insert four of what Word calls “plain text content controls,” which is a placeholder tag for your data, just to get started. Now, map the tags to the XML data. Create a new macro, and paste in the data here.</p>
<p>Run the macros in the Word doc (you’ll probably have to save it first). And voila! the fields update with the ONIX data.</p>
<p>Adobe InDesign
Finally, let’s look at Adobe InDesign, the application many publishers use to their seasonal catalogs (among other things). InDesign handles XML pretty well.</p>
<p>Start by downloading this zip file, which contains an InDesign document, a sample ONIX message, some XLST to transform your ONIX into something more useable by InDesign and some images. Follow the instructions within to make a perfectly laid-out InDesign catalog magically appear. Switch out the images and ONIX with your own images and ONIX, and you’re on your way to saving a huge amount of time and effort, every season.</p>
<p>There are more things you can do with ONIX, to be sure. At a very low level, try opening an ONIX file in a proper text editor such as TextWrangler or TextMate. The syntax highlighting helps you see which bits are data and which bits are tags, and a decent text editor will indent XML nicely so you have half a hope of being able to read it.</p>
<p>In the InDesign example above, we used XSLT to transform our ONIX into another sort of XML, using InDesign as a processor. You don’t need to use InDesign, though; you can convert ONIX into another sort of XML—including XHTML (yes, web pages!)—using XLST and SAXON on the command line or even a web-based processor such as this one.</p>
<p>Because XML is, by its nature, structured, you can manipulate it with very simple programming to remove, modify and copy elements. For instance, you can use the Ruby Nokogiri gem to manipulate ONIX to your heart’s content—to add agency pricing, for instance, or to set the UK GBP price from the USD price by applying business rules.</p>
<p>At the moment, we here at Bibliocloud are writing a Shopify app to allow the import of ONIX into the e-commerce platform.</p>
<p>All this manipulation can be a bind, of course, and if your bibliographic data management system is any good, you’ll be able to export data directly from it into whatever format you need, whether that’s a 1,000-page PDF catalog, a cut-down XML feed for InDesign to handle with less fuss, the Samsung ebook spreadsheet or CoreSource-flavored ONIX. But it’s still very useful to be familiar with ONIX terms, and playing around with importing it into a variety of programs can be both enlightening and productive.</p>
<p>But be warned: it’s very moreish. Once you get a glimpse into the sort of world where you can create a thousand catalog entries or a back-list order form with a single click, there’s no going back…</p>
Responsibility, Authority, Capabilityhttp://bibliocloud.com/blog/responsibility-authority-capability/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Publishing is full of tensions. Indies versus conglomerates. Trade versus academic. Start-ups versus established companies. Outsiders versus insiders, geeks versus luddites, progressives versus reactionaries, self-publishing versus publisher-publishing. We can all learn from each other and it&rsquo;s in the conflict that the interesting conversations happen. But there are also some universal truths which bind us all.</p>
<p>First off, we&rsquo;re all trying to stay in business. That&rsquo;s a fairly universal imperative. No one&rsquo;s actively trying to run out of money. And, secondly, we&rsquo;re all trying to live decent, fulfilling lives. The balance might sometimes be a bit skew-whiff: in a large company, the workers might be obliged to try to make the shareholders&rsquo; lives a bit more decent and fulfilling than their own. But there&rsquo;s no one working in publishing who deliberately set out to have a horrible time of it.</p>
<p>So if we&rsquo;ve all actively set out to thrive, why do publishers so often have stress, anxiety, miscommunication and conflict between people and departments?</p>
<p>It&rsquo;s true. You see editorial at loggerheads with production; sales irritated with editorial; frustrated digital teams; exasperated contracts managers; put-upon editorial assistants. These are the same sorts of interdepartmental, interpersonal tensions that I used to see all the time in retailers, utilities companies and FMCG suppliers when I was a management consultant at a large City firm in a previous life. It looks like it&rsquo;s another universal truth: in every company, in every industry sector, people are not getting on well with each other.</p>
<p>And why is that? <strong>It&rsquo;s because people are awful.</strong></p>
<p>“It&rsquo;s as if she doesn&rsquo;t want us to succeed!” you hiss to one of your less awful co-workers at the imaginary or actual water-cooler. <q>She just doesn&rsquo;t do her job properly. She stops me doing mine! She doesn&rsquo;t care about my problems and, oh, when she goes on holiday, she&rsquo;s even more annoying because she leaves everything undone so I can&rsquo;t do my job.</q> You stop for breath, but you&rsquo;re on a roll: <q>I can definitely do my job quicker without her being involved. She needs to be convinced of everything! She&rsquo;s so obstructive – I&rsquo;m sure she costs the company more money than she makes. You know what: I can do her job better than she can. Sometimes I wish I could just do it all myself.</q></p>
<p>OK. <strong>People aren&rsquo;t really awful, of course.</strong> So what can the real problem be?</p>
<p>It&rsquo;s a question of responsibility, authority and capability.</p>
<p><q>She doesn&rsquo;t do her job properly. She stops me doing mine. She doesn&rsquo;t care about my problems. She leaves everything undone so I can&rsquo;t do my job.</q> These feelings arise because there&rsquo;s no clarity around who is responsible for what. You think that your co-worker isn&rsquo;t doing her job properly: has anyone explicitly told her what the responsibilities of her job are? Is she measured against them, at a regular appraisal, with performance objectives? Has anyone ensured that her responsibilities don&rsquo;t clash with yours? Has any senior manager ensured that everyone&rsquo;s responsibilities align so that the company&rsquo;s workflow is joined up?</p>
<p><q>I can do my job quicker without her being involved. She needs to be convinced of everything. She&rsquo;s so obstructive!</q> These feelings arise because you haven&rsquo;t been given the authority to do your job properly. If you have to convince people to help you to do your job, it&rsquo;s because they have neither been told what your responsibilities are, nor that they have to support you.</p>
<p><q>She costs the company more money than she makes. I can do her job better than she can. I wish I could just do it all myself.</q> These feelings arise because people don&rsquo;t have the right capabilities – sometimes skills, sometimes knowledge, sometimes inherent competence – to meet their responsibilities.</p>
<p>Here&rsquo;s an example. The Big Boss went to a conference where he heard a rousing, inspirational speech by a publisher-turned-coder whose immense powers of rhetoric persuaded him to go back to his team and insist that they prioritise metadata management. After a day or two, the gloss wore off and he decided to make Ellie, the most recently-appointed, recently-graduated editorial assistant, responsible for metadata. (Don&rsquo;t be that guy. Don&rsquo;t entrust the most important means of communicating your brand to an inexperienced office junior.) But he didn&rsquo;t alter anyone else&rsquo;s performance objectives to require them to support the office junior in this mission-critical task.</p>
<p>So the next morning, Ellie asked Catherine, the rather forbidding editorial director, for the five missing blurbs, three missing publication dates and four missing covers for the Summer list. And Catherine asked Ellie, in a rather snippy voice, to come back in a week, with a tone that implied that Ellie might be in a tiny bit of trouble for interrupting her.</p>
<p>Ellie had been given the responsibility, but not the authority, to manage the company&rsquo;s metadata. There&rsquo;s no way she could succeed without the correct authority – and so the company&rsquo;s success suffers directly. Further, Ellie doesn&rsquo;t have the right capabilities – the power of persuasion or being able to manage upwards – to make the best of it.</p>
<p>As I say to my six-year-old, you have to eat your main course before you can have your pudding. In publishing, it&rsquo;s tempting to focus on the puddings: the exciting new digital opportunities, the digital marketing initiatives, the disruptive technologies and the new ways to support authors and sell books. But you need to have the basics in place before you can build new worlds. Formally aligning people&rsquo;s objectives across departments is absolutely fundamental, but publishers aren&rsquo;t very good at it.</p>
<p>So: does everyone in your company know who is responsible for what? Do people&rsquo;s responsibilities conflict with each other? Has someone sat down to make sure that everyone in the company is working toward the same goals – or are, at least, not working in direct conflict with each other? Are responsibilities formally written down and are people measured against them? And, most crucially, are people measured against supporting other people&rsquo;s objectives? If this last point is true, it means that people have been given the authority to get their jobs done.</p>
<p>You can run down a checklist of key publishing tasks and think about whether your company is clear on who&rsquo;s responsible, whether they have the authority and whether they have the capability to be successful. Creating the catalogue, managing metadata, deciding pricing strategies, running digital projects, ensuring contracts are signed before publication, buying paper, doing key customer presentations, managing the company website. All these tasks, and more, require a unified effort to happen efficiently.</p>
<p>On the face of it, you&rsquo;d think that my job implementing Bibliocloud in publishing companies is all about systems. But the most important part of any implementation is not configuring code or migrating data. It&rsquo;s making sure that the company&rsquo;s workflow is supported by a recruitment, performance management and training approach which means people have clearly defined responsibilities, the right level of authority and the right capabilities. Without these three elements in place, too much energy gets wasted on internal machinations, to the detriment of the books, the authors, and your happiness at work.</p>
<p>Don&rsquo;t set broken processes and policies in stone with a systems project.</p>
<p>Fix your responsibilities, authorities and capabilities first.</p>
<p><em>Originally written for and published by <a href="http://www.thebookseller.com/futurebook/emma-barnes-responsibility-authority-capability">The FutureBook</a> in February 2015.</em></p>
Don’t outsource your publishing business awayhttp://bibliocloud.com/blog/dont-outsource-your-publishing-business-away/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>In the debate over whether to rely on outsourcing or develop skills in-house, I come down firmly on the side of learning skills yourself.</p>
<p>I wrote this article about keeping skills in house for DBW in July 2015. Read the full article at <a href="http://www.digitalbookworld.com/2015/dont-outsource-your-publishing-business-away/">Digital Book World.</a></p>
<p>In the debate over whether to rely on outsourcing or develop skills in-house, I come down firmly on the side of learning skills yourself.</p>
<p>A major reason for this is personal satisfaction: competence and capability make you feel good about yourself. And by extension, a happy, motivated workforce makes for better publishing.</p>
<p>Another motivation is corporate worth. When the time comes to value your company—at divestment or when you’re looking to raise capital—skilled staff are a corporate asset and therefore increase the value of your company. Without the necessary skills, you’re nothing more than a trading hub: a shell company in which your staff are expert in briefing third parties, in networking and in the publishing process, but not in much else.</p>
<p>An even more important reason to add skills, though, is so you can know when you’re having the wool pulled over your eyes.</p>
<p>Have you ever had to brief an agency on something you don’t know much about? A website, perhaps? An app to accompany a print book, or a digital marketing project, heavy on the technical side? You know what you want the end result to look like, and you know what the user experience should be, but how you get there—well, that’s why you need an agency, because you don’t have the skills to do it yourself.</p>
<p>And so you have very little way of knowing if the response you receive from your tender is a decent, cost-effective solution. If not, it could be because the suppliers are borderline malicious—quoting a lot of money for not much work, because they know you’ve got no way of knowing. Or they could simply be incompetent, able to throw a website together but far from a well-written one. It’ll be one that might be difficult (read: costly) for other programmers to maintain. Either way, you can’t know if you’re getting a good deal or not.</p>
<p>Moreover, even if you get lucky and find an honest, reliable supplier, when you have to instruct other people you inevitably introduce distance from the original idea. The creative nugget at the heart of the project has to be explained, diluted and compromised. If you were building things yourself, on the other hand, you’d do justice to your creative idea, and it would be a hundred times less stressful (I promise you) than it is trying to get someone else to do what you want.</p>
<p>Even worse, if you brief outside suppliers and work with them, you’re giving them premium access to your precious domain knowledge and your hard-earned understanding of the publishing problem you’re trying to solve. You’re also allowing them to make money off you and internalize the knowledge that they didn’t work for.</p>
<p>If your vendor supplies generic services—an ecommerce web developer for all kinds of products, say, rather than a publishing-specific ecommerce web developer—they price in the additional risk of not knowing about your sector. That’s an extra cost.</p>
<p>And if you outsource, you can say goodbye to the process being in any way agile. Up-front design of major projects is exceedingly difficult—especially when it’s your first time designing, say, a transactional website. But if you want to get a cost for a project up front, you have to spec it out up front, almost guaranteeing that the project will go over budget and miss its deadline.</p>
<p>However, if you create your products and solutions yourself, you’re in complete control and there’s no disconnect between your idea and the execution.</p>
<p>Here’s how we write features for Bibliocloud, the publishing management app that I and other publishers use to run our companies: first, we encounter a real life problem. Then we simply write code to fix it. For instance, I once sold French rights to a book that I hadn’t actually licensed the French rights for. This problem took a good week of frantic and hugely embarrassing phone calls to untangle. So we wrote a feature into Bibliocloud to stop that from ever happening again.</p>
<p>These features are driven by real world problems, and I have the programming skills to fix them.
Nowadays, you don’t even have to be a “proper” programmer. There’s an embarrassment of toolsets on the market that allow you to develop technical products and solutions in-house with only a smidgeon of technical know-how. Shopify for ecommerce, InDesign CC for ebooks, Trello for project management: none of these solutions require programming knowledge, and they allow you to remain in control.</p>
<p>The alternative to in-house skills? Outsourcing. Being dependent on others. Not having complete control.</p>
<p>For those who say publishing is about people, not coding or technical competence or project management skills, I can assure you that people are the first to suffer when things go off the rails. It’s a miserable existence to wake up every morning thinking, “There must be a better way,” or to feel slighted and foolish when people make money off you. I’d rather read a hundred technical manuals than feel out of my element, lectured to and exploited by outsiders, outdated, stung for a fortune or taken for a ride. How about you?</p>
<p>Emma and the Bibliocloud team are running the second Try Programming course in Oxford, UK on Monday, September 14th on behalf of the Oxford Publishing Group. Book here.</p>
And now we are fivehttp://bibliocloud.com/blog/and-now-we-are-five/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>I&rsquo;m beyond delighted to share some wonderful news. <a href="https://twitter.com/andypearson?lang=en-gb">Andy Pearson</a> will be joining the Bibliocloud team on Monday, bringing our numbers to five: he&rsquo;ll join Rob, Dave, Emily and I in our ongoing mission to liberate publishers from drudgery to do the work that matters.</p>
<p>On a personal note, this feels like a coming of age. I wrote the first line of Bibliocloud&rsquo;s code at the kitchen table in spring 2011, Ruby on Rails textbook on loan from Rob in one hand, typing with the other. Since then I have learned more than I thought my brain could absorb about programming. Later, I met <a href="https://twitter.com/DatabaseSponge?lang=en-gb">Dave</a>, Bibliocloud&rsquo;s data architect, who brought his decades of Oracle expertise to the code. Recently, we hired <a href="https://twitter.com/emilylabram?lang=en-gb">Emily</a>, whose first few months have been a whirlwind of bringing more insight than I thought possible about our app, our customers and our future. And now we have Andy, a seasoned, super-bright programmer fresh from digital services agency <a href="http://wearefriday.com/">Friday</a>. He&rsquo;s been working on beautifully-tested, honed-and-buffed apps for clients such as Nuffield Health and HSBC, and now (he says) he&rsquo;s looking forward to joining the world of publishing.</p>
<p>Exciting times. Exciting times indeed. We hope that they&rsquo;ll result in an even better experience for our customers, now and into the future &ndash; because that&rsquo;s what this is all about.</p>
Five things I've learned since moving into enterprise product managementhttp://bibliocloud.com/blog/why-i-love-working-in-enterprise-product-management/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Two years ago, I joined an enterprise company transforming the publishing industry from within. It&rsquo;s different, for sure: new skills, methods and challenges. But there are also some under-sung benefits to the role of enterprise product manager. Here are the five I&rsquo;ve discovered since joining Bibliocloud:</p>
<h3 id="1-enterprise-users-are-much-more-invested-in-your-product">1. Enterprise users are much more invested in your product</h3>
<p>Our end users may be in the hundreds rather than the millions, but they spend many hours per week using our software. For our clients, Bibliocloud is the hub of their business: the one place to find answers to business-critical questions, like &lsquo;When are we publishing this book?&rsquo; and &lsquo;What rights do we have?&rsquo;</p>
<p>While this adds considerable pressure, it also means that our users care enormously about the product&rsquo;s ongoing evolution, giving up considerable time to participate in research. <strong>When your customers spend 8 hours a day on a service, small improvements have a big impact.</strong></p>
<h3 id="2-there-is-a-growing-need-for-both-useful-and-delightful-enterprise-software">2. There is a growing need for both useful <em>and</em> delightful enterprise software</h3>
<p>Executives in complex industries like publishing have traditionally been between a rock and a hard place when choosing software. On the one hand were the industry-specific systems. These offered the functionality required to save time or costs. But their clunky interfaces required top-down enforcement, at the cost of employee morale.</p>
<p>The emergent SaaS systems, though, were often no better. Basecamp, Asana and other such tools offered a delightful user experience but couldn&rsquo;t bend to accommodate industry-specific data or workflows, or integrate with existing systems. They offered superficial benefits without touching the difficult problems and as such, didn’t merit expensive roll-outs.</p>
<p><strong>There&rsquo;s a growing need for beautiful yet industry-specific software.</strong> At Bibliocloud, we&rsquo;re industry insiders, building beautiful, cloud-based software to solve problems we understand. The demand is rapacious because the system is useful <em>and</em> usable to customers in our particular niche.</p>
<p><img src="https://cdn-images-1.medium.com/max/1200/1*TI2v09UXML0AVOhjBGI7Ng.png" alt="alt" /></p>
<h3 id="3-good-enterprise-products-transform-working-lives">3. Good enterprise products transform working lives</h3>
<p>Working lives matter. In enterprise product management, we&rsquo;re in the business of vocations, promotions; the professional achievements that build lives.</p>
<p><strong>Whereas a well-designed utilities app might save minutes from a routine task, an enterprise system can save a talented professional hours of time per week.</strong> Our system automates many of the tasks that beleaguer the publishing industry: it really is transformative.</p>
<p>Talented editors, marketers and salespeople report being able to actually &lsquo;do their jobs&rsquo;: the proactive, creative or strategic work that sells more books. And for an over-stretched industry, an hour saved means leaving work on time. That&rsquo;s life-changing for them, and invigorating for us.</p>
<h3 id="4-helping-businesses-serve-their-customers-is-satisfying-work">4. Helping businesses serve their customers is satisfying work</h3>
<p>Working on an enterprise product means grappling with the business challenges of dozens of companies, all with different strengths and objectives. <strong>The best enterprise systems aren&rsquo;t just functional and usable. They solve hard, specific problems.</strong> They help businesses make increasing amounts of money; save increasing amounts of time.</p>
<p>Really pushing the needle for my customers requires a wholehearted engagement with the business of publishing. Discussing strategy with business leaders is fascinating work, and I get a tremendous kick out of helping publishers serve their customers more efficiently.</p>
<p>On that note, it&rsquo;s no accident that I&rsquo;ve chosen this industry. <strong>Enterprise product management bears social responsibility,</strong> and I find meaning from the good that book publishers do in the world, from promoting the latest research on climate change to teaching children to read.</p>
<h3 id="5-relationships-are-long-term-collaborative-and-rewarding">5. Relationships are long-term, collaborative and rewarding</h3>
<p>As a product manager for consumer products, interactions with customers were one-off and fleeting. In enterprise product management, by contrast, relationships are long-term and require careful cultivation.</p>
<p>Each of our customers is precious, and the industry is small. It&rsquo;s also a challenge to maintain a tight roadmap when balancing differing needs with one codebase. But over time, I&rsquo;ve found our customers increasingly collaborative, supporting each other to raise the bar in the industry.</p>
<p><strong>Diplomacy is required in enterprise product management, but it&rsquo;s rewarded with a stable business model, high retention, referrals and immense goodwill.</strong></p>
<h4 id="at-its-best-therefore-enterprise-product-management-is-the-best-kind-of-symbiosis-offering-long-term-benefit-on-both-sides">At its best, therefore, enterprise product management is the best kind of symbiosis, offering long-term benefit on both sides.</h4>
<p>It&rsquo;s satisfying work, helping working people achieve their professional goals and build their lives, and supporting businesses to make an impact in the world.</p>
Inbound marketinghttp://bibliocloud.com/blog/inbound-marketing/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Discoverability isn’t nearly enough. Discoverability relies on someone actively trying to discover something, which comes only at the end stage of the buying process. You need to catch people much earlier—long before they even know they want what you’re selling.</p>
<p>Enter “inbound marketing.”</p>
<p>I wrote this article about inbound marketing for DBW in February 2015. Read the full article at <a href="http://www.digitalbookworld.com/2015/the-how-and-why-of-inbound-book-marketing/">Digital Book World</a>.</p>
<p>Discoverability, SEO, keywords, rich metadata—get these things correct and success is yours, right?</p>
<p>Wrong, I’m sorry to say. Discoverability isn’t nearly enough. Discoverability relies on someone actively trying to discover something, which comes only at the end stage of the buying process. You need to catch people much earlier—long before they even know they want what you’re selling.</p>
<p>Enter “inbound marketing.” Google it and you’ll be amazed that you’ve never heard of it in publishing circles (though if you have, drop a note in the comments section and tell me where!). It’s been a growing force in the world of marketing ever since marketing software company Hubspot coined the phrase in 2006, when they realized that cold-calling, spam and other “interruptive” marketing tactics just don’t work all that well.</p>
<p>Inbound marketing is a wonderful idea, and, if you’re like me, it’s a concept that’s painless to adopt, because it’s the opposite of the hard sell. It’s about genuinely setting out to help people. It’s about sharing knowledge and ideas—and, ultimately, it gets your product found by people who really want to have what you’re selling.</p>
<p>This is how it works. First, you articulate the goals, challenges, pain points and demographic of your ideal customer. (As more than one writer has pointed out on Digital Book World in recent months, that’s no small task for publishers, but it’s absolutely essential.) Your description of your ideal customer—your “buyer persona”—then forms the center of your business plan.</p>
<p>Next, you write content that’s perfectly matched to that buyer persona. If you’re a cookbook publisher, you might have your top authors blog about food or have them create videos cooking with their kids. You might post excerpts from upcoming cookbook titles or share recipe ingredient sourcing tips on Twitter—whatever your ideal customer most wants. If you do it right, you’ll put your content in the places where your buyer naturally hangs out. It’s like the early stages of dating—a shared glance across the bookshop cafe where you go on the weekend.</p>
<p>When your ideal customer has seen your work, you try to find a way to continue the conversation: to carry on flirting. So you invite her to leave a way to get in touch. Having a newsletter sign-up box or an invitation to read more in exchange for an email address is a good way to do that. In sales-speak, at this point, she becomes a “lead.” She’s hopped into the hopper at the top of your sales pipeline. But don’t act all overbearing at this stage: not cool.</p>
<p>Next comes the leap of faith—the bit where you actually ask her out. Be brave! Don’t be weird! If you’ve got the perfect offer for her, use your customer relationship management (CRM) tools to get in touch. Let her know what you’ve got in the pipeline, and email her any information she needs. Then leave her alone. And hope for that first magical point of contact—the moment she buys something.</p>
<p>Finally, just because you’ve got her doesn’t mean you should lose interest. You have to delight your customer. Use surveys, more tailored content and social media to give her reasons to stay in love with you—and to tell all her friends how great you are.</p>
<p>I’m sorry to say, dear reader, that you’re being inbound-marketed to right now. Except for this sentence, nothing in this post mentions my own software product, Bibliocloud, or my publishing company, Snowbooks. But I’m writing this article so that you’ve heard from me—so that you know the sorts of things that I think.</p>
<p>I’m writing it so that when, in the far-distant future, you decide you need a book about steampunk Martians or an enterprise title management system (or both! It could happen!) and you come across my books or software by searching for “title management software” or “steampunk Martians,” I won’t be a completely unknown quantity to you. I’ll be that nice lady who wrote that blog post about that thing that you read that time. There’ll be a familiarity, a nascent trust—the foundations of a relationship.</p>
<p>In fact, if you do it right, decent inbound marketing can actually nullify your competitors’ discoverability efforts. When your customer is ready to buy, she’ll know who to come to—direct, skipping the search stage entirely.</p>
<p>More likely, she’ll still search—but which of the search results is she more favorably inclined toward right from the get-go? The nice author or publisher whose blog she reads, or the faceless company that comes up on Google? I know, I know, your products are unique. But in a tossup between buying your book about bees and OtherCo’s book about bees, you’ve put yourself in a great position if she’s been enjoying your bee-keeping tips for the last six months.</p>
<p>Inbound marketing is so much better than the two alternatives: shouty “outbound” marketing and no marketing at all. This is something many publishers and authors grasp, but in the race to get the word about all your great content, lapses are easy to make.</p>
<p>So think of the inbound approach as a narrowing of focus in order to produce more reliable results. Want to attract the right visitors to that online shop you’ve gone to the bother of creating? Inbound marketing is the best way to spark up a meaningful, fruitful relationship with customers who love what you’re doing.</p>
Who has the balance of power over data?http://bibliocloud.com/blog/balance-of-power/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Who has access to the data that can best predict how readers will spend their money? Who has data on how people read books—how far they get, how many they buy, how often they buy, whether their purchases cluster around certain dates? Who has the permission to contact readers by post, email or text—to shape their opinions and buying patterns?</p>
<p>Who, in other words, owns the data that holds the key to publishing’s future performance?</p>
<p>Back in the day, I worked as a retail buyer. My vendors included P&amp;G and Unilever—companies that spent decades putting the processes in place to collect and use customer data. And not just transactional data: insights, research, coupon data, mailing lists, free samples in exchange for personal data, focus group data. Massive, detailed, long-term use surveys. They were the sort of companies that paid for eye-tracking research to understand how shoppers shop, and which bits of the shelves they looked at most. They were the sort of companies that sent reps around maternity wards, signing up new mothers to their mailing lists with the lure of free Pampers, then mailing them coupons and samples for Colgate five years later. They invested because they knew that owning customer data gave them power—power to persuade retail buyers that they needed to include their brands in categories on-shelf, because they could prove that there was demand. Power to know the retail price sweet spot. Power to disintermediate retailers entirely, if they wanted. And because everyone knew they could, they didn’t have to.</p>
<p>Retailers go through cycles of grumbling about this process and then embracing it. The strategic sourcing and merchandizing approach known as category management came about because retailers wanted to use their vendors’ customer knowledge to improve their own performance. But back in publishing, we’re barely trying to gain control of our customer data.</p>
<p>We’re the vendors, and Google, Facebook and Amazon are the retailers. And in our world, it’s retailers who have the balance of power. Not brick-and-mortar ones—obviously. They’re still as fundamentally short-termist, reactionary and focused on this quarter as they ever were. Don’t expect us to be impressed with a tired old loyalty card scheme, either—especially if you execute it badly, as we saw in the supermarket sector in the UK, recently, when Lidl delivered a stern riposte to Morrison’s clumsy data collection. No, it’s the new retailers who are the ones investing the time and money in gathering and using transactional and behavioral data.</p>
<p>They collect transactional and click data from every interaction on their website and email marketing lists, and use it to give customers what their data suggests they want: recommendations, bundled up-selling deals, predictions to inform new product development, all based on individual customer data going back 20 years. Compare the power that this gives them with the power we have. When we sell books to the parts of the supply chain that we focus on—the wholesalers and retailers—they disappear off the radar. We have no idea whether books are going to stay in a wholesalers’ warehouse, whether they’re in Waterstones’ central warehouse or on the shelf, and we certainly have no idea which readers bought them, from where, or what happened to them.</p>
<p>We don’t have to sell directly to gather meaningful data (the old consumer goods manufacturers prove that). But it makes it so much easier and cheaper if we do. With platforms like Google Analytics and Shopify, nowadays we can collect insightful data, such as abandoned carts, over- and under-performers, IP addresses, flow of clicks through the site, sources of traffic and the results of marketing campaigns at practically zero additional cost. We could be orchestrating more meaningful, structured, long-term interactions with readers who use the brick-and-mortar supply chain—not just ad hoc social media interactions and marketing campaigns.</p>
<p>But it’s so much better to aim to own the cart. That’s the key. If you hand sales off to someone else, then you have no idea whether they bought it, or where they live, or what else they bought. You have to own that. And you have to make things cheap (both the product and the technology) so that people will use it.</p>
<p>Take a look at pretty much any major publisher’s website. This large publisher can’t sell ebooks or audiobooks from its website, although they’re far from alone. They don’t know how much retailers are charging, and they don’t even know the retail price of their own imprint’s book:</p>
<p>Hachette has it at £8.99…</p>
<p><img src="../../images/content/images/What-If2.jpg" alt="What if2" /></p>
<p>Whereas Hodder has it at £7.99. What can their systems architecture look like, I wonder?</p>
<p><img src="../../images/content/images/Hodder.jpg" alt="Hodder" /></p>
<p>If you do decide to buy the paperback version from them, then you have to manually choose what country and county you live in, even though they have a really nice way of looking up your address that makes that logically redundant. And then, after registering on the site and handing over your address, phone number and email, you get this:</p>
<p><img src="../../images/content/images/Error-Message.png" alt="Error message" /></p>
<p>Only their shopping cart knows the stock level.</p>
<p>Or I can buy it on Amazon Prime right now for £3.85:</p>
<p><img src="../../images/content/images/Amazon.jpg" alt="Amazon" /></p>
<p>Why don’t publishers fix this problem and try to regain the balance of power? Simply put, it’s because they don’t equate customer and transactional data with control. And even if they did, they’ve had no practice in acquiring and managing large data sets. They wouldn’t know where to start if they had to create a supply chain of any complexity. You wouldn’t believe the conversations I still have with some publisher-owned distribution companies about data transfer and management. They’re a good 30 to 40 years behind the modern world. Large parts of the supply chain rely on CSVs, emails, spreadsheets and EDI, not well-crafted databases, RESTful JSON API calls and webhooks.</p>
<p>Publishers’ own websites provide a poor customer experience. This is no basis for becoming adept at big data management.</p>
<p>So, who has the balance of power? Not publishers—that’s for sure. And I don’t know how we’re going to get it back if we fail to prioritize owning the cart.</p>
Prizes galorehttp://bibliocloud.com/blog/prizes-galore/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>We were completely delighted this week to be awarded the GBS Services to Independent Publishers award at the IPG 2017 awards.</p>
<p><img src="../../images/content/images/2017/02/Screen-Shot-2017-02-12-at-16.16.03.png" alt="Screen shot 2017 02 12 at 16.16.03" /></p>
<p>Snowbooks won Trade Publisher at these awards in 2008, and now, nearly ten years later, the company which sprang from Snowbooks&rsquo; real-world challenges was recognised. It&rsquo;s a particularly meaningful award, because our nomination and success depended on our customers nominating us. <a href="http://www.ipg.uk.com/independent-publishing-awards">The IPG said</a>:</p>
<blockquote>
<p>Bibliocloud receives this Award for the fast growing popularity of its publishing system and the help it has given many IPG members in their data management and other tasks. By streamlining and automating processes it has freed up many independents to focus on their publishing. One said: “Bibliocloud is a game-changer for us as a small publisher—it’s transformed how we manage our titles and our metadata. It’s so easy to use and does whatever we want it to do.”</p>
</blockquote>
<p>This award followed hot on the heels of me coming Highly Commended as Digital Leader at Futurebook in November.</p>
<p><img src="../../images/content/images/2017/02/CyrlLMzXAAMV7_Zjpg-large.jpg" alt="alt" /></p>
<p>You can hear me talking from Futurebook on the <a href="http://theedtechpodcast.libsyn.com/draft?utm_content=buffer2cae0&amp;utm_medium=social&amp;utm_source=twitter.com&amp;utm_campaign=buffer">EdTech Podcast #54</a> (my bit starts at 48:15).</p>
<p>In these strange times we have felt ever-more invigorated to do our part to help change the world for the better, and so to be recognised for our achievements so far &ndash; and by our clients themselves &ndash; is really touching. We&rsquo;ve got some exciting announcements about new clients and new team members coming soon, so watch this space!</p>
How to create a catalogue automatically using ONIX and InDesignhttp://bibliocloud.com/blog/how-to-create-a-catalogue-automatically-using-onix-and-indesign/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Did you go into publishing so that you could spend your days copying and pasting ever-changing metadata from spreadsheets, emails and databases into InDesign? You did? Great. No need to read on.</p>
<p>If you didn’t, perhaps this article will interest you. In it I’m going to show you how to create a catalogue in a single click.</p>
<p>This isn’t a sales pitch. You don’t need to scan ahead for the paragraph where it says “and all you need to do is buy our MagicSoftware™ for twenty grand a year”. All the tools you’ll need are very likely to be there on your work computer. I’m assuming, you being a publisher, that you have a copy of InDesign, and that you can get an ONIX file of your data. (If you don’t have an ONIX file then, actually, this is a sales pitch. Producing an ONIX file of your book data is a basic publishing necessity: call me.)</p>
<p>Here’s what we’re going to cover in this article. First, we’ll prepare an InDesign template. Then we’ll get our data arranged into a suitable format for the InDesign template to understand. Finally, we’ll import the data into the template and revel in the catalogue we’ve created in a single click.</p>
<p>The most exciting bit about this is that you only have to do things once. You set up the InDesign template once, with one sample book entry. You write the XML transformation code once. Then, when you import the data, the single-book template replicates itself to create as many catalogue entries as there are book records in your data — potentially thousands and thousands of catalogue entries with a single click. And of course you can reuse your template and code for the next season’s catalogue, and the next.</p>
<p>Before we start it’s probably a good idea to read this previous article about XML, and this one about ONIX.</p>
<p>ONIX is a wonderful way of sending rich book data to the companies who need it – Nielsen, Bowker and the like. But ONIX’s comprehensive nature means that it can be quite verbose. In a catalogue, we don’t need every last bit of information about a book. So we’re going to convert our ONIX XML message into another XML file that’s a bit less wordy, using a language called XSLT. Then we’ll be able to import it into InDesign. (In fact, InDesign can handle the conversion process itself, when we import the XML.)</p>
<p>Download the files <a href="http://s3-eu-west-1.amazonaws.com/bibliocloudimages/static/catalogue_demo.zip">here</a>. You’ll see I’ve prepared an InDesign template for you — so that’s the first bit done. Here’s the structure pane of our InDesign template, showing how each entry will be structured: we’re going to need to whittle our ONIX down until we’ve got an XML file that matches this structure.</p>
<p><img src="../../images/content/images/2015/11/unnamed.png" alt="Unnamed" /></p>
<p>So let’s prepare our data for it, using an XSL transformation. Open transform.xsl: <a href="https://gist.github.com/EmmaB/f55a61f4cc502f562a61">this is how the transform.xsl file looks</a>.</p>
<p>Keep calm! Whilst this is code, and it might look a bit overwhelming at first glance, it’s not all zeroes and ones. We can read it, because it uses English words. And you’re good at English words, remember!</p>
<p>So, one line at a time, let’s read this code. (This, by the way, is the very first code I ever wrote, in 2006. Nowadays I’m a professional Ruby on Rails programmer. We all have to start somewhere.)</p>
<p>Line 1 tells the computer that this is an XML file.</p>
<p>Line 2 defines the first tag, called</p>
<p><code>&lt;BK&gt;</code></p>
<p>and gives a bit more information about this part of the file – which is that this code is XSL.</p>
<p>Line 3 is where it starts to get interesting.</p>
<p><code>&lt;xsl:for-each select=&quot;ONIXMessage/Product&quot;&gt;</code></p>
<p>means “find each mention of ONIXMessage/Product in the ONIX file.”</p>
<p>The next bit declares a new XML tag, called</p>
<p><code>&lt;Book&gt;</code></p>
<p>If you peek ahead to line 24, you’ll see its sister, the closing tag</p>
<p><code>&lt;/Book&gt;</code></p>
<p>(We know it’s a closing tag because of the backslash.)</p>
<p>Lines 5 to 7 set up some variables. A variable is like having a shortcut. For example, I can define a variable called “address”:</p>
<p><code>address = “Chiltern House, Thame Road, Haddenham, Aylesbury, Buckinghamshire HP17 8BY, UK”</code></p>
<p>Now, next time I want to give my office location, I don’t have to spell out the whole thing. The variable “address” is a shorthand way of saying the whole thing.</p>
<p>Back to our code. We’re going to define three variables on the next lines: one called <code>form</code>, one called <code>date</code> and the other called <code>isbn</code>, so we can use them later. We’re getting the values of the variables from the ONIX file. We select the data tagged up with <code>ProductFormDetail</code> and assign it to the variable called <code>form</code>.</p>
<p>Similarly, we find the value in the ONIX tagged up as <code>PublicationDate</code>, and save that as the variable <code>date</code>.</p>
<p>Lastly we find the bit in the ONIX tagged up as <code>ProductIdentifier[ProductIDType = &#39;03&#39;]/IDValue</code> and set that as the variable called <code>isbn</code>. That last one is a bit complicated but if I show you the ONIX, it’ll make more sense.</p>
<div class="highlight"><pre class="highlight plaintext"><code>&lt;ProductIdentifier&gt;
&lt;ProductIDType&gt;03&lt;/ProductIDType&gt;
&lt;IDValue&gt;9780954575984&lt;/IDValue&gt;
&lt;/ProductIdentifier&gt;
&lt;ProductIdentifier&gt;
&lt;ProductIDType&gt;02&lt;/ProductIDType&gt;
&lt;IDValue&gt;0954575984&lt;/IDValue&gt;
&lt;/ProductIdentifier&gt;
</code></pre></div>
<p>There’s two ProductIdentifier tags here. Oh no – which IDValue should we select? Ah, it’s the one with <code>ProductIDType 03</code>. (A lot of learning programming is about getting familiar with the syntax – the particular way that the programming language is laid out. Here, we’re using square brackets to nest ProductIDType after ProductIdentifier. Don’t fret about learning syntax– that’s the easy bit. Understanding the actual logic is the thing to really master. It’s why kids’ learn-to-code tools such as Scratch are so great – they teach the principles and the logic, not one language’s particular way of writing them.)</p>
<p>Line 8 defines another XML tag, called <image>. Because it’s an image tag, it takes an href attribute. And can you see how we say where the computer should look for the right file? That’s right – we use our freshly-minted “isbn” variable. So this URL:</p>
<p><code>&lt;image href=&quot;file:///{$isbn}.jpg&quot; /&gt;</code></p>
<p>will become:</p>
<p><code>&lt;image href=&quot;file:///9780954575984.jpg&quot; /&gt;</code></p>
<p>The next line is quite fruity, but I’ve included it so we can see just how malleable data can be in the hands of a computer. The line defines a new XML tag, <year>. We’re using a new XLS command:</p>
<p><code>&lt;xsl:value-of&gt;</code></p>
<p>Line 9 says “Get the value of the ‘date’ variable”. It also fiddles around with the date quite a lot. If the line read</p>
<p><code>&lt;xsl:value-of select=&quot;$date&quot;/&gt;</code></p>
<p>then the new <code>&lt;year&gt;</code> XML tag would read <code>&lt;year&gt;20120228&lt;/year&gt;</code>. But who wants to use ISO-format dates in a catalogue? Instead we want it to read <year>28/02/2012</year>. So whilst <code>concat(substring($dt,7,2), ‘/’,substring($dt,5,2), ‘/’,substring($dt,1,4))</code> looks fairly unholy at a glance, what it’s doing is saying “Concatenate the following. Get the value of the date variable which is 20120228. Count to the 7th digit, which is 2. Then get the 2 following digits, which would be 28. Then put a backslash in. Next, use that same date variable and get the fifth number, which is 2, and then the next two digits, which gives you 02. Pop another backslash in. Finally, get that same date variable, and get the first number, which is 2, and then the next four digits, which gives you 2012. All of that gives you 28/02/2012.” See, it looks awful to start with, but you just have to sit and read the code until it makes sense.</p>
<p>The next line, 10, is also an <code>&lt;xsl:value-of&gt;</code>, and we use our handy <code>isbn</code> variable again. This line produces another XML tag called <code>&lt;productid&gt;</code>.</p>
<p>All these tags will be used in the InDesign document we’ll see in a bit. Home straight now! You’re doing very well.</p>
<p>We’re going to look at the last XSL command for today, which is</p>
<p><code>&lt;xsl:choose&gt;</code></p>
<p>This is quite self-explanatory. On line 11, we spark up another XML tag, called <code>&lt;format&gt;</code>. But what to put in this tag? The syntax says “Choose from the following: when the ONIX form variable is B104, put in A Format Paperback. When the ONIX form variable is B105, put “B Format Paperback” in our new <format> tag.” And so on.</p>
<p>The next bit is best shown on video. <a href="http://youtu.be/u3jJ1jSFIJo">Watch how</a> we’re going to use our XSLT code to transform ONIX into a more concise XML file and automatically flow it into our InDesign template. (You’d best watch it on HD so you can see the detail.)</p>
<p>Use the files you’ve downloaded to practice, and then use your own company’s ONIX file and have a go. Then, tweak the InDesign template so that the colours and fonts are to your taste, and produce your own catalogue.</p>
<p>This demo is a deliberately pared-down example. You’ll likely want to include more information such as the title, the blurb and the price. I can recommend <a href="http://www.amazon.co.uk/Designers-Guide-Adobe-InDesign-XML/dp/0321503554">A Designer’s Guide to InDesign and XML</a> which contains even more templates and excellent descriptions of how to start using InDesign properly and productively.</p>
<p>You know, we could have automated this catalogue’s production in a number of ways. If you use Bibliocloud, you can export pared-down XML without having to convert ONIX, or you can export data directly to PDF. If you still store your metadata in Excel, you can get it to export an XML file. The point is that if you explore the tools you have available to you right now on your machine, you’ll find that your computer could be working a lot harder for you. Automation is the key to a happy modern working life – and when your happiness is at stake, that’s worth a bit of an investment of time in learning about automation processes like this, wouldn’t you say.</p>
<p><em>Originally published on <a href="http://bookmachine.org/2015/02/25/how-to-create-a-catalogue-automatically-using-onix-and-indesign/">Bookmachine</a>, February 2015</em></p>
A taste of codehttp://bibliocloud.com/blog/a-taste-of-code/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>On Thursday, in conjunction with <a href="https://bookmachine.org/event/coding-publishers-half-day-taster-course/">BookMachine</a>, the Bibliocloud team ran a workshop to teach 30-odd publishers how to write code.</p>
<p>Yes, it was as ludicrously ambitious as that. You can&rsquo;t learn programming in a day: it&rsquo;s quite possibly a life&rsquo;s work. And yet I hope that we demystified a few elements of programming for some people whose future roles depend on being able to effectively navigate the digital world.</p>
<p>We prepared very thoroughly for this workshop, starting with a brainstorm of what we hoped to achieve. We decided that we wanted to introduce several key concepts, such as HTML, CSS, Ruby, APIs, and JavaScript, highlighting their relevance to publishing. Andy wrote a Sinatra app which queries the Google Books API, and over the following four weeks we iterated on, tested and documented it.</p>
<p>The results are here:</p>
<ul>
<li>A <a href="http://bibliocloud.com/code">Github page</a> with a <q>quick start</q> link to download the web application code to your own Nitrous account.</li>
</ul>
<p>To follow the course yourself at home, register for a free account at Nitrous.io [Update: now defunct] then visit the Github page to get started.</p>
<p>If you&rsquo;d prefer to have been there in person, then you&rsquo;re in luck. There was an 80 person waiting list for this course &ndash; there&rsquo;s clearly demand for technical skills in publishing, so we&rsquo;ll be running it again sometime soon. Watch this space.</p>
The search for publishing's holy grailshttp://bibliocloud.com/blog/the-search-for-publishings-holy-grails/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<h4 id="ask-me-the-questions-bridgekeeper-i-am-not-afraid">&lsquo;Ask me the questions, bridgekeeper. I am not afraid&rsquo;</h4>
<p>There are certain enigmas in publishing, certain problems that seem impossible to ever crack. Searching for their solutions is like a search for the Holy Grail. I’m talking about things like being able to forecast sales accurately, or knowing how profitable our ebooks are compared to other editions. Or finding happiness. “It can’t be beyond the wit of man”, you think, but, even so, year after year goes by without cracking the problems.</p>
<p>So, coconut halves at the ready, let’s go on a quest for some of these holy grails.</p>
<h4 id="accurate-sales-forecasting">Accurate sales forecasting</h4>
<p>Successful publishing is a numbers game—money out vs. money in. If we knew in advance what our sales will be—if we could get our forecasts right—then everything else would be a doddle.</p>
<p>Obviously, that’s not going to happen, but we can at least try not to make fools of ourselves.</p>
<p>When you sum up all of the sales you made on the products you sold last year, how did that relate to the sum of all of the forecasts? Was it 20 percent higher? 50 percent? 50 percent lower? And how did that vary by imprint, subject, and format? Maybe you forecast 50 percent over on hardbacks and 50 percent under on paperbacks.</p>
<p>If someone presented you with this information, would it change your future behaviour? It should. If your hardback sales are on average half of your forecasts, then your future forecasts must be halved. “It’s just a flesh wound!”</p>
<h4 id="reconciling-statutory-and-management-accounts">Reconciling statutory and management accounts</h4>
<p>The next quest is to do with actuals, rather than forecasts. Statutory accounts are the performance numbers you have to submit to Companies House and the Revenue in one form or another. They chart the movement of all the money in, and all the money out, of the business in a financial year, and they allow for the changing valuation of assets: things such as copies of books in the warehouse, your computers and the buildings you own. They usually give a helicopter view: one number is the total of all home-territory print book sales revenue, for example, and another all the rights sales.</p>
<p>With management accounts, on the other hand, the clue’s in the name. These chart the movement of money for the purposes of managers being able to see what the dickens happened last year. The more detailed the management accounts, the more insight managers can get: title-level P&amp;Ls are more useful than imprint-level P&amp;Ls.</p>
<p>A title-level P&amp;L will record sales and costs for one particular title. Sales revenue, less returns, for the hardback, paperback and ebook. Rights revenue, less the author’s cut. Print costs, editorial origination costs (typesetting, proofreading and the like), trade spend and so on.</p>
<p>Why should you be able to reconcile this low level of detail with the overview? So you can have confidence that all your numbers—which you’re using to make decisions about future business activity—are accurate. Why is it so hard? Because of overheads and aggregations.</p>
<p>Overheads are costs that are not directly attributable to a single title. How much of your office electricity bill should you apportion to your title? How much of your in-house designer’s payroll cost—they did the cover, after all? And your retained PR agency—they just send in a monthly bill. How much should be allocated to each title? What about the cost of warehousing, sales commission? The cost of running the stand at Frankfurt? And so on.</p>
<p>Aggregation is what distributors do when they helpfully send you a sales report that only gives you a fraction of the picture: “all ebook sales”, for example, or “all January sales”, or “all Waterstones sales”. What you really want is the lowest level of detail possible, so you can do what you want with it. But that’s not always forthcoming from OPS*.</p>
<p>It’s the different levels of resolution and categorisation in the available sales and costs data that make any reconciliation so difficult. And so, like Sir Galahad, you have to come up with an enforceable, meaningful philosophy.</p>
<p>You could decide that you’re going to apportion costs based on the performance of a title. Bestselling title A produced 80 percent of this year’s revenue, and so it should shoulder 80 percent of the shared costs, right? Well, that’s penalising your bestseller for being so productive. The alternative is equally dividing your costs by the number of titles on your list. That seems the greater of two evils, so perhaps we should accept that the penalty of being a bestseller is that you have to pay for everything else. If you consciously recognise that reality, it should inform your decisions. You might decide not to be too generous with your volume escalator, for instance: it’ll negatively affect your other authors because that’s the pot of money needed to pay for less successful books. Harsh realities.</p>
<p>For certain costs, it’s possible to apply a unit cost, or a percentage of sales cost, to the number of units sold. Sales commission, for instance, may be contractually agreed at 10 percent of net receipts. This is an easy line to include in the variable costs section of a title P&amp;L. The trick here is having a system that lets you see what 10 percent of net receipts is at both a title and a company level, and then comparing that to the total of the supplier’s invoices for the same period. It’s possible, yet insanely boring and fiddly, to do it manually. It’s a good example of where programs can step in to help (and I’m not talking about Excel spreadsheets. Rant to follow at a later date).</p>
<h4 id="knowing-how-profitable-our-ebooks-are">Knowing how profitable our ebooks are</h4>
<p>Once you’ve solved the title-level P&amp;L problem, you have to think about the product-level P&amp;L. Which format should shoulder the burden of costs that affect them all, such as typesetting, or translation? The hardback, because it’s the first published?</p>
<p>Does the ebook P&amp;L even contain any editorial origination costs, or do we treat these as sunk funds, spent already to bring the print products to market? Again, you need to come up with a philosophy, then adopt the systems to put it into practice. And you have to live or die by that decision. If you decide to spread the costs of editorial origination evenly over all the formats of a title, and that shows that the ebook is woefully unprofitable, you should rightfully stop publishing ebooks.</p>
<p>Does that sound right?</p>
<p>Think through the ramifications of your philosophy before you settle on it.</p>
<h4 id="plenty-of-other-publishing-holy-grails">Plenty of other publishing holy grails</h4>
<p>“Make the data on Editorial and Production’s publishing planning spreadsheet match.”
“Know what rights we can sell.”
“Know what permissions we’ve cleared for which images.”
<q>Fit people&rsquo;s skills to the tasks at hand.</q>
<q>Run our royalties without making a giant fuss.</q>
Before you think <q>on second thoughts, let&rsquo;s not go to Camelot. It’s a silly place,</q> the way to solve all these problems is the same: an ability to manage data, coupled with a clear philosophy and the drive to enforce compliance throughout the company.</p>
<p>*Other People’s Systems.</p>
Sometimes, size mattershttp://bibliocloud.com/blog/sometimes-size-matters/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>In a barney with Amazon about terms, being massive makes for a fairer fight: if retailers are going to get big, then suppliers have to match them in size if they want to square up. Same with the government: if you want to lobby Whitehall about VAT, employing x-thousand people and paying £y-m taxes buys you an invite to an influential lunch or two.</p>
<p>But in a lot of ways, big businesses are obsolete.</p>
<p>I don’t mean they will fail. I mean that the reasons businesses become big are no longer relevant.</p>
<p>Businesses get big to take advantage of economies of scale. Being big means a company’s operations can specialise into functional silos. Being big means having negotiation leverage. Being big means you can get even bigger, by having the heft to acquire competitors. Being big means people flock to work for you because of a secure paycheck (an illusion, by the way, when your contract says you’re on a couple of months’ notice).</p>
<p>But these places suck the creativity out of people.</p>
<p>Big businesses are not where you look for innovation or fast-paced invention. Try to get a simple app development project signed off in a large company: what would take a small company a morning morphs into a 6-month-long series of vibe-killing process-hoops. If an industry&rsquo;s character is dominated by big businesses, it’s static, frozen, condemned to a glacial rate of change. And this, in a world where technology makes lightning-fast change possible, is a threat to the survival of an industry.</p>
<p>Thankfully, our industry isn’t only composed of big businesses.</p>
<p>At London Book Fair this week, we are seeing what a diverse, interesting, varied marketplace looks like. Lots of companies, lots of points of view, lots of new ideas brought to market in different ways. The more diversity in our industry, the better.</p>
<p>So it’s good news that over the last few years, a multitude of new approaches have sprung up — in forms accessible to publishers of all sizes — which level the playing field of data and process excellence.</p>
<p>POD services have come of age, in terms of quality and price. There&rsquo;s the notion of crowd-sourcing. Cloud-based services abound, making data accessible from anywhere and providing new capabilities in everything from back office organisation to content management. We discussed all these and more at the Digital Minds “Branching Out” session on Monday, headed by Alison Jones, and a walk round the aisles at the Fair confirms that we&rsquo;re firmly into a boom period of new Web services and new business models.</p>
<p>These offerings mean that the problems that businesses have solved in the past by getting big can be tackled in other ways.</p>
<ul>
<li>Need to develop specialist design skills? Tender for a provider on Elance.</li>
<li>Need to manage your finances professionally? Use Freeagent or Xero.</li>
<li>Need to raise capital? Use Crowdcube.</li>
<li>Need a way of managing your marketing to hundreds of thousands of customers? Use HubSpot.</li>
<li>Need a lightning-fast, gorgeous ecommerce Web site? Use Shopify.</li>
<li>Need to manage stock in the US, Australia, India and beyond? Use Shipwire.</li>
<li>Need to build a scattered team of home-workers? Use cloud-based systems ranging from Google Drive to Dropbox.</li>
<li>Need to collect micro-payments from chunked content sales from Facebook and bloggers’ Web sites? Use Valobox.</li>
<li>Need to manage your content workflow in XML? Use Librios.</li>
<li>Need to group together with like-minded folk to exhibit at the London Book Fair? Join IPAC, the Independent Publishing Agency Collective.</li>
<li>Need a cloud-based publishing management solution that doesn’t require you to remortgage? <code>&lt;plug&gt;</code>Use Bibliocloud.<code>&lt;/plug&gt;</code></li>
<li>Integrate all the above? Rely on elegant, simple APIs between applications.</li>
</ul>
<p>Not all the solutions are brand-new-digi-magic, although their ongoing strength lies in their use of technology to manage their members’ data. Aggregators continue to have a role, from trade bodies, such as the PA and the IPG, to wholesalers of stock (Gardners, Bertrams), services (Inpress, Ingram) and data (Nielsen, Bowker). Their services allow smaller companies to group together for the common good: lowering costs, improving data flow, aggregating spend and heft for negotiation leverage.</p>
<p>And yet despite all these ways of operating successfully as a company with just a handful of staff and a shed-load of creativity, there’s still this assumption that companies have to get big. The start-up culture has a lot to answer for: it’s baked-in that the correct order of things is to raise angel, then venture capital; to scale as quickly as possible before you burn through the money.</p>
<p>There’s no vocabulary in the start-up world to describe a tech company which starts small, stays small, doesn’t raise money, doesn’t aim for an IPO or buyout exit.</p>
<p>There’s nothing wrong with a company staying small, staying true to its founding principles, employing a few happy staff, and maintaining a focus on the product.</p>
<p>And despite my grumbling about big business, it’s not actually impossible to be innovative and large.</p>
<p>Take 3M: a company who try to stay small-at-heart by hiving off projects into their own autonomous, small business units. 3M have themselves built the tools they need to remain spry. We can take a lesson from them: as an industry we must build our own innovative infrastructure tools so that they&rsquo;re fit for purpose, so that they answer the correct need and, crucially, so that they belong to us. If the infrastructure is created for us by third-party developers, then it won’t instinctively answer our needs.</p>
<p>Because whilst there has been a large number of new services come to market, there’s still plenty of headroom for tools to be developed that answer real publishing needs. Take APIs, for example. If a publisher signs up to the latest online POD management tool, an online rights marketplace, an ebook aggregator, and an online galley service, and if there are no APIs connecting those services to each other and to existing distributor and publishing management systems, then, rather than improving efficiency, the publisher now has to enter the same data in to more and more forms.</p>
<p>The answer is to develop APIs that link the systems together, allowing them to share data and taking the maintenance load off the publishers — entirely achievable for barely any cost with modern RESTful APIs. But some developers don’t feel the acute pain of a lack of integration between their solutions and their competitors’. There’ll only be the drive to develop the right tools that answer real-world problems if the people feeling the pain write the solutions. And too few publishers know how to code. (Have I mentioned that before?)</p>
<p>Not only that, but it seems every tech start-up following the raise-money-grow-exit model ends up being owned by Google or Amazon or another behemoth in the end.</p>
<p>If we don&rsquo;t develop digital tools ourselves, our own infrastructure will be owned by outsiders.</p>
<p>If we do ever get to that happy state of there being a sufficiently well-architected infrastructure to let companies stay small, prosper, and in turn contribute to a thriving, richly diverse industry, what will there be left for those companies to do? What is the role of a publisher &ndash; small or otherwise? What do we aspire to do that makes us anything other than middle-men? Is our USP that we curate, edit, act as a hub?</p>
<p>I hope that technology will mean we can keep the focus of our work right where it should be: on the writing, and on getting our products in front of people who are interested in them.</p>
<p>We’re on the brink of being able to have a sufficient number of well-integrated, affordable tools to support a boom in innovation and, potentially, new companies, adding diversity to our already rich industry.</p>
<p>How wonderful if technology can help us to add to the diversity and vibrancy of the trade. How wonderful if we can write that technology ourselves, using it to build smaller, happier companies.</p>
<p>Because from happiness comes creativity.</p>
<p><em>Originally written for and published by <a href="http://www.thebookseller.com/futurebook/emma-barnes-london-book-fair-sometimes-size-matters">The FutureBook</a> in April 2015</em></p>
Managing expectationshttp://bibliocloud.com/blog/managing-expectations/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>There are two looming dangers you have to deal with. First, your strategic, infrastructural brilliance won’t matter one bit if your staff’s, suppliers’ and customers’ actions don’t support your plans, and second, the money spent on infrastructural changes may not be recouped for years, if at all—making your projects seem like failures, and potentially stifling any future plans to innovate and improve.</p>
<p>I wrote this article about managing expectations for DBW in August 2015. Read the full article at <a href="http://www.digitalbookworld.com/2015/your-biggest-weapon-managing-expectations/">Digital Book World.</a></p>
<p>Skills development, well-thought-through workflows, decent transactional websites, careful integrations of software using APIs, and thoughtful planning are all valuable strategies. And if you adopt a considered, strategic approach to building a publisher, you increase the likelihood that your company will still be around, relevant and thriving next year, in five years and in 10 years time. But even if you have the most efficient implementation of the right technology—even if you have the best, most elegant, most thought-through strategic plans—it still doesn’t mean that everything’s going to be OK.</p>
<p>There are two looming dangers you have to deal with. First, your strategic, infrastructural brilliance won’t matter one bit if your staff’s, suppliers’ and customers’ actions don’t support your plans, and second, the money spent on infrastructural changes may not be recouped for years, if at all—making your projects seem like failures, and potentially stifling any future plans to innovate and improve.</p>
<p>Let’s take the support you need first. Your own staff, your suppliers (authors, printers, salespeople) and even your customers may be well-intentioned, but they can sometimes hinder rather than help.</p>
<p>For starters, staff can be unproductive for any number of reasons—perhaps they enter the wrong data into your shiny new metadata system, or keep doing things the old way after a process review because it’s easier in the short term. No computer system can rescue you from a broken company.</p>
<p>Suppliers can also let you down. Printers and distributors, experimenting themselves with POD and new ways of managing the supply chain, can trip up, affecting your ability to meet your own goals. And authors can often expect the impossible, or simply be misaligned with your approach.</p>
<p>Finally, customers can just plain old not buy your books. This is, to be honest, more of a point about product-market fit than managing your customers, but it’s true to say that you can’t rely on readers doing what they said (or at least, what you thought they said) they’d do. And you certainly can’t rely on retailers buying your books just because they’re excellent and beautiful—because most books are excellent and beautiful to one degree or another, and bookstore shelves aren’t infinite.</p>
<p>The best approach I’ve come up with to mitigate these effects on your business is to try to manage people’s expectations up front.</p>
<p>Take staffing, for example: if I’m hiring for a role where attention to detail is paramount, I’ll test candidates on these skills before I hire them. And I’ll set up KPIs so that staff are measured on goals designed to support the company’s wider plans. Everyone’s happier when people fit their job naturally and know what’s expected of them.</p>
<p>What about customers? To help manage customers’ expectations, we have to help them understand our books before they buy them. I’ve been guilty of designing covers that were intended primarily to sell the book to the retailer, rather than communicate the story to the reader. It’s kept me in business to date, admittedly, but it conflicts with a desire to help readers choose their next book. Because of this, subscriptions and crowdfunding are exciting new areas to dabble in. They make us explain a lot more up front about our books before they’re produced, and customers can put their money where their mouth is, giving publishers a lot more evidence about demand in good time.</p>
<p>How to make authors happy, though? Authors come in two flavors: those who need to make money from their writing, and those who have a different job that pays the rent. The requirements of each group are wildly different, and it pays for them to explicitly articulate what their expectations are—financial or otherwise—so you can provide a forecast. Before we sign a contract, I explain how we work and give prospective authors a realistic royalty forecast up front. To that end, if you think the nature of the market means they’re only going to make $100 in the first five years, tell them. It may lose you the deal—they may go elsewhere—but I think it’s preferable to be realistic and under-promise than suffer the ire of authors who think you’ve let them down.</p>
<p>Managing people’s expectations can certainly protect against problems that your infrastructure might come up against, but we’re far from done yet.</p>
<p>What’s this about not making money on your infrastructure investments? If you thought that spending $10,000 on a brand new website would quadruple your online sales, you may be in for disappointment. Same goes if you think that spending time and money on a new royalties, production or metadata system is going to immediately increase your profit. Sure, these things are necessary as baseline requirements for a competent operation, but they’re not going to positively transform your fortunes overnight. So enter into these projects with your eyes open on their likely return. Spend thriftily on them and plan for the fact that infrastructural projects, certainly in the short term, are about eliminating costs rather than increasing revenues. Manage your own expectations.</p>
<p>Decent planning, decent tools and decent workflow can remove the overwhelming drudge of publishing operations. But make sure the people you work with support your plans. Managing expectations—your own, and those of others—is the crucial cherry on the cake of a successful strategic plan.</p>
A day in the life of a programmerhttp://bibliocloud.com/blog/a-day-in-the-life-of-a-programmer/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>First published <a href="https://bookmachine.org/2016/11/10/day-life-programmer/#comments">here</a>.</p>
<p><em>Emma Barnes taught herself to code after founding her own independent publisher, Snowbooks. She went on to build Bibliocloud, the next-generation publishing system. Now she’s on a mission to promote tech skills within the publishing industry and beyond. Emma is also on the newly-formed BookMachine Editorial Board.</em></p>
<h1 id="6-50am">6.50am</h1>
<p>Wake up, wonder what day it is and remember – great! It’s the one day this week that I can dedicate to programming. I’m the MD of the indie publisher Snowbooks, and I’m CEO of Bibliocloud, responsible for sales, finance, and customer success, so each day is very different. But I reserve at least one day a week for slipping the needle in and luxuriating in single-minded programming. It so happens that it’s a Saturday, but that’s when the emails stop… <a href="http://www.joelonsoftware.com/articles/fog0000000022.html">context switching</a> is my biggest foe.</p>
<p>8am First coffee, and a read through the opening chapters of the <a href="http://www.sandimetz.com/99bottles">new Sandi Metz book</a> about object-oriented programming in Ruby. It’s great when you find a book that directly addresses the real-world problems you’re facing. I click through to a <a href="http://whyarecomputers.com/3">podcast</a> that she’s on to hear more.</p>
<h1 id="11am-tests">11am: Tests.</h1>
<p>Yesterday I discussed a piece of code that needs some attention with my colleague, Andy. The code is a <a href="https://www.ruby-lang.org/en/documentation/quickstart/2/">method</a> which returns a collection of external URLs that gets displayed in <a href="http://bibliocloud.com/">Bibliocloud</a>. The URLs take you to a book’s Amazon.co.uk page, or Amazon.com page, or Wordery page, or British Library page, and so on — a handy and quick way to check what data is out there in the wild. The method doesn’t have <a href="https://en.wikipedia.org/wiki/Code_coverage">automatic test coverage</a> yet, so I’m going to start by documenting current behaviour. I do this using an <a href="https://en.wikipedia.org/wiki/Integration_testing">integration test</a> which mirrors what a user would do. We use <a href="https://cucumber.io/">Cucumber</a> which gives us a common language between non-technical team members and programmers. I start by creating a new branch of the code based on our master branch, and create a Cucumber feature which literally reads “When I visit the ‘Autodrome’ page in Bibliocloud, and I click on the Amazon.com link, then I should be taken to the ‘Autodrome’ page on Amazon.com”. I then write some code to translate that into <a href="https://github.com/cucumber/cucumber/wiki/Step-Definitions">automatic test steps</a>.</p>
<h1 id="1pm-the-grand-refactor">1pm: The grand <a href="https://en.wikipedia.org/wiki/Code_refactoring">refactor</a>.</h1>
<p>The Sandi Metz book has given me a couple more clues as to how this method could be improved, and I’m trying to hold all the concepts in my head so I can look at the problem squarely. Sandi Metz talks about finding the <a href="https://www.youtube.com/watch?v=8bZh5LMaSmE&amp;feature=youtu.be">right level of abstraction</a>, so I’m trying to think about which objects this problem is actually concerned with. Is it the validity of the ISBN that is key? Or the destinations themselves? Or the structure of the URLs? Some are built using the ISBN10, others with the ISBN13. Will there be a future case where the URL is built using an ISSN, or a DOI, or an ASIN, or an ISTC, or an ISNI, or an ORCiD iD? If a book belongs to a series, can we say that the book has an ISSN? If its authors have ORCiD IDs, can we use those to create external links for the book? What about linking to the client’s own website?</p>
<p>Or is this a case of <a href="https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it">YAGNI</a> (‘you ain’t gonna need it’)? All this matters because I want to put the code in the right place, named properly, so that we can find, and change it easily, later. Maintainability, in a large, active system such as Bibliocloud, is probably the most important thing. I start by working with David to <a href="https://en.wikipedia.org/wiki/Unified_Modeling_Language">sketch out the problem</a> (see the picture), then create a new <a href="http://www.eriktrautman.com/posts/ruby-explained-classes">Ruby class</a> by adding a text file to my <a href="https://git-scm.com/">local code repository</a> called <code>external_links.rb</code>.</p>
<p><img src="../../images/content/images/2016/11/Emma-2.png" alt="Emma 2" /></p>
<h1 id="sketching-out-the-problem">Sketching out the problem</h1>
<p>Like the common language provided by Cucumber, the challenge so far has been approached not with code, but with language, reading, grammar, discussion, and story. I reflect — not for the first time — on how relevant publishers’ skills are for programming.</p>
<h1 id="2pm-lunch">2pm: Lunch</h1>
<p>And back to the other Sandi Metz book I’m reading: <a href="http://www.sandimetz.com/products#product-poodr">Practical Object-Oriented Design in Ruby</a>. There’s a good bit on page 93 where she talks about <a href="https://en.wikipedia.org/wiki/Duck_typing">duck typing</a>, which I wonder might be relevant. The idea about duck typing is that “if it looks like a duck and quacks like a duck, it’s a duck”. So my ExternalLinks class doesn’t need to actually be handed an actual book object in order to build the URL. It only expects to be able to get an answer when it asks “what’s your ISBN?” (even if it’s “nope, I don’t have one”). I could similarly give ExternalLinks a display spinner, or a CD, or a cassette audiobook: just so long as it can say what its ISBN is. I’m going to use this idea to write ExternalLinks so that it’s not tightly coupled to the Book class itself – though I’m a bit worried that this is another case of YAGNI. I commit this code to my local branch, glad that I’ve named it “spike/external<em>url</em>refactor” so that I can discuss this approach with my colleagues before considering it for a merge into our production system.</p>
<h1 id="3pm-iteration">3pm: Iteration.</h1>
<p>I run the test that was passing earlier and it fails. Huh. I abandon the integration test and start <a href="https://www.railstutorial.org/book/static_pages#sec-getting_started_with_testing">unit testing</a> at a deeper level of the code. I realise that there’s a requirement I hadn’t understood: some of the destinations are dependent on format, as well as ISBN type. Writing the tests illuminate some of the nuances of the domain and I jump between revising the tests and revising the code (avoiding doing both at the same time which is a recipe for misery).</p>
<h1 id="4pm">4pm</h1>
<p>Leave to pick up my son, as I do every day of the week. Programming allows for flexible hours. It’s the sort of job that benefits from a bit of percolation, and fitting it around family makes me happy that I can experience life and motherhood as it happens, rather than only working hard for some imaginary future.</p>
<h1 id="8pm">8pm</h1>
<p>Share today’s programming.
Bedtime is done, and I look at the code again, but I think I’ve got as far as my brain will take me today, so I push the code to a branch on <a href="http://bitbucket.org/">Bitbucket</a>, our remote code repository, and raise a <a href="https://www.atlassian.com/git/tutorials/making-a-pull-request/">pull request</a> with my colleagues. I’ll look forward to discussing this approach with them on Monday and seeing if they notice any glaring or subtle errors, and suggest better ways to structure the code. [Postscript from the future: on Monday, we found no errors as such, but we improved the test suite and I got a lot of clarity about separation of concerns from my <a href="https://en.wikipedia.org/wiki/Code_review">code review</a> with Andy.]</p>
<h1 id="10pm">10pm</h1>
<p>Bit more of that Sandi Metz book. It really is very moreish.
<img src="../../images/content/images/2016/11/Emma-1.jpg" alt="Emma 1" />
Practical Object Oriented Design in Ruby by Sandi Metz 978-0-321-72133-4</p>
Mechanical sympathyhttp://bibliocloud.com/blog/mechanical-sympathy/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Mechanical sympathy is the ability to have an awareness of and empathy for how a machine works, as well as the capacity to adjust your engagement with that machine to help it perform optimally. If you have some mechanical sympathy for data and spreadsheets, you’ll likely get a lot more mileage out of them than if you expect to be able to squirt any old nonsense into them.</p>
<p>I wrote this article about mechanical sympathy for DBW in October 2015, republished here after DBW&rsquo;s sale.</p>
<hr>
<p>The way I drive, sometimes, you wouldn’t think I believe in mechanical sympathy. But I can assure you I do. Mechanical sympathy is the ability to have an awareness of and empathy for how a machine works, as well as the capacity to adjust your engagement with that machine to help it perform optimally.</p>
<p>If you have some mechanical sympathy for data and spreadsheets, you’ll likely get a lot more mileage out of them than if you expect to be able to squirt any old nonsense into them.</p>
<p>Take rights data, for instance. The Frankfurt Book Fair, and the other book fairs throughout the calendar, are occasions when the technical debt of rights teams around the world comes back to bite them. Gathering together current and accurate information about which rights you hold, which have been exercised, which expire when, which frontlist titles’ rights are contracted and so on, can be a mammoth task and can weeks of preparation.</p>
<p>Would it upset you to know that I produce my rights guide the night before Frankfurt, by clicking a single button? There are a number of steps to get to this happy state of having unambiguous rights information in one place, synchronized with editorial’s and legal’s data, and you don’t need one particular system to do it. But you do need mechanical empathy and a rigorous business workflow in place to enforce it.</p>
<p>The key is to store data in a way that computers can understand. If you do this, it means that you can query your data programmatically, and that computers will be able to ingest it properly. That gives you a lot of flexibility around which system you use to manage your data, now and in the future. And if computers can understand it, it’s actually more likely that humans can understand it, too. Computers hate ambiguity.</p>
<p>Take these two examples of how to store data. Which do you think can easily be imported into a database, an InDesign template or a new publishing system?</p>
<p><img src="../../images/content/images/2017/11/1.png" alt="1" /></p>
<p><img src="../../images/content/images/2017/11/2.png" alt="2" /></p>
<p>The first spreadsheet has no end of technical debt being stored up:</p>
<ul>
<li><strong>No validation of the title.</strong> There’s nothing to stop someone typing in numerous variations of the same data: “Brave New World,” “Brave new world,” “ Brave New World” with a leading space. Use filtered drop-downs to ensure there’s only one valid version of each title. Relational database management systems do this through associations between tables; you can do it in a spreadsheet by setting up list validations.</li>
<li><strong>More than one sort of data in a cell.</strong> By putting “France” and “Spain” in the same cell, it’s hard to associate other data properly—which is why the next column has to go on two rows.</li>
<li><strong>Imprecise categorisations.</strong> When we say “Rights sold,” do we mean the language, the script, the territory or what? France is a territory, German is a language, Simplified Chinese is a combination of a language and a script.</li>
<li><strong>Conflicting types of data in the same column.</strong> The Advance column mixes up currency amounts, descriptions of payment terms and payment statuses. How could a computer figure out what the advance amount was, the currency, or the payment date, from the string “Paid?”</li>
<li><strong>Inconsistent ways of formatting data.</strong> The last column presents date information three different ways.</li>
<li><strong>Multiple possible values for one piece of data.</strong> If you’re going to have one line per rights sale of a title, you might be tempted to have a column showing which rights you own. But that would mean putting, say, “World” on multiple lines. If one of those lines says “Commonwealth” and the rest say “World,” which one are you going to use as the right answer?</li>
</ul>
<p>Using colour-coding, indentations and font sizes in spreadsheets to communicate categorisations of data are more ways that make it very difficult for a computer to figure out what’s true. The reality, however, is that, while you might feel that this is “your” spreadsheet, it’s really not. The data belongs to your company, and you are obliged to store it in such a way that other people and other systems can understand it.</p>
<p>Store your data properly, and you’ll be able to get the most out of whatever systems you want to use. Then you can spend your time preparing for the substance of meetings at the book fairs instead of burning the midnight oil hand-writing a rights guide that’ll be out of date before you’ve even finished.</p>
A non-technical, beginners’ guide to ONIX for Bookshttp://bibliocloud.com/blog/a-non-technical-beginners-guide-to-onix-for-books/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<h4 id="about-xml">About XML</h4>
<p>XML is one of those boring ideas that can make business run more smoothly, like ISBN numbers or barcodes. Really it’s just some general rules for how to write down information so that computers as well as people can read it – mainly computers, though. It’s not even a full set of rules; it’s just enough to help people make a start on designing their own formats for sharing information.</p>
<p>So, in publishing, people have taken the XML rules and added some extra, book-specific ones until they came up with a standardised way for describing new titles – or old ones, for that matter. The standardisation makes it easy for the whole industry to share information. Publishers can tell all the book stores, book clubs, library services and industry databases about a new title by sending them all a copy of the same XML file. In other sectors, XML is being used as the starting point for storing a multitude of different types of information. There are XML standards for creating an invoice or describing a gene – or (to return to publishing) to store the contents of an e-book in a standardised way.</p>
<h4 id="the-guts-of-xml-made-palatable-for-non-techies">The guts of XML (made palatable for non-techies)</h4>
<p>The first thing to learn about XML is good news: it’s written in English. Or rather it’s written using ordinary words, with a few squiggles added, and not in some sort of computer hieroglyphics.</p>
<p>So, imagine you’re sending out details of a new book you’re publishing. Naturally you want everyone to add its details to their stock systems so they can easily order it. Let’s start with the title, The Life and Times of Ned Lud. A human being can take a guess that it’s a book title, but in XML you always label information to make it clear. So we might write this:</p>
<div class="highlight"><pre class="highlight xml"><code>
<span class="nt">&lt;TitleText&gt;</span>The Life and Times of Ned Lud<span class="nt">&lt;/TitleText&gt;</span>
</code></pre></div>
<p>It’s like that maxim for lecturing: tell people what you’re going to say, then say it, then tell them what you just said. So that line above says: Here comes something called TitleText, ‘The Life and Times of Ned Lud’, that’s the end of the TitleText. When you put ‘/’ in front of a label you’re marking the end of something.</p>
<p>Of course you can make up your own names for information. You could choose <NameOfBook> or <FieldDD6_Alpha_Gobbledygook>, but it just so happens that <TitleText> is the name that’s been agreed on by largish group of book publishers as part of the ONIX standard. The bit in the angle brackets is called a ‘tag’. It’s fairly easy to see why; you ‘tag’ information to say what it means.</p>
<p>For instance, if all you have is the piece of text ‘Winston Churchill’, it’s difficult to tell whether that’s a book about him or a book written by him – both are plausible. So everything gets tagged for clarity’s sake. Take a look at this:</p>
<div class="highlight"><pre class="highlight xml"><code>
<span class="nt">&lt;Author&gt;</span>Katie Daynes<span class="nt">&lt;/Author&gt;</span>
<span class="nt">&lt;TitleText&gt;</span>Winston Churchill<span class="nt">&lt;/TitleText&gt;</span>
<span class="nt">&lt;ISBN&gt;</span>074606814X<span class="nt">&lt;/ISBN&gt;</span>
<span class="nt">&lt;Publisher&gt;</span>Usborne Publishing Ltd<span class="nt">&lt;/Publisher&gt;</span>
</code></pre></div>
<p>Hopefully it’s pretty obvious what that all means. Each ‘tag’ has a start and an end and the bit in the middle is the information you want to share – also known as the ‘contents’ of the tag. A computer can easily read it and so can a person (with a little effort). Unfortunately for us, information about books gets complicated and so the XML used to store it has to get complicated too.</p>
<p>For instance, what do we do if there’s more than one author? Or if there’s no author, just an editor and some contributors? And what about all the other pieces of information we might want to share, like publication date, price and distributor details? The people who wrote ONIX came up with something that allows you store a vast amount of information about a title in a structured way.</p>
<p>One feature of XML the ONIX designers made use of was the idea of putting one tag inside another. I want to show you what that looks like, but real ONIX documents are a bit difficult to read, so this next example is just a made-up one; it doesn’t follow the ONIX standard. But on the plus side, it’s actually possible for a human to understand it.</p>
<div class="highlight"><pre class="highlight xml"><code> <span class="nt">&lt;Book&gt;</span>
<span class="nt">&lt;Title&gt;</span>
<span class="nt">&lt;MainTitle&gt;</span>The Life and Times of Ned Lud<span class="nt">&lt;/MainTitle&gt;</span>
<span class="nt">&lt;SubTitle&gt;</span>Backward Looking Visionary<span class="nt">&lt;/SubTitle&gt;</span>
<span class="nt">&lt;/Title&gt;</span>
<span class="nt">&lt;Author&gt;</span>
<span class="nt">&lt;FirstName&gt;</span>Emma<span class="nt">&lt;/FirstName&gt;</span>
<span class="nt">&lt;Surname&gt;</span>Barnes<span class="nt">&lt;/Surname&gt;</span>
<span class="nt">&lt;/Author&gt;</span>
<span class="nt">&lt;Illustrator&gt;</span>
<span class="nt">&lt;FirstName&gt;</span>Rob<span class="nt">&lt;/FirstName&gt;</span>
<span class="nt">&lt;Surname&gt;</span>Jones<span class="nt">&lt;/Surname&gt;</span>
<span class="nt">&lt;/Illustrator&gt;</span>
<span class="nt">&lt;/Book&gt;</span>
</code></pre></div>
<p>So in this made-up example, if a <code>&lt;Surname&gt;</code> tag is inside an <code>&lt;Author&gt;</code> tag, then it’s the name of an Author; if it’s inside an <code>&lt;Illustrator&gt;</code> tag, then it’s the name of an illustrator.</p>
<p>Ok. So there’s lots more you could learn about XML, but that’s enough so you can join in fun dinner party conversations on the subject and look techies in the eye without flinching. Let’s get back to the real world of publishing.</p>
<h4 id="the-onix-standard">The ONIX Standard</h4>
<p>If you want an easy way to tell Nielsen or Amazon or Waterstones about a new book, you can put all the relevant info in an ONIX message and e-mail or FTP it to them. In case you’re interested, the British contributors to the ONIX standard were the BIC, made up of the Library Association, The British Library, The Booksellers Association and The Publishers Association, so it’s got some weight behind it.</p>
<p>It’s a gigantic and complicated standard because it needs to be able to hold gigantic and complicated amounts of information for each title. For instance, it gives you tags for listing the back cover quotes on your book, and giving the names of each quote contributor and the organisations they work for. It lets you include details of discounts and promotions by date and region. It holds information on formats and rights and physical dimensions – and even what units the measurements are being given in.</p>
<p>Unfortunately for anyone who wants to open an ONIX message and actually read the contents, the standard also makes use of numbers where a name would have been easier to read. For instance, if you want to know whether a book has been published yet you could look at the tag. Here’s one:</p>
<div class="highlight"><pre class="highlight xml"><code>
<span class="nt">&lt;PublishingStatus&gt;</span>04<span class="nt">&lt;/PublishingStatus&gt;</span>
</code></pre></div>
<p>But what does ‘04’ mean? Well, if you hunt down a copy of the ONIX documentation you’ll find a list called List 64: Publishing status, with entries such as:</p>
<div class="highlight"><pre class="highlight xml"><code> 04: Active. The product was published, and is still active in the sense that the publisher will accept orders for it, though it may or may not be immediately available, for which see <span class="nt">&lt;SupplyDetail&gt;</span>.
</code></pre></div>
<p>and</p>
<div class="highlight"><pre class="highlight xml"><code>
05: No longer our product. Ownership of the product has been transferred to another publisher (with details of acquiring publisher if possible in PR.19).
</code></pre></div>
<p>And many more. There are over 150 of these lists explaining what the various different numbers and codes mean, so while humans can get the gist of what’s in an ONIX message, the details are often hard to follow. The ONIX people could have chosen to use the words ‘Active’ and ‘No longer our product’ instead of the numbers ‘04’ and ‘05’, but they probably took the view that machines, rather than people, would be reading these messages and numbers were more concise.</p>
<h4 id="how-can-i-use-onix">How can I use ONIX?</h4>
<p>Having established that ONIX messages are swines to read – unless you’re a machine – the obvious thing to do is enlist the help of a machine whenever you want to work with ONIX.</p>
<p>Bibliocloud, and any publishing management system worth its salt, makes up ONIX messages. Instead of us looking up what all the tags and numbers mean, the software does that. The system gives you helpful forms to fill out; they list the available options in words. Then, behind the scenes, the program inserts the relevant code on your behalf. So if you choose ‘Paperback’ from the drop-down list, the program puts the code ‘BC’ into your ONIX message, saving you the bother of looking it up. (If we actually had to write ONIX messages by hand, we probably wouldn’t bother.)</p>
<p>You send your ONIX files to anyone you like: Nielsen, Bowker, Amazon and so on. You can also download it if you want to import it into other programs such as InDesign to make your catalogues or AIs. This is nothing new: <a href="https://www.youtube.com/watch?v=DMdc2psf01Y">check out out a seven-year old video of mine here</a>.</p>
<p>But most publishers still aren’t harnessing the power of structured data, whether that’s ONIX, another sort of XML or JSON (which is like XML, but more concise). If you did your last catalogue by hand, and survived the ordeal, you should really find out more about what computers can do for you and save yourself (and your company) from death-by-copy-and-pasting.</p>
Rejuvenationhttp://bibliocloud.com/blog/rejuvenation/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>So I’m just back from a glorious holiday up in Scotland with the boys. We piled onto the Caledonian Sleeper and spent sunny days on deserted beaches and up mountains, with blue skies and long lunches. It was glorious and for a few days, away from long days at a laptop, my spine straightened, I got some vitamin D and my brain got a bit of a rest.</p>
<p>And my word, things looked different when I got back. Clearer-headed and brighter, I saw immediately how to solve a code problem that had been baffling me for a few weeks. I saw what that tricky jacket design needed. I bashed out a UI refresh of Bibliocloud — a few CSS changes which meant the difference between a slightly stodgy, busy interface and a calming, clean, uncluttered one. I bounced into client meetings full of renewed excitement about our projects.</p>
<p>It’s the classic thing about needing a break to rejuvenate the mind. So, just in time for your return from your summer holidays, here’s my hit-list of things to think about and do whilst you’ve got nice, fresh eyes.</p>
<h1 id="1-consider-your-goals">1. Consider your goals</h1>
<p>With your fresh-from-holiday brains, reflect on the bigger picture. The look of fascinated horror on the faces of the kids when they ask which year I was born in will only get worse as time goes by. It’s now acutely important to consider how many years I have left and what I want to do with them. Am I who I want to be? Do I like my job? Do I like the people I spend time with? What do I want to achieve before I die? Because if I don’t make sure I like the answers to these questions now, then I’m going to start running out of time. I’ll be dead by 2070, tops. Most likely I’ve got 35-ish years left. I’d better crack on.</p>
<h1 id="2-consider-your-job">2. Consider your job</h1>
<p>When I was a buyer at B&amp;Q I went to the doctor with the classic signs of stress. Shortness of breath, constant headaches, exhaustion. The GP didn’t prescribe me a magic pill. She said “Well, just get a different job.” At the time I was furious. Leaving that job was impossible — it was my dream job, everything I’d worked towards! Looking back, I agree entirely with her. The best solution to a problem is to solve the root cause. And it was an awful job, anyway, which I only realised once I’d resigned. You need a bit of space to see a bad job for what it is.</p>
<h1 id="3-assess-your-company-s-goals">3. Assess your company’s goals</h1>
<p>The same big questions can be asked of your business. It makes me roll my eyes when I see Twitter bios which say “all views are my own and not those of [my employer]”. Businesses <em>are</em> people. Of course your views are those of the place you work — and if they’re not, you’re in a job where you have to wear a mask all day and, mate, that’s tiring.</p>
<p>So ask yourself: are we happy producing the books that we do? In the way that we do? Are we happy with the sorts of authors we work with? Our customers? Do we wish things were easier? Faster? Or slower? There are no right answers: the main trick is to decide what “happiness” means to your company. Meeting budget? Being on time? Making other people — authors, customers — happy? Giving back to the community? Beating the competition? Being proud of your contribution to the sum total of human knowledge?</p>
<p>This sort of analysis can be hard to do from a middle-ranking position in the company. If you don’t like the answers, it’s difficult to bring about change. There are a couple of solutions to this. Learn how to influence the people you work with to move the company’s operations to match your desires, or find somewhere else to work. That may seem impossible — you’ve got your dream job, right? Please see point 2, above.</p>
<h1 id="4-assess-your-company-s-workflow">4. Assess your company’s workflow</h1>
<p>With a bit of distance, coming back to a clearly dysfunctional workflow makes you even more impatient for change. If you can see that there’s redundancy, overlap, and a misalignment of responsibility, authority and capability, now’s the time to plan out how to change things.</p>
<p>I run a very productive one-day workflow workshop for our clients. In the morning we map out the existing processes of the company. We detail all the meetings, all the spreadsheets, all the places where the same data is maintained (or not), all the tasks that everyone does to get a book to market. By lunchtime, it’s immediately apparent where the overlaps and redundancies are. And so in the afternoons, full of optimism and thrills that we might actually be able to improve things, we map out how we want to work: who should do what, and when, and what the canonical source of data should be for each step of the process. Getting your workflow right is far more important than getting the right computer system. And you can fix it yourselves without expensive external consultants, for the price of a day away from the desk, some Post-Its and a marker pen.</p>
<h1 id="5-do-long-form-writing">5. Do long-form writing</h1>
<p>Sometimes, when I’m working on Snowbooks things, I curse Bibliocloud, because it only leaves the difficult work. I occasionally crave a quiet day doing mindless data entry — because writing and thinking is jolly hard. Use your holiday-fresh brain to do the difficult writing tasks that require the most clarity of thought. Prize entries, grant applications, strategic proposals, marketing plans, press releases, business plans — give me an 18-hour day writing code over these tasks, any day. I find writing excruciatingly difficult (quiet there, at the back), and I need a fresh brain to do it.</p>
<h1 id="6-learn-to-code">6. Learn to code</h1>
<p>Because if you can’t resolve to learn how to use the tools of your trade when you’re refreshed and feeling rejuvenated, when is it ever going to happen? Seven years and counting, chaps. That’s when the kids who’ve learnt to code at school will start to graduate. So I’ll see you at our September Try Programming for Publishers course, right?</p>
<p>Don’t waste the feeling of rejuvenation and freshness that the summer break provides on catching up with your emails. Make the next four months until the Christmas break count. Use them to make sure that, this time next year, things have improved. Because it&rsquo;s urgent now: you&rsquo;ve only got a few decades left.</p>
<p>Originally written for and published by <a href="http://www.thebookseller.com/futurebook/emma-barnes-rejuvenation-309331">The FutureBook</a>, August 2015</p>
To go direct, publishers must mean businesshttp://bibliocloud.com/blog/to-go-direct-publishers-must-mean-business/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>The arithmetic of publishing is fairly straightforward: Sell plenty of books at as high a margin as you can manage, and don’t spend all that margin on overheads.</p>
<p>To make that sum work, there are a number of levers a business can pull in order to improve its fortunes. You can increase the retail price to the point at which demand drops off. You can pay less for your stock by negotiating with suppliers. You can pay your authors less. You can provide a lower discount to your customers.</p>
<p>But back in the real world, Amazon isn’t going to bat an eyelid if you attempt to negotiate their discount down. Readers aren’t going to pay $30 for a debut novel in paperback. Printers aren’t going to charge less than their paper costs. Authors are going to revolt if you cut their royalties. While in theory you can tinker with the parameters of your business, more often than not, you’ll find yourself constrained by the habits of the industry.</p>
<p>So what can publishers do to make a difference to their titles’ performance? If the norms of the contemporary publishing model constrain you, then don’t work within the constraints. Approach things from a different angle.</p>
<p>One area where publishers blindly follow the blind is in their websites. Biztegra’s Murray Izenwasser has written recently about how crucial it is for publishers to develop a web presence for fostering strong relationships with readers. He’s absolutely right. But while that customer connection is indeed essential, it’s still a means to the ultimate goal of direct-to-consumer retail—which is retail.</p>
<p>It seems that as an industry we’ve given up on trying to make money through our own websites. �?Everyone just goes to Amazon, right?’ Well, Amazon doesn’t just sell books. They sell watches, clothes, garden tools, luggage, movies and bikes. Other industries have had to face down Amazon, not just book publishers—and they’re succeeding, building online stores that do a decent job of both cultivating a brand identity and making money. Check out this map-maker, toy seller, wristwatch seller and fake tattoo seller—all commercially successful, all selling high volumes of product without giving 55% of the price away.</p>
<p>The point is that publishers must think boldly and move beyond half-measures if they are to remain agile and profitable in the digital marketplace.</p>
<p>You are being defeatist if you think your website is just about building your brand—even though it’s certainly about that, too. It’s also your most effective, most controllable, least costly means of selling books at a dramatically higher margin than you can ever hope to achieve through online resellers and bricks-and-mortar retailers.</p>
<p>You are being inefficient if you commission a custom-built site for thousands of dollars, with exactly the same functionality as every other publisher who also felt they needed a hand-crafted solution.</p>
<p>You are wasting money if you hand over 20% of every sale to a third-party plugin because you think delivering digital content is just too difficult in the year 2015.</p>
<p>You are deluding yourself if you blame the merciless merchant class and their exorbitant discounts and returns for stopping you from making any money.</p>
<p>What you can do instead is find some new performance-enhancing levers to pull on. Consider these three facts of the e-commerce landscape:</p>
<p>There are infrastructure tools that exist today allowing you to configure a profitable, automated, online offering for a fraction of the cost of what you had to pay just three or four years ago. After doing our own independent research here at Bibliocloud, we recommend the Canadian e-commerce platform Shopify, though there are many others out there.
People shop all the time on the Internet, and you can channel them toward your own site. For its own part, Shopify found that “while organic and paid search still dominates, orders coming from social media grew 202% over 2014. Social media has become an effective way to bring in sales.” There are also platforms—Valobox is one—dedicated to monetizing social media interactions.
Plenty of people shop on Amazon, but they shop in many other places, too. Shopify reports that sales through its own stores alone were $3.7 billion, up from $1.6 billion last year, in 150 countries.
When you’re planning the sort of online offering focused foremost on making money, rather than on the important yet softer objective of building a brand, you don’t start with the design. That’s like buying a nice, shiny set of hub caps, then looking around for a car to go with them. Instead, you start with the flow of data. How is your title data going to get from your title management system into your website?</p>
<p>The other practical issues come next. How are orders going to be taken and fulfilled? How will your website know whether the product is in stock? How will you execute your pricing strategy across all the different places you plan to sell books? How will you manage customer accounts and provide support? How will you upsell your interested customers or recover their abandoned baskets? How will you make your own website the richest, most up-to-date, interesting way for readers to enjoy your product data on the web?</p>
<p>Asking these sorts of questions leads you to appreciate the growing array of services that can provide affordable, effective answers to them. We’ve gone to great pains to integrate our title management software, Bibliocloud, with Shopify’s platform because we can see the writing on the wall. Publishers that assume Amazon has won their customers for good will be proved absolutely right.</p>
Decisions, decisionshttp://bibliocloud.com/blog/decisions-decisions/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Making decisions in an information vacuum is a publishing speciality.</p>
<p>Every time we acquire a book, we have to weigh up any number of factors: some predictable, some entirely made up. Often it comes down to what I’ll euphemistically call “passion”: he or she who shouts loudest, wins, because editorial decisions, no matter how analytical the approach, always come down to something of a leap of faith. (If they weren’t, every book would be a bestseller.)</p>
<p>But our familiarity with making such leaps for subjective decisions means we don’t get much practice at making other decisions more rigorously.</p>
<p>Choosing a new platform for your B2C Web site, for example. You know what it should do, and how it should look, but you don’t know which platform to choose. It’s a decision that will have far-reaching, long-lasting effects on your company. So it’s worth trying to adopt the most rigorous, least risky approach to decision-making.</p>
<p>The first thing to do is to ditch the hubris. No-one knows everything about everything. Accept that you are not an expert at specifying a Web site. Your plan should involve asking for help and accepting that your gut feeling on subjects you know little about is probably wrong. Your brief should include an information-gathering aspect, tapping in-house expertise, and also that of external contacts who can share their insight. Ask people who’ve done this all before a hundred times to help you — and then trust them, unlike the managers in this short, fly-on-the-wall comedy sketch. (I’ve been in meetings like that a horrible number of times).</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/BKorP55Aqvg" frameborder="0" allowfullscreen></iframe>
<p><em>Above video: <q>The Expert,</q> written &amp; Directed by Lauris Beinerts, based on a short story, <q>The Meeting,</q> by Alexey Berezin.</em></p>
<p>One approach to information-gathering is to learn a bit about the field, yourself.</p>
<p>It’s like if you’re planning to go on holiday to France. You want to know enough French to get from the airport to your hotel, and to enquire about the regional cheeses. Enough to have good manners, and to show some interest in what people are saying. Same with technology. A month’s interested evening reading will get you to the <q>able to ask sensible questions</q> stage. If your interest is piqued, and you want to know more, there is no shortage of crash courses on programming — in fact, I run one periodically, tailored just for publishers — and the Internet is awash with information.</p>
<p>If you’re the person who signs the cheques, the happy side-effect is that you&rsquo;ll know enough to sensibly, knowingly challenge your team to build new, interesting things that will add to your bottom line. You&rsquo;ll adjust your recruitment strategy to attract technologically-competent people to your team. Your strategic planning will improve when you know what&rsquo;s possible, what&rsquo;s easy and what&rsquo;s not. It&rsquo;ll be easier for you to sign-off — or not — on your IT project implementation planning. If you don&rsquo;t know anything about code, you don&rsquo;t know what you don&rsquo;t know, and that&rsquo;s dangerous.</p>
<p>If you are a technical expert and need to convince the hierarchy to sign the cheque for the platform of your choice, there’s one rule: don’t use jargon. If you’re lucky enough to have a boss who will listen to and act upon your opinion, it’s incumbent on you to find a way to translate your technical understanding into what it means for the business. You’re the French fromagier in my increasingly tortured French holiday analogy. Use simple, familiar words with the plucky tourist who’s trying his best in pidgin French, and maybe you’ll be able to sell him some of your unpasteurised Camembert. (Ideally, he’ll just hold out cupped palms full of coins and note that he doesn’t understand, and you’ll pick out the ones you want.)</p>
<p>If you know that WordPress is a mess under the hood, explain about the cost, time and business-risk implications of maintaining and extending horrible code, rather than trying to get your boss to care about how awful it is to have SQL embedded at the view layer, and that code should be ordered according to the MVC principle. You might be better at communicating in writing rather than face-to-face. A good boss, keen on reaching the right decision for the good of the company, will understand that and read your recommendations, rather than insist that you pitch your opinion in front of everyone.</p>
<p>Whether you take the blue “learning the technology” pill, or the red “trusting your experts” pill, you should always use a decision-making framework: a tool to help you take the emotion and confusion out of complex decisions.</p>
<p>Something like the Kepner-Trego matrix (see below) helps you to figure out what business objectives you’re trying to achieve, and which option is going to help you the most. You write down the things you must have, and the things you want. You might want to be able to integrate with your title management system, meet your functional spec, and to avoid buying a physical server.</p>
<p>Then you score your desires, giving them a weighting out of 100. Integration with your title management system would be very nice, so it gets a 20. Getting up and running quickly would be handy but it’s not the end of the world: it gets a 10. Costing no more than £3k is a must. Then you score your options against your desires, rejecting any which don’t achieve your <q>musts.</q> Multiply the scores by the weighting and you get a score for each of your options. It&rsquo;s amazing how this approach helps to cut through the confusion of a complex decision to achieve clarity of thought.</p>
<p>Here’s an example.</p>
<p><img src="../../images/content/images/2015/11/for-Emma-Barnes-FutureBook-piece-of-25th-March.png" alt="For emma barnes futurebook piece of 25th march" /></p>
<p>To help create your Kepner-Trego matrix, you should keep asking the question, “What problem does this solve?&ldquo; For a B2C Web site decision, is your problem Amazon’s market share of your online sales? Or that there’s nowhere on the Internet for people to see all the photos from your books? Is it that your authors aren’t proud of you and won’t refer their contacts to your Web site? Or do you have no way for readers to join your mailing list? You need to articulate your problems if you’ve got a hope of finding a solution.</p>
<p>How much should you spend? When it comes to knowing how much money is reasonable for any technology project, you should consider the uniqueness of your requirements, and the complexity of the required functionality. The problem of selling books on a Web site is fairly complex, but it has been solved tens of thousands of times over: you shouldn’t pay someone to reinvent the wheel. Build on the shoulders of giants.</p>
<p>Conversely, Foyles’ recently-commissioned app, which allowed shoppers to search inside the real-life store, is a fairly simple piece of programming, but it’s unique and new. And it should cost more. Doing something for the first time costs money, not necessarily in hammering out lines of code, but in paying for the spark of invention.</p>
<p>When any decision needs to be made, keep asking, “What’s the problem?&rdquo; until you get to the nub of things.</p>
<p>Make decisions knowingly. Then you’ll be sure that you’re getting a solution, not another problem.</p>
The real price of a strategy shifthttp://bibliocloud.com/blog/the-real-price-of-a-strategy-shift/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Whatever your strategy, you need to pay a “strategy tax.”</p>
<p>I wrote this article about the cost of strategic shifts for DBW in March 2015. Read the full article at <a href="http://www.digitalbookworld.com/2015/the-real-price-of-a-strategy-shift/">Digital Book World</a>.</p>
<p>Whatever your strategy, you need to pay a “strategy tax.”</p>
<p>That’s the name I give to the cost you’ll end up paying to support your business strategy.</p>
<p>Take Amazon. It has a hands-off strategy. Amazon doesn’t want to pay staff to answer phones; it wants publishers to be self-service. We don’t phone them or meet with them to discuss new titles or promotional proposals. Instead, we log on to Vendor Central or upload our ONIX feeds and ebooks via FTP.</p>
<p>We don’t negotiate with Amazon, either; we either click to accept terms or we don’t deal with them at all. And in return for publishers going along with this approach, Amazon has created tools for us to interact with them programmatically, remotely, automatically, efficiently.</p>
<p>Amazon’s “strategy tax”? Building and maintaining a decent, automated technical infrastructure that gives publishers the IT tools to distribute their titles to Amazon customers.</p>
<p>Like all forms of overhead, every company aims to keep its strategy tax as low as possible, and sometimes it shows. Most publishers have spent frustrated hours trying to get hold of a real person to ask why an EPUB file is stuck at “In Progress” on PublishToKindle with no error message. It recently took me four weeks to get a Vendor Central support call answered, and the issue still isn’t resolved. And the problems aren’t confined to suppliers; from a customer’s point of view, some of Amazon’s product recommendations are frankly bizarre.</p>
<p>A strategy tax left unpaid the first time around gets collected soon enough. The cost of not building a decent set of tools means more support tickets, more complaints, more perplexed customers—more knock-on costs throughout the business.</p>
<p>None of this is just to take a gratuitous jab at Amazon. It points up a real challenge for publishers and retailers of all sizes seeking to operate at scale in the digital marketplace. Keeping the requisite systems and programs functioning at the levels needed to do so is often an expensive, unending, organizationally challenging job.</p>
<p>But more than just the cost of doing business, paying enough strategy tax serves as a sort of social contract between companies: We’ll agree to do business your way, Amazon, if you provide us with the infrastructure to make it work.</p>
<p>At the other end of the spectrum, imagine a little independent bookshop. It prides itself on personal service. When you go in, a knowledgeable person is there to make thoughtful recommendations, and they answer emails and online queries with the same personal touch. The store gift-wraps books ordered from its website and encloses a handwritten note of thanks. The strategy tax for this business is to pay for a sufficient, high-caliber staff, make good on its promises to customers and take the margin hit on higher-quality packaging and first-class shipping.</p>
<p>Since strategy tax, in other words, is the toll a business must pay in order to set the terms of commerce, it also lays the foundation for a company’s brand identity—plus its brand integrity. Once your brand starts to make promises, you’ve committed to an unspoken contract with the people you interact with, whether they’re suppliers or customers. Sure, you can renege on this agreement. But it won’t do your brand any good.</p>
<p>If you’re thinking of changing your strategic direction, consider the strategy tax of your new approach. If you’re a retailer and your current method is to pile it high and sell it cheap—the discount model—but you have aspirations to turn your brand into more of a high-value proposition, then you’ll have to figure out how to fund the necessary changes.</p>
<p>It’s not just about paying to develop new branding. It’s not even about affording a new storefront, whether virtual or physical. The real costs are in lost sales and lost customers as you move from selling the low-cost, high-margin stock that you’re known for to the high-cost, low-margin range that you’ll have to introduce from scratch to a whole new customer base. And you’ll have to cover the additional staffing, training, service provisions and all the associated costs of making good on your new strategic promises.</p>
<p>If you change your strategic direction, you have to change the entire underpinnings of your business. Think of your business as an iceberg. The bit that pokes out the top, which everyone sees, is tiny compared to the vast infrastructure beneath. You can’t move the peak without a very good plan for shifting the underwater bulk it rests upon.</p>
<p>As publishers look more closely at selling books direct from their websites, all these strategy-tax–related decisions pile up, and they can be daunting.</p>
<p>You will already be considering the costs of building the website in the first place, the costs of transaction charges from credit card companies and the costs of shipping and delivery. But there’s also customer service. Will you need to provide a tracking service? Will you store customers’ account information and if so, what about the costs of properly maintaining personal data in line with legislation? Will you have to invest in writing copy to cement your position as the leader in your genre? Will your authors support you in that, and can you pay them for their work? And so on.</p>
<p>Amazon is powerful enough to be more or less inured to the effects of any problems its partners or customers experience as a result of its strategy tax deficit. Few companies are equally resilient, but few companies have so great a share of the weight of their industries on their own shoulders.</p>
<p>That means publishers planning strategic shifts can do so with the effects scrutinized under a less public glare. It’s nevertheless essential for publishers to calibrate the cost of strategic changes and resources to understand—before it’s too late—whether those shifts will leave the brand unscathed and the P&amp;L in the black.</p>
A manifesto for skillshttp://bibliocloud.com/blog/a-manifesto-for-skills/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Whatever the other Manifestos for the Future of the Book Business are—whatever exciting areas people propose for change in the industry, whether it&rsquo;s in digital, or business workflows or product development—our people do not have the skills to make it happen.</p>
<p>I was amazed at the response to the FutureBook piece Menial publishing jobs are destroying our future, which questioned:</p>
<ul>
<li>Why, as an industry, we still get humans to do the work of computers</li>
<li>Why we keep entry-level positions secretarial, and</li>
<li>Why we don’t provide the right sort of training to equip our people for the future.</li>
</ul>
<p>I thought it&rsquo;d be accused of hyperbole. Instead, the response was quite the opposite.</p>
<p>People sent sackfuls of public and private messages of fervent agreement and thanks for writing about the problem.</p>
<p>It seems that there’s a groundswell of discontent throughout the junior ranks, horrified at what is evident to any impartial observer: we don&rsquo;t train our people and we don&rsquo;t expect them to be formally skilled.</p>
<p>So here’s what we should do about it.</p>
<h1 id="educate-senior-management-about-what-code-can-do">Educate senior management about what code can do</h1>
<p>If senior management were technical—if they knew what computers can do—they wouldn’t stand for the gross waste of time and creativity in their companies.</p>
<p>So let’s launch a series of non-technical yet software-specific, capability-focussed seminars for senior managers. A simple example: show senior managers 20 people editing one Google spreadsheet at the same time. It&rsquo;s free, accessible, requires no extra training, no servers, and it removes the costs, errors and embarrassment that stems from having more than one version of the truth. Trello, Pandadocs, Capsule, Google Drive, Dropbox, Pipedrive, Slack, FogBugz— many cloud-based apps are cheap and solve some entrenched publishing problems.</p>
<h1 id="recognise-that-technical-skills-take-time-to-develop">Recognise that technical skills take time to develop</h1>
<p>Publishing is not a sector used to taking the long view. If you’re designing a new jet engine, you know it’s going to take a decade before your investment of time and effort pays off. Publishers should recognise that an investment in providing staff with technical skills training will not pay off this quarter, or the next.</p>
<p>In five years time, you’ll have the right workforce for the market, and they&rsquo;ll be motivated, grateful and hyper-productive.</p>
<h1 id="develop-an-industry-management-training-scheme">Develop an industry Management Training Scheme</h1>
<p>Make it competitive, difficult and ambitious.</p>
<p>Have it run over three years. Provide a formal qualification at the end. Have its syllabus include financial management, project management, management skills such as influencing, negotiation, and decision making, and code. Get employers to subsidise attendance and allow delegates to attend week-long sessions, four times a year.</p>
<h1 id="radically-raise-our-expectations-of-our-suppliers">Radically raise our expectations of our suppliers</h1>
<p>Suppliers to publishing are divided cleanly into two groups: those who know what an API is, and those who don&rsquo;t.</p>
<p>We must insist that our suppliers move beyond the 1980s, as a matter of urgency—because if they haven’t, it&rsquo;s costing us time and money. We simply cannot accept the fact that major businesses still build data workflows centred around the .csv format and exchange of spreadsheets, or that professional typesetters can&rsquo;t automate catalogue production from ONIX in InDesign. We cannot tolerate the inflated costs of external <q>experts</q> who are fleecing us because we don&rsquo;t know how to build things ourselves.</p>
<p>Most of all, we can’t tolerate that our industry does not have the competence to recognise this.</p>
<h1 id="update-our-occupational-standards">Update our Occupational Standards</h1>
<p>Revise the otherwise excellent Book and Journal Publishing National Occupational Standards to include technical skills. They don’t go far enough in ensuring a technically skilled workforce.</p>
<h1 id="harness-the-evident-discontent-amongst-junior-publishers">Harness the evident discontent amongst junior publishers</h1>
<p>People are angry about having to prove themselves in menial roles.</p>
<p>Let’s harness the power of this sentiment and give people a platform on which to discuss change, without fear of retribution by their management. A StackExchange site for publishing? Meet-ups, like we do in tech?</p>
<p>There’s a groundswell of opinion on this and we should find ways to raise our voices coherently.</p>
<h1 id="make-us-competent-make-us-proud-make-us-flourish">Make us competent, make us proud, make us flourish</h1>
<p>I want to work in a flourishing industry known for its competence, kindness, innovation and creativity. As time goes on, our current expectations of what junior roles should be is going to look and feel more and more Stone Age—with radical implications for our future viability.</p>
<p><em>Originally written for and published by <a href="http://www.thebookseller.com/futurebook/manifesto-skills-314196">The FutureBook</a>, October 2015</em></p>
It's us in the industry who need to be able to codehttp://bibliocloud.com/blog/its-us-in-the-industry/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>I have a dreadful confession: I still use my fingers to do mental arithmetic. After a couple of decades in the commercial world I can do sales-minus-cost-of-sales-all-over-sales-equals-margin in my sleep, but ask me 14-plus-27 and I&rsquo;ll tap out the four, just to be sure.</p>
<p>So given this pitiful natural capability, coupled with an arts degree (archaeology, and not the statistical, analytical sort, but the vague hand-wavy these-sticks-signify-an-ancient-rite-of-passage kind), you wouldn&rsquo;t think I&rsquo;d find myself a professional Ruby on Rails programmer at the age of 40.</p>
<p>Yep, I&rsquo;ve done my ten thousand hours. Since 2011 I&rsquo;ve spent an average of eight hours a day practicing and writing SQL, Ruby, Rails, Javascript, CSS and HTML.</p>
<p>I might be useless at arithmetic, but, you see, I love patterns. I&rsquo;m a pianist and an artist. I like words, symmetry and brevity. Writing code trips many of the pleasure centres in my brain. And I love feeling that I&rsquo;m doing something meaningful, creating something out of nothing. Plus the inherent difficulty of writing good code is a source of huge pride.</p>
<p>I&rsquo;m also someone who is fairly bloody-minded and determined, who can&rsquo;t stand doing a boring task more than once &ndash; and I&rsquo;m an independent publisher, which is not a subset of the population known for its great wealth. Given a choice between finding £150k to get someone to turn my ideas into code, or just reading the big thick technical books and putting the hours in, the decision is not hard.</p>
<p>The main reason for spending so much time learning to code, though, has been the desire to solve an urgent problem. Ever since I co-founded Snowbooks in 2003, I&rsquo;ve wanted a system to help me manage the business in the way I think necessary &ndash; with all my data in one place, with an absence of duplication, with as little data-entry effort as possible &ndash; to rescue me from organisational chaos. I have always wanted computers to do the drudge for me so I can get on with publishing, with cover design, with imagining new ways to sell books. In other words, I want to be a creator, not an administrator.</p>
<p>Who goes into publishing so they can spend their days typing metadata into spreadsheets, and PubWeb, and InDesign AI templates?</p>
<p>Integrated systems that cover metadata, ONIX, production, royalties, contracts, rights, permissions, schedules &ndash; everything, really &ndash; do exist, but you&rsquo;ll have to remortgage to afford them. So I&rsquo;ve been steadily writing my own system which is all this and more, and after four years of active development, with a growing team of programmers, it&rsquo;s rather wonderful. Have a look at Bibliocloud.com to see the fruits of our labours.</p>
<p>Ten thousand hours later, I have magic fingers! I can think of an idea for an app, or a website, or a little program to help me automate a boring task, or receive a feature request for Bibliocloud, and presto &ndash; I type the code. No briefing people. No meetings to agree the agency budget. No fighting for sign off. No trying to explain my idea to a developer with mounting frustration on both sides because we&rsquo;re speaking different languages. I just get on and write the code. And enjoy the results.</p>
<p><strong>I now occupy this zone where I know plenty about both trade publishing, and plenty about code.</strong></p>
<p>You know that weird feeling when your parents turned up at your University? The sensation that your life at University is completely separate and other to your family life, and it&rsquo;s just plain weird when the two worlds collide? I get that when I&rsquo;m talking to most publishers about code, and most coders about publishing. There is barely any intersection between the two sets at anything other than a buzzword level. And when there is, those people are remarkable. To name a few, Nick Barreto, James Bridle, Xander Cansell: publishers who code can do amazing things.</p>
<p><strong>To the coders, I&rsquo;d say this.</strong></p>
<p>You should learn more about publishing. Too many apps exist because their creators thought the code would be cool. The code probably is cool, but you walk the aisles at the book fairs and see that no-one&rsquo;s clamouring around the stand of yet another ebook delivery platform. The SaaS build-it-and-they-will-come model only works, rather obviously, if you build something that people want in the first place. So:</p>
<ul>
<li>Start a little micro press.</li>
<li>Try to sell a book in to a high street retailer.</li>
<li>Pick apart a printer&rsquo;s scale.</li>
<li>Write a royalty statement that doesn&rsquo;t confuse your authors.</li>
<li>Try to update the Ingram metadata spreadsheet programmatically.</li>
</ul>
<p>You&rsquo;ll end your first week as a publisher with a hundred ideas for solutions that will answer an actual problem. Completely Novel and Valobox are a good example of this. The team know all the real-world details of working with authors, printers and so on from running their Completely Novel self-publishing platform. It means their pay-as-you-go venture Valobox was developed out of an on-the-ground understanding of the industry &ndash; and it shows.</p>
<p><strong>To the publishers, I&rsquo;d say this.</strong></p>
<p>There is no shortage of ideas for ways that a little &ndash; or large &ndash; program can make publishing better. Our industry is built of data:</p>
<ul>
<li>Descriptive metadata</li>
<li>Sales data from a huge range of sources</li>
<li>Reader data</li>
<li>Online campaign data</li>
<li>The words we publish and the way they&rsquo;re structured into larger sets of content</li>
</ul>
<p>It&rsquo;s all there waiting to be corralled and explored and arranged in patterns which help us to be better publishers. And if we don&rsquo;t learn to use all the technical tools that exist, then outsiders will build things themselves. We&rsquo;re seeing that now, and we&rsquo;re seeing that the things they&rsquo;re building, whilst interesting, are just a shade off the mark, because they don&rsquo;t know publishing like we do.</p>
<p>Given the data-y nature of the book trade, the fact that learning to code is so astonishingly moreish, and the fact that I&rsquo;m living proof that you most certainly do not need a computer science degree to write a FutureBook Innovation Award-winning web application, I&rsquo;m hopeful that I&rsquo;ll be able to persuade publishers that becoming adept at code-writing is good for business, good for your teams, and good for the long-term health of our industry.</p>
<p><strong>You don&rsquo;t have to go as far as me.</strong></p>
<p>Learning the fundamentals would be enough for you to have a decent conversation with a developer. The benefits are clear: you&rsquo;ll know what&rsquo;s technically possible, more or less, so you&rsquo;ll both save time and energy. You&rsquo;ll be able to tell if the developer is responding sensibly to your specs, and you&rsquo;ll know enough to be able to look at his or her proposal and cost estimate and see if it&rsquo;s reasonable.</p>
<p>But I bet the bug will bite you (heh, amusing code-related joke). I started out being interested in code when I took an ONIX message and used it to create a catalogue automatically in InDesign. Technically, it&rsquo;s not difficult: you set up a template tagged with placeholders, and import the XML into those placeholders. But psychologically, it&rsquo;s revelatory. I created hundreds of pages of catalogue copy in a single click. How long does your catalogue creation cycle take? Three months? Four? Wouldn&rsquo;t you rather spend that time learning enough to automate the awful job the once, so you never have to do it again? I don&rsquo;t know how anyone can stand to do some of the repetitive tasks that I see them do, when I know that you could spend a month, a week &ndash; even a few days &ndash; learning plenty to save you from death-by-admin. Once you&rsquo;ve glimpsed what code can do, it&rsquo;s really hard to go back.</p>
<p>Something which afflicts all industries is the problem of getting systems to talk to each other. But the problem is solved! Just not by the book trade. As an industry we are really backward in this, you know. There are all these spreadsheets and CSV files and FTP folders that even the largest companies still use to transfer data slowly, brittlely, between distributor, ecommerce, metadata, royalties, rights, CRM and other publishing applications. Modern APIs are clear, well-documented conventions for getting applications to talk to each other. It takes a morning to write a simple, brief JSON API, and a month to test and iterate. But there are only a handful of well-maintained book APIs around &ndash; for example, Amazon&rsquo;s Product Advertising API, Goodreads&rsquo;, Google&rsquo;s, one or two from the larger publishing companies (and Bibliocloud&rsquo;s, of course). You look at something like accounting software Freeagent&rsquo;s API, and it&rsquo;s enough to make a grown man weep &ndash; you can do so much with it and it&rsquo;s beautifully documented. If the accountancy industry can do it, so can the book trade.</p>
<p>This is an opportunity to draw a line against the relentless outsourcing of skills.</p>
<p>As an industry, we&rsquo;re really running the risk of limiting our scope to being middle-men.</p>
<p>We often don&rsquo;t write the books, or proofread them, or typeset them, or take the photos, or draw the illustrations, or create the ebooks, or code the apps, or print the things, or store or ship the books ourselves.</p>
<p>Our industry has been outsourcing everything we possibly can for years.</p>
<p><strong>With code, we have a chance to take back control.</strong></p>
<p>You don&rsquo;t need the sort of money you&rsquo;d need to set up a printing factory to bring print back in-house. You especially don&rsquo;t need to hire in Rails developers on a £80k annual salary. That wouldn&rsquo;t fix the problem. The problem is that it&rsquo;s us in the industry who need to be able to code. You don&rsquo;t know how many more books you can sell, how many more readers you can engage, how much more justice you can do to your authors&rsquo; writing, until you have the technical knowledge to create the new tools and new applications that no-one&rsquo;s thought of yet.</p>
<p>Where do you start? You can do the free Rails course at Codeacademy.com. Follow that, and by the end you&rsquo;ll have written your own version of Etsy. Or you can buy a book for $49 &ndash; The Rails Tutorial by Michael Hartl &ndash; and spend a day a week on it for six months. By the end of six months, you&rsquo;ll have written Twitter. Yep: you&rsquo;ll have actually written your own version of Twitter. With your own human hands.</p>
<p>If you don&rsquo;t want to read a book (and I needn&rsquo;t point out the irony of that) then come along to the course my Bibliocloud colleagues and I are running for Oxford Brookes University on 20th January called Try Programming. The Bibliocloud team also volunteers at London Railsgirls.org, which is a brilliant way for women to get experience of coding. Your kids are learning how to code. So should you.</p>
<p>And HR can start changing their recruitment requirements. Can you imagine asking your editorial assistant applicants, at interview, what marketing initiative they would propose given a 120,000 word manuscript, 25 illustrations, a command line, a text editor and a Github account? That probably sounds outlandish. It shouldn&rsquo;t.</p>
<p>One of the many lovely things about coding is that it&rsquo;s a proper, cerebral activity that doesn&rsquo;t necessarily suit a 9-to-5 office location. It requires intense, prolonged sessions of quiet thought. It&rsquo;s ideal, in other words, for working parents who can work between school runs from 10 a.m. to 3 p.m and then from 8 p.m. to 11p.m. If you&rsquo;ve any desire to improve your company&rsquo;s flexible working capabilities at the same time as generating new revenue streams and increasing your creative output, get your staff to learn to code.</p>
<p>From where I stand, it terrifies me that there is so much opportunity for the book trade, and such a dearth of skills to take advantage of it, with apparently little appetite for change.</p>
<p><strong>Make 2015 the year that you learn to code &ndash; for the sake of our industry.</strong></p>
<p><em>Originally written for and published by <a href="http://www.thebookseller.com/futurebook/emma-barnes-its-us-industry-who-need-be-able-code">The FutureBook</a> in January 2015</em></p>
Why ‘easy’ publishing solutions hardly ever arehttp://bibliocloud.com/blog/easy-publishing/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Almost every week, a new technological innovation comes to market, promising to save publishers money, streamline workflow, reduce administrative burdens or reach more readers.</p>
<p>These innovations are diverse, but they share one thing in common: each promises to make our lives easier.</p>
<p>The unique selling propositions vary. Some offer easy enhancement of ebooks (CircularFlo, Beneath the Ink). Others let you conveniently mark up your manuscripts online (FutureProofs). Some offer to improve marketing (NetGalley).</p>
<p>Still others promise to reduce back-office administrative labor (my own Bibliocloud). There are, additionally, tens and possibly hundreds of offerings promising to take the pain out of social media campaigns, mailing list management, editorial workflow, production and schedule management, online galley review, e-commerce, print-on-demand (POD), rights sales—you name it.</p>
<p>But here’s the rub: These solutions usually get developed in isolation, with little consideration for where they’ll each fit into their new customers’ existing technological ecosystems. And that’s hardly any surprise. With the myriad systems publishers use, how can a developer accommodate them all?</p>
<p>A prospective publishing client might have a distributor whose stock management system is an old AS400, alongside a Drupal customer-facing website, with Microsoft Navision for finance and Klopotek for metadata management.</p>
<p>Another publisher might have a distributor that uses an online data warehouse and a Magento website, with SAP for finance and spreadsheets for their metadata and scheduling processes.</p>
<p>How can a developer working on a new product or solution for either of those clients know precisely which integrations to plan for? And anyway, the developer is focused on building her new product to be amazing on its own merits. Legacy system integrations come later, right?</p>
<p>Wrong. Almost any new service is great, in isolation. But the real value—and the real pain—comes when it’s integrated into publishers’ own unique IT ecosystems.</p>
<p>Say the exciting new service that you want to incorporate into your business is for making enhanced ebooks. (There’s more than enough debate about the wisdom of that decision, but let’s take it just for the sake of argument.) It will require more content, more files, more workflow to create the new assets. And that opens up a slate of important questions: Which systems will be impacted by this new aspect of your business? Your metadata management system, your ONIX output, your editorial-production workflow, your scheduling software, your rights and permissions system and your finance system: Will they play nicely with your new toy?</p>
<p>What about something publishers might consider more sensible, like POD, a service that promises to radically simplify your stockholding requirements—how will that integrate with your distributor’s existing systems? How will you represent the applicable rights in your ONIX feed? What about sending the stock status to retailers? What about the additional printer scales?</p>
<p>If you’re not very careful, your supermarket sweep of shiny new services will turn into a major administrative overload as you try to stitch together a growing array of disparate systems. Doing so is almost always costly, and as I’ve written before, publishers must carefully weigh those investments against the returns that the new strategy they’re meant to support is likely to generate. Otherwise publishers end up becoming middle-men between two or more system providers and experiencing the worst of all worlds as a result—feeling the most pain and being the least equipped to ameliorate it.</p>
<p>So, in addition to listening critically to pitches for how any new service might make one isolated dimension of your publishing business easier, here’s what you need to ask of developers:</p>
<p>What is your track record for adapting to changes in the supply chain?
Which systems do you integrate with?
What was your process for determining the data formats accepted by the other systems yours is built to work with?
Do you accommodate two-way data transfers?
Could I see your API documentation please?
In previous projects, who changed their code to accommodate the integration—you or them?</p>
<p>Developers and their fancy boxes of tricks often promise to make publishers’ lives easier, and of course their solutions can indeed turn out to do just that. But before things get easy, publishers have to confront the hard part first, and determine how well any new addition will integrate with all their other labor-saving systems.</p>
<p><a href="http://www.digitalbookworld.com/2015/why-easy-publishing-solutions-hardly-ever-are/#sthash.Jy12py5U.dpuf">http://www.digitalbookworld.com/2015/why-easy-publishing-solutions-hardly-ever-are/#sthash.Jy12py5U.dpuf</a></p>
Publishers can learn a few things from programmershttp://bibliocloud.com/blog/publishers-can-learn-a-few-things-from-programmers/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>As both a publisher and a programmer, I’m a member of a very select club. I’ve been struck by many similarities between the worlds of code and publishing. And I believe that being able to identify and act upon them has made me a better publisher.</p>
<p>I wrote this article about programming for DBW in February 2015. Read the full article at <a href="http://www.digitalbookworld.com/2015/publishers-can-learn-a-few-things-from-programmers/">Digital Book World.</a></p>
<p>As both a publisher and a programmer, I’m a member of a very select club.</p>
<p>It consists of both those who started out as coders and went into publishing and those who did the reverse. I’m in the latter group, having co-founded a little indie press called Snowbooks in 2003. When I needed a system to run the company and found the software on the market both hugely expensive and horrible to use, I buckled down and learned to code. The result was my own back-office publishing management software, called Bibliocloud (which, delightfully, lots of publishers now use).</p>
<p>Admittedly, it took about a decade. But along the way, though, I’ve been struck by many similarities between the worlds of code and publishing. And I believe that being able to identify and act upon them has made me a better publisher.</p>
<p>Coding has a fairly long learning curve. With about 10,000 hours under my belt, I’d put now myself at the ‘adequately competent’ stage on a spectrum of capability that starts at ‘complete novice.’ The other main developer of Bibliocloud—a chap with more than twenty-five years’ experience at Oracle—is right up at the ‘super-productive expert’ level at the top. From where I am at the moment, though, I’m good enough to see the beauty in code, just as I can see the beauty in any writing.</p>
<p>You may never have written code, but you’ve read books. I bet you’ve appreciated the clarity that comes from brevity, or the careful crafting of a narrative flow, or the finely-edited end-result of a piece of prose, honed and whittled and buffed to perfection. So it is with code.</p>
<p>Writing—whether code or prose—is a craft, an art. Code, perhaps even more so than prose, is an expression of the author’s personality and philosophy. Some publishers turn their hands to novel writing. I don’t have a novel in me, but I did have a two-hundred-thousand-line Ruby on Rails application, it turns out.</p>
<p>Some code, to me at least, even reads quite literally like poetry. Here’s a Ruby method:</p>
<p>def self.high<em>price</em>band</p>
<p>where price &gt; 10</p>
<p>end</p>
<p>=&gt; Book.high<em>price</em>band</p>
<p>Read it out loud and it’s almost a haiku:</p>
<p>def self, dot high price band,</p>
<p>where price is greater than ten</p>
<p>end; call Book dot high price band.</p>
<p>If there are similarities in writing—whether it’s code, prose, scholarship or even poetry—there are also comparisons to be drawn in how we get it ready for publication or deployment.</p>
<p>Some code can be dashed out, fit to prove a point or get to the Minimum Viable Product stage. I look with some cynicism upon weekend-long hackathons, knowing from experience how much reflection, effort, testing, iteration and planning is needed to produce a really strong, dependable piece of code. In the same way, we have bursts of hurried activity in publishing: We’ll wallop out a series to fit with something newsworthy, or with a new course, or some other time-based tie-in.</p>
<p>But the best publishing comes from a strategy—from well-thought-out, well-planned, purposeful publishing. From bringing forth books because we know there’s a market for them. From publishing into a space we understand, and by using our in-depth knowledge of genres and insights from audience research to reach our readers on their own terms.</p>
<p>In fact, that’s one area where some programmers could learn from publishers. More apps and start-ups would succeed if they came from a real understanding of the market, rather than because the programmer thought the code would be interesting and fun to work on. That said, many programmers seem to be great at understanding why they’re doing something and continuously asking whether it’s a good way of doing things.</p>
<p>I like what coding has done to my brain. After thousands of hours of forcing it to do new things, I can more skillfully break down a problem into its parts, work through each part one by one and build or rebuild a solution. Mental agility is something you have to work hard at, and that’s true as well for organizations struggling to innovate and iterate quickly without falling to pieces. Coding is great for this.</p>
<p>Programmers, I would say, are more naturally inclined toward long-term productivity than publishers. We’re lazy and tend to get bored easily. We would rather spend a week writing some code to automate a ten-minute task than repeat it every week for a year. And so programmers have some conventions: DRY—don’t repeat yourself—is a good one; YAGNI—you ain’t gonna need it—helps you to figure out which code should be written and which is optional.</p>
<p>Convention over configuration—a way of getting the basics organized and routine so you can focus on the interesting, creative, new aspects of things. If publishers had zero tolerance for repetition and boring administrative tasks, what would the industry look like? And how would publishers’ organizations reflect that internally?</p>
<p>Having admired convention, there’s nothing to stop individual coders going right against convention and doing something totally different. The Linux operating system, the programming language Ruby, the web development framework Rails all came about because one person decided there was a better way to do something.</p>
<p>There’s an all-pervading attitude of continual improvement in programming. Take a look at Github, the code repository used by most programmers to save every iteration of their work. Repositories have thousands of incremental changes and edits. Programmers naturally hone and whittle and constantly improve. They automate the dull stuff so they can think about the bigger picture.</p>
<p>Yet within both sectors, there’s an attitude that prizes craftsmanship and best practices, proving these impulses—to innovate boldly and to hold small, familiar things precious—can be powerfully complementary, not mutually exclusive.</p>
<p>Since code is also the thing that generates what users know as software, we can think of code as a metaphor for the way we go about producing our books. The way it typically works today, programmers write the code, which then runs to produce a user interface, like a website, generated from HTML behind the scenes. In one, you can have horrible, clunky code producing a fairly decent-looking user interface, to an extent—but push it too much and it’ll slow down and generate errors, and it won’t scale well.</p>
<p>On the other hand, lovely, elegant, thoughtful code produces solid, dependable, beautiful software. With publishing, I think that you can get out what customers experience as a serviceable book (print or digital), where the content is great and the production value high, yet if the process of getting that book out was horrible and confused—if it was all swan on the surface but frantic paddling going on underneath—then that’s not scalable or sustainable, and there are bigger problems that need addressing. You should take as much pride in the way you produce books as the books themselves.</p>
<p>All the value and characteristics I’ve discussed—clear thinking, automation, productivity, continual improvement and craftsmanship—are baked into programming’s core. But these aren’t just skills we can extract and apply to our own world. The best way to develop these attributes—if they sound like things you indeed want to value—is to practice code. Become a developer. Face the intricacies, the struggles, the delicious, aggravating complexities that code, like nothing else, provides.</p>
<p>When you know what you can do with code—when you know what’s possible, when it’s obvious that you should automate something or integrate with another system or write a new protocol for describing an interesting way to reach readers—even (and especially!) if you need to ask more practiced programmers for help—you’ll have the strengths of programming on your side.</p>
Sara O'Connor to join the team!http://bibliocloud.com/blog/sara-oconnor-to-join-the-team/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Huge news from us today on day 2 of the London Book Fair 2017. Here&rsquo;s the full press release! Thanks to The Bookseller for <a href="http://www.thebookseller.com/news/o-connor-returns-publishing-bibliocloud-507846">covering it</a>.</p>
<hr>
<p>Bibliocloud, the publishing system started by Emma Barnes in 2011, has hired publisher-turned-programmer Sara O&#39;Connor. O’Connor will join the tech startup in early April.</p>
<p>O&#39;Connor was previously Editorial and Digital Director at Hot Key Books but, partly inspired by self-taught programmer Barnes, retrained at the coding boot camp Makers Academy. She was soon hired into a developer role at trade promotion management software company Exceedra. Eighteen months on, she returns to publishing to join the impressive Bibliocloud team, including fellow Bookseller Rising Star Emily Labram.</p>
<p>Bibliocloud is a growing tech company. It recently won the IPG GBS Award for Services to Independent Publishers and its CEO Emma Barnes was highly commended as the latest FutureBook Digital Leader. Its growing roster of over 30 clients includes the Institute of Physics, Pharmaceutical Press, Canelo, Unbound, Zed Books and Liverpool University Press.</p>
<p>Sara O&#39;Connor says:</p>
<p><q>I&rsquo;ve always been obsessed with - and keen to improve - the software and processes that the publishing industry uses to make a book a success. Joining the talented team at Bibliocloud as a developer is a dream come true. Now, I can spend my days helping to make the technology of publishing better, to get more books more easily into the hands of readers.</q></p>
<p>Emma Barnes says:</p>
<p><q>We couldn&rsquo;t be more delighted to have lured a talent of Sara’s standing to Bibliocloud. I am particularly proud that her arrival means we will have more women than men on the team, which stands in stark opposition to most tech companies. Sara shares our mission of liberating publishers to do the work that matters — a mission which is needed more than ever in these times of political strife. And as Sara knows both publishing and programming, the whole team is very excited to see what new heights her expertise helps us to reach.</q></p>
<p>O&#39;Connor will also be helping Bibliocloud in their mission to skill up the publishing industry. She will train publishers to code in April at the next of Bibliocloud&rsquo;s oversubscribed programming workshops for publishers, in partnership with Bookmachine, for which all profits will go to charity.</p>
<p>Barnes said:</p>
<p><q>It&rsquo;s clear from the length of the waiting lists and the speed with which they sell out [the latest course sold out within 24 hours] for our courses that there&rsquo;s a burning desire among publishers - especially women: marketers, editors, salespeople - to learn these vital skills. And there&rsquo;s increasing recognition from the top down of the need for publishers to innovate in ways that really meet the needs of their customers and authors - and that it&rsquo;s possible to empower their own staff to take on these skills. Programming, design, product management and user experience skills can powerfully enhance an editorial or marketing skillset, and reduce the risk and cost of hiring expensive agencies. We are excited and hopeful to see plenty more people who might not have considered themselves to be ‘technical’ follow Sara&rsquo;s lead.</q></p>
Technical debthttp://bibliocloud.com/blog/technical-debt/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Technical debt is what you accrue when you write bad code or take some expedient shortcut or just think, “Nah, that’ll never be needed.” At some point, you might have to pay that debt off, or, in other words, fix the code. And technical debt accrues interest, as it gets more difficult to fix as time goes by.</p>
<p>I wrote this article about technical debt for DBW in February 2015.</p>
<p>In programming, there’s a concept called “technical debt,” and it’s one that has much to offer as a way of thinking about your publishing business.</p>
<p>Technical debt is what you accrue when you write bad code or take some expedient shortcut or just think, “Nah, that’ll never be needed.” At some point, you might have to pay that debt off, or, in other words, fix the code. And technical debt accrues interest, as it gets more difficult to fix as time goes by.</p>
<p>Technical debt is inescapable, partly because it is accidentally introduced, but also because it is often accrued deliberately. If software were refined to be absolutely future-proof and guaranteed to work a hundred years into the future for every conceivable situation, then nothing would ever get finished.</p>
<p>So you have to accept that you’re going to accrue technical debt, because, in a way, it is part of being efficient; you’re fixing the problem in front of you right here, right now, and there may never be later repercussions.</p>
<p>Publishers accrue their own unique forms of technical debt.</p>
<p>Take, for example, a publisher that uses non-standard, imprecise or time-dependent terminology. They might refer to “Europe” or “the Commonwealth” or “Latin America” in the schedule of territorial rights licensed in their author contracts.</p>
<p>Fast-forward five years to an almighty spat with an author who assumed “Latin America” excluded French Guiana, being a non-Spanish-speaking nation, where she would like to sell the rights herself but where you’ve already licensed an edition.</p>
<p>EU membership changes over time. Does Europe include Russia? Greenland? Does your marketing team have the same understanding of “Europe” as your rights team does? Being aware of the existence of nuances and ambiguity in your data will encourage you to work at a suitable level of specificity. The forms in which debt accrues are practically innumerable.</p>
<p>Having one ISBN for all ebook formats comes back to bite you when your expensive new metadata management system requires ISBNs to be unique, or when your new B2C website platform can’t distinguish between PDFs and EPUBs. It was expedient to keep all your contract data as paper copies (you didn’t even send a photocopied version to offsite storage, you say?), but now that you’ve grown enough to need a royalties and rights system, it’s payback time.</p>
<p>Not recording permissions at the time they’re cleared makes for a giant legal bill when the time comes to sell off an imprint, or at least a penalty for the risk that the buyer is adopting.</p>
<p>Agreeing to an unusual royalties structure is awful at the next royalties run, and continues to be awful until the damned thing finally goes out of print.</p>
<p>Being unable to assign a unique ID to an author is a huge problem when you sign up a second “Joan Smith,” or when an author gets divorced and changes her surname.</p>
<p>That Excel spreadsheet was great for storing sales when only one person had to access it at a time, but now there are four people, and two of them work from home!</p>
<p>Look around you, at the desk and screen where all those important paper notes hold vital information for the next few months. You can’t enter them on your MacBook, because who’s going to back that data up? Nobody—that’s who.</p>
<p>So, as developers, we are alert to and aware of the technical debt we accrue as we code, and we compare the benefit of making our code as bombproof as possible with the additional cost and time that it will take. And as publishers, we are aware of the decisions we’re making that lead to our own form of debt.</p>
<p>And that’s the first step on the path to sanity: awareness and acceptance.</p>
<p>But what are the solutions? They are often obvious, once you’ve realized the problems at hand. Use a free OCR service such as Evernote to scan and store contracts so you can actually search them in the future, wherever you are. Consider migrating your current desktop software to a cloud-based service, such as Google Docs, which allows collaborative editing of a single document (it’s magical when you first try it) and virtually unlimited storage space. If an agent is pressing for an exotic deal, it might be better to offer them preferential contractual terms that at least adhere to your usual, conventional royalty calculation process, than to agree to convoluted terms that will have to be handled manually at royalty time for the next 10 years. Find a non-ambiguous way to express what you mean by “Europe,” and search out solutions, such as ISO standard country, language and script codes, that work internationally so that the foreign publisher or agent with whom you are negotiating can clearly understand you. And so can Margaret in marketing.</p>
<p>The key to identifying and then minimizing technical debt is to ask yourself, “What if?” What if the office burns down? My computer gets stolen? Are we shooting our future selves in the foot if we store data or communicate in this particular way, or agree to that other way of doing things? And we need to be aware of the sorts of processes and data that will need to scale, at some point. Some things don’t need to scale: human interactions, bespoke analyses, careful design. Other things, though, will inevitably have to as the company grows. Being aware of that will go a long way to helping you to future-proof your business.</p>
Start with Why – How to refine your publishing missionhttp://bibliocloud.com/blog/startwithwhy/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Those of you at the IPG&rsquo;s Autumn Conference will remember the excellent keynote on branding by Saatchi &amp; Saatchi&rsquo;s Richard Huntingdon. I&rsquo;ve been reflecting ever since on his mention of Simon Sinek&rsquo;s mantra, &lsquo;Start with Why?&rsquo;, inspired by its potential for independent publishers.</p>
<p>In this post, I&rsquo;ll show you how to apply the questions &lsquo;Why&rsquo;, &lsquo;How&rsquo; and &lsquo;What&rsquo;, depicted in <a href="https://storage.googleapis.com/start-with-why-squarespace/assets/why-discovery-course/GoldenCircle2x.png">Sinek&rsquo;s Golden Circle</a>, to your publishing business. I&rsquo;ll explain what a strong founding &lsquo;Why?&rsquo; looks like, and how to use it to make customer-centric decisions - so you sell more books!</p>
<p>To start: here are those questions again as they apply to a publishing business:</p>
<ul>
<li><p><strong>Why?</strong> is your mission and purpose as a publisher: the needs you meet for your customers.</p></li>
<li><p><strong>How?</strong> is your strategy: how you meet those customers&rsquo; needs better and more efficiently than the competition.</p></li>
<li><p><strong>What?</strong> is the resulting product or products.</p></li>
</ul>
<p>The first principle in answering these questions is answer them in order. First, define your &lsquo;Why?&rsquo; - your customer and their needs. Next, define your &lsquo;How&rsquo;. Your &lsquo;What&rsquo; will follow naturally. From the choice of author to the format, price, cover and marketing campaign, your &lsquo;Why&rsquo; and &lsquo;How&rsquo; will guide your decisions.</p>
<h2 id="the-do-book-company-a-case-study">The Do Book Company: a case study</h2>
<p>Many publishers - especially independent publishers - have a strong sense of founding purpose. But they don&rsquo;t always communicate it clearly to readers and authors. The Do Book Company is a shining example of a publisher who really leads with their &lsquo;Why&rsquo;?</p>
<p><img src="https://cdn.shopify.com/s/files/1/0176/9202/products/IMG_7984A_1024x1024.jpg?v=1493727236" alt="alt" /></p>
<p>Founder Miranda West set up The Do Book Company in 2013, in partnership with <a href="http://www.thedolectures.com/">Do Lectures</a>, the well-connected team hosting inspirational events. She rapidly grew the company to profitability and has published 16 &lsquo;Do Books&rsquo; (and counting). The Do Book Company <a href="https://thedobook.co/">sell their books directly through their website</a>. Their founding purpose sings out - and it&rsquo;s well worth a look.</p>
<p>So, for inspiration, here&rsquo;s how I would define The Do Book Company&rsquo;s Golden Circle - and why it works:</p>
<h2 id="why">Why?</h2>
<p><em>Who are their customers, and what needs do they meet?</em></p>
<blockquote>
<p>The Do Book Company inspires busy people to &lsquo;make&rsquo; and &lsquo;do&rsquo; so they can make positive changes in their lives through putting new ideas, skills and crafts into action.</p>
</blockquote>
<p>It&rsquo;s a brilliantly specific, &lsquo;doable&rsquo; mission - yet also resonant and inspiring.</p>
<h2 id="how">How?</h2>
<p><em>How do they meet these customers&rsquo; needs better and more efficiently than any other means?</em></p>
<p>From where I stand, here&rsquo;s how The Do Book Company aspires to help their customers &lsquo;make and do&rsquo; <strong>better than the competition</strong>:</p>
<ul>
<li><p>Their books are <strong>more inspiring</strong>: The Do Book Company invest in design, photography and typography that appeal to the values of their creative, curious customers, so they are more inspired to take action. Their covers paint the benefits through large, punchy titles and subtitles.</p></li>
<li><p>Their books <strong>produce faster, easier results</strong> &lsquo;Do books&rsquo; are written, edited and designed to reduce the time and effort required for their time-poor customers to see results. No need to feel overwhelmed by growing your own veg: with <em>Do Grow</em>, &lsquo;Start with 10 simple vegetables.&rsquo; They&rsquo;re concise, visual and practical, not theoretical. And the ebook is available for free on purchase of the physical: an always-available mobile version.</p></li>
<li><p>Finally, their books <strong>produce better results:</strong> if you&rsquo;re going to the bother of learning a new skill as a busy person, you&rsquo;ll be particularly anxious about wasting your time. The Do Book Company&rsquo;s authors are &lsquo;doers&rsquo; first (and writers second). This makes their guidance more trustworthy and effective: hence, better results.</p></li>
</ul>
<p>These guiding principles inform the choice and design of each book.</p>
<h2 id="what">What?</h2>
<p><em>What are the resulting products?</em></p>
<ul>
<li>A series of inspirational paperback guidebooks, priced at £7.99, with the ebook free on purchase.</li>
</ul>
<h2 id="putting-it-all-together">Putting it all together:</h2>
<ul>
<li><p><strong>Why:</strong> The Do Book Company inspires busy people to &lsquo;make&rsquo; and &lsquo;do&rsquo; so they can make positive changes in their lives.</p></li>
<li><p><strong>How:</strong> &lsquo;Do Books&rsquo; make it easier, quicker and more effective to put new ideas, skills and crafts into action.</p></li>
<li><p><strong>What:</strong> Inspiring, practical guide books, written by expert &lsquo;doers&rsquo;, with the ebook free on purchase.</p></li>
</ul>
<p>Pretty neat, right?</p>
<p>I love the clarity of The Do Book Company&rsquo;s Golden Circle. And I&rsquo;ll wager that it was this customer-centric approach, supported by a smart partnership, that produced success.</p>
<p>To close: here is one tip to help you define your &lsquo;Why?&rsquo; - whether at publisher or book level - and avoid a common pitfall.</p>
<h1 id="keep-asking-questions-until-you-reach-specific-needs">Keep asking questions until you reach specific needs</h1>
<p>Do Books&rsquo; &lsquo;Why?&rsquo; - &lsquo;helping busy people make positive change&rsquo;, etc. - works because it defines a specific benefit for people with a specific need. It&rsquo;s meaningful yet also doable - which makes it exciting to Do Books&rsquo; customers, authors, employees and partners.</p>
<p>If your current &lsquo;Why?&rsquo; is too fluffy, like &lsquo;great content&rsquo;, &lsquo;better books&rsquo; or &lsquo;spreading knowledge&rsquo;, it will have the opposite, demotivating effect of corporate jargon. Keep asking these questions to refine it:</p>
<ul>
<li>Who are our customers?</li>
<li>What needs do our books meet?</li>
<li>How do our customers change as a result?</li>
</ul>
<h3 id="an-example-dialogue">An example dialogue:</h3>
<blockquote>
<ul>
<li><p>&lsquo;We&rsquo;re all about better books&rsquo;.</p></li>
<li><p>&lsquo;OK. Better for whom?&rsquo;</p></li>
<li><p>&lsquo;Children. Reluctant readers, aged 7-11.&rsquo;</p></li>
<li><p>&lsquo;How do these children change as a result of our books?&rsquo;</p></li>
<li><p>&lsquo;They develop a love of reading, which helps them catch up with their peers and succeed at school and in life.&rsquo;</p></li>
<li><p>&lsquo;OK, so our &#39;Why&rsquo; is: helping reluctant readers aged 7-11 to develop a love of reading, so they can catch up and succeed at school and in life.&lsquo;</p></li>
</ul>
</blockquote>
<p>You&rsquo;ll know you&rsquo;ve finished when you have photographic clarity on your delighted customer, and the image genuinely fires you up. In this case, it could be a child glowing with praise, on receiving a greatly improved school report.</p>
<p>A good &#39;Why&rsquo; begs its follow-up &lsquo;How&rsquo;, which you will now find easier to define through a process of experimentation - although that&rsquo;s a subject for another post.</p>
<h1 id="in-summary">In summary:</h1>
<ul>
<li>Simon Sinek&rsquo;s Golden Circle are a great tool for refining your mission and strategy.</li>
<li>You can apply the Golden Circle either to your publishing business as a whole, or to an individual book.</li>
<li>Making a shift to customer centricity requires us to &lsquo;Start with Why?&rsquo;</li>
<li>To define your &lsquo;Why&rsquo;, ask &lsquo;Who are our customers?&rsquo;, &lsquo;What are their needs?&rsquo; and &lsquo;How do they change as a result?&rsquo;</li>
<li>To define your &lsquo;How&rsquo;, consider your strengths. In what ways could you meet these needs better and more efficiently than the competition?</li>
<li>Use your &lsquo;How&rsquo; to inform the design of your &lsquo;What&rsquo; at every stage of the publishing process.</li>
</ul>
<p>The clearer your Golden Circle, the more desirable your products and the more efficient your process. Better sales and reduced cost will improve your margins. And as you reinvest in your books, authors and staff, a virtuous cycle of profitability will begin. Momentum will pick up. And the beauty of independent publishing is the freedom to reap the benefits for years to come.</p>
<h1 id="finally">Finally:</h1>
<p>I&rsquo;d love to find out if Bibliocloud could support your publishing mission. We&rsquo;re the IPG-award winning publishing management system that transforms your workflow and your metadata. <a href="http://bit.ly/2hxqlEy">Click here to answer a few quick questions and request a free demo.</a></p>
The right tool for the jobhttp://bibliocloud.com/blog/right-tool-for-the-job/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>“What you have to understand about us,” says every publisher ever, “is that we are a little bit different. We’re not like everyone else.”</p>
<p>I talk to a wide range of publishers about their workflow and processes, and it’s true that each publisher’s route to market is crafted to suit their particular style, culture, genre and habit. But there are, however, some overriding themes that emerge across publishing programs. And there are discrete types of tools that can be usefully applied at different points along that workflow.</p>
<p>The earliest part of the publishing process is also the vaguest. The sketchiest editorial ideas exist in commissioning editors’ heads and notebooks; ideas for new projects emerge in scattered conversations at conferences, in pubs, on emails. In this primordial-soup-like stage, you want to capture the idea so it’s not lost, but you don’t want to have to enter masses of data into a system about something that may be as vague as “series of books about poultry in art history.”</p>
<p>Systems that allow you to capture the essence without much detail are useful here—but which ideally can be added to as the idea grows and takes on a more solid form. Trello, a card-based system, is good for this, as is Pipedrive. These tools are based on the Kanban system developed by Toyota in the 1970s to help manage manufacturing processes, and are time-tested to be pragmatic and good at moving items along a process. In our commissioning process, brevity of data entry, coupled with data integrity, is a great asset.</p>
<p>As an idea takes shape, more data needs to be added so that the commissioning team can take the idea to the editorial decision-making stage. At this stage, we consider both the editorial and the financial arguments: the words and the numbers. In the absence of an actual publishing management system, Google Docs and Google Sheets are remarkably helpful tools here. Think of them as Microsoft Office tools that a team of twenty can edit simultaneously. Literally, simultaneously! You see your team members’ edits appearing on the page in front of you. The de-duplication of effort is a great step forward compared to emailing different versions of spreadsheets around, and it’s a great initial exercise to encourage often autonomous team-members to learn to collaborate. Your mantra here should be “one version of the truth.”</p>
<p>After sign-off, you’ll prepare a draft contract to begin negotiations with the author or agent. Again, an integrated publishing management system is the gold standard here, but in its absence there are some document collaboration systems which are truly superb. It’s worth checking out PandaDocs, which allows you to create documents, such as proposals and contracts, from templates, and then mail them to recipients. The best bit is that you can see not only when the recipient viewed the document, but also the percentage of time he or she spent on each page. You can digitally sign the contracts and manage the back-and-forth negotiation with elegant comments, notes and discussion threads.</p>
<p>Now on to manuscript development and the start of the selling-in process. At this stage, there are a lot of moving parts, but there are particular pieces of data that can dramatically affect a wide range of people. Let’s take the manuscript delivery date, or the pub date: if either of them changes, the team members affected range from goods-in and sales to third-party distribution services, your print buyer and the PR team. A beneficial tool here is Slack, a team-messaging app that integrates with any number of services. It’s trivial for any software to integrate with it, too, so there’s no reason why you can’t use it with your existing infrastructure. You can get growl-type notifications that pop up, if you like, or, if you prefer not to be interrupted throughout the day, you can review notifications in batches. So the whole team can be alerted to a slipped date without having to be emailed, or having to log on to a scheduling system.</p>
<p>When we get to the production stage, the process tends to become a bit more predictable. At this stage, we tend to do the same sorts of things, again and again: briefing typesetters, designers and proofreaders. First proofs, second proofs, corrections. Confirming the print quantities. Our processes tend to form a series of dependent, repetitive, ordered tasks, and Gantt chart schedules are great for managing these. I also like seeing dates in a human-friendly format, such as on a calendar. If you use systems that express dates in the iCal standard, you can see dates in Google, Outlook or other preferred calendar programs. CapsuleCRM does this quite nicely and is great for managing multiple complex projects.</p>
<p>Tying the whole publishing process together requires some underpinning software: systems that span the entire process of publishing. Accounting software is a good example. I use FreeAgent, and Xero is another excellent choice for 2015. Both systems have beautiful, flexible APIs, which means they integrate with tools like Float for cashflow analysis, Shopify for e-commerce, CapsuleCRM for customer relationship management—in fact, I counted over 100 integrations on a Google search. Compare that to a client-server tool where your only options are .csv files bouncing around the place: more expensive, less flexible, less beautiful, less functionally rich.</p>
<p>The trick to using software productively is to ensure that you use as little of it as possible to limit the complexity of your infrastructure, and that the software you do use plays nicely with its companions. The tools we’ve looked at here all benefit from beautifully-crafted APIs that allow them to be integrated with other tools. That means that you enter data in one bit of software and it magically appears in another, saving time and avoiding duplication.</p>
<p>Whatever tools you decide to use, make sure you pick ones whose developers have paid as much attention to how their product works alongside other software as their core offering.</p>
<p>November 10, 2015</p>
Menial publishing jobs are destroying our futurehttp://bibliocloud.com/blog/menial-publishing-jobs-are-destroying-our-future/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>It is easy to look at a creative, or an entrepreneurial person and assume that they do what they do because they were always 100% confident they had what it takes to make it.</p>
<p>I haven’t applied for a job for years, gods be thanked, but I recently stumbled upon a job advert for an entry-level trade publishing job. And it made my blood boil. So I Googled other entry-level trade publishing job specs to see if it was a one-off. It wasn’t.</p>
<p>To my eye, these job ads read like something from the 1950s. They require the lucky applicant to engage in “order processing”, to “maintain grids” (read: spreadsheets), to take minutes of meetings. They call for “strong IT skills”, but suffix that with “including Word and Excel”.</p>
<p>“Word” and “Excel” are not “IT skills”. They are typing. We recruit young, pretty women (go on, deny it), and we give them secretarial jobs.</p>
<p>Eventually they will get promoted, usually without an ounce of formal management training, into project management roles, supplier management roles, people management roles, data management roles. They will likely struggle, because they have to intuit an entire suite of management skills from first principles, from trial and error. They aren&rsquo;t given the long-term development support necessary to be competent in senior management roles.</p>
<p>We are guilty of keeping junior publishing roles menial and manual. Further up the ladder, we are guilty of failing to help the women we’ve hired to be successful in management roles.</p>
<p>Why are junior publishing roles menial? Why are we still getting humans to do the work of computers? On every level, it’s ridiculous. Humans cost companies a fortune. They require management by other, more expensive humans. They get bored easily, because of their big brains. Administrative, repetitive, rote, data-entry work isn’t their forte. So they make mistakes — typos, copy-and-paste errors, calculation errors. The humans in question have likely spent a fortune on an education and could be using their brains for thinking, and creative tasks. They joined publishing because they wanted to create wonderful books — and they’re left wondering why copying and pasting between Excel, Word and InDesign feature so heavily in this ostensibly creative process.</p>
<p>Junior roles stay menial because the people writing the job ads don’t know what computers can do. They don’t know what normalisation is: they are happy to build a company that survives on multiple “master grid” spreadsheets containing proliferating variations on the same sort of data. They are happy to pay people £20,000 a year to copy and paste data from one bit of software to another because they don’t know that you can, for instance, get a computer to populate sales presentations, tailored for each recipient, from a single data source, or integrate order processing systems with APIs.They pay people thousands and thousands of pounds to do mundane tasks such as this manually — again, and again, and again.</p>
<p>Better-specced junior roles could underpin a technically-expert publishing industry. Our home-grown talent would know how to harness the power of computers — not by briefing a third party agency, but by using their own hands — to make amazing products that compete properly with other media, that find wider audiences. As an industry, we’ve never been the leading authority on our own product.</p>
<p>When print books were all the rage, it wasn’t publishers who were the experts in bindings, paper technology, FSC supply chains, ink technology: it was the printers.</p>
<p>In the digital format age, few publishers know how to write an iOS app, or hack an ebook, or write a transactional website to accompany a series.</p>
<p>We are the middle men whose role is to manage external experts. Middle men get disintermediated.</p>
<p>How are we stopping women from being successful in later management roles? Our junior roles, from which future managers develop, don’t provide testing and difficult opportunities to think critically. I&rsquo;m not just leading up to a big pom-pom wave about how everyone should learn to code: I&rsquo;m talking about rehearsing any sort of difficult, logically-minded activity. We still celebrate gut feel in our company cultures. We rarely train our juniors in influencing skills or project management techniques, or provide them with the practice to develop the mental apparatus to logically unpick a problem.</p>
<p>We have managing editors &ndash; professional project managers, in other words &ndash; who don’t know what a critical path is (and no, it’s not a list of dependent tasks). Gantt charts confuse them. They’ve not heard of Kanban methodologies. I cringe when I hear a publisher talking about adopting agile methodologies: they’ve heard the buzzword but they haven’t put in the hours of research to know what it really means. We’re not providing the foundations from which competent managers can emerge.</p>
<p>As an aside, if publishing suddenly did skill-up and have project managers with formal project management skills, then chances are the big personalities wouldn’t let them do their jobs, anyway. Some publishing companies are ruled by editorial magnates, production supremos or board-level benign dictators — no amount of project management theory would override their ‘gut feel’ rulings. If the publishing director wants to change the price and print run three weeks before publication — well, everyone had better just jump, and to hell with the consequences on metadata accuracy and paper buying.</p>
<p>Learning to program a computer is one skill which would put juniors in a strong position to be thoughtful, powerful and competent managers of the future. But in the six months since I’ve been writing regularly for The FutureBook, I’ve met no more than half-a-dozen people who have made steps towards learning a little code. Out of exasperation at the state of affairs, the Bibliocloud team are running our subsidised Try Programming course again in September, as part of the Oxford Publishing Group training initiative, and you should come. But it’s just one course in a vortex of functional, modern training provision. There should be advanced publishing-flavoured courses on Swift, or Liquid templating for designers, or Rails, or Go, or iOS frameworks. We should not be providing the only publishing-specific coding course.</p>
<p>Growing fit-for-the-future talent is a multifaceted problem. It’s to do with hard and soft skills training, and it’s to do with a combination of in-house training, personal development and hiring strategies. I would love to see job application processes for junior publishing roles which ask the applicants for their Github profile, for their open source contributions, and for a proposal on how they’d create and, crucially, implement &ndash; without recourse to expensive, disengaged external agencies &ndash; an integrated marketing campaign for a title. I would love to see training programmes that help to progress people, particularly women, in a meaningful career.</p>
<p>Hm. Perhaps I’ll write all this up in response to The Bookseller&rsquo;s call for Manifestos for the Future of the Book Business &hellip; because without appropriately-skilled people, we won&rsquo;t have one.</p>
<p><em>Originally written for and published by <a href="http://www.thebookseller.com/futurebook/emma-barnes-menial-publishing-jobs-are-destroying-our-future-307483">The FutureBook</a>, July 2015</em></p>
Why publishers must use direct saleshttp://bibliocloud.com/blog/why-publishers-must-use-direct-sales/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>If you were writing a business plan to set up a new consumer goods business, which of the following two strategies would make most sense?</p>
<p>Strategy 1: Identify a market which, while mature, has publicly suffered of late, with a series of high-profile failures, and whose future is uncertain. Agree with these high-risk target customers that they can return your goods for full credit up to 18 months after invoice. Agree to a pricing structure with them for your products that will be only a shade more than they’ll cost you to manufacture. Agree to weak terms of payment 90 days after end-of-month of invoice. Get your products designed, specified and pretty much ready for sale 12-18 months ahead of when they’ll actually go on sale. Go to extraordinary lengths to woo customers, begging and scraping for your product to be one of the lucky ones picked for listing, and fail more often than not. Manufacture more than you’ll likely sell, six months beforehand, and pay for storage of the excess stock until you write it off.</p>
<p>Strategy 2: Have your product time to market capped at 12 weeks. Manufacture little and often, maintaining a low stockholding policy, using just-in-time manufacturing principles to keep stock fresh and fast moving and stock storage costs low. Maintain virtual inventory wherever possible. Identify customers who demonstrate their demand for your products early and vocally, allowing you to forecast sales based on real customer demand data. Ensure that you can access those customers directly, through email contact, or at events that you know they’ll attend, so that you can check that they’re happy, hear what their feedback is and talk to them about your next products. Sell to them at a price well above cost and ensure logistical expenses are covered.</p>
<p>Strategy 1 is, you guessed it, trade publishing. Strategy 2 is direct selling of POD or short-run physical books and ebooks. If I were pitching Strategy 1 to an investor, I’d never get it approved.</p>
<p>I write this on what the UK media refer to as Panic Saturday, the last weekend before Christmas, as retailers slash prices to clear their overstocks. UK Black Friday was a washout because the market has shifted online, and brick and mortar retailers no longer enjoy a semi-monopolistic position. Customers have options for where they spend their money—not just bricks and mortar, but online, and direct, too—and they’re exercising them.</p>
<p>Sure, I love bookstores. I love museums and forests, too. But I have a small business to run, authors and staff to pay, kids to feed. I have to take a pragmatic approach to risk management. As a customer group, to me, bookstores are low margin and high effort. Their business model is under threat. The supply chain they favor features high returns and long lead times. It’s not my job to speculate as to whether bricks and mortar retailing has a future (as someone who enjoys shopping in them, I hope they do). But as a business owner, all I see is what’s in front of me this year, now, which is that retailers are no longer as attractive to a customer group as they once were.</p>
<p>Over the last few weeks, my little publishing company has enjoyed a runaway success with a bestselling paperback that happens to be rather novel. It took off because of a Facebook post, which got 500 shares in the first day, then 1,000, then 6,000. The orders have all come through our own website. Why’s that? Because for the first six weeks, it was the only channel to market for this book. This method allows me to know who ordered it, and from which device. I know their email addresses and whether they’re willing to hear more news from us about similar books. I know what they think about the book because I can see their posts about it on Facebook. They paid enough to cover postage and packing, and, since each bought only one or a couple copies, there was no discount on the retail price.</p>
<p>And as well as those who kindly bought the book, I know a lot about those who didn’t. I know who put the book in their basket and what time they abandoned it. I have their email addresses, so I can provide them with incentives or a simple reminder to complete their purchase. For future visitors to our site, I can offer them bundled deals, and I can let people know when the next book by the author and illustrator is out. I can keep them posted on wider news through our newsletter and I can say thank you for being a customer by emailing them discount codes.</p>
<p>Direct sales provide higher margins, and they allow a direct relationship with the reader, which affords amazing insights into what customers actually want. It’s a business model I’d be far happier to bet the farm on than the alternative.</p>
The business case for going directhttp://bibliocloud.com/blog/the-business-case-for-going-direct/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>“You are being defeatist if you think your website is just about building your brand—even though it’s certainly about that, too&hellip;Publishers that assume Amazon has won their customers for good will be proved absolutely right.”</p>
<p>I wrote this article about why publishers should sell direct for DBW in February 2015. Read the full article at <a href="http://www.digitalbookworld.com/2015/to-go-direct-publishers-must-mean-business/">Digital Book World</a>.</p>
No computer system can fix a broken publisherhttp://bibliocloud.com/blog/no-system-can-fix-a-broken-publisher/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>With stability taking hold of the hybrid print-digital market after years of rapid ebook growth, many publishers are turning to evaluate how workflow automation and other IT solutions can streamline their businesses and make them more efficient.</p>
<p>That’s undeniably a good thing, but as I’ve written before, the allure of a new digital system or solution can sometimes introduce new problems in an earnest bid to solve old ones.</p>
<p>I talk to a wide range of publishers interested in implementing our Bibliocloud publishing management software. But before we ever get to talking about databases, metadata management, interfaces or legacy data migration, we close the laptops, get out a Sharpie and some Post-It notes and talk about business process.</p>
<p>The point at which a publishing business starts to think about putting in place a new management system is a great time for a spring-cleaning of its processes. In fact, whether a publisher realizes it or not, the reason they think they need a system is usually because of problems with process, not data.</p>
<p>Yet that bigger picture rarely gets the level of scrutiny it deserves amid the daily hurly-burly of trying to keep a thousand tasks, deliverables and projects on track.</p>
<p>When publishers take the time to reflect on how they work and how well it’s working, though, they tend to arrive at more intentional and efficient ideas about their workflows and processes. That’s why we encourage all our clients to let us facilitate a day’s workshop for them. At those workshops, in the morning, we document how things work in the business, right now, using Post-It notes and a big wall.</p>
<p>We talk about how a publication gets from soup to nuts. We talk about how commissioning and acquisition works, about how the business considers and approves a manuscript put forward for consideration. We document how long the business allows for a book to go through its various stages of development. We write down all the discussions that have to occur and layers of approval that have to be passed—who’s involved and what each step is for. We write down all the names of the various documents that hold data. We articulate exactly how things normally happen to get a book to market in all its formats.</p>
<p>Do you know who, for instance, is in charge of writing back-cover copy in your organization? And who then signs off on it? Do you pass it by the author for approval? Or to senior editors to make sure that an imprint-level view is taken? What about series editors—do they have a say?</p>
<p>What about cost sign-offs—is there a stack of invoices waiting to be approved by senior managers? Can they see the context in which they’re signing them—whether they signify an overspend or are within budget—or is it just a pile of invoices needing signatures?</p>
<p>How do you handle a project’s transmittal from editorial to production? How long do you allow for proofreading? Is your in-house design team actually capable of meeting the deadlines for first and final cover drafts that editorial assumes to be reasonable?</p>
<p>What’s your canonical source of metadata? How many spreadsheets get maintained by different departments and individuals that contain roughly the same data?</p>
<p>And what we always discover—without exaggeration — is that there’s a lot of duplication, and a lot of assumptions about who does what, and when.</p>
<p>Lunch can be a sobering affair, during which the team may reflect, with some dismay, on their working practices. Don’t confuse that with snark; I would challenge any publisher to go through this exercise and feel that their workflow resembles a finely tuned machine.</p>
<p>Things pick up throughout the afternoon of our workshop, though, as it’s our chance to redesign the process for the future. The bottlenecks and duplication of data and effort that seem so obvious after our morning’s work get eliminated from the plan. We have some great, spirited discussions about who, precisely, should do what. I often see real relief from people who’ve been living with the effects of a poorly articulated process, who see simplification and clarity on the horizon for the first time in years.</p>
<p>It’s an exhausting day, as you can imagine, and sometimes it’s the first of many. But in time I email the team the first draft of their own “Publishing Manual.” It’s a document that, after many edits, refinements and discussions, will eventually be given to every new hire—“this is how we do things here,” with every part of the publishing process clearly written down. Responsibilities articulated, authority made clear. The roles of departments and individuals defined in writing. Timescales (both normal and crash schedules) laid out.</p>
<p>The document names meetings, and their frequency, attendees and expected outcomes. It states how the team will manage the canonical version of every sort of data, from contacts and schedules to metadata and printer estimates.</p>
<p>And almost as an afterthought, the Publishing Manual contains information about how the IT system will help—where the data will be entered and maintained, where meeting minutes will be captured and actioned, how sign-offs get stored and so on.</p>
<p>Because configuring a system to support a particular process is the easy part. Figuring out what the process should look like, on the other hand, is the larger problem. It’s emotionally charged, challenging, difficult and often frustrating. But it’s necessary and, ultimately, hugely beneficial for the business.</p>
<p>And it’s a prerequisite for the success of any significant systems implementation.</p>
Publishers hack their own bibliographic datahttp://bibliocloud.com/blog/publishers-hack-their-own-bibliographic-data/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>Well, that&rsquo;s an intriguing headline.</p>
<p>Perhaps an even more stunning headline is <q>Publishers Hack Their Own Bibliographic Software and the Software Provider Rejoices</q>.</p>
<p>There was jubilation in the Bibliocloud office yesterday when Nick Barreto at <a href="http://www.canelo.co/">Canelo</a> sent an email about his shiny new tool that helps his team search Bibliocloud data from inside <a href="https://slack.com/">Slack</a>.</p>
<p>It&rsquo;s a fairy tale of well-built software supporting a forward-thinking publisher to streamline their workflow, so they can focus on the publishing.</p>
<p>In fact, it is the story of Biblicloud itself &ndash; publishers knowing what tools they need, having or gaining the coding skill to make those tools, and making them happen. No need to spend vast sums of money training developers that don&rsquo;t understand the domain. Just spend a bit of time and get it done.</p>
<p>How can your team save time? Get the information to where they already are. Nick&rsquo;s solution should save his team much clicking. We are so proud to have software that can support extension and improvement and innovation.</p>
<p>On top of that, Nick has made <a href="https://github.com/NickBarreto/slash-Bibliocloud">the code for the Slack integration open source</a>, so that any other Bibliocloud customer can use it. This is exactly the kind of community we want our customers to be a part of, exactly the kind of community we want publishing to be. Let&rsquo;s spend less time on drudge so we can spend more time selling books.</p>
<p>So, join us in celebrating <a href="https://twitter.com/nickbarreto">Nick</a> and all #publisherswhocode. We look forward to sharing and creating more innovation and automation with you in the future.</p>
ONIX Changeshttp://bibliocloud.com/blog/onix-changes/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>When first discussing an ONIX feed with a potential recipient, amid all of the minutiae of their preferences is one key question: <q>Incremental?</q></p>
<p>Even in an email there&rsquo;s a certain tone about it &ndash; the tone of an organisation that thought it would be fine to get complete catalogue feeds from small publishers ten years ago, and is now up to their midriffs in files and data, and please can you let us know only when something has actually changed? Thanks!</p>
<h3 id="the-problem">The Problem</h3>
<p>It&rsquo;s a pretty serious situation to be in, when you are receiving 8,000 product records from a trading partner. ONIX is an XML standard, and XML processing is not entirely low cost. With modern processor power and efficient software libraries you wouldn&rsquo;t really notice the processing of a single ONIX record, but combine the reading of the data from hundreds of files with a comparison against the data you have stored for those products to see if they need updating and you can be into some serious processing time. And the thing about time is that there is only so much of it in a day. Having once worked for a company whose main product took around twenty-four hours to process a daily file, I can tell you that that situation is absolutely paralysing.</p>
<p><em>Fun fact: this company had no ability to restore their database from backups, because switching it to a mode that would allow consistent backups to be taken potentially threatened the processing window. I say <q>potentially</q> because they had no way of testing whether it would or wouldn&rsquo;t without trying it, and they couldn&rsquo;t afford the time to do so. They still actually took backups, even though they could never be used, presumably because cognitive dissonance wouldn&rsquo;t let them stop, even though the act of taking a backup that could never be used added time on to their daily processing. It&rsquo;s OK &ndash; I&rsquo;m happier now.</em></p>
<p>But change detection is hard. Bibliocloud is written in Ruby On Rails, and therefore by default we have create and update timestamps on every product record, every price record, every work, marketing text, cover image, imprint, contributor, sales agent, supplier, etc., along with audit trails that tell us exactly what was changed and when by whom. In some parallel universe there definitely exists a civilisation that can use that data to tell you whether an ONIX record has changed since a particular historical point in time, possibly using seven-dimensional quantum blockchains.</p>
<p>But this is what many people&rsquo;s first plan is when approaching such a problem. <q>Got a timestamp?</q> is the give-away question, but let&rsquo;s consider why that approach fails for any but the most trivial situation.</p>
<h3 id="what-was-the-change">What was the change?</h3>
<p>Firstly, it is not enough to know that a row of data was last changed two days ago, in order to know whether the data has changed since you last sent it a week ago, because this clearly doesn&rsquo;t tell you whether it also changed fifteen seconds prior to that last change, and therefore whether the latest change was to correct a mistake previously made. A price changed from $10.00 to $101.00 and then back to $10.00 is no change at all, but your timestamps don&rsquo;t know.</p>
<p>That in itself means that you can&rsquo;t use timestamps alone, but if you have access to data change logs then maybe you can detect whether the data actually changed. We use an open source Ruby library that allows us to say <q>what was the data like for this record as-of one week ago?</q>. Not only can we tell if there were any actual data changes, we can tell exactly which items of data changed.</p>
<p>That still doesn&rsquo;t quite get us to a solution, for two further reasons.</p>
<h3 id="do-we-care-about-that-change">Do we care about that change?</h3>
<p>As I wrote in a previous article, every ONIX recipient has an à la carte requirement, and a change in the main Thema code for a work may not affect the ONIX to be sent to a particular recipient. While it&rsquo;s arguable that ignoring those some of these differences doesn&rsquo;t do much harm to recipients in general &ndash; they&rsquo;re only receiving a bit of extra data, after all &ndash; my feeling is that it would tend to do harm to particular recipients disproportionately. And those would be the recipients who should be the least trouble, who don&rsquo;t actually need much detailed metadata (rights management agencies, for example).</p>
<p>So as a point of principle, I feel that we should care about these changes.</p>
A publisher’s guide to APIshttp://bibliocloud.com/blog/a-publishers-guide-to-apis/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>API is one of those acronyms you hear bandied about. “APIs”, people say, “are vital. Vital!” But if, as you fervently nod in agreement, you’re thinking of another acronym — “WTF?” — then this article is for you.</p>
<p>“API” stands for “Application Program Interface”, which means “a way to interact with a program”. Actually, the sorts of APIs that people get most excited about nowadays are RESTful APIs. In English, that means “a way to send and receive data between programs on different computers, over the internet”.</p>
<p>If you can get computers to send data to each other, that can be very useful indeed. (It’s why the notion of the internet was so moreish.)</p>
<p>For example, you can get data from Amazon’s computers onto the computer that runs your website, which can display it. Even better, you can get your own computer to look at the data that Amazon’s computer sends you and check if it’s correct — so you don’t have to visit 100 Amazon pages to check with your human eyes. You can get the data of your Twitter feed from Twitter’s computers and display that on your own website — or, even better, you can ask Twitter’s computers to send you every tweet that contains a mention of the next 90 books you’re launching and display them on your website, without you having to look each of them up.</p>
<p>You can write your own API so other computers can access your data, too. You could turn the chapters and paragraphs of your forthcoming book about Edinburgh Castle into data that other people’s computers could get, and they can display it on their own websites, or in an app, alongside their own design, pictures and content.</p>
<p>You probably knew all that. But you might not know how it actually works. First off: what does an API look like?</p>
<p><a href="https://www.googleapis.com/books/v1/volumes?q=isbn:9781909679368">Here’s the result of a query, or ‘call’, to the Google Books API.</a> Here’s the call that was made:</p>
<p><code>https://www.googleapis.com/books/v1/volumes?q=isbn:9781909679368</code></p>
<p>Ooh, that’s familiar! It’s a website location! When a computer queries an API, it’s going to a normal old website location, handing over any username and password that’s required, and fetching whatever’s there, or posting new data to the program.</p>
<p>Click on that link so it opens in Chrome or Firefox and you’ll see that the result of an API call is… data. Structured data, though, arranged in a format that’s more convenient for computers than humans to understand (in this case, JSON). It’s still got English words in it, though, so we’re in with a fighting chance of understanding it. You can pick out “authors”, “title”, “ISBN_13” and so on in all that.</p>
<p>And if you know a bit of programming, you can display that data nicely on a webpage. Have a look at this JSFiddle (which is a handy free tool for fiddling around with javascript and html, as the name suggests):</p>
<iframe width="100%" height="300" src="//jsfiddle.net/Bibliocloud/bbxpa7fs/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe>
<p>The Result tab shows the data presented nicely, pulled live from Google Books. The Javascript tab shows how it’s done. Neat, huh?</p>
<p>Now – this is the cool bit. You’re going to run your own API query.</p>
<p><a href="http://jsfiddle.net/Bibliocloud/bbxpa7fs/">Click here to edit the JSFiddle</a>. Don’t worry – you can’t break anything. You’ll see four panes. The first has the HTML – that’s the language that webpages are written in. The one beneath that has some javascript – that’s a language that can perform actions without having to refresh the browser. At the top of the next column is the CSS, used for styling a webpage (and this pane is blank – we’re including a style library called Twitter Bootstrap, automatically). And beneath that we have the result – exactly how the code looks on a web browser page.</p>
<p>Find the line in the Javascript pane that reads:</p>
<p><code>$.getJSON(&quot;https://www.googleapis.com/books/v1/volumes?q=isbn:9781909679368&quot;, displayBooks);</code></p>
<p>and change the text <code>isbn:9781909679368</code> to something of your choice. So: say you want to search for books about quilting. Change it to this:</p>
<p><code>$.getJSON(&quot;https://www.googleapis.com/books/v1/volumes?q=quilting&quot;, displayBooks);</code></p>
<p>Now click on Run, top left. And see what happens in the results pane! You have made a little scrolling AI all about quilting. Try something else: churches, or snow, or programming. Tinker with anything else on this fiddle and see if you can use other bits of data from the API.</p>
<p>So well done: you’ve had a tinker with the Google Books API. There are loads of APIs out there – from Flickr, LibraryThing, Goodreads, Open Library, and Bibliocloud, of course. <a href="http://www.programmableweb.com/news/53-books-apis-google-books-goodreads-and-sharedbook/2012/03/13">Here’s a list of 53 of them</a>. The possibilities are endless and it doesn’t take long to learn enough code to be in control of the world’s data.</p>
<p>Exciting, isn’t it?</p>
<p><em>Originally published on <a href="http://bookmachine.org/2015/01/28/publishers-guide-apis/">BookMachine</a>, January 2015</em></p>
Creative industries and the division of labourhttp://bibliocloud.com/blog/creative-industries-division-labour/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>How do you arrange people in a modern company?</p>
<p>It’s an endlessly interesting question, and one that needs a new answer with every shift in technology and the markets.</p>
<p>Do we use the 240-year-old Wealth of Nations by Adam Smith as our handbook? Smith’s ‘division of labour&rsquo; argument makes sense for the manufacture of pins, but what relevance does it have to the two creative industries that I’m interested in: publishing and software creation? Sure, there are certain technical elements to writing software—and some expert niches in publishing—that lend themselves to specialisation. But they’re fewer than you’d think. To force people to confine themselves entirely to one functional silo is to waste the creative potential of a good human brain, and the cross-fertilization opportunities of human experience.</p>
<p>There is a neat parallel between the best way to design a systems landscape, and the best way to design a network of people. When we implement Bibliocloud for publishers, the difficult bit is never the training or the data import. The difficult bit is the integration with legacy systems. It’s one of the reasons why we’ve built Bibliocloud to have such a wide breadth of functionality, so we have to integrate with as few systems as possible, and ideally with those of our choosing (the ones with decent APIs).</p>
<p>And it’s the same with people. The fun bit of any job is actually doing the job—and the worst bit is trying to get other people to help you, support you, to do the bit of the process that you need them to do before you can do your bit.</p>
<p>Systems implementation pain is in the interface with other systems; job pain is in the interface with other people.</p>
<p>So why not design teams so there’s a limit on the extent of that interfacing requirement?</p>
<p>Why not have the same breadth of functionality in your job as ERP vendors like us build into their software, for the same reason: so that you have as much control, elegance and simplicity as possible? And, as a nice side effect, you design far richer and more varied jobs.</p>
<p>&lsquo;Far richer and more varied jobs&rsquo;
People cost companies a fortune in payroll, and so you want to get the most out of them. Putting them into functional silos does two things:</p>
<p>It radically increases the amount of time your people spend inwardly-focussed in the company, persuading each other to do things, and
It radically decreases the creative output of people, because their sphere of thought and influence is limited to one specific area.
Think of the digital ghettos that have formed of late in publishers, where management have cleaved off the “digital team” into their own corner, split apart from editorial and marketing, tasked with following their own separate agenda and priorities.</p>
<p>How much more interesting their output would be if they were integrated within the engine room of the company, present at the inception and during the development of books, rather than operating as a bolted-on afterthought, producing bolted-on afterthoughts.</p>
<p>&lsquo;Try to limit the number of times a task has to be handed off&rsquo;
At my publishing company, we take this to extremes. One person does everything to do with a book, from acquisition to AI. Publishing isn’t engineering or medicine: every task in publishing can be learned by an enthusiastic person with a training budget, an eye for a nicely-turned phrase and a certain facility with Photoshop. But most companies won’t be quite as radical. Even so, you should try to limit the number of times a task has to be handed off to another person or department: that’s where the cost and complication lies.</p>
<p>The modern company needs to consider what success looks like for the whole mission, not just for each individual, and department, and then measure the whole joined-up team on that group achievement. So the trick becomes defining what that mission is. For us, success means “make things better”, not “produce software”, and that simple goal allows us to do away with more granular schemes of control, and enables a flatter hierarchy. Command and control isn’t necessary when everyone knows the grand plan and has the liberty and trust to do away with careful monitoring.</p>
<p>Specificity can be helpful here, though. Rather than your generic “become number one in the market”, make your goals more human-scale. Make them span all the roles in a process, and directly relate them to the work that people do. Success can mean “produce a high quality book, market it to the right audience and sell as many as possible” — which everyone involved in the book can understand, can relate to their role, can buy-in to and can feel proud of their contribution to: from the person who typesets, to the person who commissions, to the person who does the quarterly sales presentations.</p>
<p>Having control over a vast amount of the creative and business process may be daunting, but it’s a recipe for simplicity.</p>
<p>When you are all focussed on the same fundamental goal, you might have programmers participating in marketing, PR having input to editorial, editors helping with sales, production interested in customer service.</p>
<p>You’ve got a joined up process and goals that make sense to individuals and the company alike — a necessary state of being for a fluid, nimble, modern company.</p>
<p><em>Originally written for and published by <a href="https://www.thebookseller.com/futurebook/creative-industries-and-division-labour-emma-barnes-320300">The FutureBook</a>, January 2016</em></p>
Embrace the codehttp://bibliocloud.com/blog/embrace-the-code/2018-01-01T00:00:00+00:002018-08-09T11:32:32+00:00Bibliocloud team<p>When I graduated with an archaeology degree in 1996, and got a job as a management trainee for a global retail group, I had no idea that 8 years later I’d co-found an independent publishing company. And when I co-founded that independent publishing company, I had no idea that, 13 years further on, I’d find myself a professional Ruby on Rails developer.</p>
<p>Life is weird. And you can’t plan it out. All you can do is try to be happy, and learn as much as you can on the off-chance that it’ll come in handy. I’ve got lucky: not only do I run Snowbooks — a lovely little publisher of amazing books — but nowadays I’m CEO-programmer at Bibliocloud, our title management software which we’re formally launching out of beta at the London Book Fair this year.</p>
<p>A decade of steadily automating away the administrative drudge of publishing has left me a proficient programmer: first in XML and XSLT and now in the tools of the web development trade: Ruby on Rails, jQuery, SQL, HTML5 and CSS3 and database management on PostgreSQL. Using these tools, with my team, I’ve built Bibliocloud to be an enterprise management application which takes care of almost every aspect of our business. Snowbooks has relied on Bibliocloud throughout the app’s development: at the end of 2012 we started to license its use to other publishers and organisations.</p>
<p>Starting to code was not a frightening step into the dark, because I took baby steps. In 2003, I opened up an ONIX file. ONIX is XML, written more or less with English words. Figuring I could use it to populate AI templates, I tinkered with manipulating the XML until that was second nature. Coding is very moreish — start down the road, take small, incremental steps. Let the years pass and before you know it, you’ve got your 10,000 hours under your belt.</p>
<p>You shouldn’t think that you could never learn to code. My mental arithmetic skills are worse than my 6 year old’s. I would have been laughed out of a computer science degree interview. But I love patterns, and stories, and brevity and elegance: all the things that publishers are good at. You don’t know whether you can do it unless you try.</p>
<p>I learned to program because I needed something like Bibliocloud to exist so I could run Snowbooks properly. No-one else was going to write it, so I tooled up and did it myself. I had to go from a standing start, skills-wise, so it did end up taking quite a few years to progressively learn the right skills. But now I’m at the other end of the journey, it’s interesting to be able to compare life without coding skills, and life with.</p>
<p>And life without coding skills is awful! It’s chock-a-block full of admin. No-one goes into publishing to spend their days filling in repetitive, endless spreadsheets, surely? But unless you can manipulate data throughout your working day with little programs, you’re tied to the manual way of doing things.
If you can’t code, you don’t know what you don’t know. You don’t know what’s possible. You can’t be a digital creator because you’ve got no tools at your disposal, and no understanding for collaborating with others on such projects.</p>
<p>Only a select few publishers employ programmers at the moment. This will change, and the change will be overnight — but it takes time to learn how to code, so start now, or the new jobs will go to outsiders. Nowadays there are some amazing, cheap ways to learn programming — because people who can code are passionate about sharing their skills with everyone else. Look at Codeschool. Come to our own course, Try Programming for Publishers. Read The Rails Tutorial by Michael Hartl — by the end of it, you’ll have written your very own version of Twitter. Imagine!</p>
<p>In seven years, the kids who are currently learning to code in school, as part of the national curriculum, will be graduating. People with all sorts of degrees will have coding literacy, a skill as basic to them as English and maths. You’ve got a seven-year head start on them. Start to learn code now and you won’t be skilled out of the market before you’re 40.</p>
<p><em>Originally published as a guest post on the <a href="http://atwoodtateblog.co.uk/emma-barnes-embrace-the-code/">Atwood Tate</a> blog in April 2015</em></p>