----

19 апреля 2009 г.

Серьезный обзор Яндекс.Субботника

18 апреля, т.е. буквально вчера, Яндекс собрал всех на традиционный Яндекс.Субботник.

В этот раз он был посвящен “поиску по сайтам, блогам и другому”.

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

ДокладыЯндекс.Субботник: Поиск by Kenobius.

Первым выступил Богдан Гаркушин, рассказав о “способах организации поиска по сайту средствами Яндекса”.

На данный момент у Яндекса есть три таких средства:

  • Яндекс.Сайт
  • Яндекс.XML
  • Яндекс.Сервер

Яндекс.Сайт это самая простая возможность установить себе на сайт поисковую форму от Яндекса и дать своим пользователям продвинутый инструмент поиска.

Ну а тогда, когда с результатами поиска нужно что-то делать: оформить по-своему, вставить рекламу или представить каким-то хитрым образом (в виде облака тегов, в виде блога, whatever), уже придется пользоваться сервисом Яндекс.XML.

Еще более сложный случай, необходимость искать по данным, закрытым  от Яндекса (конфиденциальные данные, даные на сервере локально сети и т.п.). Здесь уже надо устанавливать на свой компьютер Яндекс.Сервер (теперь бесплатный), настраивать его и использовать. Кстати, сам Яндекс исполуетм этот продукт на Маркете и Поиске по блогам.

 

После перерыва на сцену по очереди  выходили Алексей Байтин и Алексей Осипенко.  Их докладбыл посвящен “средствам проверки орфографии в веб-приложениях”.Яндекс.Субботник: Поиск by Kenobius.

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

В рамках презентации зрителям показали, как просто интегрировать Яндекс.Спеллер с редактором TinyMCE (сервис поддерживает специальный API этого редактора) и с произвольной HTML-формой.

От разработчика требуется лишь довавить немного JavaScript-кода и загрусить себе на сервер файлы с интерфейсоми диалоговых окон. Которые, кстати, очень сильно напоминают соответствующие диалоги из MS Word.

Говорят, сделали это специально, чтобы порадовать простых пользователей, а линуксоидов (вдруг увидящих на своих экранах вордовые диалоги), наоборот, попугать :)

UPDATE: Яндекс.Спеллер в разработке. Вот ссылка для тестирования: http://speller.yandex.net/services/spellservice

 

Третьим вызвался Артем Ворожцов, чтобы рассказать перспективной разработке для “поиска по сайту: умных подсказках”.Яндекс.Субботник: Поиск by Kenobius. 

Умные подсказки уже есть у “большого” Яндеекса. Неплохо бы такую, несомненно, полезную функциюдобавить и к поиску по сайту.

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

Ведь, в отличие от “большого” Яндекса,  сервис поиска по сайту может не иметь доступа к архиву релевантных запросов, из которыхформируются подсказки. Да и кому, как не вебмасстерам лучше знать, что и как подсказывать своим посетителям.

Сервис пока в разработке, как знать, с ками еще проблемами столкнется Артем, но сам факт того, что он открыто советуется с вебмастемами, весьма примечателен.

 

А о проблемах при разработке Яндекс.Директа поведал Дмитрий Агафонов.

Яндекс.Субботник: Поиск by Kenobius.

Точнее, он рассказал о решении проблемы

эффективного “поиска фраз в документах Рекламной Сети Яндекса”.

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

Это был несомненно самый сложный для понимания доклад. Но, тем, кто  решает задачи поиска (а таких люедей не отпугнут всякие деревья с ихузлами и ветками), доклад немного поправил мозги, приоткрв завесу внутренней Яндекс.Кухни.

 

Вместо десерта (шучу: десерт тоже присутствовал) Антон Волнухин и Роман Иванов рассказали “как устроен поиск по блогам”. Яндекс.Субботник: Поиск by Kenobius.В отличие от аналогичного доклада, который прошел за день до этого для блогеров и журналистов, версия для нас – разработчиков- имела спецчасть про API.

