Дон Карлос ([info]kastaneda) wrote,
@ 2006-03-12 15:30:00
Previous Entry  Add to memories!  Share this!  Next Entry
Entry tags:q-revo, webdev

Цитата из писем в A List Apart:

…While the W3C has nurtured many noble technology efforts, they don’t seem to understand what fueled the success of Tim Berner Lee’s original creation: simplicity. The HTML that originally enabled the web’s popularity is now so complicated that merely creating an attractive, standards-compliant page is too difficult for most pioneering web authors…


В той статье много чего плохого упоминается, но именно это меня «зацепило». Вспоминается статья Бурова «Универсальные крайности минимализма» (про то, что необходимых для гипертекста тегов только два — <a href="…"> и <br>).

В предыдущем абзаце я использовал три тега (<a href="...">, <i> и <tt>) и пять «entity» (&mdash;, &laquo;, &raquo;, &nbsp; и &hellip;). В этом абзаце и того больше. И это при использовании «автоматической» разметки LiveJournal'а (пардон, без кавычек написать рука не поднимается).

Очень противоречивые ощущения…


(22 comments) - (Post a new comment)


[info]fester_ua
2006-03-12 01:54 pm UTC (link)
Ты знаешь, а ведь правы черти.
Сколько времени требуется для освоения HTML (не говорим о CSS) с нуля и по стандарту? А если CSS добавить? А потом XHTML? А потом вспомнить, что это, вот это, и вон то работает в браузере A неправильно, а вот эта фигня в браузере B не работает вообще?
Жопа, дядя, жопа.
Web неуклонно превращается в странное и абстрактное болото.

(Reply to this) (Thread)


[info]krlz
2006-03-12 02:23 pm UTC (link)
Если любой дурак сможет склепать красивую вебстраничку то кое-кто будет получать сильно меньше денег, а ведь эти же кое-кто и участвуют в разработке спецификаций, так что все по фен шую.

(Reply to this) (Parent)


[info]kastaneda
2006-03-12 02:26 pm UTC (link)
Я знаю (или думаю, что знаю), как употреблять HTML, XHTML 1.1, CSS 2.x и (до некоторой степени) знаком с особенностями разных версий разных броузеров. Я зарабатываю себе на жизнь этими знаниями 1999 года, и всё это время учусь. Когда я вижу незнакомые мне вещи - WML, VoiceXML, XSLT, XForms, AJAX, E4X, ActionScript и прочее - я понимаю, что я просто чайник. Когда я встречаюсь на просторах сети с очередным выдыющимся трюком на XHTML/CSS, я себя чуствую ламером, который долго понтовался, а потом прозрел.

Если я на это так смотрю, то как же приходится бедным студентам с опытом "2 месяца разработки на php"? И, главное, откуда при таком прогрессирующем техномаразме среди этих студентов возьмутся новые гуру?

(Reply to this) (Parent)


[info]ex_feuerbach769
2006-03-12 03:25 pm UTC (link)
Я правильно понял, что в этой цитате речь идет не о какой-то конкретной технологии, а о деятельности W3C в целом?

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

PS
> необходимых для гипертекста тегов только два — <a href="…"> и <br>
А теперь вспоминаем различие между необходимым и достаточным ;)

(Reply to this) (Thread)


[info]kastaneda
2006-03-12 04:35 pm UTC (link)
1. Не столько о W3C, сколько о всей сети. Производители браузеров тоже, блин, "помогают" всеми силами.

2. Разметка ЖЖ хороша для бабруйских аффтаров. Они в ней (обычно) могут разобраться. Если не считать специфичных тегов вроде lj-cut, то она сводится к nl2br() и дырявой фильтрации javascript'овых вкраплений.

P.S.
> А теперь вспоминаем различие между необходимым и достаточным ;)
В таком случае у нас нет "верхней планки" в технологиях :)

(Reply to this) (Parent) (Thread)


[info]ex_feuerbach769
2006-03-12 04:45 pm UTC (link)
> 2. Разметка ЖЖ хороша для бабруйских аффтаров. Они в ней (обычно) могут разобраться. Если не считать специфичных тегов вроде lj-cut, то она сводится к nl2br() и дырявой фильтрации javascript'овых вкраплений.

А чего бы ты хотел? Чтоб кавычки автоматом расставлялись? Ну так, думаю, на Irreparable invalid markup ('<stdio.h>') in entry уже все насмотрелись. ;)

(Reply to this) (Parent) (Thread)


[info]kastaneda
2006-03-12 05:14 pm UTC (link)
<шутка> Чего бы я хотел? Конечно же, BBCodes! </шутка>

