Новая читалка и редактор - прошу помощи сообщества

Господа читатели и верстальщики!

Я задумал две новые свободные программы - читалку и редактор. Лицензия - GPLv3. Пишу для себя, но если у кого-нибудь будет интерес - буду рад.

Вторая версия читалки сейчас находится в стадии отладки и оптимизации. Делается только для обычного компьютера (на карманные и подобные не рассчитываю за отсутствием и ненадобностью для меня). Программа межплатформенная - FreeBSD, Linux, Windows. Основной прицел - среда GNOME. Включает инструменты для ведения библиотеки (в текущей версии только локальной). Планирую закончить этой осенью.

Редактор - на стадии обдумывания и постановки задачи.

У меня, собственно, три вопроса.

1. Найдутся ли желающие протестировать программу для чтения на тему удобства, желаемых возможностей и багов?

2. Есть ли спрос на программы для чтения и ведения библиотек в средах, отличных от Windows?

3. Прошу помощи в составлении техзадания для редактора. Поскольку я еще непосредственно не приступил к разработке, думаю, самое время обсудить ТЗ. То есть, кому чего не хватает в существующих средствах, кому чего хотелось бы видеть в таком редакторе и так далее.

Вот кратко и обобщенно мои мысли по этому поводу:

1. Редактор должен быть свободным (лицензия GPLv3, открытые исходные коды и все положенные атрибуты);
2. Редактор должен быть межплатформенным;
3. Он должен иметь модульную архитектуру, чтобы любой желающий мог дописать свои модули в дальнейшем (например, экспорт в fb3 или импорт из чего-нибудь еще);
4. Он должен выдавать ПРАВИЛЬНЫЕ документы - то есть, валидные с точки зрения fb2;
5. Редактор должен максимально автоматизировать процедуру форматирования (где это возможно);
6. Он должен выглядеть как привычные и всем известные редакторы (типа MS Word до версии 2007 или OpenOffice.org) и давать такие же привычные инструменты;
7. Документ в редакторе должен иметь несколько типов отображения: как книга в читалке, как исходный текст XML (для любителей видеть исходник и для отладки) и как структура документа;
8. Программа не должна иметь ограничений по возможностям верстки и управления содержимым.

Есть ли желающие поучаствовать в составлении ТЗ для редактора?

Комментарии

А ещё приятнее читать с тёмного фона светящиеся символы на мониторе. Реально мученикам советую сменить фон в средстве разработки на тёмно-тёмно-синий и поставить подсветку синтаксиса по вкусу в соответствие. Выиграл таким образом не одну бутылку виски, причём спорил с подопытными. ;)

месье бессовестный читер. впарить людям раскраску IDE 15-летней давности, это круто. :)
хотя, реально при переходе из-под доса в винду первое время сильно напрягали чёрные символы на белом фоне. тем, кто textmode не застал, не понять...

Всё новое это хорошо забытое старое. :) Да и не впаривал. Просто из человеколюбия. Мучаются не понимая из-за чего.
Вот не понимаю на кой было её менять? Везде дефолтом это белое безобразие. На мониторе с внутренней подсветкой это убийство для глаз. Разве только на устройствах с e-ink не знаю как выглядеть будет.
Дошло до того что в терме по умолчанию черный по белому. Найти бы деятеля пустившего эту моду и придушить мерзавца. Желательно до того как он сделал своё чёрное дело.
Самое обидное что и софт затачивается под светлый тон. Обязательно найдётся умник игнорирующий системные цвета и лепящий черно-белый цвет.

Это все к чему? :-)

Аватар пользователя Ronja_Rovardotter

Ян Злобин написал:
Так дело в обрамлении или все же в цвете?

Все же разница в том читаешь обычную книгу или с экрана компьютера есть. Черный на белом фоне - большая контрастность, особенно если усугубляется мерцанием экрана. Сейчас уже не вспомню где, но читала, что более щадящим и комфортным для зрения является сочетание черного цвета на желтоватом фоне (не в смысле газетная бумага). Не даром в большинстве существующих компьютерных читалок используется такое сочетание. В AlReader при его стандартном цвете фона читать могу очень-очень долго, а вот когда начала осваивать FBE глаза быстро уставали. В итоге установила фон в редакторе, как в читалке - красота-а-а-а!
Поэтому для меня дело именно в цвете.

