среда, 22 августа 2012 г.

mainstream: хорошо или плохо?

(ещё одно "философское" эссе)

Не люблю "ходить строем".
Не люблю Операционную Систему, которой пользуется большинство (ну, Вы знаете), офисный пакет, которым пользуется большинство.
Один человек сказал: "Think different", и сделал под этим лозунгом революционные вещи. Маргиналов не любит общество, но благодаря им оно совершает качественные изменения.

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

Несколько примеров:
  1. из Программного Обеспечения:
    1. OpenOffice.org: очень приспособлен к мэйнстриму (Java). Даже и комментировать не надо. Много-много-миллионная пользовательская база (англицизм с userbase).
    2. GIMP: не смотря на отставание от "лидера рынка" Adobe Photoshop, тоже имеет значительную пользовательскую базу. Хорошо подходит для примера mainstream-friendly, поскольку тулкит (GTK+) является многоплатформеным  и работает в т.ч. на системах от M$.
    3. Smalltalk-системы — видимо, никогда не станут mainstream. Просто в силу того, что парадигма Smalltalk конфликтует с современным промышленным подходом к ПО. Поэтому мы видим значительное кол-во программ на Python, Ruby и т.п., и не видим ни одной на Smalltalk, не смотря на то, что это элегантный, лёгкий, удобный и очень понятный язык программирования. Smalltalk очень много дал для Computer Science и развития ПО в целом, и ничего — для обычного современного пользователя.
  2. из проектов, связанных с "железом":
    1. Одним из лучших примеров я считаю OsmocomBB, а точнее тот набор телефонов, которые использовались для разработки, и являются поддерживаемыми. Эти древние аппараты уже не увидишь в руках у подростков на улице. Но зато любой разработчик может купить их задёшево в любом уголке земного шара. Что важно, наработки можно перенести на современные платформы, когда придёт время.
    2. OpenWRT: проект открытой прошивки на основе Linux для разных роутеров и подобных устройств. Mainstream-ready.
    3. OpenSchemes.com/mp5 : отлично проделанная работа. Ребята полностью "прохакали" железку, описали это, поделившись опытом и методологией. Очень рекомендую. Но не смотря на то, что сделано "для души" — абсолютно не mainstream. В общем-то, наверное, в Алматы такой "mp5" можно найти на барахолке, но, пожалуй, через год-два все накопленные знания обратятся в ничто, а китайские производители забудут и про RedBoot, и про SPMP8k.
    4. Wing-linux : хорошая попытка, которая никогда не дойдёт до финиша. Ибо не mainstream. Те, у кого ещё есть телефоны этой старой серии, никогда, услышав звонок, не ответят на него с этой прошивкой (Android или Linux). Хотя 90% работы уже проделано. Вот так грустно :( Разве что какое-то вмешательство огромной силы внезапно не вытолкнет проект до 100%-ной планки. Но кому это нужно?
Вывод.
Есть вещи, которые мне интересно делать. Но если я хочу, чтобы результатами  кто-то мог пользоваться (или даже я сам через два-три года), то надо озаботиться тем, чтобы платформа была жива и доступна хотя бы ещё пару лет (за которые проект может созреть до юзабельного состояния).

(В качестве бонуса) могу озвучить те направления, которые вписываются в этот критерий:
  1. Железо
    1. Nokia n900: вероятно поживёт ещё годик-другой, хотя уже для большей части людей на земле это мёртвая платформа. Хорошо бы допинать SHR до "звандабельного" состояния. Вероятно, для проекта SHR перспективно выглядит линейка смартфонов Samsung.
    2. Планшеты: RoverPad 3W T70 — маловероятно, но возможно водрузить на него Линукс. Возможно, лучшей альтернативой был бы какой-нибудь из Ainol-ов, которые заполонили полки магазинов нашего города (???)
  2. Софт
    1. Lua + LGI. С этими двумя можно сделать почти всё.