Я бы хотел, чтобы к ЖЖ не надо было прикручивать внешних костылей вроде Ctrl+Enter и Thread Unfolder. Я - тот ещё чёртов эстет, и "обычные" кавычки меня раздражают, а рисовать везде и всегда «ёлочки» я ленюсь.

(Reply to this) (Parent) (Thread)


[info]kastaneda
2006-03-12 05:30 pm UTC (link)
Собственно, между ленью и раздражением меня и плющит.




С одной стороны, зачем делать всё аккуратно? «Пипл хавает». Вон, Бирман выступил нонконформистом в борьбе за качество — вон сколько «прагматичных» халтурщиков набежало. Впрочем, идеалистов тоже много набежало, но мир как был уродливым, так и остался.

Не хочется в очередной раз на вопрос «если ты такой умный, то почему ты такой бедный» отвечать чем-то вроде «потому что мне принципы не позволяют воровать врать продавать наркотики халтурить».




С другой стороны, есть ещё самоуважение. Если я буду делать халтуру, «как все» — я стану таким же, как эти «все». Пока я держусь и стремлюсь к совершенству, я принадлежу к (сравнительно) небольшой группе «некоторых». Не все заказчики/работодатели это могут оценить — ну и пусть. Мне все заказчики и не нужны.




Десять лет назад таких споров не было. «Оно работает!» — и это уже чудо. Сеть была меньше, проще, честнее и глупее.

(Reply to this) (Parent)


[info]egorfine
2006-03-12 03:28 pm UTC (link)
Ну так и пользуйся simple html. никто не заставляет тебя ставить елочки вместо знаков дюйма... а если хочешь елку - то как ее иначе поставить?

Короче, не страдай:)

(Reply to this) (Thread)


[info]kastaneda
2006-03-12 04:25 pm UTC (link)
Есть как минимум два способа в исходном (X)HTML коде указать «текст в “правильных” кавычках», кроме как писать руками &laquo; и &raquo;.

1. Использовать символы Unicode, соответствующие тем &laquo; и &raquo;. Требует массового применения UTF-8 или подобных кодировок, что технически не всегда удобно или вообще возможно. (Hint: например, в PHP 4.x или 5.0.x попытаться работать с UTF-8 в PCRE).

2. Использование тега <q> (что, кстати, намного лучше отдельных символов кавычек с точки зрения семантики текста). К сожалению, кавычки не работают в MSIE и почти не работают в Gecko (без хаков и танцев с бубном).

(Reply to this) (Parent)


[info]kastaneda
2006-03-12 04:39 pm UTC (link)
А по поводу "пользуйся simple html" - ты знаешь, это одно из направлений в моих противоречивых мыслях.

(Reply to this) (Parent)


[info]drdaeman
2006-03-12 06:40 pm UTC (link)

Для «человечной» простоты сделаны wiki-разметка или, всякие там Textile и Markdown. У них цель - человек пишет привычно себе и по простым правилам, автомат сам всё оформляет красиво. Но это не цель у HTML. В моём понимании — HTML только занимается отражением семантики документа в не самом удачном, но исторически сложившемся и простом к машинной обработке виде. Кстати, ведь есть тот же XHTML Basic - вроде бы вполне близко к минимализму (для семейства XHTML).

А за ввод кавычек и тире отвечать, IMHO, по всем правилам должна система ввода, а не язык разметки. Язык не виноват что пользователь не может просто ввести нужный символ и ему приходится набивать entities чтобы как-то это решить. Проблема решается просто - патчится раскладка клавиатуры (в идеале, впрочем, нужна какая-то псевдо-IME система как в MS Word) и всё достаточно удобно вводится. ;)

(Reply to this) (Thread)


[info]kastaneda
2006-03-12 07:19 pm UTC (link)
Беда в том, что стандарты сети превратились в вавилонскую башню. Я прошлым летом ломал голову над одним вопросом, и этот вопрос продолжает бесить не только меня. Какая, к чертям, семантика? Эта семантика хромает на обе ноги во всех версиях (X)HTML. Да ещё и не работает в самых неожиданных местах.

А по поводу Wiki-разметки... <imho> Большой кусок изначальной идеологии WikiWikiWeb держался на CamelWords. </imho> Меняем английский на русский — и все эти ВикиСлова (ВикиСлов, ВикиСловом) стают невозможными. А если взять иероглифический язык, так и вовсе смешно. Всякие MediaWiki и WackoWiki — ерунда по сравнению с <imho> изначальной идеей: отсутствием обязательной разметки. </imho>

(Reply to this) (Parent) (Thread)


[info]kastaneda
2006-03-12 07:25 pm UTC (link)
Я в том смысле, что делать странички на изначальной wiki (c2) можно в духе такого минимализма, что статья Бурова (про два тега) нервно курит в сторонке. То есть, можно просто писать текст, разделять абзацы пустой строкой, а для ссылок использовать CamelWords. Возможности выделить заголовок, нарисовать bold или italic - опциональны: можно их знать и применять, но и без них можно прожить. Вот это было гениально.

А современные «языки wiki-разметки» тоже стремятся превратиться в вавилонскую башню. К тому же, «минимальные требования» к пользователю выросли весьма значительно, достаточно посмотреть на ссылки в MediaWiki. Они порой сложнее, чем <a href> поставить.

(Reply to this) (Parent)


[info]drdaeman
2006-03-12 08:14 pm UTC (link)

Вавилонская башня, да. Причём строят её с одной стороны W3C, c другой стороны разработчики браузеров, а с третей - веб-разработчики, придумывающие как бы всё удержать чтобы из-за работ с двух остальных сторон всё не рухнуло. :) Хотя мне особо нерациональным XHTML не кажется. Если странные моменты как тот же start у ol, но в целом описать документ им можно.

CamelCase дрянь и не подходит, да. Но вариант типа [[ссылка]] или даже [[ссылка|http://site.com/linktarget]] вполне себе нормален. Минимализм это всё хорошо, но a и br это всё же слишком радикально – неструктурированный текст без заголовков это тоже не порядок, как минимум структура заголовков это не роскошь, но вполне нормальный минимум. Так что Буров с двумя тегами, IMHO, перегибает палку, теряя больше чем получая. По крайней мере я бы очень не хотел читать ту же спецификацию XHTML без явно выделяемых заголовков ;)

Определённый уровень знаний, необходимый для работы быть должен у пользователя, да, и тянуться к сверхпростоте чтобы пользователь не перетрудился запоминать лишние 2-3 штуковины (тега или символа или ещё чего-то), которые надо применить, чтобы оформить текст это как-то слишком…

(Reply to this) (Parent) (Thread)


[info]kastaneda
2006-03-12 09:18 pm UTC (link)
Таки-да. W3C, разработчики браузеров и верстальщики тянут одно одеяло в разные стороны — стоит ли удивляться, что оно трещит по швам и рвётся? :)

Что же касается «минимальных знаний», то тут дело в доступности. Для того, чтобы веб-страничку можно было прочитать как можно большему числу потенциальных читателей, придумывают WCAG и 508. А для того, чтобы написать могло как можно больше потенциальных «аффтаров»?

Конечно, если человек — идиот, принципиально неспособный запомнить хотя бы десяток простых тегов, то можно сказать «ему лучше и не писать» и закрыть вопрос, но я так не считаю. Чем-то мне это напоминает позицию «если человек не может купить себе винду с MSIE для просмотра нашего веб-шопа, то он нам не клиент — он бедный красноглазый линуксоид». Нет, я такое своими ушами слышал от, казалось бы, вполне здравомыслящего человека. Который потом себе купил (за кучу денег, разумеется) iBook, открыл Safari и переосмыслил ценности.

Безграмотные аффтары меня не беспокоят. Пусть о них беспокоится Google со своим PageRank'ом, удафф.ком или Six Apart. Одного винта на 120 гиг хватит на… на очень много бреда в ЖЖ, если его руками писать :)

А вот доступность — дело другое. Всего на свете предусмотреть нельзя. Я не дальтоник, но мне (даже сейчас, в XXI веке) может попасться ч\б монитор; что тогда я буду делать с двумя кнопками, отличающимися только цветом? То же самое — с возможностью писать. Может оказаться, что я пишу с мобилки из Оперы мини; может оказаться, что я сижу в текстовой консоли RedHat'а 6.2 с убитым напрочь lynx'ом; может оказаться, что мне позарез надо написать что-то на сайте как можно скорее (и каждая секунда на счету). Тогда каждое дополнительное обязательное требование встанет у меня на пути.

Я не предлагаю пользоваться только двумя тегами. Я хочу, чтобы минимальные требования были действительно минимальными. Вариант [[ссылка]], как в MediaWiki, мне лично кажется менее удобным, чем ((ссылка)) в духе WackoWiki — из-за такой мелочи, как необходимость переключить кодировку с русской на английскую для ввода квадратных кавычек. А для CamelCase ссылки выделять дополнительным образом и вовсе не надо; кроме того, на экране такой же CamelCase, как и в форме редактирования - что само по себе создаёт дополнительные удобства.

Такая вот петрушка.

(Reply to this) (Parent) (Thread)


[info]drdaeman
2006-03-12 09:57 pm UTC (link)

А. Теперь вроде как понятна мысль.

Тогда – да – здесь HTML явно не к месту, он совершенно скорости не способствует. Тогда нужны языки типа Markdown, наверное. Если не считать использования "[]" для ссылок то синтаксис и более чем прост при вводе и позволяет создавать всё основное что может потребоваться. При этом для многих вещей здесь есть (минус или плюс – смотря как оценивать) несколько подходов.

Квадратные же скобки или круглые зависит, пожалуй, больше от конкретного ресурса. Скажем, если чаще ссылок в тексте появляются конструкции типа if((a||b)&!c)){...} (совершенно от балды пример) то рациональнее будет использовать [[...]] для ссылок, скажем. В общем, такие моменты это смотря по конкретным задачам, IMHO, и идеальное для всех решение вряд ли найдётся.

