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

Требования, которые я предъявляю к приложению для заметок

  • Портативное приложение. Программа не должна устанавливаться на компьютер, все должно работать с флешки без установки дополнительных компонентов

  • Работа под всеми версиями Windows начиная от XP и выше

  • Все документы (заметки) должны храниться в одном файле БД с надежной портативной (Embedded) версией СУБД

  • Возможность резервного копирования/восстановления БД

  • Быстрый и удобный поиск по содержимому всех документов

  • Создание таблиц и изображений

  • Форматирование текста

  • Переход по ссылкам на документы внутри приложения

В идеале, это Word и Excel, которые бы работали сразу с несколькими файлами, хранили их в БД и искали файл по содержимому. Но данных возможностей в Microsoft Office, к сожалению нет.
Было решено писать свое приложение для заметок, которое бы удовлетворяло всем этим требованиям.

История развития FAQ Net

Для начала выбирал компонент, который умеет форматировать текст. Выбирал между форматами RTF и HTML. Сравнив размеры файлов с одинаковым содержимым, размер HTML файла в 2 раза превышал RTF файл, поэтому выбрал RTF.
Приложение FAQ Net использует стандартный компонент RichTextBox, но у компонента из коробки есть проблема с отображением таблицы, это оказалось легко исправить. Далее разработал интерфейс, основой которого был CHM-формат (файл справки или руководство о программе).
В итоге интерфейс состоит их двух частей: слева вкладки для быстрого поиска документов, справа отображается список документов или содержимое документа.

Спустя несколько лет, решил рассказать о FAQ Net в Интернете. Создал группу в VK, снял видео ролик и рассказал о ней своим друзьям. Думал, что дальше количество пользователей будет само расти, но это так не работает. После размещения моей первой статьи на хабре, не знаю почему, но она была в топе за неделю. За это время приложение скачали более 500 раз. Это был большой успех для меня. Положительные отзывы и первые пользователи мне писали предложения по улучшению FAQ Net и я, на радостной почве, активно дорабатывал свое приложение.

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

Следующая статья "Всплывающие подсказки в программе для заметок FAQ.Net или навигация по RTF-документам, не изменяя сами документы" печаталась с большой надеждой на то, что количество прочтений будет больше, чем у моей первой статьи. Перед публикацией я решил проверить отзыв и отправил текст статьи пользователю приложения FAQ Net, который тоже был уверен, что эта статья заслужит очередной интерес читателей. Эту статью, к сожалению, прочитало меньше всего людей, по сравнению с предыдущими статьями. Возможно, проблема в слабом заголовке статьи (на мой взгляд она самая полезная и уникальная).

Выпустив еще несколько версий, опубликовал статью "FAQ.Net — бесплатная программа для заметок под Windows с обновленным дизайном", но и здесь была очередная критика.

Заключение

Спустя один год (все это время FAQ Net не обновлял) я получил первый донат от нового пользователя приложения FAQ Net. Его сообщение: "Вам спасибо за труд! Так удачно приложение легло на моё представление о том как должно быть".
Благодаря этому отзыву, выпустил очередное обновление FAQ Net и написал эту статью.
Надеюсь, у каждого программиста найдется такое приложение, которое будет востребовано, пусть даже в маленьком количестве пользователей.
У меня два таких приложения, с которыми я делюсь бесплатно, за Ваше доброе слово:
FAQ Net (приложение для заметок) и ImportExportDataSql (для разработчиков и пользователей MSSQL)

Всем добра, удачи и успехов!