Этот API вместе с API к Яндекс.Спеллеру имеет прямое отношение к теме этого блога – а почему бы, собственно, приложениям 2.0 не использовать API Яндекса?

Думаю, об этом я еще напишу, а пока вернусь к Субботнику, коорый, кстати, подходит к концу.

 

После докладов было традиционное общение в кулуарах (о которыхпрозвучало много шуток, мол, все говорят кулуары, а кто знает где они).

Но Яндекс.Субботник силен не кулуарами (как и любое 1.0 мероприятие, общение тут сравнительно ограничено), он силен контентом.

Такие разные доклады и каждый из нихнесет что-то новое и интересное.

Я благодарю организаторов за приглашение на это мероприятие.  Спасибо ребята!

Всем читателям советую следитьза корпоративным блогом Яндекса.  В москве будет всего четыре Субботника в год, два уже было, следующий в июле (обещали не делать его в дни iCamp 2009).  Сколько-то Субботников будет в Киеве. Ближайший – через неделю.

За фотографии благодарю Ростислава Kenobi Орлова.

Несерьезный обзор Яндекс.Субботника в моем ЖЖ


UPDATE: Слайды всех докладов можно посмотреть на страничке Яндекс.Субботника.

22 марта 2009 г.

Видео: «Веб 2.0-бизнес: как построить и раскрутить успешный интернет-проект»

Максим Спиридонов опубликовал бесплатнуюверсию своего видеосеминара.

Фильм идет 2,5 часа, но рекомендую всем, кому интересны стартапы и разработка веб 2.0 сервисов, посмотреть  его.

Я смотрел вчера весь день, часть за частью. Благо фильм хорошо структуирован, а у флеш-плеера есть кнопка паузы :)

Оглавление:
00:03:38 — Эпиграф
00:07:30 — Исследование рынка: поиск ниши для проекта
00:13:54 — Подготовительные работы
00:36:12 — Организация работ по производству сайта
01:11:25 — Юридическое оформление проекта
01:22:58 — Время выхода: баланс степени готовности и необходимого функционала
01:41:25 — Запуск и первичный маркетинг
01:58:23 — Формирование первичного круга лояльных пользователей
02:00:00 — Перевод проекта в обычный режим работы»
02:17:54 — Послесловие
02:19:02 — Вопрос-ответ (приложение)


У фильма есть и платная версия в высоком качестве, которая стоит $14.

Почитать о семинаре подробнее можно в блоге Максима.

28 февраля 2009 г.

Desktop 2.0 по версии Microsoft

Очень интересный доклад сейчас доступен на TechDays -

Актуальна ли еще разработка клиентских приложений или настало время писать только под Web? – запись доклада с конференции Платформа 2009.

В этом докладе Александр Ложечкин и Роман Здебский провели анализ текущих технологических возможностей и ориентиров для Windows и Web приложений.



Длительность доклада: час с копейками


Смотрите видео ниже во встроенном плеере на Silverlight:

Также на страничке доклада на techdays.ru есть ссылки на загрузку видео в формате WMV и MP4 (для ipod).

21 февраля 2009 г.

Принцип Deskop 2.0. #1: Портативные программы

Dexter пишет в блоге Portable soft:image

На сегодня, все большее признание приобретает новая разновидность софта – так называемый portable soft. Это связано во многом и с вместимостью флешек и нынешней доступностью. Появление переносных программ, обусловлено, в первую очередь, желанием избавить юзеров от каких-то часто встречающихся проблем. Наиболее популярными из них являются работа на 2 -х и более ПК ( на работе, дома и так далее), наличие нескольких ОС на ПК. Популярна еще одна серьезная проблема - это переустановка системы, и как следствие, переустановка всего используемого до этого софта. Вспомните, сколько уходит на это нервов? Сколько раз приходиться печатать серийные ключи, перезагружать компьютер, искать нужные диски? Больше всего напрягает тщательная и долгая настройка софта «под себя».

