FLProg.ru – лицо программы FLProg в интернете



    В предыдущих статьях я рассказал о предпосылках создания проекта FLProg и текущем состоянии проекта.
    Теперь я хочу рассказать о сайте, посвященном проекту, который является местом сбора пользователей программы.
    Основная задача сайта – дать возможность пользователям скачать последнюю версию программы, узнать о нововведениях и изменениях.


    Скачать программу можно без регистрации на сайте, но для зарегистрированных пользователей функционал сайта заметно расширяется. Регистрация очень проста и требует только подтверждения электронной почты. Никаких других данных при этом вводить не требуется.
    На странице загрузки программы странице загрузки программы всегда доступны две версии: инсталлятор и портативная версия, не требующая установки. Если возможно, то так же выкладываю файл обновления значительно меньшего размера, позволяющий обновится с предыдущих версий. Так же на странице загрузки можно посмотреть список нововведений и исправленных ошибок для данной версии и перейти в архив предыдущих версий.


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


    Самое интересное с моей точки зрения место на сайте – форум. Тут пользователи программы могут задать вопросы по работе с софтом, спросить совета и обсудить проблемы. Форум живет очень интенсивно и требует от меня все меньше времени. Уже появились свои гуру и старожилы, которые помогают начинающим. Я очень им благодарен, поскольку это снижает нагрузку на меня. Здесь, как и на других страницах сайта, незарегистрированные пользователи могут просматривать сообщения, а зарегистрированные имеют полные возможности. Никаких рейтингов и уровней не ведется. Не вижу в этом смысла. Вообще на форуме собрались очень серьезные и отзывчивые люди. Пока за год работы не отмечено никаких попыток хулиганства, рекламы всякой всячины, чем обычно болеют другие форумы. Я, конечно, оставили за собой возможность модерации и бана, но пока ни разу воспользоваться этим не пришлось. Для удобства пользователей сайта создан файловый хостинг, для хранения изображений и файлов вставляемых в сообщения. Поскольку место у меня на диске не бесконечное я регулярно провожу удаление неиспользуемых на сайте файлов со сроком хранения больше месяца.


    Для обучения начинающих пользователей программы существует страница документации.
    На ней можно посмотреть описание программы, описание сайта, видео уроки и примеры работы с программой, а так же список оборудования применяемого в программе. Видео уроки описывают большую часть функционала программы. Первые вводные уроки получились, конечно, слишком длинными – более часа каждый, но мне не удалось порезать их на части без потери логической завершённости.


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


    Ну а теперь немного о движке сайта.
    Поскольку я не являюсь веб – программистом, и мне не хотелось тратить время на изучение готовых CMS типа WordPress или Joomla я решил написать свой движок на том языке, который знаю. Сайт написан с нуля на языке SmallTalk с применением пакета Seaside. Сейчас работает второй вариант движка. Первый был написан на скорую руку за неделю и предназначен в основном для информирования о новом проекте. Но уже в нем присутствовали личный кабинет пользователя, баг -трекер и раздел нового функционала. Ну и первый прообраз форума. Но так же у него были и проблемы. Во первых, для ускорения написания движка я использовал встроенный в Seaside механизм динамических ссылок. С ним очень удобно работать, если не планировать индексацию сайта поисковиками. Поисковики видят такой сайт как одну главную страницу, а все остальные страницы не индексируют. Оно и понятно, поскольку все ссылки живут максимум два часа. В этом крылась вторая проблема динамических ссылок. Когда у пользователя открыта страница, если в течение двух часов он ничего с ней не делает, то при последующем любом действии на странице происходит переброс на главную. Ну и самое неприятное в том, что не имеет смысла сохранять ссылки на какие либо внутренние страницы, они так же через два часа приведут на главную.
    В результате после полугода мучений было решено переписать движок заново. Написание нового движка потребовало уже двух месяцев работы. Ну, оно и простительно, всё-таки это всего второй мой сайт. Поскольку я не очень дружу с дизайном, для создания главной страницы был нанят профессиональный дизайнер. Остальные страницы по возможности подтягивались под главную. Для некоторых функций пришлось подучить JavaScript, для сообщений взят готовый редактор BB-Code, а вот его парсер пришлось писать самостоятельно. Честно говоря, он до сих пор идеально не работает, и время, от времени я нарываюсь на ошибки, когда кто-то напишет какое – ни будь оригинальное сообщение.
    Сайт крутится на домашнем сервере, с Intel Atom в качестве ЦП, и четырьмя гигами памяти. Легко выдерживал пики до 8000 посещений в день. Это конечно не супер показатели, но при средней нагрузке 1500-2000 посетителей в день этого хватает. Вообще мне понравилась связка SmallTalk-Seaside-Glorp-PostgreSQL для создания небольшого сайта с большим функционалом. Я очень сожалею, что этот язык так мало распространён в России, и является какой – то экзотикой.
    В следующей статье я расскажу о ближайших и далеких планах по развитию проекта FLProg.
    FLProg
    40,00
    Визуальная среда Arduino и ESP8266
    Поделиться публикацией

    Комментарии 15

    • НЛО прилетело и опубликовало эту надпись здесь
        +1
        Очень странно. Вы первый с такой отрисовкой. Пока жалоб не поступало. Попробуйте перегрузить страницу.
        • НЛО прилетело и опубликовало эту надпись здесь
            0
            Для того чтобы исправить багу, надо как минимум ещё повторить. Я не знаю какое у Вас окружение, какие расширения браузера. У меня ни в винде, ни на убунте ни на одном из браузеров подобное не повторилось. От других пользователей так же сообщений о подобных ошибок не было. Я могу Вам только дать совет что с моей точки зрения можно сделать. Какой Вы вопрос задали такой ответ и получили
              +1
              Вот вам больше инфомации.
              Скрытый текст
              Display Resolution: 1366x768

              Debian Sid, Iceweasel 35.0~a2+20141111004002-1
              Plugins: Adblock Plus 2.6.6, HTTP Nowhere 2.1.0, NoScript 2.6.9.4, Pentadactyl hg7127, Privacy Badger Firefox 0.2.3

              Debian Sid, Firefox Nightly 36.0a1
              No plugins


              В Chromium всё в порядке:
              Version 38.0.2125.101 Built on jessie/sid, running on Debian jessie/sid (290379) (64-bit)
              +1
              Всегда удивляло, когда пользователи говорят, что разработчик должен делать, особенно если проект некоммерческий. Будьте добрее.

              Посмотрите на любом форуме или багтрэкере, куда можно отправлять ошибки, сколько всего надо дописать и приложить к скриншоту, чтобы на эту проблему обратили внимание. И не обижаться, если в тот же день не исправили, могут быть намного более важные ошибки и задачи, которые затрагивают большее количество пользователей.
                +1
                Ну в этом сложность практически любой службы поддержки. В данном случае еще более менее что то можно пределить. Описание проблеммы конечно аховое
                FYI:
                .
                Но хоть есть скриншот. Очень часто бывает такое:
                только начал пытатся программировать есть проблема
                если что то не так даже если горит зеленый
                появляется карандаш и программа сворачивается

                Для этого и нужна регистрация, я хотя бы могу автору сообщения задать уточняющие вопросы, или попросить прислать какие то файлы логов.
                Ну а вообще это такая доля службы поддерки))))
          +1
          Вот интересно, железячники начинали с принципиальных схем и потом перешли на языковые описания. А тут все наоборот.
            +1
            Вообще то профессиональные железячники наоборот от ассемблера при программировании контроллеров давно ушли на FBD или LAD. И до сих пор плотненько на них сидят. К сожалению в сообществе Хабра — инженеров АСУ очень мало. Хотя я и прикладываю максимум усилий что бы сюда привлечь хотя бы своих пользователей. Но пока безуспешно. Разбавить элиту программирования находящуюся на хабре как говорится «мастеровыми», было бы очень хорошо. Потому как взгляд на многие вопросы с другой стороны был бы очень полезен.
            +1
            Дистрибутивчик на 200 мегабайт, вы догнали кодесайс по размеру ;)
              0
              Вместе с программой FLProg идёт дистрибутив Arduino IDE, которая весит 190 метров. Пока я от неё не избавился, да и пользователи против. Файлы обновления значительно меньше
                0
                Считаю вашу работу очень перспективным направлением. Если сделать оптимизацию интерфейса и процесса программирования. Но чем ваш графический язык лучше Minibloq, Ardublock, Modkit? В чем ключевые отличия?
                  +1
                  Все эти программы всё таки подразумевают именно программирование. С более наглядным интерфейсом, с понятным форматированием, где то даже на русском языке, но все равно if (если), For (пока), никуда не делись. Так же циклы и ветвления. По большому счету вариации на тему Scratch. То есть основная целевая аудитория у них — это либо начинающие программисты, или тот кто желает им стать.
                  У меня подход немного другой, да и целевая аудитория другая. Я за основу взял языки которые уже много лет используются в промышленном программировании. В принципе их то и языками то назвать сложно. Это скорее графические среды для создания принципиальных схем (CAD — система), которая транслирует нарисованную схему в скетчь для контроллера. Этот подход себя давно оправдал, и сейчас де-факто является стандартом для программирования промышленных систем автоматики. Соответственно здесь другая ЦА. Это в основном электрики, электронщики, которые не знают никаких языков программирования да и не планируют их изучать, Им просто это не надо. Они хорошо разбираются в построении схем, имеют опыт отладки и разработки устройств. Вот для них и предназначена программа. Она позволяет в привычном для них окружении создать устройство и реализовать их на Arduino. Им не надо изучать синтаксис C, понимать что такое циклы и ветвления. Для них есть тригер (в LAD — двустабильное реле), генератор, реле сравнения, шифратор, дешифратор, переключатель, устройство — дисплей. То есть привычные и понятные им объекты.
                    0
                    Спасибо, что так подробно ответили. Очень интересно.
                  0
                  Автору — большое спасибо и успехов в развитии программы.

                  Ждем Linux версию… ;)

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое