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

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

Я задумал две новые свободные программы - читалку и редактор. Лицензия - 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. Программа не должна иметь ограничений по возможностям верстки и управления содержимым.

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

Комментарии

1) Найдутся.
2) Есть, и преогромнейший
3) Надо подумать. Надеюсь, тема не заглохнет.
UPD. Надеюсь, не на Java ?

Ulenspiegel написал:
UPD. Надеюсь, не на Java ?

Нет. GTK+, libxml2 (SAX), sqlite3

Ян Злобин написал:
Ulenspiegel написал:
UPD. Надеюсь, не на Java ?

Нет.

Жаль.

pkn написал:
Жаль.

Почему? На Джаве, кажется, что-то уже есть.

Ян Злобин написал:
pkn написал:
Жаль.

Почему? На Джаве, кажется, что-то уже есть.

Под Windows запустить будет... неоднозначно. А что за fb2-редактор на Джаве?

Спокойствие, спортим. Под cygwin, например.

Зачем же. Нативно всё отлично работает.

Уж больно она тормозит, подлая....

Ulenspiegel написал:
Уж больно она тормозит, подлая....

Это ж не намберкранчинг. Редактору тормоза пофиг.

Ну, всё в мире относительно.... Когда за время запуска редактора (IBM Rational Software Architect) успеваешь выпить кофе и покурить - это очень плохо отражается на давлении.

Потестировать - с удовольствием.

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

KOMODOR написал:
1. тестировать, - это мы всегда пожалуйста!
2. я вот, например, давно мечтаю перейти на линух, а таких много, так что спрос точно есть! другой вопрос, - его объем...

Вот тоже межплатформенная программа, использующая такие же инструменты: http://www.pidgin.im/ Полный Windows-дистрибутив весит около 13 Мб. То же, но без GTK - около 7 Мб. Для Linux тоже около 7 Мб.

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

К чему здесь вообще разговоры о Джаве? Джавы в моей программе нет. Я же написал: GTK+, libxml2 (SAX), sqlite3 - это pure C.

А она что, ещё и каталогизатором подрабатывать будет (sqlite3) ?

Ulenspiegel написал:
А она что, ещё и каталогизатором подрабатывать будет (sqlite3) ?

В первом же посте расписал - Включает инструменты для ведения библиотеки (в текущей версии только локальной). Внимательнее, молодой человек :-)

Виноват, вспылил, исправлюсь! (преданно смотрит в глаза)

а не запаришься интерфейс на компилируемом языке делать?
кроме того, нормальный редактор это большой объём работ.

buriy написал:
а не запаришься интерфейс на компилируемом языке делать?
кроме того, нормальный редактор это большой объём работ.

А сам-то как думаешь? :-)

я бы предложил lua, metalua или python для интерфейса, если уж использовать с/с++, товарищи говорят частично спасает :)
wxwidgets вместо gtk (gtk реально страшен везде кроме гнома, а особенно на маке!), или же вообще java + swt как промежуточный вариант между интерпретируемым и компилируемым -- всё-таки java перекомпилируется модульно, и swt выглядит поприличнее.

про время проекта пока не скажу, сначала посмотрю на какую-нибудь более внятную декларацию хотелок.

buriy написал:
я бы предложил lua, metalua или python для интерфейса, если уж использовать с/с++, товарищи говорят частично спасает :)
wxwidgets вместо gtk (gtk реально страшен везде кроме гнома, а особенно на маке!), или же вообще java + swt как промежуточный вариант между интерпретируемым и компилируемым -- всё-таки java перекомпилируется модульно, и swt выглядит поприличнее.

про время проекта пока не скажу, сначала посмотрю на какую-нибудь более внятную декларацию хотелок.

Спасает от чего?
Глупости какие :-) OpenOffice на видовозе плохо выглядит? Или Gimp? Или Firefox? Или Pidgin? Какие нафиг интерпретаторы? Какая Джава? Я использую для этого только чистый С без плюсов. И это мои проблемы, если уж я взялся за это дело.

Всегда складывалось впечатление, что ООо это java. Правда какая-то странная, без тормозов. :)
Pidgin - тоже забавный примерчик. Народ орёт о глюкавости, а я глюков в упор не вижу. Стал разбираться. О глюках орут вин-пользователи. Линуксовые недоумевают. Что-то тут не так. Видимо глюки появляются где-то на стыке GTK и winAPI.
А к wxWidgets стоит присмотреться. Довольно давно использую. Минимум телодвижений при портировании. Да и пользоваться удобно. Особо радуют постоянно появляющиеся фишечки-рюшечки. И сетка кроссово прикрутится, и базы. Движок можно разный использовать: winAPI, GTK, Motif, X11.