Да, вот разве что не знаю как быть с мобильниками где нет нормальной клавы. Разве что минимализировать вводимое, не форматируя текст кучами сложновводимых "=*#". Благо дополнительное оформление (заголовки, или <em>'ами пометить важные места, скажем) можно будет добавить позднее.

(Reply to this) (Parent) (Thread)


[info]kastaneda
2006-03-12 10:22 pm UTC (link)
Из распространённых схем «разметки с человеческим лицом» Markdown у меня самый любимый.

Во многих других системах wiki-разметки меня бесит оторванность от существующих традиций — например, что _вот такое_ выделение уже лет двадцать (!) (как минимум) означает <em>phasis, а вовсе не underline. UseNet и FIDO, вместе взятые, выработали отличные стандарты форматирования plain text'а.

BTW, § 79 — один из редких опусов Темы Лёбёдёва, к которому практически ни у кого претензий нет.

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

(Reply to this) (Parent)


[info]kastaneda
2006-03-12 09:40 pm UTC (link)
Кстати, о Wiki. Теоретически, даже вот это гонево может использоваться как примитивнейший Wiki-движок. Нет wiki-разметки, версий документов (и возможности отката изменений), более-менее безопасно можно использовать только одному владельцу — в общем, ничего нету, есть только один-единственный прикол Wiki: ставить ссылку на страницу до того, как создашь эту страницу. Этот прикол я считаю второй половиной изначальной идеологии WikiWikiWeb. ;)

BTW, мне эта микроскопическая мерзость (по ссылке) за последние полгода кучу нервов сберегла. Казалось бы, есть ssh, есть ftp, есть то, сё, пятое, десятое — а с завидной периодичностью попадаю в идиотскую ситуацию, вроде интернет-кафе с одним-единственным MSIE и без возможности запуска "посторонних" приложений.

(Reply to this) (Parent)


[info]begepotam
2006-03-19 08:54 pm UTC (link)
ну не так все печально :O) код хороших, в плане оформления, страничек достаточно прост, и css здесь играет не последнюю роль

да и изучение html / css - не такая большая проблема. Вернись сейчас "простой" инет 80х-90х - вряд ли это кому-то понравилсоь бы. Люди любят красивые вещи. Другое дело - страницы размеченные html таблицами, там на код смотреть страшно, так это ведь, простите, прошлый век :O)

(Reply to this) (Thread)


[info]kastaneda
2006-03-20 11:53 am UTC (link)
Возражаю. Руками писать HTML с кучей примочек на тему «экранной типографики» — тот ещё геморрой. А если WCAG WAI вспомнить, то…

Первый пример. Я в предыдущем абзаце написал четыре буквы «HTML», а надо было бы (по WCAG Level AAA) что-то вроде такого:

<abbr xml:lang="en" title="HyperText Markup Language">HTML</abbr>

Я молчу уже про такую штуку, как таблицы. Нет, не то, что даёт на выходе ImageReady, а «честные» таблицы « разбитые на thead/tbody/tfoot, с указанными colgroup'ами, с header=…, axis=… и прочим куревом семантического представления.

(Reply to this) (Parent)


[info]begepotam
2006-03-21 07:45 am UTC (link)
говоря о простом коде, я имел ввиду код, в меру, без фанатизма, соотвествующий стандартам а не маниакальным придиркам strict валидатора :O)
А стандарты нужны. Если бы не они - броузеры до сих пор изобретали бы свои велосипеды а мы совали прозрачные гифы в каждую дырку, а сейчас, глядишь, один IE кривой остался, а под него подстроиться не так уж и сложно. Плюс есть надежда, что в ближайшее время такой вопрос, как совместимость с броузерами вообще уйдет в прошлое.

(Reply to this)


(22 comments) - (Post a new comment)