May 11, 2007

Visual Syntactic Text Formatting

Years ago I saw some framed Bible verses made with scraps of paper and wire in a way that emphasized the structure of the text and specific words. (Gift products distributed by Zondervan — but I’ve forgotten the name.) It got me thinking about how text might be arranged on screen to enhance reading, and I did a little research on the subject. But I never figured out how to use that in Logos, or if it would be worth the trouble.

Today I found a link to Live Ink, which got me thinking about it again. Logos Bible Software users do a lot of on screen reading; would this help?

May 6, 2007

Karen Spärck Jones

Years ago I got up to speed on the field of information science by spending a couple days at a university library flipping through every journal in the field. I took each bound volume off the shelf in order and read the table of contents for each issue, and then every article that looked interesting.

Skimming 50+ years of journals is a great way to get an overview of a field – and to see some long term patterns. One of those patterns was Karen Spärck Jones, whose name seemed on to be on, or referenced by, many of the most helpful and interesting articles.
She was also the editor of Readings in Information Retrieval, which I was delighted to discover collected all the best articles in one handy volume.

I didn’t know anything else about her, though, until I saw her obituary today. It only served to impress me more. She developed and explored many concepts at the foundation of modern computing and won a stack of awards for a lifetime of achievement. All the more difficult, I imagine, in a field dominated by men. (“Computing is too important to be left to men,” she said in an interview this year.)

Karen Spärck Jones worked in language and information processing research for five decades, and if you have searched the Internet – or Logos Bible Software – you have been a beneficiary of her work.

April 23, 2007

Glimpsing the future

Today I saw a glimpse of the future. Today I was able to run queries against Scholar’s Library using our next generation search engine.
The new engine isn’t done, and it’s just one of many, many pieces we need to put together. But I saw enough to show me that our new ideas are going to work, and that they are going to deliver some very cool new functionality. (Think smart, fast, and across your entire digital library. And then think fast again.)

I always have a lot of confidence in the plans we make during design meetings. We start working on new ideas because we’re sure they’ll work. But it’s still a special moment when they actually do.

April 21, 2007

Respecting your customers

A friend is working on a business plan that involves selling a product she wouldn’t use. It’s a good plan, with great potential, but it seemed like she not only wouldn’t use the product, but that she didn’t respect many of the people who would.

Listening prompted me to ask if she thought she could be successful in a business where she had contempt for her customers.
It seemed like an interesting but not particularly important question. Lots of businesses seem to do just fine financially while exhibiting contempt for their customers. I just thought it wouldn’t be as much fun.

Weeks later we met again and she told me that she’d been thinking a lot about that question, and was revising her plan. It got me thinking about our customers.

Every once in a while the hard-core business guy inside me gets a little jealous of businesses with larger markets or wealthier customers or whatever. A stupid, “the grass is greener” moment.

Meeting or hearing from our customers always zaps that jealousy. (Or, rather, converts it into guilt and shame.) Because our customers are people I can’t help but hold in the highest respect: pastors, teachers, students, and others who are investing so much of their lives in Bible study, ministry, and teaching others. At every encounter I am humbled by our customers’ passion and enthusiasm for the Word and by their generosity and encouragement.

This week on the Bible Study Bus Road Trip a customer overheard a young man saying that he wanted to purchase a copy of Logos Bible Software, but couldn’t afford it yet. The customer pulled out his credit card and bought it for the stranger.

Today another customer sent me an email describing how the Lord brought him through a crisis of faith with a period of intense Bible study: “It is 3 years since that crisis of faith, and this little posting will never express how grateful I am to you and the team at Logos for putting this product together….Logos has impacted my life in a way that I can not really put into words…”

I can be foolish in many ways, but I am wise enough to know that Logos Bible Software is just a tool. It is just one of many ways the Lord works through His Word. He doesn’t need me, or Logos Bible Software. So it’s a privilege that He does use us, and an incredible blessing that “the business guy inside me” has been given a job, and a living, in a business that’s fun and encouraging and serving customers I could not respect more.

I have a friend who sells a mass-market service to hundreds of thousands of customers. I have another friend whose business sells primarily to billionaires. But I don’t know any business person whose customers would double a $500 purchase to give a copy to a stranger, or who gets letters about how their product was instrumental in a spiritual renewal.

I am so grateful to work on the greenest of all business grass.

April 19, 2007

Improving table support

We wrote the rich-text display engine for the Logos Library System, which lives on in the Libronix Digital Library System, before there was HTML. There was no XML, and SGML, its ancient ancestor, was huge and complicated and difficult to work with. (XML is just a dumbed-down version of SGML, which was too powerful for its own good.)

So we built our text format on RTF, which was the Microsoft Word export format, and also the basis for the Windows Help and Windows MediaView hypertext systems. Our goal was to support everything that Help, MediaView, and Word supported. (The supported feature set grew in that order.)

A pleasant side effect of this plan was that we had a powerful, WYSIWYG editor available for creating and testing e-books. We got pretty good at generating RTF manually, but RTF tables were terribly complicated. So we would often create them in Word and then export the RTF for the table and copy and paste it into the larger document.

We got an interactive table editor “for free”, but I felt a lot of responsibility to implement all the table features Word supported. I didn’t want people making a beautiful table and then discovering that our display engine couldn’t render it properly.

It was a lot of work, but eventually it was pretty thoroughly done. We support Word’s background colors and patterns, most of the border formatting (except multi-line borders joining at corners), and we can even rotate text in cells. (Lots of stuff we haven’t really used.) I tested our implementation by using Word to re-create the little cards in my wallet (insurance, punch cards, license, etc.) and then compiling them into an e-book.

The table model in Word is very powerful, but it’s very hard to type out freehand in markup. The HTML table model is easier to understand, is familiar to more people, and is also supported by many tools. And it is designed to work easily with a smart, dynamic sizing algorithm that optimizes column widths automatically. (Word has a paper-output orientation, and so its tables are generally fixed width, or at least fixed proportion.)

So that is why we’re messing around with our text display engine: to add support for HTML-style tables. Later this year we’ll be shipping books using the new table format, but you probably won’t be able to tell. Our text development team is the group that will really appreciate the change. They’ll have an easier workflow, better tools, and simpler markup.

April 18, 2007

A moment in the code…

Today I wrote some code: five lines and some comments. One of our developers needed to do surgery on the paragraph-wrapping code in our text display engine. Every line of every book goes through this function on its way to the screen. Since I wrote it in 1993 it has grown to accommodate new features, languages, and technologies…and it’s a bit of a mess.

The fact that it’s a mess is why I don’t write code anymore. But since it hasn’t had to change for years, and since more than 7,000 books are known to work correctly with it, it has been left alone.

Today the developer needed to make a change to accommodate improved table support. He wisely asked me for insight before changing this important function. I took over the keyboard, tried to understand what I was thinking a decade ago, and then made the minor changes myself. And then I said to the developer, “I’m sorry you had to work with this.” He responded, “Are you apologizing for today, or for all the years since I took this code over?”

Ouch. But it still felt good to touch the code again.

Practical wisdom on growing your business that you can start using today.

Get it now