Реклама →
Новый облачный форумный движок с мгновенной скоростью работы
Я хочу рассказать о новом созданнoм мной форумном движке NeoBB. Согласно Википедии, на данный момент существует около 50 форумных движков. Так зачем же было создавать ещё один? По сравнению с конкурентами, у NeoBB есть ряд преимуществ:
Всё началось пару лет назад, когда я искал подходящий движок для установки форума на одном сайте. Я хотел что-то лёгкое, быстрое и легко интегрирующееся с текущей базой пользователей. После дня поисков и настроек под себя я решил, что проще написать своё решение. В результате пары дней работы, на сайте появился простенький форум, на котором пользователям сайта не надо было регистрироваться. Функцонал минимальный: можно было создавать темы и сообщения. В принципе, мне большего и не требовалось.
Постепенно движок развивался. По просьбам пользователей добавлялся новый функционал. Мне нравилось заниматься им в свободное время. Наконец, когда многие стали спрашивать, что это за движок, и могут ли они установить его себе на сайт, я начал задумываться о более серьёзных перспективах. Было придумано имя NeoBB (neo — новый, bb — bulletin board) и зарегистрирован домен neobb.com. На будущее.
Осенью 2011 года я решил взяться за проект серьёзно. Я понимал, что самое сложное — сделать конкурентоспособное решение. Поэтому я решил уделить больше всего внимания на имплементацию функционала, которому уделено меньше всего внимания у конкурентов, а именно на те 4 преимущества, перечисленные выше. Рассмотрим все эти преимущества по порядку.
Да, большинство движков работают быстро в плане загрузки страниц. Поэтому я решил вынести NeoBB на новый уровень. После прочтения этой статьи на Хабре, я твёрдо решил, что отображение сообщений надо делать в стиле RIA 2.0. Сообщения в теме передаются браузеру в .json, в результате перелистывание страниц мгновенное. Вы можете посмотреть, как это работает в тестовой теме, которyю я создал 31 октября специально для показа данного функционала:
community.neobb.com/Topic/Instant-Page-Navigation-Demo/4eaf12ae87967f0f24b69306
Для смены страниц используется небольшая панель, и, как видите, переходить на следующую/предыдущую страницу можно с помощью комбинации клавиш Ctrl + влево и Ctrl + вправо (спасибо Хабру за эту идею).
Другой пример реализации RIA 2.0 — отслеживание новых сообщений в теме. Если в теме находится несколько человек, то вам больше не надо обновлять страницу для того, чтобы проверить, нет ли чего-нибудь нового. Все новые сообщения отображаются мгновенно, как в чате. Это же касается и личных сообщений (conversations), в которых, кстати, могут участвовать несколько человек.
Думаю, время рассказать о технической составляющей движка, и что именно позволяет ему выдерживать тысячи пользователей online и масштабироваться.
Как и большинство моих творений, NeoBB написан на C#/ASP.NET MVC 3 с использованием NoSQL б/д mongoDB. Данная связка даёт невероятную производительность. C# — статический компилируемый язык, ASP.NET MVC — легковесный framework, a mongoDB — невероятно производительная и нетребовательная к ресурсам база данных. Когда я впервые попробовал mongoDB пару лет назад, я понял, что назад к Sql Server/Postgresql я не вернусь. По всем моим тестам, применимым к NeoBB, mongoDB в разы быстрее, поедая при этом в десятки раз меньше CPU.
В результате сайт, написанный с помощью данных технологий, выдерживает тысячи пользователей online на одном сервере, что позволяет сэкономить на железе и предоставить более выгодные условия для пользователей (об этом — ниже).
На данный момент NeoBB хостится на дешёвом американском сервере за $70 в месяц (1GB RAM, Celeron). После того, как NeoBB наберёт популярность, и доcтигнет отметки в несколько тысяч пользователей online, я перейду на более мощный сервер с 8 GB RAM и Intel Core i3.
Я сторонник простоты, интуитивности и минимализма без ущерба функционалу. На мой взгляд, хорошим примером, подходящим под данные парадигмы, является ВКонтакте. Каждый имеет своё мнениe по поводу данной соц. cети да и соц. сетей вообще, но я думаю, многие согласятся со мной, что в техническом плане ВКонтакте прост, интуитивен и функционален. Чего не скажешь, например, о том монстре, каким стал facebook.
Так получилось, что большинство движков разрабатываются очень давно и тянут за собой наследие старины (глотком свежего воздуха определённо стал XenForo, написанный Киром и командой в 2010 году с нуля). Очень часто при пользовании форумами я теряюсь в обилии ссылок, кнопок и надписей. В чём разница между страницами User Panel и Member? Где можно посмотреть список моих сообщений? И так далее. Конечно, со временем, люди разбираются, так же как разбираются, как получить список всех своих друзей в facebook.
NeoBB прост, интуитивен и функционален. Сначала кажется, что у NeoBB функционал значительно меньше, чем у конкурентов, так как в админке всего 9 ссылок, а в профиле пользователя и того меньше: 4. Но потом приходит понимание, что вот он, функционал, совсем рядом. Драгоценное место отделяется непосредственно контенту, а не морю ссылок и кнопок.
В качестве примера ещё хочу привести то, как реализована сортировка форумов и их категорий. Во всех без исключения форумах приходится выставлять параметр order number. При добавлении новой категории/форума order number может совпаcть, и тогда надо проходить по каждому форуму и исправлять его.
В NeoBB сортировка реализована с помощью drag&drop:
Другой аспект простоты и функциональности NeoBB заключается в его «облачности». Я понимаю, что данный аргумент спорен для многих, более того, в конце статьи я подведу итог: для кого подходит NeoBB, а для кого нет, и это будет играть ключевую роль. Так почему же облако?
При проектировании NeoBB, как я уже говорил, я хотел заполнить недостающую нишу на рынке. Так вот, на рынке полно форумных движков, работающих по классической схеме. Вот какие действия должен сделать человек, который хочет создать форум по классической схеме:
1. Выбрать движок
2. Заплатить за него (не требуется в случае использования бесплатного ПО)
3. Скачать архив с исходным кодом
4. Выбрать хостинг
5. Заплатить за хостинг
6. Загрузить скрипт с помощью FTP
7. Настроить форум
В случае NeoBB, список такой:
1. Выбрать план (бесплатный, стандартный, премиум, custom)
2. Настроить форум
Да, существуют сайты, предоставляющие похожие услуги на других движках. Более того, IPB официально продаёт Hosted Communities.
Почему же не предоставлять выбор: кто хочет — пусть пользуется облаком, а кто хочет — пусть загружает движок на свой сервер. Согласен, выбор — это хорошо. Однако в данном случае есть ещё несколько причин в пользу только облачного варианта.
NeoBB написан на C#/ASP.NET MVC 3 и использует mongoDB. 99.9% shared хостингов сразу отметается. На Linux/Mono он не взлетит, так как Xamarin так до конца и не допилили поддержку MVC 3. Остаются только пользователи Windows VPS/VDS. А таких очень мало.
И, наконец, при такой централизованной системе у каждого пользователя NeoBB всегда будет последняя версия. Никаких больше обновлений, и плат за эти обновления. А главное — никакой дефрагментации. Исправлен баг/уязвимость? Можно быть уверенным, что ни на одном NeoBB форуме её не будет.
Последнее время облачые сервисы всё больше входят в нашу жизнь: Dropbox, Google Docs, Evernote, iCloud. На мой взгляд, самый близкий к NeoBB облачный сервис — Disqus. Он добился невероятной популярности и доказал, что комментарии не обязательно хранить у себя на сервере. Правда, Disqus не без изъянов, и у ребят ещё много работы над стабильностью сервиса.
Одно из главных преимуществ NeoBB — доступность. Вот сравнение с двумя популярными облачными форумными хостингами:
Как видите, NeoBB в разы дешевле, в то же время предоставляется некоторый функционал, отсутствующий у конкурентов. За счёт чего получаются такие низкие цены? Во-первых, как я уже говорил, высокая производительность и оптимизация движка позволяет сэкономить на серверах. Во-вторых, я (пока) единственный разработчик. Да и вообще, я считаю, что более доступные цены в данной отрасли выгоднее как для покупателя, так и для продавца.
Чтобы не было ощущения, что NeoBB дешевле, потому что хуже, существует бесплатный план без рекламы и без истекающего срока. Он отлично подходит для тестирования и миграции текущего форума. Ознакомиться с этим и другими планами можно на главной странице проекта.
Теперь давайте сравним стоимость NeoBB со стоимостью хостингa на своём сервере. Будем исходить из ~75 пользователей online. Для того, чтобы выдержать 75 пользователей online на форуме vBulletin, SMF, phpBB, IPB и т.д., придётся платить минимум $150 в год за хостинг. Добавим к этой сумме стоимость лицензии, если форум платный: $195 для vBulletin. Цены на другие проприетарные форумы находятся примерно в той же категории. Получается от $150 до $350 в год. С NeoBB это обойдётся ровно в $100 в год.
Не смотря на то, что ваш NeoBB форум находится на другом сервере и использует совершенно другие технологии, легко создаётся ощущение полной интеграции с вашим сайтом.
NeoBB легко «ставится» на ваш собственный домен/поддомен, так что можно воспользоваться устоявшейся системой «главный сайт на site.com, форум на forum.site.com». Как это делать, описано в документации. Более того, вы можете интегрировать NeoBB с вашей текущей базой пользователей, чтобы пользователям сайта не надо было регистрироваться и даже авторизовываться на форуме.
Например, если ваш сайт написан на C#/ASP.NET, вы должны загрузить библиотеку NeobbIntegration.dll и подключить её к проекту. Библиотека очень простая:
Это один из самых интересных аспектов, с которым мне пришлось столкнуться. Кастомизация форума очень важна. Если пользователь не сможет настроить внешний вид форума под себя, то с большой вероятностью пользоваться таким форумом он не захочет.
Сначала я создал страничку с текстбоксами «Цвет текста», «Цвет ссылок» и т.д. Но потом я понял, что это ужасно ограничивает дизайнера и решил ввести поддержку полной настройки CSS. Вот что получилось:
Функциональнее и понятнее. В ближайшем будущем будут добавлены стандартные темы.
Теперь о самом интересном: шаблоны. По понятным причинам простое редактирование кода а-ля SMF или phpBB не сработает. Поэтому я решил пойти по пути шаблонов, как в XenForo. На данный момент они всё ещё в разработке. Но будет выглядеть это примерно так:
Да, на данный момент шаблоны пока не реализованы. Но это не означает, что нельзя сделать что-то уникальное. Например, вот мой сайт medvednikov.com, недавно переведённый с блоггера на NeoBB:
В определённый момент жизни я решил, что пора создать сайт-визитку. Сначала я быстренько написал сайт на голом html и загрузил его на бесплатный хостинг. После того, как этот бесплатный хостинг упал на несколько дней, я начал искать альтернативу. Выбор пал на Blogger. Надёжный и бесплатный сервис от Google с привязкой к домену первого уровня. После нескольких часов редактирования громоздкого шаблона я получил то, что хотел. Функционал блога мне был не нужен. Только странички-визитки.
И тогда мне пришла в голову идея: почему бы не добавить в NeoBB функционал по созданию небольших сайтов-визиток? Результат вы видите на скриншоте выше.
Это определённо не замена полноценным CMS вроде WordPress, но наверняка многим пригодится. Конечно, развитие функционала форума имеет наивысший приоритет. Mini CMS, а возможно и Mini Blog, будут развиваться менее резкими темпами.
В NeoBB имеется практически всё, что требуется от форума. Перечислять это было бы слишком долго. Лучше напишу о том, что пока не готово:
С файлами я пока не решил. Но я почти уверен, что будет интеграция с каким-нибудь облачным сервисом, типа SkyDrive. Зачем тратить bandwidth и занимать место на диске, когда есть специализированные для этого сервисы? Сейчас вообще идёт тенденция к отказу от attachment'ов и замена их на cloud storage (мне очень понравилось видео на эту тему от создателей почтового клиента Sparrow: sparrowmailapp.com)
Подфорумы конечно будут реализованы asap, это очень нужный и простой в плане программирования функционал. То же самое и с голосованиями, разрешениями и закрытыми форумами. Замечу, что форумы, закрытые только для модераторов и администраторов, уже реализованы. Закрытые форумы — форумы, где нужна регистрация для просмотра контента.
Я большой поклонник OpenID, поэтому, конечно, реализовал авторизацию через OpenID. Пока это Google (как самый популярный провайдер) и Yahoo. Скоро будут добавлены и другие. К моему большому разочарованию, невероятно популярный facebook вместо использования OpenID продвигает свой facebook Connect. Руки до него пока не дошли, но ввести его нужно будет обязательно.
Хочется написать о функционале, которого нет и, скорее всего, не будет. По крайней мере, в ближайшие 6 месяцев точно. Аддоны. Реализовать их в NeoBB чрезвычайно сложно, поскольку нет доступа к исходному коду и базе данных. На данный момент есть более важные вещи, которые надо сделать (те же шаблоны). Однако не всё так плохо. Во-первых, большинство функций топовых аддонов уже есть в NeoBB из коробки (например, «спасибо» за сообщения, день рождения, чат, интеграция с Google AdSense, SEO заголовки, флаг страны пользователя, редактированиe заголовка темы и т.д.). Во-вторых, если пользователю будет очень не хватать какого-то функционала, он/она всегда может написать об этом в раздел Suggestions, и, скорее всего, данный функционал будет доступен по дефолту.
Я подавал заявки в два бизнес-инкубатора: Spanish Village и SeedCamp. В первом мне отказали, видимо, из-за возраста, во втором сказали, что нет клиентской базы, и невозможно понять, будет ли проект приносить доход. Поэтому я решил продвигать NeoBB самостоятельно.
Мне кажется, что у NeoBB есть все шансы взять определённый процент рынка, не смотря на уже устоявшихся больших игроков. После реализации перечисленного выше функционала я планирую начать агрессивную рекламную кампанию. Существует также партнёрская программа, так что пользователи, которым понравился движок, могут привлекать своих знакомых и зарабатывать на этом 25% от дохода.
NeoBB расчитан как на новых пользователей форумов, так на и тех, кто уже имеет форум и готов мигрировать. На данный момент поддерживается миграция с phpBB и SMF, скоро будет готова миграция с vBulletin и IPB. Кстати, буду благодарен тем, кто попробует перенести свой phpBB/SMF форум на NeoBB, так как у меня своих крупных форумов нет. Как я уже говорил, для тестирования можно использовать бесплатный план.
Один продукт не может удовлетворить каждого пользователя. Поэтому хорошо, когда рынок насыщен, есть выбор, и есть конкуренция.
NeoBB скорее всего не подходит вам, если вы:
NeoBB подходит вам, если вы:
- Он невероятно быстр и масштабируем
- Прост и интуитивен
- Позволяет неплохо сэкономить
- Легко интегрируется
Идея
Всё началось пару лет назад, когда я искал подходящий движок для установки форума на одном сайте. Я хотел что-то лёгкое, быстрое и легко интегрирующееся с текущей базой пользователей. После дня поисков и настроек под себя я решил, что проще написать своё решение. В результате пары дней работы, на сайте появился простенький форум, на котором пользователям сайта не надо было регистрироваться. Функцонал минимальный: можно было создавать темы и сообщения. В принципе, мне большего и не требовалось.
Постепенно движок развивался. По просьбам пользователей добавлялся новый функционал. Мне нравилось заниматься им в свободное время. Наконец, когда многие стали спрашивать, что это за движок, и могут ли они установить его себе на сайт, я начал задумываться о более серьёзных перспективах. Было придумано имя NeoBB (neo — новый, bb — bulletin board) и зарегистрирован домен neobb.com. На будущее.
Реализация
Осенью 2011 года я решил взяться за проект серьёзно. Я понимал, что самое сложное — сделать конкурентоспособное решение. Поэтому я решил уделить больше всего внимания на имплементацию функционала, которому уделено меньше всего внимания у конкурентов, а именно на те 4 преимущества, перечисленные выше. Рассмотрим все эти преимущества по порядку.
Быстрота
Да, большинство движков работают быстро в плане загрузки страниц. Поэтому я решил вынести NeoBB на новый уровень. После прочтения этой статьи на Хабре, я твёрдо решил, что отображение сообщений надо делать в стиле RIA 2.0. Сообщения в теме передаются браузеру в .json, в результате перелистывание страниц мгновенное. Вы можете посмотреть, как это работает в тестовой теме, которyю я создал 31 октября специально для показа данного функционала:
community.neobb.com/Topic/Instant-Page-Navigation-Demo/4eaf12ae87967f0f24b69306
Для смены страниц используется небольшая панель, и, как видите, переходить на следующую/предыдущую страницу можно с помощью комбинации клавиш Ctrl + влево и Ctrl + вправо (спасибо Хабру за эту идею).
Другой пример реализации RIA 2.0 — отслеживание новых сообщений в теме. Если в теме находится несколько человек, то вам больше не надо обновлять страницу для того, чтобы проверить, нет ли чего-нибудь нового. Все новые сообщения отображаются мгновенно, как в чате. Это же касается и личных сообщений (conversations), в которых, кстати, могут участвовать несколько человек.
Производительность и масштабирование
Думаю, время рассказать о технической составляющей движка, и что именно позволяет ему выдерживать тысячи пользователей online и масштабироваться.
Как и большинство моих творений, NeoBB написан на C#/ASP.NET MVC 3 с использованием NoSQL б/д mongoDB. Данная связка даёт невероятную производительность. C# — статический компилируемый язык, ASP.NET MVC — легковесный framework, a mongoDB — невероятно производительная и нетребовательная к ресурсам база данных. Когда я впервые попробовал mongoDB пару лет назад, я понял, что назад к Sql Server/Postgresql я не вернусь. По всем моим тестам, применимым к NeoBB, mongoDB в разы быстрее, поедая при этом в десятки раз меньше CPU.
В результате сайт, написанный с помощью данных технологий, выдерживает тысячи пользователей online на одном сервере, что позволяет сэкономить на железе и предоставить более выгодные условия для пользователей (об этом — ниже).
На данный момент NeoBB хостится на дешёвом американском сервере за $70 в месяц (1GB RAM, Celeron). После того, как NeoBB наберёт популярность, и доcтигнет отметки в несколько тысяч пользователей online, я перейду на более мощный сервер с 8 GB RAM и Intel Core i3.
Простота и интуитивность использования
Я сторонник простоты, интуитивности и минимализма без ущерба функционалу. На мой взгляд, хорошим примером, подходящим под данные парадигмы, является ВКонтакте. Каждый имеет своё мнениe по поводу данной соц. cети да и соц. сетей вообще, но я думаю, многие согласятся со мной, что в техническом плане ВКонтакте прост, интуитивен и функционален. Чего не скажешь, например, о том монстре, каким стал facebook.
Так получилось, что большинство движков разрабатываются очень давно и тянут за собой наследие старины (глотком свежего воздуха определённо стал XenForo, написанный Киром и командой в 2010 году с нуля). Очень часто при пользовании форумами я теряюсь в обилии ссылок, кнопок и надписей. В чём разница между страницами User Panel и Member? Где можно посмотреть список моих сообщений? И так далее. Конечно, со временем, люди разбираются, так же как разбираются, как получить список всех своих друзей в facebook.
NeoBB прост, интуитивен и функционален. Сначала кажется, что у NeoBB функционал значительно меньше, чем у конкурентов, так как в админке всего 9 ссылок, а в профиле пользователя и того меньше: 4. Но потом приходит понимание, что вот он, функционал, совсем рядом. Драгоценное место отделяется непосредственно контенту, а не морю ссылок и кнопок.
В качестве примера ещё хочу привести то, как реализована сортировка форумов и их категорий. Во всех без исключения форумах приходится выставлять параметр order number. При добавлении новой категории/форума order number может совпаcть, и тогда надо проходить по каждому форуму и исправлять его.
В NeoBB сортировка реализована с помощью drag&drop:
Облако
Другой аспект простоты и функциональности NeoBB заключается в его «облачности». Я понимаю, что данный аргумент спорен для многих, более того, в конце статьи я подведу итог: для кого подходит NeoBB, а для кого нет, и это будет играть ключевую роль. Так почему же облако?
При проектировании NeoBB, как я уже говорил, я хотел заполнить недостающую нишу на рынке. Так вот, на рынке полно форумных движков, работающих по классической схеме. Вот какие действия должен сделать человек, который хочет создать форум по классической схеме:
1. Выбрать движок
2. Заплатить за него (не требуется в случае использования бесплатного ПО)
3. Скачать архив с исходным кодом
4. Выбрать хостинг
5. Заплатить за хостинг
6. Загрузить скрипт с помощью FTP
7. Настроить форум
В случае NeoBB, список такой:
1. Выбрать план (бесплатный, стандартный, премиум, custom)
2. Настроить форум
Да, существуют сайты, предоставляющие похожие услуги на других движках. Более того, IPB официально продаёт Hosted Communities.
Почему же не предоставлять выбор: кто хочет — пусть пользуется облаком, а кто хочет — пусть загружает движок на свой сервер. Согласен, выбор — это хорошо. Однако в данном случае есть ещё несколько причин в пользу только облачного варианта.
NeoBB написан на C#/ASP.NET MVC 3 и использует mongoDB. 99.9% shared хостингов сразу отметается. На Linux/Mono он не взлетит, так как Xamarin так до конца и не допилили поддержку MVC 3. Остаются только пользователи Windows VPS/VDS. А таких очень мало.
И, наконец, при такой централизованной системе у каждого пользователя NeoBB всегда будет последняя версия. Никаких больше обновлений, и плат за эти обновления. А главное — никакой дефрагментации. Исправлен баг/уязвимость? Можно быть уверенным, что ни на одном NeoBB форуме её не будет.
Последнее время облачые сервисы всё больше входят в нашу жизнь: Dropbox, Google Docs, Evernote, iCloud. На мой взгляд, самый близкий к NeoBB облачный сервис — Disqus. Он добился невероятной популярности и доказал, что комментарии не обязательно хранить у себя на сервере. Правда, Disqus не без изъянов, и у ребят ещё много работы над стабильностью сервиса.
Доступность
Одно из главных преимуществ NeoBB — доступность. Вот сравнение с двумя популярными облачными форумными хостингами:
Как видите, NeoBB в разы дешевле, в то же время предоставляется некоторый функционал, отсутствующий у конкурентов. За счёт чего получаются такие низкие цены? Во-первых, как я уже говорил, высокая производительность и оптимизация движка позволяет сэкономить на серверах. Во-вторых, я (пока) единственный разработчик. Да и вообще, я считаю, что более доступные цены в данной отрасли выгоднее как для покупателя, так и для продавца.
Чтобы не было ощущения, что NeoBB дешевле, потому что хуже, существует бесплатный план без рекламы и без истекающего срока. Он отлично подходит для тестирования и миграции текущего форума. Ознакомиться с этим и другими планами можно на главной странице проекта.
Теперь давайте сравним стоимость NeoBB со стоимостью хостингa на своём сервере. Будем исходить из ~75 пользователей online. Для того, чтобы выдержать 75 пользователей online на форуме vBulletin, SMF, phpBB, IPB и т.д., придётся платить минимум $150 в год за хостинг. Добавим к этой сумме стоимость лицензии, если форум платный: $195 для vBulletin. Цены на другие проприетарные форумы находятся примерно в той же категории. Получается от $150 до $350 в год. С NeoBB это обойдётся ровно в $100 в год.
Интеграция
Не смотря на то, что ваш NeoBB форум находится на другом сервере и использует совершенно другие технологии, легко создаётся ощущение полной интеграции с вашим сайтом.
NeoBB легко «ставится» на ваш собственный домен/поддомен, так что можно воспользоваться устоявшейся системой «главный сайт на site.com, форум на forum.site.com». Как это делать, описано в документации. Более того, вы можете интегрировать NeoBB с вашей текущей базой пользователей, чтобы пользователям сайта не надо было регистрироваться и даже авторизовываться на форуме.
Например, если ваш сайт написан на C#/ASP.NET, вы должны загрузить библиотеку NeobbIntegration.dll и подключить её к проекту. Библиотека очень простая:
// Инициализация
var neobb = new NeobbIntegration("forumdomain.com");
// Регистрация нового пользователя на форуме
if (neobb.RegisterNewUser(email, password, username)) Log("NeoBB user registered successfully");
// Авторизация пользователя (работает, если NeoBB форум находится на поддомене)
neobb.AuthenticateUser(Response);
Кастомизация
Это один из самых интересных аспектов, с которым мне пришлось столкнуться. Кастомизация форума очень важна. Если пользователь не сможет настроить внешний вид форума под себя, то с большой вероятностью пользоваться таким форумом он не захочет.
Сначала я создал страничку с текстбоксами «Цвет текста», «Цвет ссылок» и т.д. Но потом я понял, что это ужасно ограничивает дизайнера и решил ввести поддержку полной настройки CSS. Вот что получилось:
Функциональнее и понятнее. В ближайшем будущем будут добавлены стандартные темы.
Теперь о самом интересном: шаблоны. По понятным причинам простое редактирование кода а-ля SMF или phpBB не сработает. Поэтому я решил пойти по пути шаблонов, как в XenForo. На данный момент они всё ещё в разработке. Но будет выглядеть это примерно так:
<neobb:if IsLoggedIn="true">
<neobb:SayThankYouButton />
</neobb:if>
Да, на данный момент шаблоны пока не реализованы. Но это не означает, что нельзя сделать что-то уникальное. Например, вот мой сайт medvednikov.com, недавно переведённый с блоггера на NeoBB:
Mini CMS
В определённый момент жизни я решил, что пора создать сайт-визитку. Сначала я быстренько написал сайт на голом html и загрузил его на бесплатный хостинг. После того, как этот бесплатный хостинг упал на несколько дней, я начал искать альтернативу. Выбор пал на Blogger. Надёжный и бесплатный сервис от Google с привязкой к домену первого уровня. После нескольких часов редактирования громоздкого шаблона я получил то, что хотел. Функционал блога мне был не нужен. Только странички-визитки.
И тогда мне пришла в голову идея: почему бы не добавить в NeoBB функционал по созданию небольших сайтов-визиток? Результат вы видите на скриншоте выше.
Это определённо не замена полноценным CMS вроде WordPress, но наверняка многим пригодится. Конечно, развитие функционала форума имеет наивысший приоритет. Mini CMS, а возможно и Mini Blog, будут развиваться менее резкими темпами.
Функционал
В NeoBB имеется практически всё, что требуется от форума. Перечислять это было бы слишком долго. Лучше напишу о том, что пока не готово:
- Шаблоны
- File attachements
- Подфорумы, подподфорумы и т.д.
- Голосования
- Закрытые форумы
- Отдельные разрешения для модераторов
- Вход через facebook
С файлами я пока не решил. Но я почти уверен, что будет интеграция с каким-нибудь облачным сервисом, типа SkyDrive. Зачем тратить bandwidth и занимать место на диске, когда есть специализированные для этого сервисы? Сейчас вообще идёт тенденция к отказу от attachment'ов и замена их на cloud storage (мне очень понравилось видео на эту тему от создателей почтового клиента Sparrow: sparrowmailapp.com)
Подфорумы конечно будут реализованы asap, это очень нужный и простой в плане программирования функционал. То же самое и с голосованиями, разрешениями и закрытыми форумами. Замечу, что форумы, закрытые только для модераторов и администраторов, уже реализованы. Закрытые форумы — форумы, где нужна регистрация для просмотра контента.
Я большой поклонник OpenID, поэтому, конечно, реализовал авторизацию через OpenID. Пока это Google (как самый популярный провайдер) и Yahoo. Скоро будут добавлены и другие. К моему большому разочарованию, невероятно популярный facebook вместо использования OpenID продвигает свой facebook Connect. Руки до него пока не дошли, но ввести его нужно будет обязательно.
Хочется написать о функционале, которого нет и, скорее всего, не будет. По крайней мере, в ближайшие 6 месяцев точно. Аддоны. Реализовать их в NeoBB чрезвычайно сложно, поскольку нет доступа к исходному коду и базе данных. На данный момент есть более важные вещи, которые надо сделать (те же шаблоны). Однако не всё так плохо. Во-первых, большинство функций топовых аддонов уже есть в NeoBB из коробки (например, «спасибо» за сообщения, день рождения, чат, интеграция с Google AdSense, SEO заголовки, флаг страны пользователя, редактированиe заголовка темы и т.д.). Во-вторых, если пользователю будет очень не хватать какого-то функционала, он/она всегда может написать об этом в раздел Suggestions, и, скорее всего, данный функционал будет доступен по дефолту.
Планы на будущее
Я подавал заявки в два бизнес-инкубатора: Spanish Village и SeedCamp. В первом мне отказали, видимо, из-за возраста, во втором сказали, что нет клиентской базы, и невозможно понять, будет ли проект приносить доход. Поэтому я решил продвигать NeoBB самостоятельно.
Мне кажется, что у NeoBB есть все шансы взять определённый процент рынка, не смотря на уже устоявшихся больших игроков. После реализации перечисленного выше функционала я планирую начать агрессивную рекламную кампанию. Существует также партнёрская программа, так что пользователи, которым понравился движок, могут привлекать своих знакомых и зарабатывать на этом 25% от дохода.
NeoBB расчитан как на новых пользователей форумов, так на и тех, кто уже имеет форум и готов мигрировать. На данный момент поддерживается миграция с phpBB и SMF, скоро будет готова миграция с vBulletin и IPB. Кстати, буду благодарен тем, кто попробует перенести свой phpBB/SMF форум на NeoBB, так как у меня своих крупных форумов нет. Как я уже говорил, для тестирования можно использовать бесплатный план.
Заключение
Один продукт не может удовлетворить каждого пользователя. Поэтому хорошо, когда рынок насыщен, есть выбор, и есть конкуренция.
NeoBB скорее всего не подходит вам, если вы:
- Любите копаться в исходниках и настраивать продукт под себя
- Из принципа предпочитаете хранить все данные у себя на сервере
- Уже используете форумное решение с большим количеством аддонов (возможно, самописанными), альтернатив которым нет у NeoBB
NeoBB подходит вам, если вы:
- Хотите быстро и выгодно создать новый форум
- Хотите получить быстрый и удобный форум, который just works
- Хотите получить плотную интеграцию с вашей текущей пользовательской базой
- Не боитесь пробовать что-то новое
17.12.2011 01:27+0400