ermouth: (Default)
[personal profile] ermouth

Бизвуд ещё вовсю делается, но об основных моментах уже вполне можно писать. Извольте.

Идея Бизвуда мне пришла в голову чуть меньше двух лет назад, весной. Тогда к нам в офис с небольшим промежутком времени пришли два предпринимателя – один строил дома из лиственницы и жаловался, что возит её из Сибири, а второй – что не знает, куда эту лиственницу продать. Между ними при этом было километров двести – и они друг о друге ничего не знали. И узнать им было неоткуда.

Собственно, идея очевидна – сделать торговую площадку. Я порылся в сети и понял что рынок пуст (имеющиеся торговые площадки все страдали огораживанием и закрытостью). Фичи в первом соображении были такие:

  • все предложения с чёткой ценой
  • возможность голосования и рейтингования за предложение (типа отзывов на Я-маркете)
  • геотэггинг – возможность отбора предложений по удалённости
  • оплата – за строчку в месяц
  • легкий поиск без всякой регистрации

Я сделал вкладку в OneNote и нарисовал первый черновичок (датирован 25 мая 2009, явно под влиянием Я-маркета):

image

Мы с Леной пообсуждали это – и я на какое-то время про идею забыл.

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

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

image

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

  • каналы связи в провинции узкие, поэтому всё должно работать очень быстро – значит нужен AJAX
  • для нормального отбора и поиска нужны разные представления для разных типов продукции (скажем, критерии отбора домов и досок совершенно разные)
  • делать навороченный отбор как в Я-маркете не надо – люди так не ищут

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

И я решил серьёзно прокачать скиллы веб-разработчика. Вселенная, как известно, изобильна – в ответ на моё желание мне повалились небольшие и разные проекты, на которых можно было вполне поточить зубки.

Первым был zlobot.ru. После него стало понятно, что если я не буду применять какую-то библиотеку для отображения, я просто погрязну в интерфейсе. Пришлось изучить несколько библиотек и я остановился на jQuery. Не из соображений скорости и фич – тогда и побыстрее, и побогаче были фреймворки, а из соображений темпов развития библиотеки. Я не ошибся – сейчас жэкваери уделывает всех.

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

Как выяснилось, потенциально highload-системы устроены совсем иначе, чем я себе представлял. Например, стало ясно, что упрощать себе жизнь и делать запросы к базе с использованием JOIN – это нэ. Надо изначально проектировать систему так, чтобы по-возможности избегать джоинов и всяких таких потенциально медленных штук.

Потом встал вопрос биллинга – тоже пришлось много читать.

Потом встал вопрос сериализации данных для передачи – как раз примерно тогда я сделал выбор в сторону JSON, а не XML. Несмотря на проработанность XML-технологий и мой огромный опыт в их использовании (на сегодня – почти 10 лет), XML для транспортных целей не подходит – на коротких данных он избыточен, слишком много разметки.

Пришлось изучать технологии, связанные с JSON.

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

И я стал их пересматривать. Первый пробный камень – Калькулятор на наш сайтег (это уже май 2010). Вот про него: http://ermouth.livejournal.com/435471.html До этого я писал калькуляторы, которые выглядели примерно так (это 2005 год):

image

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

image

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

Под эту считалку у меня написалась бета-версия новая библиотечки, которая рендерит интерфейс по JSON-описанию. Сейчас я её с модификациями использую повсеместно.

На сегодня всё, продолжение будет.

Date: 2011-04-14 03:29 am (UTC)
From: [identity profile] rezkiy.livejournal.com
Когда-то давно я рендерил веб-интерфейс на основе структуры сиквельный базы данных. Засасывал метаданные и вперед. Спецтаблица для хинтов, как рендерить.

Хорошо рассказываешь. Вообще мне нравится твой UI. На запад не хочешь?

Date: 2011-04-14 03:39 am (UTC)
From: [identity profile] ermouth.livejournal.com
Спасибо.

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

Date: 2011-04-14 03:49 am (UTC)
From: [identity profile] rezkiy.livejournal.com
У тебя возраст не тот для типовых условий. Большой мальчик уже. Make yourself known. Кoнтрибьють. Пусть у тебя сдирают. У нас немного другая песочница, но смежная. Я не могу сказать, что именно надо делать.

Ты рисуешь очень все в струе, но по-другому. Продолжай, не скатись в техподдержку.

Profile

ermouth: (Default)
ermouth

November 2021

S M T W T F S
 123456
78910111213
14151617181920
21 222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 25th, 2025 07:46 am
Powered by Dreamwidth Studios