Дмитpий Hecтepук

Блог о программировании — C#, F#, C++, архитектура, и многое другое

Posts Tagged ‘kindle

Про книги

8 комментариев

Ситуация на рынке

Это мне одному кажется что по программированию как-то стало мало всего интересного выходить? Раньше помню все популярные кухни (Apress/O’Reilly/AW) штамповали достаточно интересные книги. Сейчас же, если посмотреть например на то что нового у Apress, то как-то даже ничего и читать не хочется. У меня все еще «греется» на полке их книжка по TPL, которая ну просто супер, с которой я в свое время слизал массу примеров. Так вот, в последнее время ничего аналогичного на рынке не появилось (или появилось, но я не заметил). Зато появилось много книг с названием «C# 2012» что есть кретинизм в высшей инстанции (ну нет такой версии языка, нету).

С другой стороны, периодически появляется желание написать книгу самому, но мое мнение начинает колебаться где-то между «это экономически необоснованно» и «это слишком легко». Если экономическую необоснованность книг понимают все (даже авторы бестселлеров NY Times, оказывается, получают весьма скромные деньги), то «слишком легко» еще нужно объяснить. Я вот вижу например сценарий в котором делается книга про Dependency Injection: берем IoC контейнер (к пр. Autofac) и линейно описываем все его возможности, начиная от самых простых и заканчивая экзотикой которая 99% пользователей никогда не понадобится. Просто, предсказуемо, но времени нужно столько что о-го-го. Сам в процессе нарабатываешь невесть-какие навыки которые самому не понадобятся. (Когда-то я написал серию блог-постов про Unity, и эффект был аналогичный.)

Вообще, мне кажется, что эффект книг спадающий: когда ничегошеньки не знаешь, любая книга — манна небесная. Зато когда опыту уже понабрался, то можешь что-то сам написать только в двух случаях:

  • Очень хочется написать «что угодно» и ты начинаешь писать прописные истины. Так сейчас многие в блогах делают, фактически переписывают известные концепции в сжатой форме с некоторыми собственными наблюдениями. Я так не могу, точнее совесть не позволяет.
  • Хочется написать что-то дабы донести свой уникальный опыт и возможно даже убедить людей в своей точке зрения.

Второй вариант мне определенно ближе. Я например периодически пытаюсь убеждать людей пробовать новые языки, динамическое прототипирование, realtime-программирование, создание собственных DSL-редакторов, и так далее. Результат в принципе предсказуемый: у большинства появляется просто непонимание, как если бы я начал выводить модель Блэка-Шоулза. После демонстраций, конечно, все проясняется чуть-чуть, но тогда вопрос — может стоит демонстрациями и заниматься?

Читабельность, доступность, верстка

Несмотря на все описаное выше, я все еще продолжаю читать массу всего на моем KDX. В связи с этим, опять же, есть масса мыслей насчет того что и как в этой сфере делается.

Во-первых, мне кажется разработчики всяких «читалок» окончательно забили на техническую литературу. Например, в формате MOBI (это который Kindle использует) нельзя толков верстать блоки кода. Вообще. Не говоря уже про подсветку синтаксиса и прочую муть. Я по дурости купил «The D Programming Language» в формате Киндл, и это был фейл — там код как картинки. Из доступных вариантов остаются только читалки крупного размера которые могут отражать PDF. Тогда можно купить PDF (опять же, не у всех, но паблишеры вроде Apress, слава богу, вменяемы) и попытаться прочитать на Kindle DX или аналогичном устройстве.

Тут тоже все непросто. Во-первых, читалка моя не A4 а все-таки поменьше, а следовательно если верстать как это делает Microsoft Press то шрифт после масштабирования получится микроскопический. Впрочем, эта же проблема влияет и на печатные издания: не знаю кто вдруг решил что человек может прочитать 200 символов в одной строке. Э-эх, MS Press.

Во-вторых, и это еще более существенно, некоторые издательства — например O’Reilly — верстают книги таким шрифтом который нечитабелен на электронных читалках за исключением, возможно, нового iPad’а (не знаю, не пробовал). Причина — слишком тонкий шрифт, а следовательно полное отсутствие контраста. На бумаге терпимо, на экране ну просто никак. Особенно если автор сверстал книгу в LaTeX’е и использовал дефолтный шрифт. Что кстати само по себе диагноз, т.к. у нас тут 21й век на дворе, есть LyX и прочие прелести, неужели читателей не жалко?

