Статьи

Интервью — Джон Персиваль из vBulletin

Сидя высоко на кресле директора, Джону Персивалю есть чем гордиться. Будучи неотъемлемой частью Jelsoft и создателя vBulletin, Джон воплотил мечту и воплотил ее в совершенно потрясающую реальность.

Многие сайты по всему миру — тысячи на самом деле — используют vBulletin. Обладая функциями, он удобен для пользователя и достаточно масштабируем, и, возможно, является лучшим программным обеспечением для форумов PHP / MySQL на рынке сегодня.

Как был создан vBulletin? Почему это было создано? И какие планы на будущее? Джон Персиваль раскрывает почти все …

SP: Во-первых, можете ли вы рассказать нам немного о себе? Как вы попали в разработку программного обеспечения? Чем ты занимался до того, как начал работать над vBulletin?

Конечно. Я Джон Персиваль, и я работаю в Jelsoft уже 5 лет. Первоначально я пришел, чтобы помочь основателю и совладельцу Джеймсу Лимму в создании веб-сайта для разработчиков Visual Basic. Это включало написание статей, фрагментов кода и обзоров для сайта, а также поддержание активности и активности наших форумов по вопросам и ответам. Я занимался этим до февраля 2000 года, когда мы решили, что наши существующие доски объявлений не сделали сокращения, поэтому было принято решение разработать несколько новых в PHP / MySQL.

SP: Что изначально вдохновило вас на написание vBulletin? Сколько времени вам понадобилось, чтобы собрать первую версию?

Как я уже упоминал, наши существующие доски объявлений не выдерживали нагрузки, и ни Джеймс, ни я не были знакомы с кодом доски, поэтому мы не смогли изменить его для интеграции с сайтом. Мы приняли решение разработать совершенно новую систему на PHP, чтобы мы могли более тесно интегрировать ее с остальной частью веб-сайта VB-World.

Написав аналогичную систему управления контентом и обратной связи для VB-World на PHP, у меня уже было много кода для работы над созданием того, что должно было стать vBulletin. Вскоре наши новые форумы вызвали небольшой интерес со стороны доски объявлений, и мы были убеждены в том, чтобы развивать его и выпускать. Общее время между первым решением написать программное обеспечение и первой выпущенной версией составило около 2 месяцев.

SP: Почему вы выбрали PHP и MySQL? Какие еще комбинации вы рассматривали?

Основной причиной, по которой я выбрал PHP и MySQL, было то, что я знал, как использовать. У меня не было большого опыта работы с Perl, C (++) или Java, поэтому они не были подходящими вариантами. Ранее я писал систему управления контентом VB-World с использованием комбинации PHP / MySQL, поэтому был уверен, что они справятся с этой задачей.

Кроме того, у PHP и MySQL были очень активные сообщества разработчиков, поэтому мы были уверены, что они будут поддерживаться и развиваться в обозримом будущем. В конце концов, мы не всерьез рассматривали какие-либо другие варианты, так как PHP / MySQL был тем, что было для нас правильным в то время, и мы не рассматривали его публикацию до тех пор, пока основная часть разработки не будет завершена.

SP: Можете ли вы рассказать нам немного о среде программирования — как физической (ваш офис), так и на экране — в которой был создан vBulletin?

Конечно. Я склонен работать в довольно спокойной обстановке с минимальным количеством отвлекающих факторов. Музыка на заднем плане хороша, хотя я часто концентрируюсь так сильно, что не замечаю окончания работы с CD 🙂 В то время, когда я изначально разрабатывал vBulletin, я имел тенденцию работать довольно поздно и целыми часами время, прежде чем сделать значительный перерыв и немного поспать. Я обнаружил, что я был более продуктивным в течение плотных, концентрированных периодов времени, а не мелочей здесь и там.

Большая часть дизайнерских работ для vBulletin была сделана на компьютере, но у меня всегда есть под рукой ручка / карандаш и бумага на случай, если мне понадобится делать заметки или делать наброски. Большая часть работы по разработке была сделана с использованием TextPad (textpad.com), который я клянусь сейчас за всю мою работу с PHP. Это отличный, удобный текстовый редактор, который делает все, что мне нужно, без излишней сложности, чрезмерной красоты или неуклюжести.

Работа по тестированию была выполнена на моей локальной машине, с Apache и MySQL, работающими под Win98 (теперь Win2k). Самое замечательное в PHP состоит в том, что вам не нужны дорогие инструменты разработки — все, что требуется, — это простой текстовый редактор, а PHP / MySQL / Apache являются бесплатными, поэтому это очень недорогое решение.

SP: Когда вы запустили vBulletin, UBB был лидером пакета. Как вы начали внедрять vBulletin на рынке, где доминирует UBB? И ты когда-нибудь видел себя на самом деле соперничающим и становящимся лучше их?