Читать полностью…

 

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

Этот пост пишу в портативном Windows Live Writer на свежеустановленной Windows XP (не портативной, конечно, но…).

А еще в посте, на который ссылаюсь здесь мне понравился такой фрагмент:

Вспомните времена DOS! Устанавливались программы обыкновенным копированием, а настройки сохранялись в INI файлах, которые можно было подредактировать с помощью простого Блокнота. А что мы наблюдаем в наше время?

А в наше время, мы уже совсем забыли, что во времена DOS не было ни ini-файлов, ни Блокнота :).

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

Но, т.к. это было связано в основном с ограничениями (ограниченными функциями, ограниченными возможностиями, …) операционной системы, то не воспринималось как положительное явление.

С распространением более совершенных ОС поменялась и модель прикладного ПО. Все больше программы стали использовать возможности, предоставляемые ОС и другими прогаммынми платформами, попадая в зависсмость от последних и каким-то образом интегрируясь с ОС и друг с другом.

На наших глазах просиходит очередное изменение модели прикладного ПО.

Даже оставаясь в зависимости от семейства или версии операционной системы, пользователь стремится быть независимым от ее экземпляра (конкретной инсталляции).

Причем это относится как к домашним пользователям, самостоятельно обслуживающим свои компьютеры (они могут иметь несколько компьютеров, несколько ОС), так и к бизнес пользователям (которые у себя на работе не могут влиять на ОС, т.к. это прерогатива системного администратора).

Если попытаться обяснить все это одной фразой, я бы сказал так:

Функции, нужные нам от компьютерной системы, должны как можно меньше зависить от других его функций, которые мы не можем контролировать.

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

15 января 2009 г.

Что такое баркемп?

Я бы сказал, в духе этого блога, что "баркемп" - это конференция 2.0. Но у организаторов баркемпов в Европе есть более развернутый ответ на этот вопрос.

Собственно этот пост - мой вольный перевод заметки "What is barcamp?". Оригинал я нашел в блоге Barcamp Central Asia.


Что такое баркемп?


by Франц franztoo Патцих

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

Давайте определим, чем "баркемп" не является. Это НЕ лекция. И это НЕ презентация. Это НЕ конференция. Более того, чтобы подчеркнуть это, "баркемп" часто называют "не-конференцией"(un-conference).

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

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

Участники берут на себя активную роль, вместо того, чтобы быть пассивными наблюдателями.

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

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

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

31 декабря 2008 г.

Я за программы, не требующие установки

Уже много лет я использую программы, не требующие установки.

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

На самом деле, конечно, не все и не всегда. Когда я устанавливаю программу впервые, то еще не знаю, будет ли она работать после переустановки ОС или просто на другой машине.

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

Признаюсь, тема portable applications мной еще не освоена. Единственное, что я умею с такими программами делать это запускать их :) Есть у меня мысль разобраться в этом подробнее, посмотреть как работает U3, как самому делать программы переносимыми и какие есть тонкости в этом деле. Напишу об этом в будущем.

Хорошо, когда у программы есть версия "для опытных пользователей", как ее часто называют разработчики. Это просто все файлы программы, "как бы уже установленной", упакованные в архив. Распаковал архив в выбранную папку, "вот и вся установка". Осталось только настроить программу под себя, если она это позволяет.

Почему я взял в кавычки выражения со словом "установка"? Да потому что нет тут никакой установки, в принципе, и не нужна она. Просто слово, как и соответствующий процесс, всем знакомо.

Вспоминается известный лайфхак: "Чтобы сделать что-то или кому-то хорошо, надо сначала сделать плохо, а потом вернуть, как было". Так и с программами. Лет 15 назад, выдумали установку на пустом месте, а теперь иногда отказываемся от нее, выдавая это за достоинство программы.