в тему ТЗ для редактора.
вопрос к тем, кто делает fb2 с нуля, и к тем, кто вычитывает/правит:
какие действия в редакторе наиболее востребованы, какие чаще всего выполняются?
какое построение интерфейса вы считаете самым удобным (панель инструментов, контекстное меню, лента, всё на хоткеи и т.п.)?
какие варианты реализаций интерфейса в имеющихся программах вам показались удобными или наоборот, неудобными.
на что в соновном должен быть ориентирован интерфейс при первоначальном создании, и при правке файла - на мышь или клавиатуру?

СерыйМыш написал:
какое построение интерфейса вы считаете самым удобным (панель инструментов, контекстное меню, лента, всё на хоткеи и т.п.)?
...
на что в соновном должен быть ориентирован интерфейс при первоначальном создании, и при правке файла - на мышь или клавиатуру?

Одно другому ведь не мешает. По крайней мере, в большинстве случаев. Есть команды главного меню с привязками к клавиатурным комбинациям, а есть контекстное меню с командами по текущему контексту. Все одновременно. Так много где сделано.

Аватар пользователя Captain Scarlett

Цитата:
вопрос к тем, кто делает fb2 с нуля, и к тем, кто вычитывает/правит:
какие действия в редакторе наиболее востребованы, какие чаще всего выполняются?

Разбить секцию, объединить секции, изменить вложенность секций, добавить заголовок/подзаголовок, добавить сноску, выделить курсивом/полужирным, добавить стихотворение, эпиграф, цитату, картинку.
Цитата:
какое построение интерфейса вы считаете самым удобным (панель инструментов, контекстное меню, лента, всё на хоткеи и т.п.)

Меню (главное и контекстное) + горячие клавиши с возможностью самому их назначать + панель инструментов с возможностью кастомизации.
Цитата:
на что в соновном должен быть ориентирован интерфейс при первоначальном создании, и при правке файла - на мышь или клавиатуру?

У пользователя должен быть выбор - мышь или клавиатура.

Я бы добавила - в идеале должны быть или аналоги или просто работать скрипты Sclex(а) для фбе - http://scripts.fictionbook.org/

vici519 написал:
Коль скоро есть каталогизатор, был неплохо иметь синхронизацию с библиотекой на мобильных гаджетах....

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

Marina_Ch написал:
Я бы добавила - в идеале должны быть или аналоги или просто работать скрипты Sclex(а) для фбе - http://scripts.fictionbook.org/

Эти написано на java-script. Делать поддержку java-script в редакторе не вижу смысла. А как встроенный функционал да.

izaraya написал:
Разбить секцию, объединить секции, изменить вложенность секций, добавить заголовок/подзаголовок, добавить сноску, выделить курсивом/полужирным, добавить стихотворение, эпиграф, цитату, картинку.

А что мы понимаем под секцией?

Ян Злобин написал:
А что мы понимаем под секцией?

< section >
< / section >

1. Конечно, найдутся!
2. Есть спрос, да ещё какой! (по крайней мере, со стороны меня :) )
3. А вот над этим стоит помозговать...

Аватар пользователя Captain Scarlett

3. Редактор должен поддерживать импорт как можно большего числа форматов. Редактор для редактирования только одного формата не нужен.

Протестую! И для редактирования одного (fb2) формата - тоже нужен. Поскольку под Линукс инструмента вычитки fb2 нет (vim просьба не предлагать) :)

Ulenspiegel написал:
Протестую! И для редактирования одного (fb2) формата - тоже нужен. Поскольку под Линукс инструмента вычитки fb2 нет (vim просьба не предлагать) :)

Уточню. Я хочу сделать редактор для редактирования именно fb2 (когда выйдет и fb3). Для других форматов редакторов и так хватает. Но импорт тоже, думаю, нужен. Вопрос из каких форматов. Импорт из сложных форматов может быть весьма трудоемким. Поэтому надо определиться.

Предложил бы импорт сделать отдельной утилитой. Фактически - конвертор что-то2fb

Ulenspiegel написал:
Предложил бы импорт сделать отдельной утилитой. Фактически - конвертор что-то2fb

Я думал, подключаемым модулем.

Основная проблема подключаемых модулей - наличие соглашений о связи с основной программой, и невозможность отладки без основной программы. Можно пойти на компромисс и по выбору импортируемого файла из GUI запускать утилиту командной строки, которой достаточно имен входного и выходного файлов.

