4 комментария

«Онлайнер» — приложение для «Вконтакта», разработанное на основе фреймворка Вебасист.
Приложение позволяет следить за статистикой пребывания в соцсети друзей и самого себя. Для того, чтобы посмотреть приложение, необходимо быть зарегистрированным во «Вконтакте».

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

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

39 комментариев
Укажите в комментариях три самые самые желанные функции, которые вы ждете в новом Shop-Script. Можно высказывать любые предложения, комментировать предложения других, поддерживать, спорить, говорить спасибо и ругаться. Пост-флейм!

20 комментариев

В недавнем посте про историю Shop-Script я упомянул о том, что переход на новую версию Shop-Script будет платным. Это вызвало небольшую дискуссию в комментариях и, надо сказать, неприязнь. Вполне естественно, ведь раньше владельцы лицензий Shop-Script никогда не платили обновления. Последнее платное обновление было в 2005 году — переход с более младшей версии Shop-Script PRO на появившийся тогда Shop-Script PREMIUM. И то это неправильно называть обновлением — это был апгрейд с одной редакции продукта на другую. Далее все обновления были бесплатными, в том числе и переход с Shop-Script PREMIUM на WebAsyst Shop-Script. Естественно, информация о том, что обновление планируется платное, было встречено без особого удовольствия. Немного расскажу о том, почему мы так делаем.

Из применяемых моделей обновления программных продуктов наиболее распространены и применяемы две модели. Первая модель предполагает фиксированную цену за лицензию на программный продукт, и эта цена включает в себя определенный период доступа к обновлениям (как правило, один год). Далее можно продлевать доступ к обновлениям по некоторой цене, которая составляет, как правило, 20—30% от стоимости лицензии. Вторая модель предполагает фиксированную стоимость лицензии и бесплатные обновления в рамках текущего поколения продукта.

Среди большинства популярных веб-продуктов (особенно, CMS-систем) распространена первая модель — с платным доступом к обновлениям. Мы же будем развивать наши продукты по второй модели.

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

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

Жизнеспособность и действенность этой модели подтверждается богатым опытом «продуктов-монстров»: операционных систем Windows, Mac OS, графических редакторов Photoshop, офисных пакетов и т.д. Все эти продукты развиваются по второй модели. Если ты купил Windows XP, то получаешь все сервис-паки бесплатно, они делают твою систему стабильной, но в целом ты остаешься всегда с тем же продуктом. На новые поколения продукта (Vista, Windows 7) переходишь, только если они тебе нравятся.

Первая модель применима к сервисам аренды некоторого ресурса (например, для хостинга, веб-сервисов), но не к владению программными продуктами.

Мы тоже выбираем для Вебасиста вторую модель, и поэтому уже сейчас говорим о том, что переход на новый Shop-Script будет платным. В данный момент мы еще обсуждаем условия перехода и скидки, предусмотренные для владельцев лицензий на приложения WebAsyst текущего поколения. Безусловно, скидки будут. Только развитие по второй модели будет давать дополнительный стимул на создание качественно новых продуктов. Мы будем пытаться «прыгнуть через голову», сделать то, что опередит время.

Мы открываем новую рубрику в блоге под названием «Приложение за выходные», и в рамках этой рубрики будем выпускать приложения, разработка которых занимает не более, чем два дня (да, всего два дня!). Некоторые приложения этой рубрики будут носить экспериментальный характер, некоторые со временем перерастут в более масштабные проекты — но все приложения будут непримитивными и полностью готовыми к работе.

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

Вот первое такое приложение — приложение «Списки дел»: http://www.webasyst.com/ru/apps/checklists/

Приложение «Списки дел» позволяет вести списки дел и отмечать, что сделано. Например, кому какие подарки купить, что не забыть сделать в офисе, что взять с собой в поездку, кого позвать на вечеринку, какие фильмы посмотреть и т.д. Списками можно пользоваться коллективно: доступ регулируется по спискам из приложения «Контакты» (скоро фреймворк позволит регулировать доступ напрямую из приложения). Посмотрите онлайн-демо нового приложения.

Приложение доступно для установки из «Инсталлера» внутри каждой установки Вебасиста, весит всего около 30 КБ и разработано действительно за два дня.

26 комментариев

Пока наша команда погружена в разработку фреймворка Вебасист, приложений «Сайт», «Блог» и «Поддержка», немного расскажу о том, как создавался проект Shop-Script.

shop.vofka.ru

Shop-Script я начал писать осенью 2001 года, то есть почти десять лет назад. Я тогда был студентом 2-го курса ВМиК МГУ и решил поизучать PHP. Писал код по вечерам в общаге ГЗ МГУ и написал первую версию скрипта примерно за месяц. Идея написать скрипт магазина появилась из желания сделать какое-нибудь полезное упражнение на PHP и заработать немного денег.

Упражнение переросло в профессию. Первая копия Shop-Script была продана 21 января 2002 года на дискетке за $70 ($50 — сам скрипт, $20 — установка на сервере заказчика). Встречался с заказчиком на станции метро «Кузнецкий мост» (даже помню его домен — starshop.ru — сейчас, правда, этот магазин уже не работает). Осталось отчетливое воспоминание: на деньги с первой продажи я купил шаурму.