Вспомним, что такое вообще установка программ.

Когда-то под установкой понималось два процесса: install и set up. Сейчас уже никто, наверное, их не различает (к суровым парням юниксоидам это не относится, в их лагере попрежнему в порядке).

Инсталляция - это перенос файлов программы с дистрибутивных носителей на рабочий, например с дискет или компакт-диска на винчестер. В простейшем случае, инсталляция ограничивается копированием файлов. В более сложном присутствует стадия распаковки.

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

Set up - это настройка программы на конкретные условия работы. Установка видеорежима, конфигурация звуковой подсистемы, задействование или отключение опций и т.п. Сейчас многое из этого уже делать не нужно в явном виде. Например, режимы работы видео, звука и прочего железа устанавливает ОС.

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

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

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

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

Тут надо рассказать как устроены многие современные программы. Они состоят из т.н. исполняемого модуля (exe-файл) и динамически-подключаемых библиотек функций (dll-файлы). Фишка в том, что часть функционала может быть реализована в тех самых библиотеках, причем реализована она может быть совсем другими программистами. Плюс масса библиотек входит в состав ОС. Это очень удобно.
Кроме того, одна и таже библиотека может быть использована сразу многими программами. Это тоже удобно. Имеем всего один файл - раз, да и в память библиотека загружается только однажды - два.

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

Что не так?

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

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

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

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

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

Короче, в очередной раз было найдено решение придуманной проблемы.

Между тем, нужно ли было все это делать? Контроль версий библиотек и прочее... Нет.

Когда загружается программа, она ищет нужные ей библиотеки в нескольких каталогах. Сначала в своем родном каталоге, потом, если не находит, смотрит специальные каталоги, список которых определен настройками ОС (и хранится в переменной среды окружения %PATH%).

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

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

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

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

Если я понимаю, что устанавливаю программу, которую буду использовать долго, возможно дольше, чем операционную систему (а у меня есть программы, которыми я пользуюсь больше 10 лет), я устанавливаю ее на диск, отличный от системного (диск D:).

Если программа переносимая - отлично. Она имеет в своем каталоге все нужные файлы и хранит все настройки.

Если программа имеет версию "для опытных пользователей" - хорошо. Она имеет все нужные файлы в своем каталоге. Если и настройки хранятся тут же - просто отлично. Если настройки хранятся в реестре или каких-то системных папках, то при переносе программы на другой диск (компьютер, ОС) они будут потеряны (если не перенести их вручную, о чем обычно забываешь или не имеешь возможности, в случае аварии, наример). Придется настроить программу заново.

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

Идем на сайт http://www.dll-files.com/ и ищем там нужную библиотеку. Другие подобные сайты легко находятся в Гугле по названию библиотеки.

Скачиваем файл библиотеки и записываем его в ... правильно!... в каталог с программой. По возможности, избегаем соблазна записать библиотеку в системный каталог, помним о проблемах, к которым это может привести.

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

Найдя все необходимы библиотеки, получим версию "для опытных пользователей", кем мы после всего проделанного и являемся :)

И совсем плохо (с т.з. переносимости), если программа требует тесной интеграции с ОС. Ее придется инсталлировать традиционным способом каждый раз и специально заботиться о резервировании ее настроек.

Но таких программ у меня крайне мало. Это, например, антивирус.

Я за программы, не требующие установки!

И не только я. Еще раз процитирую Алана Купера. Вот, что он говорил про установку программ еще в 1999 году:


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

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

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



Интересные вещи говорил и Дмитрий Завалишин (dz). В частности, на своем семинаре в рамках фестиваля Chaos Constructions 2008 он рассказывал про разрабатываемую операционную систему Phantom (доступна аудио- и видеозапись этого семинара). Установка программ одна из надуманных проблемм современных ОС, пережиток прошлого. Более того, Дмитрий смело заявляет, что запуск и останов (закрытие) программ тоже уже не нужны. Программы должны всегда работать, запоминания  и сохраняя свое состояние, когда не используются.