Ulenspiegel написал:
Основная проблема подключаемых модулей - наличие соглашений о связи с основной программой, и невозможность отладки без основной программы. Можно пойти на компромисс и по выбору импортируемого файла из GUI запускать утилиту командной строки, которой достаточно имен входного и выходного файлов.

Отдельные утилиты мне не нравятся по причине усложнения установки и поддержки. GTK+, на котором я пишу, имеет встроенные хорошо документированные и стандартизованные механизмы для создания модульных приложений. И отладка и разработка отдельно от основной программы возможна. Но зачем это делать отдельно если открыты исходники?

Проблем с этим быть не должно.

Попробуем, пощупаем, посмотрим.

Цитата:
Отдельные утилиты мне не нравятся по причине усложнения установки и поддержки.

Что?!! Не хочу, не могу, не желаю поверить в это, скажите же, скажите, что вы меня разыгрываете!

1. Запустить конвертер и прочитать FB2 со стандартного вывода, а обиженную ругань со stderr это крайне сложно. Код будет практически одинаковым для любых конвертеров такого рода. В каком месте тут появляется сложность поддержки неясно совсем.

2. Маленькую программу конвертер отлаживать и поддерживать проще, чем большой и сложный редактор.

3. Зачем это делать? Конвертер в виде отдельной программы можно использовать отдельно от редактора. В скриптах. Его смогут использовать другие программы. Плугины сможет использовать только одна программа.

Shimuuar написал:
Цитата:
Отдельные утилиты мне не нравятся по причине усложнения установки и поддержки.

Что?!! Не хочу, не могу, не желаю поверить в это, скажите же, скажите, что вы меня разыгрываете!

1. Запустить конвертер и прочитать FB2 со стандартного вывода, а обиженную ругань со stderr это крайне сложно. Код будет практически одинаковым для любых конвертеров такого рода. В каком месте тут появляется сложность поддержки неясно совсем.

2. Маленькую программу конвертер отлаживать и поддерживать проще, чем большой и сложный редактор.

3. Зачем это делать? Конвертер в виде отдельной программы можно использовать отдельно от редактора. В скриптах. Его смогут использовать другие программы. Плугины сможет использовать только одна программа.

Ничуть не разыгрываю.

1. А теперь представьте себя на месте мантейнера, которому кроме одной программы нужно собрать дистрибутив с кучей мелких программ-конвертеров. Все уже не так просто. Вопрос с переносимостью тоже усложняется.

2. Проще поддерживать когда она одна, а не куча разрозненного софта.

3. Так и написать такую штуку можно отдельно. Для это и редактор никакой не нужен. Я же хочу редактор написать, а не аналог any2fb2, который уже есть и успешно используется, насколько мне известно.

Ян Злобин написал:
1. А теперь представьте себя на месте мантейнера, которому кроме одной программы нужно собрать дистрибутив с кучей мелких программ-конвертеров. Все уже не так просто. Вопрос с переносимостью тоже усложняется.

Представил. Проблем с пакетированием кучи мелких программ не вижу. Один раз написать правила сборки пакетов и всё. Для простых программ всё более менее автоматизированно. И какие проблемы с переносимостью могут возникнуть у кучи маленьких программ, и не возникнуть у кучи плугинов я не представляю.

А вот от мысли о пакетировании плугинов меня скулы сводит. Потому что тут надо следить чтобы ABI не сломалось.

Ян Злобин написал:
2. Проще поддерживать когда она одна, а не куча разрозненного софта.
Поддерживать программу просто, когда она маленькая. А она больше — тем сложнее.

Ян Злобин написал:
3. Так и написать такую штуку можно отдельно. Для это и редактор никакой не нужен. Я же хочу редактор написать, а не аналог any2fb2, который уже есть и успешно используется, насколько мне известно.

Так и пишите редактор. А конверторы зачем? Пуcть они будут отдельно. Так ими удобнее пользоваться. А дублировать функциональность так и вообще ни к чему.

P.S. apt-cache search any2fb ничего не находит

Shimuuar написал:
Так и пишите редактор. А конверторы зачем? Пуcть они будут отдельно.

unix way - не все это понимают :)

Ну да. Тяжёлое детство. Комбайны гвоздями прибитые к полу.

А о чём вообще спор??? Сделать модуль подчиняющийся общим правилам фильтров импорта. В нём запускать конвертеры. Если кому-то это будет интересно. Да читать поток ввода принимая оттуда fb2(fb3).

