Продолжаем warstory оптимизации PHP+mySQL сайта редчайших слов. Одним майским днем, копаясь в словах, мне пришла в голову мысль — расставить под этими словами textbox'ы — использовать [модный для Web 2.0] crowdsourcing. Заполняй чем хочешь, только про это конкретное слово. Но, должно было работать collaborative — как Google Docs — если ты и еще кто-то редактируют слова на одной и той же странице — изменения будут отображаться одновременно. Или, например, кто-то редактирует слово «google» на странице Гугла, а на странице TechMeme, к примеру, есть тоже слово «google» — и им в real-time покажутся эти изменения со страницы Гугла [это необязательно понимать]. Знал бы я какие последствия эта веселая задумка на mySQL окажет позже…
Сделать это оказалось несложно: prototype.js — в руки, ajax — каждые 10 секунд, смотрим в базе что менялось за последние 10 секунд, делаем пересечение со словами на текущей странице, отправляем js highlight effect и новый текст — вуаля. Людей было, но мало кто что-то вводил, тогда я придумал повесить в уголок страницы блок «только что было сказано». Например: «На странице 'fibonacci.com' только что было сказано, что 'fibonacci' → 'crazy math scientist'». Это уже значительно заинтересовало людей и заполняемость выросла в разы. Все видели движения на сайте и сами вовлекались.
Собственно, я сделал достаточно функционала для довольно забавной игрушки — «войны сайтов редкими словами», авто-категоризатор, синонимизатор и т.п. Я сидел мирно редактировал «живой» сайт, загружал новый файл, если видел ошибку — исправлял, не переживая, что это кто-то может видеть. Не подозревал я, что уже тысячи людей видят это. После очередной ошибки в названии функци что-то произошло… я не смог загрузить на FTP index.php… это был TechCrunch....