От концепции файлов тоже предлагается отказаться. Хотя это и не по теме поста, но все равно интересно. Действительно, зачем нужны файлы?

Если есть возможность, скачайте и посмотрите семинар (или послушайте, слайды Дмитрий не делал).

Про качество записи ничего не скажу - не видел, не слышал. Так как, был на семинаре лично :).

UPD от 02.01.2009: В тему: Фрагмент статьи Андрея Колесова, опубликованной на CitForum еще в 2000 году - Общая проблема модели Windows-приложений
.

29 ноября 2008 г.

Массовая веб-истерия

Хочу начать с цитаты из книги, которую я закончил читать недавно и которая сильно изменила (обычно в таких случаях употребляется слово "перевернула") мое представление о программном обеспечении.
Любому владельцу компьютера и модема Всемирная паутина дала в руки удивительный ресурс. Среда Web – колоссальной силы инструмент, и он предлагает невероятные возможности. Удивительно, но самым важным достижением этой среды стала демонстрация того, насколько простым в применении может быть программное обеспечение. Многие бывшие апологеты находят Всемирную паутину столь простой в использовании, что требуют подобного свойства и от всех остальных программ. В частности, им нравится, что броузеры позволяют избегать раздражающего процесса установки.
Руководители индустрии ПО, особенно поставщики корпоративных приложений, с легкостью готовы запрыгнуть в этот вагон. Они влюблены по уши в программы, работающие из броузера, поскольку могут распространять свои продукты, не мучая пользователей тошнотворным процессом установки. До эпохи Всемирной паутины все программные продукты требовали сложного процесса установки, тогда как продукты, работающие в рамках броузера, ничего такого не требуют. И большинству менеджеров индустрии программного обеспечения это кажется технологическим прорывом, превосходящим изобретение застежки-молнии.
Но это же просто притворство. Нет причин, по которым процесс установки не может быть невидимым для любой программы, независимо от технических деталей ее реализации. Если бы компьютер требовал обязательной установки программного обеспечения, то требовал бы независимо от наличия броузера. Единственная причина по которой работающие вне броузеров программы требуют установки, состоит в том, что программисты привыкли всегда так делать в прошлом. Их работа упрощалась, если они переносили ряд вопросов в программу установки. В ранних броузерах не было функциональности, позволяющей задавать такие вопросы, так что программисты просто пожимали плечами и переставали эти вопросы задавать. Если нужны еще доказательства: программисты практически не замечали этого недостатка, тогда как для многих пользователей отсутствие ее сделало Всемирную паутину самой простой в использовании платформой.
Если отвлечься от вопросов установки, браузеры слабы, как новорожденные котята – доисторические идиомы взаимодействия с человеком, архитектура, напоминающая плоскую шутку, гибкость не лучше, чем у сосулек. Любая программа, работающая внутри браузера, обязана принести в жертву невероятную производительность и возможности. Меня приводит в ярость желание некоторых руководителей вырезать своему приложению сердце, перенеся его на платформу Web, чтобы получить преимущества, связанные с отсутствием процесса установки, когда они могли бы получить то же самое, просто вежливо попросив своих разработчиков избавиться от этого процесса.
Пользователи требуют программное обеспечение, работающее в браузерах, потому что не знают лучших альтернатив. А вот разработчики программного обеспечения подчиняются этой тенденции, исходя из совершенно неверных предположений. Среда Web по организации схожа с Советским Союзом, здесь центральные компьютеры указывают беспомощным настольным машинам, что делать. Программисты – особенно в корпоративных ИТ-подразделениях – владеют центральными компьютерами, так что, подобно советским комиссарам, желают получить преимущества такого перехода. Вместо того, чтобы бесплатно получить преимущества программ, которые не надо устанавливать, пользователи расплачиваются потерей долговременного контроля над своей информационная инфраструктурой.


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