izaraya написал:
3. Редактор должен поддерживать импорт как можно большего числа форматов. Редактор для редактирования только одного формата не нужен.

А конкретнее? Можно список необходимых для импорта форматов представить?

Ян Злобин написал:
izaraya написал:
3. Редактор должен поддерживать импорт как можно большего числа форматов. Редактор для редактирования только одного формата не нужен.

А конкретнее? Можно список необходимых для импорта форматов представить?

rtf, doc, txt, html - основные.

В отношение интерфейса и возможностей программы полностью согласна с перечнем izaraya.

Аватар пользователя Captain Scarlett

Обязательно doc, rtf, html, txt - с ними приходится работать чаще всего. Мне этого очень не хватает в FBE - any2fb2 не работает без MSWord.

очевидно txt, doc, rtf, html. возможно odf.
плюс копирование/вставка через буфер из того же Word/Writer, по возможности с приведением формата - заголовки, стили шрифта.
верооятно, есть некоторый смысл в преобразовании из pdf/djvu с ocr-слоем, но не факт.
очень интересные феньки были в одном из редакторов - преобразования выделенного фрагмента по шаблонам - например, в стихотворение с указанием автора.
можно подумать на предмет автоматизированного форматирования голого текста с попыткой опознания границ разделов, заголовков и т.п.

Цитата:
в тему ТЗ для редактора.
вопрос к тем, кто делает fb2 с нуля, и к тем, кто вычитывает/правит:
какие действия в редакторе наиболее востребованы, какие чаще всего выполняются?
какое построение интерфейса вы считаете самым удобным (панель инструментов, контекстное меню, лента, всё на хоткеи и т.п.)?
какие варианты реализаций интерфейса в имеющихся программах вам показались удобными или наоборот, неудобными.
на что в соновном должен быть ориентирован интерфейс при первоначальном создании, и при правке файла - на мышь или клавиатуру?

Пример довольно удобного интерфейса - редактор FBE 2.0:
+одно окно
+3 основных режима редактирования: сама книга со структурой, код книги с тегами, удачно реализованные заголовки фб2.
+небольшая загруженность интерфейса кнопками, дополнительные функции и скрипты доступны через меню

Пример неудачного интерфейса - редактор Fiction Book Designer
-интерфейс реализован кучей мелких окон, постоянная борьба с их наслаиванием друг на друга
-излишняя загруженность этих окон огромным количеством мелких ненужных кнопок.
-нет возможности просматривать теги документа
-нет работающей реализации секций.

Ну и вообще, из всех перепробованных, как редактор меня вполне устраивает FBE функциональностью и интерфейсом.
Единственно не очень удобно, если текст форматировать тегами типа цитата, cite и т.п., то нет отмены такого форматирования при повторном выделении этого фрагмента (как в тегах обычного форматирования - курсив, жирный, ...) и приходится лезть убирать в код.

void_dp написал:

Ну и вообще, из всех перепробованных, как редактор меня вполне устраивает FBE функциональностью и интерфейсом.
Единственно не очень удобно, если текст форматировать тегами типа цитата, cite и т.п., то нет отмены такого форматирования при повторном выделении этого фрагмента (как в тегах обычного форматирования - курсив, жирный, ...) и приходится лезть убирать в код.

+1.
Добавлю ещё тэг "text-author", который в "poem" можно добавить только в режиме Source.

Аватар пользователя Captain Scarlett

И отсутствие проверки орфографии. Часто нет времени вычитывать, спеллчек очень бы пригодился - пусть не все, но многие ошибки распознавания, можно было бы исправить.

izaraya написал:
И отсутствие проверки орфографии. Часто нет времени вычитывать, спеллчек очень бы пригодился - пусть не все, но многие ошибки распознавания, можно было бы исправить.

Это точно будет.

Ян Злобин написал:
izaraya написал:
И отсутствие проверки орфографии. Часто нет времени вычитывать, спеллчек очень бы пригодился - пусть не все, но многие ошибки распознавания, можно было бы исправить.

Это точно будет.

надеюсь, она будет не на основе MS Office...
желателен пакетный режим работы. то есть в результате работы проверялки создается список слов, не прошедших проверку, - отсортированный по алфавиту. и уже этот список юзер просматривает и быстренько указывает какие слова надо исправить и как. так проверять было бы быстрее и эффективнее.