На самом деле интересно, я проводил исследование на тему того, как писать книжку и потом публиковать ее в разные форматы. Под разными форматами имеются в виду как минимум PDF (на самом деле есть 2 варианта — «простой» и тот который для Adobe Digital Editions), MOBI (это для Kindle), EPUB (очевидно для Nook и других систем про которые я слишком мало знаю). На самом деле, все основные вопросы появляются насчет PDF — то есть с одной стороны хочется публиковать один вариант, но с другой, начинаешь думать что:

  • Публиковать «печатный» PDF можно только если он влезает в рамки типичной «большой» читалки вроде KDX, что накладывает порой не очень адекватные ограничения на размеры полей.
  • Использовать печатные шрифты для экрана неправильно. Да, девайсы вроде KDX или iPad 3 спокойно отрезолвят, но какой-нибудь iPad 2 например не способен качественно отображать шрифты с засечками. Следовательно, нужно использовать разные шрифты?
  • Если в книге у вас есть иллюстрации, то с большой вероятностью верстка будет привязана к размеру страницы. Что, опять же, существенно ограничивает возможность поддержки разных девайсов.

Возможно, проблемы выше мною надуманы, т.к. издатели вполне успешно продают PDF-ы, пусть даже часть из них не очень корректно. Тем не менее, мне почему-то кажется что один-единственный формат PDF это «плохо для всех».

Шрифты и иллюстрации

Шрифты — это наркотик. Это как автомобили или Hi-Fi системы или карточки Magic: the Gathering. Это культ, религия, предмет озабоченности. Но про шрифты говорить стоит даже если вы не культист, т.к. один и тот же текст с разным шрифтом может выглядеть читабельно и не очень. Поэтому у нас не получится их не обсуждать. Сорри.

Какие шрифты используются в книгах? Если кто-то из вас предложит варианты вроде Times New Roman, Arial или какой-нибудь другой предустановленный шрифт, типографические снобы косо на вас посмотрят. Если вы предложите Comic Sans, то даже я инстинктивно потянусь за ружьем. На самом же деле, насколько я понял после исследования нескольких PDF-ов, расклад примерно такой:

  • В качестве текстового шрифта, каждый издатель использует свой собственный шрифт во всех книгах. Например, Apress использует Utopia. Примечательно то, что для каждой предметной области есть свой набор шрифтов который подходит ей больше всего.
  • В качестве заголовочного шрифта используется правильный «спаренный» шрифт, то есть такой, который наиболее гармонирует с текстовым. Опять же, всякие Arial не используются, но может использоваться Helvetica (что, вообщем-то, то же самое что и Arial) или например Myriad.
  • Для верстки кода, в большинстве случаев, не используются всякие Consolas, Courier и прочие. На данный момент, самым популярным шрифтом для кода является TheSans Mono.

С другой стороны, все эти извращения хорошы только в печати: на моем киндле, все это скорее вредит. Что нужно для электронных читалок так это простой sans-serif вроде Arial Unicode. Почему именно он? Потому что большой набор символов. Я вот недавно пытался набрать let 森= new List<木>() в LyX и чуть голову себе не сломал. Не говоря уже о том, что выглядеть это все должно консистентно.

На самом деле, со шрифтами еще все более-менее: вы можете в крайнем случае использовать Arial для текста и какой-нибудь Consolas для кода и все должно быть хорошо. А вот с иллюстрациями совсем непонятно. В частности, непонятно их разрешение: стоит ли оставлять их как 600dpi (займет много места) или сократить т.к. все равно никто печатать с файла не будет? С одной стороны, пользователям iPad’а наверное стоит дать картинку почетче. С другой, встроенный процессор Kindle — это такая адская дурь, которая итак страницу по полсекунды рисует, а сложную картинку она еще должна будет уменьшить (наверняка с помощью кубической интерполяции, чтобы помедленнее было) прежде чем показать. Одним словом, опять нет оптимального решения. Разве что если иллюстрации векторные. Тогда проблем тоже нет, хотя опять же, если в картинке тысячи элементов, то Киндл либо будет долго думать либо вообще не отрисует.

Заключение

Не знаю токлом что сподвигло меня написать такой экскурс насчет книг — наверное все-таки то, что хороших книг в принципе мало, и было бы здорово если бы их было больше. С другой стороны, с учетом копеечных гонораров (а также массового пиратства), мотивации должно быть действительно мало. К тому же, не следует забывать что техническая литература — это все-таки достаточно нишевой сегмент, что только усугубляет положение.

Written by Dmitri

2 мая 2012 at 20:52

Опубликовано в Books, Technology

Tagged with , , ,