Когда я впервые разработал vBulletin, это был просто личный проект для использования на VB-World. Однако несколько пользователей UBB были обеспокоены тем, в каком направлении движется их программное обеспечение, и были довольны этим глотком свежего воздуха, который мы предоставили. Они связались со мной и убедили меня, что для этого может быть рынок, если мы его выпустим. Так что это именно то, что мы сделали. Нам нечего было терять, и мы были очень удивлены, что это взлетело так быстро. Это был мгновенный хит, очень быстро собравший вокальных и преданных пользователей.

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

SP: К чему вы относите успех vBulletin?

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

Эти люди создают модификации кода для простого программного обеспечения vBulletin, чтобы добавить новые функции или улучшить существующие. vBulletin распространяется с полным исходным кодом, поэтому заказчик может свободно принимать код и изменять его по своему усмотрению. Людям это очень нравится, так как они могут настроить его в соответствии со своей ситуацией, вместо того, чтобы использовать решение «один размер подходит всем». Несмотря на это, мы сделали все возможное, чтобы создать максимально эффективное решение.

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

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

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

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

Несмотря на то, что рынок становится все более конкурентным, vBulletin продолжает набирать популярность. Мы не будем сидеть сложа руки и почивать на лаврах, а продолжим захватывающее развитие vBulletin 3.

С.П .: В Интернете есть все виды сайтов — от любителей до крупных предприятий. Как vBulletin вписывается в сайты этих разных классов клиентов?

С технической точки зрения vBulletin может обрабатывать сайты любого размера — от самой маленькой доски объявлений до самого большого сообщества — при условии правильного оборудования. У нас есть несколько клиентов с миллионами постов в их базе данных, поэтому проблем с масштабированием не возникает. Это все достижимо и на обычном оборудовании.

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

SP: Я понимаю, что вы переписываете vBulletin для версии 3.0. Вы просто переписали основной движок для vBulletin 2.0 — зачем переписывать его снова? На какие жертвы вы пошли, чтобы улучшить производительность vBulletin в версии 2?

vBulletin 3 не будет полностью переписан так же, как vBulletin 2. Мы смотрим на то, что мы узнали при создании vBulletin 2 — мы сохраним лучшие биты и сделаем их лучше, а также возьмем не очень хорошие биты и переделаем их. Код разрабатывается с учетом производительности и масштабируемости, сохраняя при этом максимально модульный характер. Единственные жертвы, которые мы приносим, ​​чтобы улучшить производительность, — это время разработчика — если функция будет включена, мы обеспечим, чтобы мы потратили на нее дополнительное время, чтобы она работала при всех различных условиях.

Самые большие улучшения, которые мы смогли сделать в vBulletin 2, — это SQL-запросы — так vBulletin и PHP взаимодействуют с базой данных. Мы смогли улучшить способ выполнения этих запросов и количество запросов, которые может обработать система, чтобы код работал намного быстрее.

SP: Есть ли у вас какие-либо рекомендуемые ресурсы для разработчиков PHP / MySQL, которые хотят узнать, как оптимизировать свой код для условий высокой производительности, таких как те, которым регулярно подвергается vBulletin?

Сайт MySQL — это хорошее место, и книга Пола Дюбуа MySQL также является хорошим справочником. Тем не менее, лучший опыт получается, когда вы сами пытаетесь и работаете с кодом. Посмотрите, какой код работает, а что нет, и изучите его методом проб и улучшений. Вы скоро начнете поднимать несколько трюков. Одна вещь, которую мы узнали при разработке vBulletin для его различных сред, — это иметь как можно меньше запросов на странице.

SP: Где вы проводите грань между включением запрашиваемых пользователем функций и оптимизацией производительности продукта?

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

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

SP: Можете ли вы поделиться с нами некоторыми из новых функций vBulletin 3.0, которые еще не были обнародованы?

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

Вы никогда не знаете, но вскоре вы обнаружите, что vBulletin поддерживает весь ваш сайт, а не только ваши форумы! 😉

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

К сожалению, я не могу назвать имена или URL-адреса наших клиентов. Тем не менее, мы видели форумы с более чем 1100 пользователями одновременно, на одном с более чем 170 000 зарегистрированных пользователей и на другом с более чем 3 миллионами сообщений. Таким образом, он должен обрабатывать большинство повседневных форумов без особых проблем!

Для работы форумов такого размера требуется довольно большая настройка сервера. Я думаю, что у них, вероятно, есть два сервера, один для базы данных и один для веб-сервера. Каждый из них, вероятно, будет представлять собой компьютер Dual-P3 1 ГГц с 2 ГБ ОЗУ и жесткими дисками SCSI. Это всего лишь предположение, но с падением стоимости серверов, сервер такого размера не будет неразумным для большого сайта.

SP: Каковы планы на будущее vBulletin? Будете ли вы придерживаться досок объявлений и связанных с ними систем или есть планы по переходу на другие продукты или услуги?

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

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