А контекст? Без контекста исправлять слова никак нельзя.

Shimuuar написал:
А контекст? Без контекста исправлять слова никак нельзя.

Да, иногда контекст помогает. Но для большинства слов он не потребуется. Значит нужны оба режима. Причем для просмотра контекста можно предложить два варианта.
    1 - традиционный интерактив, в этом случае сначала пакетным режимом надо получить список сомнительных слов, в нем пометить - какие слова нуждаются в интерактивной проверке, и наконец запустить интерактивную проверку.

    2 - показ контекста прямо в окне со списком сомнительных слов, подобно тому, как сделано в FineReader'е. это сложнее, но удобнее. поэтому автору решать, понравится ли ему это настолько, чтоб затратить на это усилия.

ccaid написал:
надеюсь, она будет не на основе MS Office...

Нет. Только свободные технологии. И потом, какая проверка на основе MS Word может быть в Linux?

Ян Злобин написал:
Нет. Только свободные технологии. И потом, какая проверка на основе MS Word может быть в Linux?

wine?
[offtop]я встречал мнение, что MS Office под Linux+wine лучше, чем нативный OpenOffice. по крайней мере, тому человеку было так.[/offtop]
Аватар пользователя s_Sergius

golma1 написал:

+1.
Добавлю ещё тэг "text-author", который в "poem" можно добавить только в режиме Source.

Ну зачем же через Source. Встаёте на стихотворение, делаете Ctrl+D (т.е. Вставка -> Автор) и всё.

s_Sergius написал:
golma1 написал:

+1.
Добавлю ещё тэг "text-author", который в "poem" можно добавить только в режиме Source.

Ну зачем же через Source. Встаёте на стихотворение, делаете Ctrl+D (т.е. Вставка -> Автор) и всё.

s_Sergius, я Вас люблю!

Аватар пользователя s_Sergius

golma1 написал:

s_Sergius, я Вас люблю!

Взаимно!

Аватар пользователя Captain Scarlett

Цитата:
Пример довольно удобного интерфейса - редактор FBE 2.0:

Цитата:
Пример неудачного интерфейса - редактор Fiction Book Designer

Согласна по обоим пунктам.

конечно идея сделать свободный редактор хорошая. Поддерживаю

Ян Злобин написал:
Есть ли желающие поучаствовать в составлении ТЗ для редактора?

Соглашусь, что FBE 2.0 очень удобен в пользовании - интерфейс практически идеален (просто и практично). Можна изначально ориентироватся на вид и функциональность FBE 2.0, но реализовав ее полностью безглючной.

Чего не хватает:
- удобной работы с вложенными секциями (основная секция 1-го уровня, подсекция 2-го уровня, подсекция 3-го уровня вложенности);
- безглючности при всех действиях отменить/повторить (Undo/Redo) - не всегда отмена работает;
- отсутствие локализаций интерфейса (кроме неполных рус. и англ.);
- присутствие в скриптах терминов, которые во все документы вставляются на 1-м языке (напр., заглавие "Примечания") - к вопросу локализации, коряво выглядит в не рус-яз. книгах;
- работоспособности ф-ций "Вставка", когда выделяеш текст и пытаешся сделать его стихом, автором, цитатой - не получается, приходится текст перетягивать в область соотв. тегов;
- страницу реквизитов документа/книги сделать с более понятными заглавиями полей для ввода, а то в FBE 2.0 не всегда понятно чего от тебя хотят;
- возможности создавать сноски/примечания одновременно двух типов - в конце страницы и в конце документа (разное обозначение сносок, напр., [1] и [*1]).

Пока все. После первых тестов можно будет развивать мысль.

vitalis написал:

- работоспособности ф-ций "Вставка", когда выделяеш текст и пытаешся сделать его стихом, автором, цитатой - не получается, приходится текст перетягивать в область соотв. тегов;

А Вы скриптами (стихи) и hotkeys (цитата, автор, эпиграф) пользуйтесь - очень удобно.

vitalis написал:

- возможности создавать сноски/примечания одновременно двух типов - в конце страницы и в конце документа (разное обозначение сносок, напр., [1] и [*1]).

а можно с этого места поподробнее?
вроде бы в fb2 только один вид сносок, и все они выносятся в отдельную секцию, и нет разницы между подстраничными и концевыми. или всё-таки есть?

Страницы

X