Цитата:
Я использую для этого только чистый С без плюсов. И это мои проблемы, если уж я взялся за это дело.

Изощрённый мазохизм? Только вот если рассчитывать на поддержку, то может лучше плюсики использовать? Оно как-то проще, архитектура прозрачнее что-ли. Да и расходов накладных немного.

Yamino Joudai написал:
Видимо глюки появляются где-то на стыке GTK и winAPI.

Глюки - они в голове :-)

Yamino Joudai написал:
А к wxWidgets стоит присмотреться. Довольно давно использую. Минимум телодвижений при портировании. Да и пользоваться удобно. Особо радуют постоянно появляющиеся фишечки-рюшечки. И сетка кроссово прикрутится, и базы. Движок можно разный использовать: winAPI, GTK, Motif, X11.

Мимо. GTK уже кроссплатформенная. Сразу. Фишечки-рюшечки для блондинок любителей украшательств. А на WinAPI пусть дядя Билли пишет. :-) X11... сам-то понял что сказал? И вообще что за бред писать одну программу на нескольких совершенно разнородных API???

Yamino Joudai написал:
Изощрённый мазохизм? Только вот если рассчитывать на поддержку, то может лучше плюсики использовать? Оно как-то проще, архитектура прозрачнее что-ли. Да и расходов накладных немного.

Использую то, на чем живу. Про прозрачность черных ящиков-классов расскажите школьникам :-) А кому хочется проще, может на Visual Basic каком-нибудь писать, в крайнем случае, на C#. :-)

Короче, жжжирный тролль.

Цитата:
Глюки - они в голове :-)
Исключительно win-пользователей? Не верю.
Цитата:
Мимо. GTK уже кроссплатформенная.
Да кто бы спорил. Просто в wxWidgets помимо интерфейса ещё и вся система оборачивается: процессы, потоки, файловая система, сокеты, сигналы и т.д. Базы данных в конце концов, хоть и на уровне дельфей. Просто пишешь программу и абсолютно не волнует в какой оси и среде её будут собирать.
Кстати о платформах. Sqlite на всех платформах уместен? Для создания управления библиотекой я бы рекомендовал собственно хранение через bridge делать. Чтобы если чего, то базу на простой xml заменить.
Цитата:
Фишечки-рюшечки для блондинок любителей украшательств.
Я имел в виду программные компоненты. Да и смена реализации существующих компонентов вызывает уважение.
Цитата:
А на WinAPI пусть дядя Билли пишет. :-)
Между тем очень неплохой API. Да и API других платформ не сильно отличается.
Цитата:
X11... сам-то понял что сказал?
Я то понял. А безграмотностью похвалятся не стоит. Linux, X11 и GTK и по одиночке бывают. Или ибука нет так и хрен с ним? :)
Цитата:
И вообще что за бред писать одну программу на нескольких совершенно разнородных API???
И как давно бредите на GTK? GDK там также под разные API. ;)
Цитата:
Про прозрачность черных ящиков-классов расскажите школьникам :-)
Черный ящик-класс с чётко прописанным интерфейсом и спрятанными из public атрибутами для архитектуры гораздо прозрачнее, чем структура дёргаемая из разных функций и системой внешних к коду ограничений. Не говоря уже о гибкости архитектуры и стойкости к изменениям.
Цитата:
А кому хочется проще
Ну право: мазохист да и только. Любой человек хочет "проще". Иное психические отклонения. Сознательный и дальновидный человек может пойти на усложнение "здесь и сейчас", если в будущем это упростит жизнь. Си в GTK оправдан исключительно желанием создателей делать привязку к разным языкам программирования. Цель заслуживающая уважения как и усилия для этого необходимые. А тут то что? Не либа. Да и плагины объекты будут использовать. На кой чёрт жизнь осложнять?
C++ позволяет работать в модели привычной нам с колыбели. Одним этим он упрощает работу. Впрочем, хозяин - барин.
Цитата:
может на Visual Basic каком-нибудь писать, в крайнем случае, на C#. :-)
А эти то тут причём? На VB написать просто только простое. Чуть посложнее и семь потов сойдёт. C# вообще непонятный уродец. Абсолютно никаких преимуществ перед С++ с Open Source.