Комментарии (82)


  1. Areso
    15.10.2021 22:48
    +12

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

    И с таким подходом продолжать гораздо проще.


    1. jkollss
      15.10.2021 23:16
      +6

      Мне везло ещё меньше. В один проект я сделал пул-реквест, который убирал серъёзную утечку памяти, причём ещё и детально описал почему было неправильно, но автор репозитория наотрез отказался принимать реквест, причём, особо не обосновывал своё решение. В этом проекте до сих пор эта утечка присутствует. Ну а я стал философски относиться к участию в опенсорсе.


      1. Areso
        15.10.2021 23:32
        +2

        Фигня случается. Авторы - тоже люди, и как везде, встречаются разные. Мне пока что везло - мои ПРы принимались, хотя бывало, что годами висели не влитыми.


        1. jkollss
          15.10.2021 23:57
          +2

          Так это понятно, но приходит с опытом. Поначалу жаль времени, потраченного впустую и непонятна упёртость автора. А так-то да, во вменяемых проектах мои ПРы принимались.

          Я к тому, что встреча с таким упёртым автором может отвадить новичка вообще что-то вкладывать в опенсорс.


        1. repeat
          16.10.2021 19:32
          +2

          Как вам такой ход короля?

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


      1. in_heb
        16.10.2021 00:37
        +2

        Дело в том, что вливание своего патча в апстрим, это нужно в первую очередь вам, чтобы не тратить силы на поддержку своего форка, особенно если это библиотека/компонент/модуль/etc, которую вы собрались использовать в своем проекте. Мои критерии выбора OSS ПО для использования:

        • наличие коммитов за последнее время (проект не мертвый)

        • обработка PR (если это гитхаб или подобная платформа где это можно посмотреть), т.е. автор(ы) либо мёржит, либо комментит

        • наличие форков (опять же если это что-то типа гитхаба) и это можно посмотреть. если есть форки, то значит есть заинтересованное комьюнити

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


        1. jkollss
          16.10.2021 00:45

          Забавно то, что я просто бескорыстно хотел помочь проекту, я даже не пользовался программой, набрёл на неё случайно, стало любопытно, как реализовано. Наткнулся на проблему, не поленился, сделал форк, поправил, сделал PR, написал коментарии, всё как полагается. А встретил негатив. Ну я человек спокойный, пожал плечами и забыл, не хочет автор улучшить своё ПО, ну да ладно.


          1. amarao
            16.10.2021 15:33
            +1

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


            1. jkollss
              16.10.2021 18:04

              Показать не получится, всё уже давно пропало. Но там суть в том, что приложение было на Qt и человек просто забыл передать parent в объект диалога, при этом создавал его динамически. В список чилдов QObject указатель на объект не попадал, поэтому в деструкторе вызывающего объекта освобождения памяти не происходило. В результате каждый вызов диалога откусывал чуть-ли не мегабайт. Не фатально, но и неправильно.


          1. Ivan-suanin
            16.10.2021 16:26

            здесь, видимо, как в поговорке. не спрашивают - не сплясывай. Видимо, автор принял как личное оскорбление.
            У меня раньше тоже было стремление помочь кому-то стать лучше. В итоге в 9 из 10 случаев мои советы не принимались. Негатива не было, но и толку тоже. Хотя приняв советы и исправив, люди могли бы в разы больше зарабатывать.


            1. jkollss
              16.10.2021 18:14
              +1

              Да мне кажется, просто надо спокойнее к этому относиться. Ну не понравилось что-то автору ПО, ну да и ладно. И из этого надо просто изначально исходить. В своей-то ветке можно всё сделать как хочется.


      1. tyomitch
        16.10.2021 08:59
        +1

        Хехе, у меня было ещё круче: сначала пару месяцев мурыжили "подпиши соглашение, что все права на десять исправленных строчек переходят к нам, и пришли его нам в бумажном виде", потом просто перестали отвечать. PR до сих пор открыт, утечка до сих пор есть.


  1. aborouhin
    15.10.2021 23:26
    +11

    Приложение для олдфагов, которым важна поддержка 7 лет как мёртвой Windows XP, приятен глазу интерфейс тех доисторических времён, реально не пофиг на разницу в размере заметок в HTML и RTF, которые готовы таскать с собой флэшку с портативными версиями программ, а наличие мобильного приложения воспринимают как некое новомодное чудачество :) Ничего не буду говорить против, но круг таких пользователей узок. Остальным в 10 раз удобнее какой-нибудь Notion.


    1. Areso
      15.10.2021 23:31
      +1

      Остальным в 10 раз удобнее какой-нибудь Notion.

      который и потребляет в 10 (и хорошо если в 10) раз больше :)


      1. aborouhin
        15.10.2021 23:39
        +5

        который и потребляет в 10 (и хорошо если в 10) раз больше :)

        Который просто очередная вкладка в браузере, который потребляет, конечно, неприлично много, но куда без него денешься.
        Нет, я сам сторонник того, что десктопные программы совсем не умерли, и успел поработать не то, что c XP, но ещё и c Windows 3.0 :) Но в текущих реалиях приложение для заметок, которое недоступно с мобильного - удел ретроградов с кнопочными телефонами, сорри.


        1. Areso
          15.10.2021 23:49
          +2

          Который просто очередная вкладка в браузере

          Скорее - целый браузер.

          хз, синхронизацию всегда можно сделать, было бы желание.

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


          1. aborouhin
            15.10.2021 23:55

            Ну почему "целый браузер"? Не владею статистикой, но подозреваю, что пользователей десктоп-версии того же Notion, которая на Electron, в разы меньше, чем тех, кто просто открывает веб-версию в браузере. Который уже запущен. Да сейчас почту-то из нормальных клиентов мало кто смотрит, всех устраивает веб-интерфейс - что говорить о заметках?

            И пользователь не хочет (а в большинстве случаев - и не умеет) ничего "делать", пользователь хочет, чтобы "само работало". Если же сделать это за него - получится такой же облачный сервис, как и у Notion. В этом случае делать по умолчанию веб-морду, из которой потом получать и мобильное приложение и (для редких извращенцев типа меня) десктоп-версию посредством Electron - это сейчас тупо быстрее и дешевле всего. Причём в текущих реалиях для простых приложений, как у автора поста, оно ещё и неплохо работает.

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


            1. Areso
              16.10.2021 00:29
              +5

              Я купил нетбук (10") в 2008 году. Конечно же, для учебы в универе. Играл в линягу (тянул 2 окна), запускал 2005 студию без скрипа, и 2008 со скрипом. Intel Atom. 1, потом 2 гигабайта ОЗУ, HDD.

              В 2014 году понял, что старичку пора на покой. Купил ноутбук (11,6"), Intel Celeron 2955u, 2GB RAM. Тормозил прямо с магазинной 8-кой ужасно, поставил 4 гига ОЗУ - продолжил тормозить. Поставил SSD - о чудо, оно заработало. В 2019 добил до максимума ОЗУ - стало 8 гигов. В 2020 году, во время повальной удаленки, заметил, что дискорд\зум\браузер с кучей вкладок подвешивают его. В этом году он меня бесил-бесил, и наконец был отправлен на покой, когда не смог открыть очередную (одну-единственную) вкладку в браузере с очевидно кривым ДжаваСкриптом. Причем - собрать бэкэнд ММОРПГ на Гошечке - нет проблем, меньше 0,5 секунды, а вот открыть Хабр или там новостной портал - ну, извини чувак, твой ноут "устарел".

              Купил c двухядерным i5-6200, 16GB ОЗУ. Но, думаю, этого на 7 лет не хватит с тем ускоряющимся темпом, с которым все превращается в тыкву.

              Кстати, ноутбук из 2008 до сих пор жив и отлично себя чувствует. С той самой экспишечкой. Живет у родни на складе, печатает накладные.


              1. apro
                16.10.2021 02:00

                На это можно посмотреть и с моей стороны. Купил в начале 2013 ноутбук, 16ГБ ОЗУ, i7, SSD. С тех пор 8 лет прошло и все еще без проблем и браузер работает и программировать могу. И в общем-то с тех давних пор требования к железу относительно моего ноутбука не особо выросли. Разве что видеокарта устарела, но для работы все еще подходит.


                1. Areso
                  16.10.2021 11:40

                  Если у вас не ULV и честных 4 ядра, то может и хватать. Просто, как видите, у меня любовь к недорогим и маленьким машинкам, а они устаревают быстрее, чем топовые конфиги.

                  Скажем, настольный комп у меня из 2014-го, вполне нормально себя чувствует. Но там со временем конфиг получился i7-4770,16RAM, ну и видюха правда из 2017-го. А для бОльшего у меня сервер в подвале стоит.


              1. aborouhin
                16.10.2021 09:52

                i5-6200, 16GB ОЗУ. Но, думаю, этого на 7 лет не хватит

                Мне как раз в этом году "не хватило" купленного в 2014 году i7 4th Gen. 2 cores / 16 Gb / 1 Tb SSD (топовый конфиг Macbook Pro Late 2013, на который я, да простят меня идейные маководы, сразу взгромоздил винду :) Сейчас купил i7 11th Gen. 8 cores / 64 Gb / 3 Tb NVMe, прогнозы, сколько он проживёт, даже не берусь строить. 7 лет назад я вот не предполагал, что CAD-системами буду пользоваться.

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


                1. Areso
                  16.10.2021 11:42

                  Да, как показала жизнь, два ядра оказалось не future-proof конфигурацией.

                  Но конфиги с четырьмя ядрами, 16 ОЗУ и небольшим весом и на вторичке стоят неприлично много.


                  1. aborouhin
                    16.10.2021 12:03

                    Конкретно мне не стало хватать ещё и 16 Gb RAM после того, как появилось желание часть виртуалок для разработки крутить локально, а потом ещё и совсем неожиданно - встроенного видео, когда хобби в виде домашней мастерской вышло на уровень, требующий применения CAD/CAE в чуть более чем минимальном объёме (теперь аж мобильная RTX 3060, уже чешется одно место нагрузить её чем-нибудь из области ML, а то что добру простаивать).

                    В итоге таки пришлось заводить 2 ноута:
                    - шустренького монстрика Gigabyte Aero для ежедневной работы, который весит чуть более 2 кило, а с зарядкой - так и все 3, поэтому ездит только между домом и офисом, ну или в длинные поездки.
                    - Surface Pro 7, который маленький, удобный, с планшетным режимом и пером, но при этом слабоват - зато идеально подходит для коротких поездок и отпусков, когда работать предполагается сугубо эпизодически.

                    Сколько всё это стóило, лучше промолчу :) Но вот как раз, возвращаясь к теме, облачность большинства используемых сервисов свела к минимуму затраты времени и неудобства синхронизации рабочего места на двух машинах.


                1. sim31r
                  16.10.2021 12:12

                  У меня пригодилась недавно машинка с 0.7 Гб ОЗУ, какой-то Пентиум 2 ГГц одноядерный. Windows XP запустился и веб камера, пригодилось по быстрому организовать видеонаблюдение в одном техническом помещении. Видно по записям кто зашел и кто вышел. Плюс на эту машину встала программа удаленного управления, правда при подключении загрузка процессора 100%, но посмотреть что делается в помещении удаленно можно. Некоторые производители поддерживают совместимость ПО на всех возможных устройствах.


    1. cranium256
      16.10.2021 01:35
      +2

      Приложение для олдфагов, говорите… А как нужно? Модно, современно, молодежно?

      Лично меня бесит, когда примитивный мессенждер жрёт 250Мб оперативы и тормозит при перелючении между чатами. (Потому что подцепить Chromium оказывается проще, чем трахаться с RTF-контролом.) Примерно то же относится и к текстовым редакторам на Electron.

      Portable-программы в некоторых случаях не просто удобны. Иногда критически важно, что бы программа работала так, что бы не оставлять следов в системе. Например, если вы приходящий «компьютерный мастер», которому требуется внести на компьютер клиента только те изменения, которые необходимы.

      Мобильное приложение? Это вы здесь к чему упомянули? Начнём с того, что с телефона неудобно работать (в контексте обсуждаемой программы): маленький экран и неудобная клавиатура. Во-вторых, где будет лежать база? В облаке? Т.е. будет серверная часть и тонкий клиент. Это я к тому, что клиент-серверное приложение несколько затратнее писать и геморройнее устанавливать. А ещё придётся что-то арендовать под серверную часть. В-третьих, если база в облаке, хранить там чувствительную информацию… самонадеянно. И, наконец, в-четвёртых, внезапно, может отвалиться интернет. Так тоже бывает. Причём в самый неподходящий момент. И мобильное приложение успешно превращается в тыкву.

      Конечно, формально XP 7 лет как мертва, что не мешает ей до сих пор успешно работать в разных странных местах.

      И да, думаю, что на счёт «круг таких пользователей узок» у вас статистики нет. У меня её тоже нет. Но из общения с коллегами могу сказать, что вышеприведённые соображения достаточно распростанены. Кстати, и здесь, на Хабре, периодически появляются статьи по поводу качества разработки современных приложений. Как десктопных, так и веб.


      1. aborouhin
        16.10.2021 09:30
        +4

        Упаси Боже меня Вам говорить, как Вам нужно писать :) Только Вы потом удивляетесь, что у Вас один донат за год, да и пользователей не очень много... ну так вот эти объективные данные и подтверждают мои слова. Это прекрасно, что у олдфагов (не вкладываю в этот термин никакого негатива) есть свои нишевые продукты, да ещё и бесплатные. Но ожидать, что они станут массовыми, а щедрые донаты польются рекой, при таком выборе своей ниши наивно.


      1. Miller777
        16.10.2021 10:52

        >>Лично меня бесит, когда примитивный мессенждер жрёт 250Мб оперативы и тормозит при перелючении между чатами

        Да.

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

        Да, но не только. Проще перенести папку с настроенным софтом на другую машину, например, или при переустановке.

        Начнём с того, что с телефона неудобно работать (в контексте обсуждаемой программы): маленький экран и неудобная клавиатура.

        Неудобно, но терпимо, по крайндей мере, с некоторыми программами.

        Иногда - бесценно.

        Это я к тому, что клиент-серверное приложение несколько затратнее писать и геморройнее устанавливать

        Посмотрите Firebase. Я не разработчик, но, по-моему, она сильно облегчает написание серверной части.

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

        По поводу интернета - тоже согласен, кто-то настраивает кэширование, кто-то - хранение данных и на устройстве, и в облаке с синхронизацией, все это усложняет.

        Вопрос: если сравнить ваше приложение с Joplin и Obsidian - какие плюсы и минусы?


      1. Steplton
        16.10.2021 12:33

        По поводу синхронизации, гляньте как-нибудь, как реализован Keepass2Android.

        По-моему, блестяще. Автор реально заморочился для удобства пользователей.


      1. Self_Perfection
        16.10.2021 21:29

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

        Описанные вами минусы можно обходить разными способами. Например Turtl использует сквозное шифрование, так что не нужно доверять централизованному серверу для синхронизации. Но: свой формат, завязанность на одну программу, действительно проблемы при отсутствии сети.

        Мой основной подход к заметкам решает вообще все перечисленные вами проблемы. Храню в Zim, то есть это просто древовидная структура директорий и .txt файлов формата вроде Markdown. Синхронизирую между устройствами с помощью Syncthing - ему не нужен сервер, синхронизация происходит напрямую между синхронизируемыми устройствами когда оба оказываются онлайн. Так не нужно доверять облаку и даже если нет связи сейчас, то на устройстве лежит заранее синхронизированная папочка с заметками. Редактирую я со смартфона мало. Раньше склонялся к режиму "закинуть быстро куда-нибудь новую информацию, а дома разобрать и сложить в заметки тщательнее", но понял, что лучше уж сразу потратить несколько больше времени, но вписать сразу в нужное место в иерархии.

        А вот с чем действительно беда и что у меня до сих пор не решено, так шаринг заметок. Какая-то информация должна быть доступна хотя бы на просмотр не только мне, чтобы заметки были общей базой знаний в семье. Вот у Turtl есть такая возможность, но куча других недостатков.


        1. Lizardinius
          17.10.2021 23:02

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

          Гугл\Яндекс\Майкрософт диск, просто закидывайте туда то, чем хотите поделиться (если для вас не критично использование этих облаков или свой сервер). Можно ещё скриптом прогонять через markdown преобразователь в то, что может в браузере отображаться или просто в картинку если достаточно ридонли.


      1. dartraiden
        17.10.2021 02:13

        Иногда критически важно, что бы программа работала так, что бы не оставлять следов в системе.
        В Windows это в принципе невозможно, так как в реестре будут созданы всякие MuiCache и тому подобное. Даже, если вы запустите простейший хелловорлд, не предусматривающий хранение и создание каких-либо настроек.


    1. NeoCode
      16.10.2021 10:50
      -1

      Как по мне, так мобильные приложения для заметок — это что-то на случай форс-мажора, когда срочно нужно, а доступа к нормальному компьютеру нет.
      Вот допустим я иду от дома до работы 2км (специально хожу пешком, получается отличная ежедневная прогулка, приятно и полезно). Иду, допустим, зимой, в мороз (на руках перчатки). Или в дождь/снег. Или лето, яркое солнце и изображения на экране смартфона практически не видно. Что я буду делать с мобильным приложением для заметок(!) в таких условиях? Самое лучшее для «мобильности» — простой mp3-плеер в форм-факторе «флэшки», воткнул в уши и слушаешь аудиокниги.
      То ли дело — сидишь в удобном кресле, руки на удобной физической клавиатуре, на столе два монитора 24 дюйма… Красота!


      1. aborouhin
        16.10.2021 10:56

        Ну так да. Но этих "форс-мажоров" на полжизни накапливается. В дороге, в транспорте, на короткий отдых ноут не взял, посреди ночи озарило, а вставать до ноута топать лень :) А смартфон - он всегда рядом.
        Поэтому только мобильное приложение - зло (к сожалению, всё более распространённое). Но вот наличие в дополнение к нормальной версии мобильной (или адекватно юзабельной на маленьком экране веб-версии) - обязательно.


      1. sshmakov
        16.10.2021 12:14

        Что я буду делать с мобильным приложением для заметок(!) в таких условиях? 

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


        1. repeat
          16.10.2021 19:46

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


          1. sshmakov
            16.10.2021 22:45

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


    1. algot
      17.10.2021 18:16

      Ну если не надо онлайн, то очень удобен Obsidian - позволяет хранить базу заметок в md формате


  1. cranium256
    16.10.2021 00:01

    А зачем ваше чудо-приложение ломится на raw.githubusercontent.com по 443 порту?


    1. Areso
      16.10.2021 00:15
      +2

      Проверяет наличие обновлений

      private void CheckUpdate()

      {

      try

      {

      System.Net.WebClient webCli = new System.Net.WebClient();

      using (Stream stream = webCli.OpenRead("https://raw.githubusercontent.com/shmelev-1987/faq_net/master/WordEditor/LastUpdateInfo.xml"))


      1. little-brother
        16.10.2021 01:37
        +8

        Поскольку вы используете Releases, то наверно лучше использовать API, проверяя содержимое по ссылке https://api.github.com/repos/shmelev-1987/faq_net/releases/latest , а не один из файлов репозитария.


    1. little-brother
      16.10.2021 00:16
      +1

      Обновление скорее всего пытается найти.


  1. CrashOverride
    16.10.2021 03:19

    все что я вынес из опенсорса - не иметь дела с GUI. Хочешь причинять добро - пили библиотеки и протоколы, все остальное - на грани вкусовщины и в поле абсолютного права автора.

    Другими словами, если дело не касается политики в широком смысле этого слова, нужно предвидеть полное отрицание твоего вклада и соглашаться с возможным этим отрицанием до написания первой строчки


  1. ASk01
    16.10.2021 03:19

    Ну и название конечно так себе )


  1. pbw
    16.10.2021 04:07

    Выглядит интересно. Но работает странно. После второго запуска зависло (на семерке 64). Разбираться в причинах зависона не стал.

    А как попасть в настройки? Вернее, есть ли настройки? Т.к. шрифты UI крайне мелкие, поменять хотя бы размер. Цвета это уже вкусовщина, но вообще да, немного вырвиглазно.

    Я наверное еще больший олдфаг, чем многие присутствующие. И много лет пользовал на компе Tombo, а на телефоне miniNoteViewer, которые вобщем были "одно и то же". Причина проста: все заметки хранились в текстовых файлах. Т.е. если что, то просто открываешь заметку и читаешь, любым удобным способом.

    Вот если бы такое было и сейчас... Заметки в *.txt, и какой-то файл конфига, содержащий ссылки, используемые внутри документов. При потере конф.файла (по любой причине), база заметок не пострадает.


    1. alexs963
      16.10.2021 07:05
      +1

      Таких программ вагон и маленькая тележка, например, zim-wiki, vnote, qownnotes, и тд и тп.


    1. HappyGroundhog
      16.10.2021 08:55

      Посмотрите на Obsidian.md. Позволяет удобно хранить и связывать любые заметки в md формате.


      1. d-art
        16.10.2021 19:14

        Пробовал Obsidian, но для себя остановился на TheBrain (обзор на русском).
        Потому что, проблема всех электронных записных книжек - это организация информации. Когда хочется иметь структуру хранения заметок - сложнее чем просто иерархическое дерево. Ведь не всегда понятно куда лучше засунуть заметку: "к умным" или "красивым" (как в анекдоте), а еще так чтобы не боятся сделать выбор, потому что в будущем переорганизовать структуру можно за пару кликов мышкой, перетащив линию связи от одной заметки к другой, это как редактирование двухсвязных графов.
        - Так вот я бы не отказался от открытого аналога TheBrain под .Net ;)


        1. Physmatik
          16.10.2021 20:35
          +1

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


        1. Steamus
          16.10.2021 20:53

          Obsidian показывает иерархически сложенные заметки на левой панели, но это далеко не всё. Ключевая суть Obsidian -- реализация подхода Zettelkasten. Zettelkasten -- это такой подход к хранению информации, когда вы можете сцепить любые заметки между собой специальным тегом и видеть вашу информацию в виде такой сетевой/граф структуры связанных заметок. Эдакая база знаний с возможностью и видеть связи и мгновенно по ним перемещаться не глядя на иерархию физического расположения заметок.

          Пользуюсь им уже наверное больше года. До этого использовал Microsoft One Notes, который реально выбесил своей закрытостью формата и использованию некоей структуры навроде БД. Да, можно было экспортировать в pdf и прочее, но когда каждый месяц открывая заметки видишь, что какая-то записная книжка с некоего перепугу не открывается и надо там немного станцевать с бубном. Нет, информация не терялась, но, как уже сказал -- выбешивало. Надо что-то глянуть, а он тебе такой, ай ну не открывается, авторизуйтесь ещё разок и переоткройте записную книжку и тд.

          Принял решение уйти от любых закрытых или сложных форматов. Никаких баз данных, никаких HTML/Word/RTF etc. Текст. Plain text и файловая система. А если точнее, то давно существуют такие форматы как Markdown или чуть более сложный AsciiDoc, которые можно читать даже если Obsidian возьмёт и исчезнет. Это текстовые файлы с дополнительными несложными префиксами, позволяющими выделить заголовки, поставить ссылки и прочее.

          И вот Obsidian -- на файловой системе, поддержка иерархической и сетевой организации информации, тексты в Markdown (можно переключать из режима редактирования в режим просмотра где префиксы отрабатываются и текст выглядит красиво). Поиск по всем файлам. Доволен как слон.

          Единственная деталь -- написан на модном электроне. Лучше бы какой Qt или JavaFX. Но работает хорошо. Ни разу не упал, ни разу ничего не напутал. И вполне шустро на i7 не последнего поколения. Интерфейс можно настроить, скачав понравившуюся тему, которую также можно поменять под себя (там CSS)


          1. Areso
            16.10.2021 21:36

            И вполне шустро на i7

            еще б оно на i7 тормозило бы...

            Но должен согласиться, что Обсидиан реально хорош. Единственное, что у меня почему-то так и не получилось нормально научиться строить связи между записями.


          1. d-art
            16.10.2021 21:48

            Я вас понимаю. И вот про всё что вы говорите это и есть - TheBrain. Это тоже условно-бесплатное приложение на .Net, вдохновлённое Zettelkasten и MindMap.
            Оно также хранит тексты заметок у вас на диске в формате markdown'a, правда названия нодов и свзи лежат в SQLiteDB.
            Но в отличии от MindMap, где у ноды есть только один предок, TheBrain нода имеет неограниченное количество предков (parent), дочерних (child), и родственных (jump) нодов (как гипер-куб).
            Я при добавлении информации, стараюсь установить как минимум 2-3 связи с другими нодами, иногда создавая и перелинковывая их на ходу мышкой. Причём, связи могут быть совершенно произвольны, и соответствовать тому, как те или иные явления или концепции увязаны в моей голове. Если в моем сознании связаны композитор Филипп Гласс, египетские пирамиды и глаз человека — я свяжу эти элементы в «Брэйне». Связывая элементы, я повышаю свои шансы повторно натолкнуться на материал, и лучше найти его и запомнить.


            1. Steamus
              16.10.2021 21:54
              +1

              Наверное интересный инструмент, но для меня вот это вот SQLiteDB сразу всё пресекает. Как только начинается некая DB, так я сразу становлюсь заложником инструмента. Как олдскульный чел, мне уже надоели эти зависимости. Хочу простоты. ))

              Вот зачем названия нодов и связи складывать в БД? Название файла это и есть название нода. А несложный тег внутри легко сохранит ссылку на другой нод. И даже если он исчезнет или переместится, вы визуально видите эту ссылку и сможете легко восстановить.



    1. maxwolf
      16.10.2021 12:49

      Мне зашёл WizNote. Заметки хранятся в html, кросс-платформенный (клиент под линукс — опенсорсный), есть докер-образ для серверной части. Клиентская часть довольно богатая (иерархические папки+тэги, форматирование, картинки, таблицы, напоминалки, гиперссылки (внутри и снаружи), поиск (локальный+серверный)).


  1. smart_alex
    16.10.2021 07:07
    +2

    Что-то я не понял:

    1. Запустил программу — версии одинаковые (2.11.0.0), а интерфейс на скриншоте в статье и в реальности разные (на скриншоте иконки более-менее, а в реальности вообще мрак). Что это значит и как это понимать?

    2. На скриншоте присутствует подсветка синтаксиса кода, а в реальности её нет (или как её включить?).

    3. На втором запуске программа ломанулась (сканировать?) в локальную сеть (192.168...). Это что вообще такое? И какое дело этой программе до локальной сети?

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


    1. shmelev-1987 Автор
      16.10.2021 09:19

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

      2. Подсветки синтаксиса нет. Но при копировании кода из Visual Studio, SQL Server Management Studio или Word подсветка синтаксиса сохраняется

      3. Извиняюсь. Есть небольшой баг в версии 2.11, который в ближайшее время исправлю в github. Он связан с отсутствием дочерних элементов в файле "FAQ_Net.xml" (например: <root></root>). Быстрое решение проблемы, отредактировать файл "FAQ_Net.xml", добавив один дочерний элемент "SettingString". Например:

      <root>
        <SettingString KeyName="MainFormX" KeyValue="MA==" />
      </root>


  1. Mausglov
    16.10.2021 09:47

    Без двух пунктов:

    >Создание таблиц и изображений
    >Переход по ссылкам на документы внутри приложения

    для тех же целей использую проект в Sublime Text. Формат заметок - markdown


  1. ciuafm
    16.10.2021 10:56

    Я смотрю тут люди знающие собрались. А есть подобный продукт с установкой на свой web сервер, RTF подобным редактированием страничек (++ вставка форматированного с картинками текста из клипборда) и возможностью аплоадить большие файлы? Желательно без кучи зависимостей. И контроль версий страничек не помешает...


    1. Areso
      16.10.2021 11:46
      +1

      NextCloud (Text)


    1. maxwolf
      16.10.2021 12:51

      WizNote


    1. asolokha
      16.10.2021 23:19

      Обратите внимание на Joplin

      Правда вряд ли все Ваши хотелки там есть:


  1. NeoCode
    16.10.2021 11:33
    +5

    Я себе тоже нечто подобное разработал. Только требования были другие:
    * Каждая заметка хранится в отдельном файле (для систем контроля версий)
    * Формат обязательно человекочитаемый (html, markdown, wiki, rst, fb2, bbcode и т.п.), т.е. должна остаться возможность редактирования в обычном notepad.
    Конечно, более «чистые» форматы типа markdown предпочтительнее, но поскольку ни для каких форматов кроме html не удалось найти реализацию WYSIWYG редактора, то выбрал html (QWebKit в режиме editable) с ограниченным подмножеством тегов, и соответственно Qt. Заодно кроссплатформенность, пользуюсь и под виндой, и под линуксом.

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

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

    А свою софтину я пока никуда не выкладывал и исходники не открывал, там еще многое не доделано (делаю просто по принципу: понадобилась фича — сделал). Но код открою рано или поздно.

    Обратите внимание, насколько олдскульный интерфейс: специально искал, как сделать кнопочки на тулбаре именно такими, «объемными»:)


    1. Self_Perfection
      16.10.2021 14:07
      +2

      Вы похоже сильно недоисследовали Zim. Блоки кода вполне оформляются плагином из стандартной поставки:

      Превращение слов с заглавных букв в гиперссылки мне тоже не нравится, но оно выключается. В GUI Edit / Preferences / Editing / Automacitally turn "CamelCase" words into links.

      Сам пользуюсь Zim c 2014 года и альтернатив как-то не вижу, хоть периодически рассматриваю то один то другой аутлайнер.


      1. NeoCode
        16.10.2021 22:37

        Спасибо, преобразование слов в ссылки отключил, да и блоки кода пригодятся.

        Кстати интересно, на чем написан WYSIWYG редактор в Zim? Что это за компонент? Сделан очень качественно, в нем решена самая главная проблема, возникающая при использовании html редакторов: при копипасте из браузера вставляется текст со всем визуальным форматированием и прочим мусором, при том что хочется иметь лишь ограниченное количество разметочных тегов. Может он вообще не на базе html редактора, а что-то написанное с нуля?
        Я у себя сделал отдельную команду «Paste as text», и отдельную команду «Clear formatting», которая очищает html от всех тегов и атрибутов кроме разрешенных, это локально решило проблему, но ведь это не идеальное решение.


        1. Self_Perfection
          16.10.2021 23:54

          Компонент по всей видимости какой-то стандартный GTK rich edit, не знаю. Но к решению проблемы вставки HTML это мало отношения имеет. В линуксах (а в других ОС я не разбираюсь) при копировании в буфер обмена помещается один и тот же контент в разных форматах.

          Например

          При копировании из Firefox

          $ xclip -out -target TARGETS
          TIMESTAMP
          TARGETS
          MULTIPLE
          text/html
          text/_moz_htmlcontext
          text/_moz_htmlinfo
          UTF8_STRING
          COMPOUND_TEXT
          TEXT
          STRING
          text/plain;charset=utf-8
          text/plain
          text/x-moz-url-priv

          А при копировании из самого Zim:

          $ xclip -out -target TARGETS
          TIMESTAMP
          TARGETS
          MULTIPLE
          GTK_TEXT_BUFFER_CONTENTS
          application/x-gtk-text-buffer-rich-text
          text/x-zim-parsetree
          UTF8_STRING
          COMPOUND_TEXT
          TEXT
          STRING
          text/plain;charset=utf-8
          text/plain

          У zim же такая логика. То есть он просто не воспринимает HTML как подходящий формат для вставки. Это прям беда, для вставки ссылок приходится всякие хаки использовать.


  1. 0617
    16.10.2021 11:41

    Любая дополнительная программа с собственным форматом - и ты становишься её заложником.

    Если нужно что-то сохранить, просто отправляю письмо сам себе на мойадрес+ключевоеслово@gmail.com (или мой.адрес@ или м.ойадрес@ и т.д.), один раз настроил сортировку и всё. По факту мне оказалось достаточно всего одного ключевого слова.


  1. sim31r
    16.10.2021 12:52
    +1

    Использую программу Tombo от японского программиста, программа лежит в Dropbox у меня и доступна с любого компа, в офисе или дома.

    Удобна для заметок тем что есть древовидная структура, есть поиск по всем заметкам, есть шифрование отдельных листов по желанию, можно смотреть без программы отдельные страницы блокнотом. Если в другой ОС проект открыть, например. Тоже работает со времен Windows XP.

    Описание тут и тут программы есть.

    На Андроиде ColorNote, но тут фрагментация данных, оно не синхронизируется с ПК, иногда неудобно.


    1. CoolCmd
      16.10.2021 17:04

      в tombo в десятке не видно панель инстументов


    1. cser
      17.10.2021 14:32

      А у Вас оно русский текст, созданный в мобильной версии (которая называется miniNoteViewer) открывает? А то у меня кодировка неправильная отображается и не понятно чем ещё можно зашифрованные заметки открыть.


      1. sim31r
        17.10.2021 15:22

        Мобильной версией не пробовал пользоваться. Кодировку можно поправить в перекодировщике каком-нибудь.


        1. cser
          17.10.2021 17:42

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


          1. sim31r
            17.10.2021 20:39
            +1

            Notepad++ должен сам кодировку определять, замена обычному блокноту в Windows.


  1. diakin
    17.10.2021 01:19
    +1

    Mars Notebook.


    1. NeoCode
      17.10.2021 10:30

      Как видно из скриншота, у Mars Notebook (и огромного количества других подобных программ) проблема в том, что они смешивают форматирование и разметку. Шрифт, размер, отступы, центрирование — все это форматирование. А header1...header6, таблицы, нумерованные и маркированные списки — разметка. Веб через это прошел уже давно, а в аутлайнерах почему-то до сих пор в изобилии встречается.


  1. X3_Shim
    17.10.2021 17:14
    +1

    У меня как то не сочетается в голове "портабельное приложение на флешке" и использование .NET.

    Винда переустанавливалась уже давно. И работаю и играю, вроде все что нужно уже до установлено, а тут при запуске просит .NET 3.5 установить. Первое приложение за несколько лет, которому это понадобилось. Решил что переживу и без FAQ_Net.


    1. Areso
      17.10.2021 18:43
      +1

      Ну, просто дотнет 3.5 довольно старый (всё ради икспи), и сегодня не устанавливается ОС или прикладным софтом.

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


      1. d_ilyich
        18.10.2021 11:00

        Ну, просто дотнет 3.5 довольно старый (всё ради икспи), и сегодня не устанавливается ОС или прикладным софтом.
        Разве? В Win10 через Control Panel\Programs\Programs and Features > Turn Windows features on or off


    1. shmelev-1987 Автор
      17.10.2021 21:15

      Если Вы пользуетесь Windows 10, то достаточно скомпилировать проект под .NET Framework версии 4.7.2. Кстати, это хороший совет, добавлю дистрибутивы FAQ Net под Windows 10.


    1. shmelev-1987 Автор
      17.10.2021 22:17

      Подготовил сборку FAQ Net под .NET Framework 4.5. Можете скачать по ссылкам:

      FAQ Net 32bit net45
      FAQ Net 64bit net45


      1. X3_Shim
        17.10.2021 23:13
        +1

        Спасибо. Попробовал, но нет. Эргономика и дизайн времен NT4.0.

        Не понимаю, зачем для узла отображать заметки списком в главном окне (причем занимают они по ширине малу его часть), почему не рисовать их в дереве, что бы основное окно всегда показывало выбранную заметку? Зачем поиск в отдельном табе? Ведь можно просто строку сверху сделать и сразу в главном окне отображать подходящие записи в виде заголовка и части текста. Ну да ладно. Это может все мои придирки просто.


  1. rra_roro
    18.10.2021 11:25

    Ultra Recall все заявленное в статье и даже больше. Пользуюсь уже лет 10, доволен безмерно.
    https://www.kinook.com/UltraRecall/


  1. Moonman
    18.10.2021 13:08

    Рекомендую обратить внимание на OutWiker. Хранение дерева заметок в виде обычных директорий на диске (txt, HTML, Markdown). К заметкам можно прикреплять файлы. Давно пользуюсь.