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нтрибьють. Пусть у тебя сдирают. У нас немного другая песочница, но смежная. Я не могу сказать, что именно надо делать.

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

Date: 2011-04-14 05:34 am (UTC)
From: [identity profile] morfizm.livejournal.com
+1 to "Хорошо рассказываешь. Вообще мне нравится твой UI. На запад не хочешь?".

JOIN'ы плохо, да. Вообще, в универах учат, как нормально нормализировать базу. В реальной работе нужно в точности обратное знание :) Как правильно денормализировать :)

Date: 2011-04-14 06:53 am (UTC)
From: [identity profile] trubachev.livejournal.com
Как потенциальные пользователи проект приняли?

Date: 2011-04-14 07:09 am (UTC)
From: [identity profile] ermouth.livejournal.com
пока особо никак -- я его проанонсировал бетой и пока до лета особо раскручивать не собираюсь. там работы ещё вагон и маленькая тележка, да и предложений ещё в очереди на занесение стоит больше сотни.

зато уже правда севера про меня написала. уж не знаю, гордиться или плакать о_О

Date: 2011-04-14 07:21 am (UTC)
From: [identity profile] trubachev.livejournal.com
Опасаться, как минимум.

А добавление материалов как реализовано? Админ ручками прописывает или пользователь сам из личного кабинета?

Date: 2011-04-14 07:25 am (UTC)
From: [identity profile] ermouth.livejournal.com
вообще конечно пользователь (привязанный нами к проверенной компании) из личного кабинета -- но пока у меня не оттестирована по полной безопасность, мы заносим сами.

там всё же на деньги процесс завязан, поэтому я тут не тороплюсь -- лучше протестить по-хорошему.

Date: 2011-04-14 08:56 am (UTC)
From: [identity profile] trubachev.livejournal.com
А почему не сделал сервис "Спрос"? Чтобы я оставил заявку на конкретный заказ, а поставщики сами меня нашли и сделали предложение.

Date: 2011-04-14 09:17 am (UTC)
From: [identity profile] ermouth.livejournal.com
давай рассмотрим сценарий.

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

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

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

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

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

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

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

Date: 2011-04-14 09:30 am (UTC)
From: [identity profile] trubachev.livejournal.com
Я корпоративные объявления и имел ввиду.

Date: 2011-04-14 09:51 am (UTC)
From: [identity profile] 802-11.livejournal.com
И мне очень нравятся твои интерфейсы и вообще подход к разработке сервисов. Есть чему у тебя поучиться на каждом проекте. Проектируй еще!

Date: 2011-04-14 11:06 am (UTC)
From: [identity profile] morfizm.livejournal.com
Посмотрел твой пост, будучи случайно незалогиненным, т.е. без авторазворачивания катов. Оказывается у тебя кат! :)

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

Нет, я не против катов, на здоровье. Пока у меня включено авторазворачивание, всё отлично :)

Date: 2011-04-15 04:46 am (UTC)
From: [identity profile] mastre.livejournal.com
отличная статья
а чекбоксы и радиогрупы чем не устроили? в общий стиль не вписались?

Date: 2011-04-15 09:23 am (UTC)
From: [identity profile] ermouth.livejournal.com
в них неудобно тыкать пальцем

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. 24th, 2025 01:35 am
Powered by Dreamwidth Studios