Yamino Joudai написал:
Просто в wxWidgets помимо интерфейса ещё и вся система оборачивается: процессы, потоки, файловая система, сокеты, сигналы и т.д. Базы данных в конце концов, хоть и на уровне дельфей. Просто пишешь программу и абсолютно не волнует в какой оси и среде её будут собирать.

Все это есть в GTK сразу.

Yamino Joudai написал:
Кстати о платформах. Sqlite на всех платформах уместен? Для создания управления библиотекой я бы рекомендовал собственно хранение через bridge делать. Чтобы если чего, то базу на простой xml заменить.

На всех заявленных.

Yamino Joudai написал:
Между тем очень неплохой API. Да и API других платформ не сильно отличается.

Это когда других API не видел. WinAPI ужасен, когда увидишь другие. Это мое мнение, конечно.

Yamino Joudai написал:
Я то понял. А безграмотностью похвалятся не стоит. Linux, X11 и GTK и по одиночке бывают.

И много у тебя программ с чистым X11? А почему так мало? ;-)

Yamino Joudai написал:
И как давно бредите на GTK?

Года три примерно. До этого больше десяти лет писал под винду на плюсах. Есть с чем сравнить. А от GTK я просто балдею. :-)

Yamino Joudai написал:
Ну право: мазохист да и только. Любой человек хочет "проще". Иное психические отклонения. Сознательный и дальновидный человек может пойти на усложнение "здесь и сейчас", если в будущем это упростит жизнь.

Для меня задача стоит не как проще, а как лучше. Вместо того, чтобы троллить, лучше почитай про GTK. А то присутствуют, мягко говоря, заблуждения.

И вообще, господа теоретики, что-то я ни разу не видел, чтобы автор, скажем, Алридера навязывал автору Кулридера свое видение ситуации, или же наоборот. Практик просто взял и сделал свое как считает правильным. А теоретики только и делают, что советы советуют :-) Без обид.

Цитата:
Все это есть в GTK сразу.
Твоя правда. Действительно есть. Просто до сих пор сталкивался только с частью используемой в wxWidgetsGTK. А там только UI используется. Остальное нативное из тагет систем. Вот и отложилось, что GTK либа для взаимодействия с десктопом гнома и его средой. Иными словами GTK такой же ковер как и wxWidgets.
Цитата:
И много у тебя программ с чистым X11? А почему так мало? ;-)
Выглядят они скромно уж очень.
Цитата:
А от GTK я просто балдею. :-)
А я от wxWidgets. :-) У каждого своя трава и все довольны.
Цитата:
я ни разу не видел, чтобы автор, скажем, Алридера навязывал автору Кулридера свое видение ситуации, или же наоборот.
Так я не автор хх-ридера. Просто хочется получить хоть один проект с архитектурой которую не придётся переписывать с нуля при чуть более усложнившихся требованиях.
Цитата:
Практик просто взял и сделал свое как считает правильным.
Где б ещё взять хотя бы пяток дней в неделе???

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

Вот тоже межплатформенная программа, использующая такие же инструменты: http://www.pidgin.im/ Полный Windows-дистрибутив весит около 13 Мб. То же, но без GTK - около 7 Мб. Для Linux тоже около 7 Мб.

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


Ммм, вообще-то я имел ввиду объем спроса, а не объем дистрибутива) А размер, - это уж совсем вторично...

Спасибо тебе, добрый человек. С удовольствием потестирую.

У меня, в принципе, винда стоит, с юругими платформами как-то не пробовал. так, что если под винду, то с удовольствием потестирую читалку. Хотелось бы в ней, как в CR2 иметь возможность установки разных фоновых рисунков, режимов отображения и пр. А в редакторе хотелось бы русский интерфейс. А то, знаете ли, языкам не обучен-с.

fylhtq написал:
У меня, в принципе, винда стоит, с юругими платформами как-то не пробовал. так, что если под винду, то с удовольствием потестирую читалку. Хотелось бы в ней, как в CR2 иметь возможность установки разных фоновых рисунков, режимов отображения и пр. А в редакторе хотелось бы русский интерфейс. А то, знаете ли, языкам не обучен-с.

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

Ян Злобин написал:
fylhtq написал:
... Хотелось бы в ней, как в CR2 иметь возможность установки разных фоновых рисунков, режимов отображения и пр...

Режимы отображения есть. Про фоновые рисунки не думал как-то. Они не мешают чтению?

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

СерыйМыш написал:
насчет отображения в виде книжного разворота - так действительно удобнее читать, или просто дань уважения привычке?
понятно, что вертикально ориентированная страница с соотношением сторон 1:1,61 - идеальна с точки зрения эстетического восприятия, но вот наличие двух страниц на экране, особенно в режиме редактирования, мне кажется не совсем полезным.