Интересующимся я предлагаю скачать ту первую версию скрипта, которая продавалась за $49 аж до 2004 года: Shop-Script 1.0 (Zip-архив; 70 КБ). Скрипт был спроектирован неправильно априори, полностью построен на процедурном коде типа «лапша», однако, не требовал никакого вникания в архитектуру кода в принципе. Какой файл править — понятно из его названия. Я тогда не сильно беспокоился вопросами организации кода. Все проекты, которые делал до Shop-Script, были, в основном, академическими: интересные алгоритмические задачи, но не крупные проекты. Тем более, все былоне для веба. Впрочем, скрипт работал, стал приносить немного денег, а это позволило не искать постоянную работу и продолжать заниматься проектом.

Читать далее →

4 комментария

Хорошая новость для разработчиков приложений на основе Вебасиста: Вебасист теперь есть на GitHub по адресу https://github.com/webasyst/webasyst-framework

Это значит, что, во-первых, локальные установки Вебасиста теперь можно делать и обновлять напрямую из репозитория на GitHub через GIT или SVN и, следовательно, контролировать какие файлы были изменены, а какие нет. Репозиторий Вебасиста содержит системные файлы фреймворка и бесплатные приложения (Контакты, Стикеры, «Пустышку» и пр.; Инсталлера в репозитории пока нет, но скоро планируем добавить и его).

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

  • GIT: git clone git://github.com/webasyst/webasyst-framework.git
  • SVN: svn checkout http://svn.github.com/webasyst/webasyst-framework.git

Про установку Вебасиста из репозитория мы написали в документации по фреймворку. Подключайтесь!

2 комментария

Новые статьи
На этой неделе мы добавили две статьи в документацию по фреймворку Вебасист:

  • Шаблоны: добавлена секция про то, как заменить шаблонизатор Smarty на другой,
  • Композитные макеты: статья про создание страниц, на которых подключается несколько шаблонов.

Autoload
На форуме нам задавали вопрос про устройство автолоада во фреймворке, и мы хотим обратить на этот вопрос внимание всех, кто уже разрабатывает на основе Вебасиста. Автолоад (autoload) реализован так, чтобы разработчику не приходилось думать о подключении классов: Вебасист автоматически подключает все классы, которые располагаются внутри папки lib приложения и названы согласно правилам именования классов (необходимо выполнение обоих условий). Для работы автолоада необходимо, чтобы в одном php-файле был определен только один класс. При самом первом запуске приложения фреймворк находят все файлы .php в папке lib приложения, по имени файла определяется название класса, и полученный список «класс => файл» кешируется, чтобы не перечитывать все .php-файлы каждый раз. Кеширование отключается только в режиме разработчика (debug_mode).

debug_mode
В связи с описанным выше поведением автолоада и кеширования напоминаем всем разработчикам о необходимости включения режима разработчика на время создания приложений: это делается в настройках приложения «Инсталлер» или в файле wa-config/config.php добавлением строчки 'debug' => true.

5 комментариев

Пара скриншотов приложения «Блог», над которым мы сейчас работаем. Приложение будет позволять вести из единого места блог, опубликованный на сайте, и закрытый блог, доступный только пользователям вашего Вебасиста (например, внутрикорпоративный блог).

Планируем выпустить приложение в течение лета 2011.

Ваши пожелания и идеи по приложению приветствуются. В «Блоге» будет реализована плагин-структура, которая позволит гибко расширять базовый функционал приложения.

11 комментариев

Одно из первых приложений, которое мы собираемся выпустить на базе фреймворка Вебасист — это приложение «Поддержка» для организации поддержки клиентов.

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

Но каким бы завершенным ни было наше представление о приложении, нам хотелось бы посмотреть на «Поддержку» с другой стороны. Поэтому мы предлагаем вам рассказать каким вы видите ваш идеальный хелпдеск.

Мы видим следующие обязательные моменты в приложении:
— приложение должно быть одним большим маршрутизатором потоков в службу поддержки, где каждый поток (отдел) маршрутизируется по своим правилам;
— в первую очередь надо обеспечить обработку запросов по электронной почте, причем использовать веб-интерфейс приложения должно быть не обязательно: должно быть можно просто ответить на письмо из любимого почтового клиента, и приложение само его обработает, переслав ответ напрямую клиенту по почте или добавив новую запись в журнал обработки запроса (если это ответ на внутреннее обсуждение запроса, например);
— у приложения должен быть фронтенд: открытая база данных запросов в формате примерно как в сервисе «Реформал» или на stackoverflow.com; должно быть голосование и комментирование запросов, опубликованных во фронтенде;
— должен быть REST API;
— запросы могут приходить из разных источников и не только по электронной почте; в поток, вообще говоря, должно быть можно «запустить» запросы разной природы: заказы, уведомления от платежных систем, сообщения из форума и т.д. Такое расширение функционала должно обеспечиваться плагинами.

Приглашаем к дискуссии в комменты.

Мы начали вести блог на Хабре постом про PHP-скрипт, который умеет обновлять сам себя: http://habrahabr.ru/company/webasyst/blog/122451/

Планируем публиковать в блоге на Хабре интересные статьи, так что подписывайтесь. Статьи будут освещаться и в этом блоге: когда-то более подробно, когда-то менее.