Я думаю, что читать куда удобнее одним столбцом. Так сделано практически во всех программах. Начиная от восприятия, заканчивая эргономикой. Ведь когда мы держим в руках книгу, мы поворачиваем ее в руках когда переходим к другой странице. А то и вообще сдвигаем чуть в сторону. Вот почему этот текст на этом сайте сделан одной колонкой, а не двумя? Если бы это было действительно нужно и удобно так было бы на очень многих сайтах. Но этого нет.

Другими словами, книжный вид - действительно дань привычке.

читать удобнее узкими столбцами, тогда читать можно быстрее.
все нормальные газеты стараются сделать узкие колонки.
а когда у тебя монитор 1280х1024 и книжный столбец на весь экран, то переводить взгляд с конца одной строчки на начало другой задолбаешься.
я обычно поэтому окошко браузера уменьшаю до оптимальной для меня ширины колонки. при этом с краёв должны быть белые отступы.
учитывай это в своём ТЗ.

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

В CR есть возможность читать в две колонки и выглядит это приятно.

Даже M$ в своем офисе 2007-ом сделали функциою вьювера. Теперь гораздо легче читать документы (конечно если в них нет всяких схем и таблиц которые рассчитаны на полную ширину экрана)

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

В CR есть возможность читать в две колонки и выглядит это приятно.

Даже M$ в своем офисе 2007-ом сделали функциою вьювера. Теперь гораздо легче читать документы (конечно если в них нет всяких схем и таблиц которые рассчитаны на полную ширину экрана)

А сделать окно читалки поуже не судьба? ;-)

Фоновые рисунки в читалках имитируют текстуру бумаги\книжного листа. Кому как, мне нравится - глаза не так устают, как при ровном одноцветном фоне.

Кот-Баюн написал:
Фоновые рисунки в читалках имитируют текстуру бумаги\книжного листа. Кому как, мне нравится - глаза не так устают, как при ровном одноцветном фоне.

А от белой бумаги книги устают?

Вы пост внимательно прочитали?... Там как бы про текстуру, а не про цвет.

Кот-Баюн написал:
Вы пост внимательно прочитали?... Там как бы про текстуру, а не про цвет.

Разве не про цвет? Большую часть приведенной картинки занимает однотонный цвет. И немного более темное обрамление вокруг. Так дело в обрамлении или все же в цвете?

Цитата:
Большую часть приведенной картинки занимает однотонный цвет.

Жесть. Нет, ну честно, у вас плохо со зрением или с монитором? :) Или вы не знаете значения слова текстура и путаете ее с цветом? :)

Кот-Баюн написал:
Жесть. Нет, ну честно, у вас плохо со зрением или с монитором? :) Или вы не знаете значения слова текстура и путаете ее с цветом? :)

Хорошо, спрошу иначе. Какую книгу приятнее читать - напечатанную на качественной белой бумаге или на серой с текстурой?

Вы явно не понимаете суть. При чем тут цвет бумаги? Текстура есть у любой бумаги.
Вы таки действительно не видите разницы между бумагой, даже самой белой и качественной, и однотонной экранной заливкой? :) Тогда вам точно к окулисту :)

Кот-Баюн написал:
Вы явно не понимаете суть. При чем тут цвет бумаги? Текстура есть у любой бумаги.
Вы таки действительно не видите разницы между бумагой, даже самой белой и качественной, и однотонной экранной заливкой? :) Тогда вам точно к окулисту :)

Я же задал конкретный вопрос. Стало быть, ответа нет. Текстура здесь - всего лишь деталь восприятия. А мне приятнее читать текст на белой гладкой бумаге.

Имитация изгиба страниц у центра психологически комфортабельнее. Даже если это совсем незаметно.А вот под самим текстом текстура вряд ли нужна. На широкоформатном мониторе для имитации сгиба есть место.

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

У качественной белой бумаги тоже есть текстура и читать с такой бумаги приятнее, чем с бестекстурной глянцевой :)

izaraya написал:
У качественной белой бумаги тоже есть текстура и читать с такой бумаги приятнее, чем с бестекстурной глянцевой :)

Конечно. Только она очень мелкая - практически гладкая. Это делает ее матовой.

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

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

Просто сделать в настройках читалки возможность добавления выбранного рисунка фоном и вопрос с разными вкусами решен :)

А как фон отразится на форматировании? А цвета шрифтов сливающиеся с фоном? Не так всё и просто.

Страницы

X