Название: Взаимодействие программы с пользователем Отправлено: Михаил от 21 января 2007, 03:01:15 В разделе "Новые предложения" есть тема "Необходим ли список "Запись в кэш" (http://handycache.ru/component/option,com_smf/Itemid,10/topic,86.0/). Очень много постов и просмотров, и все никак не сойдемся. У меня есть мнение, что сделать это будет тяжело, потому что имеются расхождения в более общем вопросе: какой лучше быть логике взаимодействия пользователя с программой и почему.
Именно этот вопрос выношу на обсуждение в этом топике и прошу высказаться как давних, так и новых пользователей, и конечно, автора программы. Теперь к сути. На мой взгляд, основное предназначение программы - предоставить пользователю возможность: - экономить собственные деньги и время при работе в интернете; - в условиях ограниченного по времени доступа в интернет скачать интересующую информацию не читая, а затем просматривать историю, когда интернет не доступен; - запрещать приход из сети и/или отображение данных, которые он категорически не хочет получать (они неприемлемы для него по морально-этическим, эстетическим или иным соображениям, кроме соображений экономии) либо безразличен к их наличию. Первые две из них достигаются путем кэширования данных. Третья - путем фильтрации запросов на предоставление данных. При этом естественные первичные цели пользователя при использовании программы имеют вид: - максимально экономить деньги и время, насколько это возможно без устаревания данных; - иметь возможность просмотра истории для данных такого-то типа; - запретить предоставление и/или приход из сети данных такого-то типа. Для реализации первой цели пользователю необходимо определить критерии устаревания для критичных к этому типов данных (чем больше их пользователь сообщит программе, тем больше будет экономия). Во втором и третьем случае - просто определить соответствующие типы данных. а) Исходя из изложенного, целям пользователя будет соответствовать три хранилища: список "Условия устаревания данных", список "Запись истории" и "Черный список". Таким является подход к взаимодействию с программой, позволяющий пользователю общаться с ней в терминах своих непосредственных целей, не углубляясь в вопросы организации записи/чтения в кэш (при каком условии и что именно туда пишется и оттуда читается), и оставаясь при этом уверенным, что кэш организован и используется максимально эффективно с точки зрения экономии как денег/времени, так и дискового пространства. б) Имеет место также подход, когда программа не общается с пользователем непосредственно в терминах его целей и требует их перевода в доступный ей вид. Тогда для обеспечения взаимодействия с программой пользователь должен трансформировать свои первичные цели, и привести их в вид, понятный программе. В нашем случае программа понимает постановку целей в терминах условий записи в кэш/чтения из кэша. Соответственно пользователю необходимо изучить вопросы организации записи/чтения в кэш и расчленить свою изначальную цель на соответствующие подцели, понятные программе (распределить ее по спискам "Белый список", "Только из кэша", "Не обновлять" и "Запись в кэш"). Для упрощения этой задачи программа предоставляет очень большую гибкость в способах разбиения на подцели (одну и туже цель можно многими способами определить с использованием различных комбинаций списков "Только для кэша", "Запись в кэш", "Белый список", "Не обновлять" и правил в этих списках). Теперь предлагаю провести сравнение подхода а) с подходом б). Тут надо сто раз подумать, взвесить и поискать возможные "подводные камни" или "оборотную сторону медали", к чему всех и призываю, т.к. своих мозгов на это не хватает. Плюсы: (открыто для добавления/удаления) - устранение у пользователя необходимости разбивать основную цель на неочевидные для него подцели и как следствие: - упрощение логики пользователя при работе с программой, упрощение обучения эффективной работе; - уменьшение возможности постановки пользователем противоречащих друг другу подцелей; - снижение риска ошибки; - устранение избыточности вариантов реализации намеченной цели, что также ведет к снижению риска ошибки; (Любая ошибка ведет к несовпадению результатов работы программы с ожидаемыми /видим в браузере не то, что хотим и наоборот, экономия не оптимальна, размер кэша на диске необоснованно увеличен и т.п./); - общая "разгрузка" пользователя путем перекладывания на программу вопросов организации записи/чтения в кэш; - существенно легче разобраться в чужой логике при заимствовании комплекта чужих настроек. Минусы: (открыто для добавления/удаления) - для давних пользователей необходимость отказа от выработанных привычек; - для автора временнЫе и трудовые затраты на соответствующее изменение логики взаимодействия программы с пользователем. После обсуждения, взвесив все аргументированные плюсы и минусы предлагаю: - если перевесят плюсы, представить на суд автора голоса пользователей по вопросу, стоит ли реализовывать другой подход к взаимодействию пользователя с программой. - в противном случае оставить все как есть и забыть эту тему. P.S. Если слишком замудрил, простите. Если надо, приведу конкретные примеры. Просьба автора и давних пользователей не пинать сильно ногами, т.к. неприятный осадок от темы остается именно у Вас. Сам скажу, что являюсь давним и привык ко всему, и почти автоматически перевожу "цели в подцели". Но если можно сделать лучше для себя и намного лучше для новичков или "Непродвинутых" пользователей, почему бы не обдумать это?! Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 21 января 2007, 11:28:37 Михаил
М-да, "Тебе бы книжки писать, гражданин-начальник!" (с) Фильм: "Место встречи изменить нельзя" :) Фактически, ты предлагаешь переписать HandyCache "с нуля"! Но это будет уже совсем другая программа, не HandyCache! Может, ты сам напишешь свой кэширующий прокси-сервер, который будет отражать твою логику и будет "намного лучше для новичков"?... Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 21 января 2007, 11:43:34 DenZzz
Я понял это так: в твоих глазах указанные минусы перевешивают названные плюсы. Вот и все. Ерничать не обязательно. Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 21 января 2007, 12:21:23 Михаил
Цитировать Я понял это так: в твоих глазах указанные минусы перевешивают названные плюсы. Вот и все. Просто "плюсы", перечисленные тобой, кажутся мне неочевидными! Я это уже говорил в твоей теме "Необходим ли список "Запись в кэш" (http://handycache.ru/component/option,com_smf/Itemid,10/topic,86.0/): у нас разное видение основных целей и подцелей, которые ставит перед собой пользователь! Разное понятие логики и удобства для пользователя! Пользователи фактически уже "проголосовали" за существующую логику работы HC своим интересом к программе и ее популяризацией! Согласись, если бы проект был неудачен, то про него бы уже давно забыли! Значит, есть что-то в HC, что понравилось довольно широкому кругу пользователей! И неизвестно, как они отнесутся к предлагаемому тобой кардинальному изменению концепции и логики работы HC! Нельзя исключать, что это оттолкнет от HC часть давних пользователей и новых не привлечет! В свете данного контекста перечисленные тобой "минусы": Цитировать Минусы: (открыто для добавления/удаления) способны перевесить любые баснословные "плюсы" кардинального изменения логики работы HC!- для давних пользователей необходимость отказа от выработанных привычек; - для автора временнЫе и трудовые затраты на соответствующее изменение логики взаимодействия программы с пользователем. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 21 января 2007, 12:33:24 DenZzz
Спасибо за аргументированное выражение позиции. Только уточни все-таки: она такая из-за неочевидности "плюсов" (их можно обсудить более развернуто и убедиться в их наличии/отсутствии) или из-за силы "минусов", невзирая на то, какими бы не были плюсы? Давай теперь слушать других. Название: Re: Взаимодействие программы с пользователем Отправлено: NothingAnother от 21 января 2007, 12:55:02 неочевидности "плюсов" Мой ответ, ка юзера -даЦитировать силы "минусов" Мой ответ, как кодера - даНазвание: Re: Взаимодействие программы с пользователем Отправлено: Rick от 21 января 2007, 13:54:07 Михаил
Хорошо пишешь. Но по сути предлагаемого я никак не отделаюсь от ощущения, что "те же яйца - вид сбоку". Как мне представляется - да, действительно можно упростить сруктуру списков, но зато сами списки усложнятся. Т.е. благая цель облегчить пользователю разбирательство с программой приведет к обратному: к непоняткам в списках. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 21 января 2007, 17:08:06 Rick
Нет, о необходимости упрощения структуры списков речи как раз нет (и те три списка, которые я указал - это сырой экспромт и могут прирасти еще какими-нибудь). Зря я не акцентировал это в первом посте, хотя хотел. Я хотел донести другое - какой бы не была структура списков (проще или сложнее, чем сейчас), но есть два принципиальных выбора обеспечения взаимодействия пользователя с программой: - программа должна подстраиваеться под естественный язык и цели пользователя; - пользователь для реализации своих целей должен трансформировать их, подстраиваясь под язык и структуру программы. DenZzz NothingAnother Перефразирую так: Если гипотетически эти "плюсы" (которые сейчас неочевидны), все-таки есть и в полном объеме, перевешивают ли они в ваших глазах "минусы". Чтоб все не выглядело "дележкой шкуры неубитого медведя" или нудной теорией , для небольшой подсветки "плюсов" как только подосвобожусь приведу, пожалуй, пару конкретных примеров... Название: Re: Взаимодействие программы с пользователем Отправлено: NothingAnother от 21 января 2007, 17:56:55 Чтоб все не выглядело "дележкой шкуры неубитого медведя" или нудной теорией , для небольшой подсветки "плюсов" как только подосвобожусь приведу, пожалуй, пару конкретных примеров С этого надо было начинать - из абстрактных плюсов и вытекает "неочевидность" (а вот минусы вполне конкретны ;))Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 21 января 2007, 18:32:15 Михаил
Цитировать Если гипотетически эти "плюсы" (которые сейчас неочевидны), все-таки есть и в полном объеме, перевешивают ли они в ваших глазах "минусы". Как можно об этом судить, если эти "плюсы" абстрактны и неочевидны?! ;) Ждем конкретных примеров! Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 21 января 2007, 19:29:27 Примеры для сравнения, отражающие трудоемкость и логику действий пользователя при реализации подходов а) и б) (см. первый пост темы (http://handycache.ru/component/option,com_smf/Itemid,10/topic,124.msg930/#msg930)).
Взяты для наиболее основных или частых задач, обычно решаемых пользователем с помощью программы, т.е. претендуют на "жизненность". Сразу небольшое пояснение. Здесь и далее под "просмотром истории" понимаем просмотр истории из соображений, не связанных с экономией денег/времени (как это выразить более точным и коротким термином, пока не придумал, но это не равно нынешнему "автономному просмотру"). Такие соображения возникают при отсутствии у пользователя постоянного доступа к интернету. Как я выделил в первом посте, "просмотр истории" - это одно из трех основных предназначений программы. Сейчас программа устанавливается на компьютер пользователя с комплектом настроек (в т.ч. наполнением списков) по умолчанию, позволяющим сразу же получить среднестатистическую экономию, осуществлять просмотр истории для в среднем наиболее употребимых типов данных, блокировать получение наиболее противных среднестатистическому пользователю типов данных (реклама, счетчики и т.п.). Или пусть пользователь получил комплект настроек от "продвинутого", которому он доверяет. Все, можно приступать и работать. Одно "но" - каждый отдельно взятый пользователь не является среднестатистическим, имеет свои собственные цели, нужды и предпочтения. Поэтому дальше он приступает к настройке программы "под себя". 1. Пусть пользователь имеет круглосуточный доступ в интернет (например, dial-up или DSL у себя дома). Таких, я думаю, большинство, и я в том числе из них. Тогда у него начисто отсутствует потребность "просмотра истории", ведь он в любой момент может заглянуть в интернет. Все основные цели этого пользователя при работе с программой сводятся к экономии денег/времени и блокированию нежелательного или несущественного контента. Что ему надо сделать сразу после установки программы или получения нового комплекта настроек: - подход а): напрямую целеуказать это программе, отключив список "просмотр истории". И это все. "Я не хочу пользоваться возможностью "просмотра истории"; - подход б): разбиваем цель на подцели и привязываем к языку программы: "У меня есть комбинация списков и правил в них: "Белый список", "Только из кэша", "Не обновлять" и "Запись в кэш". Они совместно определяют как вопросы экономии, так и "просмотра истории". Надо изменить их все или часть из них таким образом, чтобы в итоге мы достигли исключения записи в кэш контента, относящегося к "просмотру истории" и не относящегося к экономии." М-да... я лично это сделать в общем случае затрудняюсь. Пожалуй, нужно определить для целей последующего удаления все те правила всех этих списков, которые, не влияя на экономию, влияют на "просмотр истории". Причем определить это не отдельно в каждом списке, а в их комбинации. Т.е. по сути выделить для себя в уме список "просмотр истории" из варианта а). Если это удастся сделать не в полном объеме, то можно быть уверенным в том, что в кэш будут писаться лишние данные. И это только первое действие после установки программы. Позже приведу пример еще одного первоначального действия при установке программы. А пока можно обсудить этот пост. Название: Re: Взаимодействие программы с пользовател Отправлено: DenZzz от 21 января 2007, 20:22:34 Михаил
Цитировать 1. Пусть пользователь имеет круглосуточный доступ в интернет (например, dial-up или DSL у себя дома). Таких, я думаю, большинство, и я в том числе из них. Тогда у него начисто отсутствует потребность "просмотра истории", ведь он в любой момент может заглянуть в интернет. Все основные цели этого пользователя при работе с программой сводятся к экономии денег/времени и блокированию нежелательного или несущественного контента. Почему ты постоянно противопоставляешь "экономию денег/времени" и "просмотр истории"? Эти два понятия лично для меня неделимы! Да, у меня есть постоянный круглосуточный доступ в Интернет, НО я постоянно использую "просмотр истории" ("автономный режим") именно для экономии времени/денег, а не потому, что у меня нет возможности заглянуть в интернет! Конкретный пример: старые страницы форума обновляются редко и поэтому я редко гружу их повторно из Инета, т.к. это лишние затраты времени/денег! Я просто нажимаю горячую клавишу включения "автономного режима" и загружаю нужную страницу из кэша без обращения в Инет, т.к. я на 95% уверен, что страница там не изменилась! Если же у меня есть в этом сомнение (вероятность 5%), то только в этом случае я гружу страницу повторно из Инета! На этом я дополнительно экономлю много времени/денег! Поэтому твоя основная предпосылка: Цитировать Пусть пользователь имеет круглосуточный доступ в интернет (например, dial-up или DSL у себя дома). Таких, я думаю, большинство, и я в том числе из них. Тогда у него начисто отсутствует потребность "просмотра истории", ведь он в любой момент может заглянуть в интернет. - лично для меня не выдерживает никакой критики, т.к. она неверна в корне! Я всегда имею "круглосуточный доступ в интернет", НО часто при этом пользуюсь "просмотром истории" для целей экономии времени/денег! Уверен, что я не один такой... Название: Re: Взаимодействие программы с пользователем Отправлено: NothingAnother от 21 января 2007, 20:31:25 Пусть пользователь имеет круглосуточный доступ в интернет (например, dial-up или DSL у себя дома). Таких, я думаю, большинство, и я в том числе из них. Тогда у него начисто отсутствует потребность "просмотра истории", ведь он в любой момент может заглянуть в интернет. Все основные цели этого пользователя при работе с программой сводятся к экономии денег/времени и блокированию нежелательного или несущественного контента Посыл изначально неверен сам по себе!Пока писал ответ, DenZzz ответил раньше - ну, млин, фантастика - чуть ли не слово в слово... Пришлось всё подтереть, дабы не быть заподозренным в плагиате ;) Название: Re: Взаимодействие программы с пользовател Отправлено: Rick от 21 января 2007, 21:07:29 Михаил
Цитировать подход а): напрямую целеуказать это программе, отключив список "просмотр истории". И это все. "Я не хочу пользоваться возможностью "просмотра истории"; Ну не хочешь - так не хочешь, дело хозяйское. Т.е. ты отключаешь список "Запись истории" и у тебя по твоей модели остаются списки "Условия устаревания данных" и "Черный список". Вопрос: какие данные будут устаревать если запись истории не ведется?Как вообще разделить, что относится к просмотру в оффлайне, а что для экономии времени/трафика при повторной загрузке одних и тех же данных? Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 21 января 2007, 21:31:32 DenZzz
NothingAnother Rick Мы друг друга недопоняли (плохо объясняю, простите). Попробую по пунктам: На мой взгляд, основное назначение программы - предоставить пользователю возможность: 1. экономить собственные деньги и время при работе в интернете (в том числе и путем использования "автономного режима"); 2. в условиях ограниченного по времени доступа в интернет скачать интересующую информацию не читая, а затем просматривать историю, когда интернет не доступен (подчеркиваю, не из соображений экономии, а именно из-за того, что интернет доступен не постоянно); Пример из жизни: мой знакомый имеет ноутбук, но у него дома нет доступа в интернет. Приходится на работе проситься подключиться на чуть-чуть к сети и быстро пролистать там практически не читая все, что хочется. А вечером дома в спокойной обстановке все прочесть. Экономия времени/трафика при этом его нисколько не волнует, главное, чтоб кэш не рос за счет прибывания ненужных данных. Именно это я обозвал "просмотром истории". Еще раз подчеркиваю, что термин, может, неудачный (другого просто не придумал) но не надо путать его с "автономным режимом", который в нынешней редакции программы нужен для реализации как этой цели, так и цели 1. 3. запрещать приход из сети и/или отображение данных, которые он категорически не хочет получать (они неприемлемы для него по морально-этическим, эстетическим или иным соображениям, кроме соображений экономии) либо безразличен к их наличию. Есть ли у нас в этом вопросе согласие? (да/нет/почему) Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 21 января 2007, 21:46:13 Еще раз подчеркиваю, что термин, может, неудачный (другого просто не придумал) но не надо путать его с "автономным режимом"... Лично у меня нет понимания. :)Есть ли у нас в этом вопросе согласие? Чем для НС отличается запись данных в кэш в зависимости от целей преследуемых пользователем? Что так писать в кэш, что этак - независимо от того, хочет ли пользователь потом просматривать эти данные в оффлайне или хочет за счет них ускорить загрузку в будущем. Чем для пользователя должно различаться указание своих целей? Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 21 января 2007, 22:01:29 Михаил
И у меня нет понимания! Как ты собираешься разделить "автономный режим" и "просмотр истории" в плане целей, настроек, взаимодействия и общего кэша?! Как указывать, что кэшировать для каждой цели? И чем будут отличаться правила кэширования? Кэш будет один или 2 разных? Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 21 января 2007, 22:04:34 Rick
DenZzz Чтоб не путаться, не забегаем вперед, пока не придем к консенсусу здесь. Сначала скажи, есть ли согласие, что три названные пункта - основные и независимые друг от друга возможности, предоставляемые НС пользователю? Он может пользоваться ими всеми, а может - некоторыми. По-моему, список полный - больше НС ничего ему дать не может (не берем дозвон и иные второстепенные функции). Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 21 января 2007, 22:21:11 Сначала скажи, есть ли согласие, что три названные пункта - основные и независимые друг от друга возможности, предоставляемые НС пользователю? Он может пользоваться ими всеми, а может - некоторыми. По-моему, список полный - больше НС ничего ему дать не может (не берем дозвон и иные второстепенные функции). Нет. Есть несогласие: 2 пункт по сути есть "второстепенная функция" - можно говорить о повышении ее удобства (например что бы НС сам скачивал сайты целиком), но не о какой-то основопологающей возножности программы/потребности пользователя.Основное - это записать данные в кэш и взять их оттуда. А для чего: для просмотра ли в автономке, для ускорения загрузки страниц или для экономии трафика - не принципиально. Имхо. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 21 января 2007, 22:28:20 Rick
Цитировать Основное - это записать данные в кэш и взять их оттуда. А для чего: для просмотра ли в автономке, для ускорения загрузки страниц или для экономии трафика - не принципиально. Не понял, для тебя первично, чтобы программа писла/читала в кэш? А для чего она это делает - не важно?! Я надеюсь, это очепятка. Цитировать Есть несогласие: 2 пункт по сути есть "второстепенная функция" Для того моего друга - это не второстепенная, а основная функция. Есть множество людей, у которых интернет дома отсутствует (отсталая страна Россия в этом плане, далеко не везде есть возможность подключиться и не у всех есть средства платить) и они ходят с ноутбуками/флэшками на работу, и подключаются по WiFi заходя в спец. кафе, и находят другие точки доступа. Для всех них эта функция основная, а до экономии трафика им дела нет.Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 21 января 2007, 22:36:06 А для чего она это делает - не важно?! Не важно для чего именно из возможных вариантов (для просмотра ли в автономке, для ускорения загрузки страниц или для экономии трафика), поскольку весь комплекс возможных выгод достигается именно "писанием/читанием" кэша. Плюс блокирование нежелательного содержимого Черным списком.Твой второй пункт - частный случай первого. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 21 января 2007, 22:43:17 Rick
Не ожидал несогласия именно здесь. Что для пользователя первично: экономить трафик или писать в кэш?, "просматривать историю" или писать в кэш? По-моему мнению, ответ однозначен: "писать в кэш" - это лишь средство, инструмент для достижения указанных целей. Разве не так? Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 21 января 2007, 22:49:37 Михаил
Пользователю важен результат (экономия, ускорение...). Кэширование - средство достижение этого. Твои п.1 и п.2 делают одно и тоже: пишут/читают кэш. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 21 января 2007, 22:56:28 Rick
Чуть не так: п.1 и п.2 ничего не делают, п.1 и п.2 - это принципиально разные первичные для пользователя цели, которые достигаются путем использования одного и того же инструмента - записи/чтения в кэш. Так согласен? Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 21 января 2007, 23:03:25 Для того моего друга - это не второстепенная, а основная функция. Есть множество людей, у которых интернет дома отсутствует (отсталая страна Россия в этом плане, далеко не везде есть возможность подключиться и не у всех есть средства платить) и они ходят с ноутбуками/флэшками на работу, и подключаются по WiFi заходя в спец. кафе, и находят другие точки доступа. Для всех них эта функция основная, а до экономии трафика им дела нет. Есть специализированные программы, назначение которых, именно автоматом скачать сайт для оффлайнового просмотра. Указывается стартовая страница и "глубина" на которую нужно идти по ссылкам со стартовой страницы. Это чтобы не "пролистывать не читая" вручную. Минус - цепляются лишние (не интересные) страницы. Вот о добавлении такого функциала в НС еще можно было бы говорить - как о дополнительной фиче, а не о чем то принципиальном.п.1 и п.2 - это принципиально разные первичные для пользователя цели, которые достигаются путем использования одного и того же инструмента - записи/чтения в кэш. Так согласен? Со всем кроме слов "принципиально разные".Название: Re: Взаимодействие программы с пользовател Отправлено: Rick от 21 января 2007, 23:11:44 Михаил
Возьмем анлим и повременный тарифы. В первом случае, я получаю экономию времени загрузки страниц за счет использования ранее кэшированных данных - повышается комфортность моей работы. Во втором случае, я быстренько пролистываю несколько страниц и смотрю их в оффлайне - так же за счет использования ранее кэшированных данных. Разница в чем, в быстром кликанье по ссылкам в браузере? А как для НС различается выполнение этих задач пользователя? Никак! Когда я иду на сайт с предложениями работы и когда читаю анекдоты - я преследую совершенно разные цели, у меня принципиально разные задачи. Но от своего браузера я хочу одного и того же - "страницу открой!". Никакой разницы нет. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 21 января 2007, 23:17:32 Rick
Согласен, есть. Есть и другие программы для экономии трафика, есть для резки рекламы. Но перед нами-то именно наш любимый НС. И одна из его прелестей именно в том, что он сочетает все это в себе. Цитировать Возьмем анлим и повременный тарифы... Да, так и есть, разницы никакой. В обоих случаях это экономия денег/времени (т.е. п.1).Можно ли считать, что на вопросе об основных возможностях, предоставляемых программой пользователю, мы сошлись, и нужно идти дальше? Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 21 января 2007, 23:27:22 Можно ли считать, что на вопросе об основных возможностях, предоставляемых программой пользователю, мы сошлись, и нужно идти дальше? Да.Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 00:19:29 Rick
Каждую из этих трех целей пользователь может реализовать путем прямого целеуказания (подход "а"), а может как сейчас - разложить ее по полкам и продумать, как и при каких условиях надо писать/читать в кэш, чтобы эта цель выполнилась (подход от обратного, подход "б"). Для конкретики разберем такой пример (очень жизненный). Я озабочен экономией денег/времени. В ходе серфинга я замечаю, что файлы рисунков (пусть *.jpg и *.png), которые я хочу видеть при просмотре страниц, не изменяются от раза к разу, но грузятся из интернет каждый раз по новой вместе с сайтом. Экономии никакой. Что же делать? а) отмечаю, что я не сообщил ранее программе условия устаревания для таких файлов и поэтому она не может экономить на них. Добавляю в список "Условия устаревания", отвечающий за экономию, правило типа .*\.(jpg|png)$ с пустым или очень большим критерием устаревания. Остальное: как и когда писать/читать в кэш определяет сама программа, это уже не моя забота. У меня лишь имеется уверенность, что кэш организован и используется ею максимально эффективно с точки зрения экономии как денег/времени, так и дискового пространства. б) раскладываю цель на составляющие, понятные НС: для того, чтобы экономить на этом факте, надо Запретить обновление этих файлов в списке "Не обновлять" (добавляем такое же правило). Но одно это не гарантирует положительного исхода. Необходимо быть уверенным, что список "Запись в кэш" также пропустит это правило (идем туда и убеждаемся, что это так либо если нет, то добавляем соответствующее правило туда. Но есть еще список "Только для кэша", который может помешать попасть этим файлам в кэш (идем туда и проверяем, при необходимости правим/отключаем список). Но и это еще не все. Существует "Белый список", который может спутать все карты (идем туда и убеждаемся, что это не так, иначе соответственно изменяем "Белый список"). Строго говоря, во всех этих "идем туда" мы на самом деле туда не идем только потому что ЗНАЕМ содержание списков на память. Но это если мы уже давние пользователи и привыкли. Однако учитывать все это нам все равно приходится, пусть и в уме. Но что говорить о "непродвинутом" пользователе, не подозревающем, какие подводные камни ждут его для реализации этой конкретной задачи. Наша и его голова может не учесть какого-нибудь штриха, и цель будет не достигнута (экономии денег/времени не будет) или достигнута неполностью (экономим не все, что хотим и при этом неоптимально расходуем диск, записывая туда лишнее). Кроме этого видно, что трудозатраты не сопоставимы с вариантом а). Как на твой взгляд, какой вариант проще для пользователя? Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 22 января 2007, 00:56:01 Каждую из этих трех целей... Откуда опять третья взялась?Цитировать а) ...Добавляю в список "Условия устаревания", отвечающий за экономию, правило типа .*\.(jpg|png)$ с пустым или очень большим критерием устаревания. Остальное: как и когда писать/читать в кэш определяет сама программа, это уже не моя забота. Далее задумываемся, что на сайте A нас теперь все устраивает, но на сайте B мы бы все-таки хотели обновлять эти картинки всегда - записываем сайт B в исключения созданного правила. А на сайте C нам нужен другой критерий устаревания - что ж, запишем одно и тоже правило дважды с разными критериями, и укажем для каждого правила для каких сайтов оно должно выполняться.Теперь вспомним о существовании сайтов D и E - на них мы хотим один раз записать графику в кэш, а потом вообще никогда не обновлять - т.е. только из кэша всегда. Если какой-то картинки в кэше не окажется - не беда, она нам не нужна. И вот пытаемся приладить в список возможность задать уже другие исключения: теперь нам нужно не отказаться от записи в кэш, а отказаться от загрузки файла вообще. И видимо ценой того, что придется еще раз дублировать одно и то же правило, но с другими параметрами. Не замечаешь, как у нас в "универсальном" списке потихоньку появились подобия нынешних списков "Не обновлять" и "Только из кэша"? А что начнется, когда мы сюда же попытаемся добавить логику Белого списка? Додумай сам необходимое количество примеров чтобы воскликнуть: "Да зачем это все держать в одном списке?!" Облегчить работу с программой цель благая и нужная. Но пока я вижу замену шила на мыло. Давай обсуждать дальше. Название: Re: Взаимодействие программы с пользователем Отправлено: Сергей от 22 января 2007, 10:00:09 Цитировать основное предназначение программы - предоставить пользователю возможность: Правильно.- экономить собственные деньги и время при работе в интернете; Цитировать - в условиях ограниченного по времени доступа в интернет скачать интересующую информацию не читая, а затем просматривать историю, когда интернет не доступен; Это точно не функция HC. Оффлайн браузеры пусть этим занимаются. Кстати, они прекрасно работают в связке с HC.Цитировать - запрещать приход из сети и/или отображение данных, которые он категорически не хочет получать Это не основная функция. Ее можно реализовать сторонними утилитами.Для меня, основная функция HC - сохранять ВСЕ просмотренные страницы. Чтобы иметь возможность потом вспомнить прочитанное. Путем просмотра истории сохранений в кэш ( hc.Historian) или полнотекстовым поиском как в Google (Архивариус). Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 12:30:25 Rick
Сергей Как справедливо заметил Сергей, п.2 должен выглядеть так: в условиях ограниченного по времени доступа в интернет скачать интересующую информацию не читая, Программа предоставляет эти три возможности объективно и независимо от того, хочет ли конкретный пользователь пользоваться всеми ими или только некоторыми. Употребленное мной слово "основные возможности" наверное несовсем корректно. Любая из них может являться основной для одного пользователя и не основной для другого. Скажем тода так, что все эти возможности вплетены в логику программы и реализуются путем организации единого кэша и списков. Так, для меня основными являются возможности 1 и 3, для упомянутого выше моего друга - 2, для Сергея - видимо, тоже 2. Rick, давай определимся в этом, а потом рассмотрим твой пример, хорошо? Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 22 января 2007, 12:39:24 Rick, давай определимся в этом, а потом рассмотрим твой пример, хорошо? Я предпочитаю сначала услышать утверждение, а потом его аргументацию. У тебя же все наоборот: предлагается аргументация... непонятно чего.Название: Re: Взаимодействие программы с пользователем Отправлено: Сергей от 22 января 2007, 13:31:40 Пункта 2 в программе нет. HC ничего сам не качает. Только то, что запросил клиент (браузер).
Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 22 января 2007, 14:11:51 Михаил
Когда же ты начнешь отвечать на конкретные вопросы?! И про мои вопросы (http://handycache.ru/component/option,com_smf/Itemid,10/topic,124.msg970/#msg970) не забудь... Пока вся эта тема напоминает "разговор слепого с глухим"! ;) Тебе задают конкретные вопросы, а ты говоришь, что еще не пришло время на них отвечать, и начинаешь в пятый раз рассказывать нам о своем видении назначения HC, с которым никто не согласен, и от твоего многократного повторения консенсус ближе не становится! Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 16:06:14 DenZzz
Цитировать Как ты собираешься разделить "автономный режим" и "просмотр истории" в плане целей, настроек, взаимодействия и общего кэша?! Как указывать, что кэшировать для каждой цели? И чем будут отличаться правила кэширования? Кэш будет один или 2 разных? "Автономный режим" и "просмотр истории" разделять нужно так. "Просмотр истории" - это цель, которую может хотеть добиться пользователь от программы, это не режим работы программы. Ему это нужно не для экономии денег/времени, а из-за отсутствия постоянного доступа в сеть. Автономный режим - это не самоцель. это средство, способ, с помощью которого пользователь может либо осуществлять максимально возможную экономию денег/времени, когда у него доступ в интернет есть, либо просмотреть все что хочет в условиях ограниченной возможности пользоваться сетью. По сути, это добавление правила .* в начало списка "Только из кэша" в нынешнем варианте логики программы. И добавление того же правила в начало списка "Условия устаревания" и отключение списка "Просмотр истории" в том, который обсуждаю я. Просто чтобы постоянно не делать этого вручную, это вынесено отдельной фичей. Какова моя цель при включении автономного режима, ведь не просто ж так от нечего делать. И не ради того, чтоб все доставалось с диска и не лезло из интернета. А для того, чтобы: - максимально экономить деньги/время, зная, что я в этом адресе уже бывал. Ведь если у меня интернет доступен постоянно, я могу тут же залезть туда опять и просмотреть все это там. Но хочется экономить; - просмотреть в момент, когда интернет недоступен, все, что ранее обозначил программе и посетил в момент, когда доступ был. Здесь цели экономии денег/времени не преследуются. И уже способом осуществления этого, который предлагает программа, является чтение запрошенных данных с диска и блокирование выхода в интернет. Указывать, что кэшировать нужно для каждой цели, необходимо дублированием правила в списках "Условия устаревания" и "Запись истории". Отличаться правила не будут, разве что наличием у первого условия устаревания. Кэш будет один. Название: Re: Взаимодействие программы с пользовател Отправлено: Rick от 22 января 2007, 16:25:41 Михаил
Цитировать "Просмотр истории" - ...это нужно не для экономии денег/времени, а из-за отсутствия постоянного доступа в сеть. Имхо, это какое-то "масло маслянное". Т.е. когда у меня ограниченный доступ к сети я "Просматриваю Историю", когда я хочу сэкономить или опять-таки у меня ограниченный доступ к сети - я в Автономном режиме.Автономный режим - ...это средство, способ, с помощью которого пользователь может либо осуществлять максимально возможную экономию денег/времени, когда у него доступ в интернет есть, либо просмотреть все что хочет в условиях ограниченной возможности пользоваться сетью. У меня впечатление, что можно обойтись клейкими желтыми листочками для заметок. Когда из-за отсутствия сети я "смотрю историю" клетить на монитор листик "Я смотрю историю", когда я использую автономный режим клеить бумажку "Я экономлю деньги". Кроме листиков ничего не нужно, посколько и действия пользователя и работа НС в обоих случаях - одинаковы. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 16:36:34 Rick
Я привел пример (http://handycache.ru/component/option,com_smf/Itemid,10/topic,124.msg982/#msg982). Соответствует ли он действительному положению вещей, на твой взгляд? Не вижу оценки. Название: Re: Взаимодействие программы с пользователем Отправлено: Сергей от 22 января 2007, 16:37:29 Михаил
Ты предлагаешь новый, непонятный термин. Называешь его Просмотр истории. А как тогда теперь называть тот список, что показывает hc.Historian? Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 16:43:50 Сергей
Извини,не успею все сразу. Давай разберем конкретные примеры. Мой (http://handycache.ru/component/option,com_smf/Itemid,10/topic,124.msg982/#msg982) и сейчас я отвечу на пример Rick-а (http://handycache.ru/component/option,com_smf/Itemid,10/topic,124.msg983/#msg983)... Название: Re: Взаимодействие программы с пользователем Отправлено: Сергей от 22 января 2007, 16:47:39 Из твоего примера я не понял ничего. В чем проблема? Никаких сложностей в текущем положении дел не вижу.
Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 22 января 2007, 16:52:55 Я привел пример (http://handycache.ru/component/option,com_smf/Itemid,10/topic,124.msg982/#msg982). Соответствует ли он действительному положению вещей, на твой взгляд? Не вижу оценки. Следом за примером я "оценил" пункт а) - представив во что он выливается для пользователя на самом деле: вместо упрощения - запутывание и усложнение всей логики. Пункт б) несколько приукрашен. Список "Только из кэша" притянут за уши (противоречит исходным данным примера). Но в целом - более-менее. Я согласен с отправной точкой беседы: сейчас программа довольно сложна для освоения ее неподготовленным пользователем. И я целиком и полностью ЗА, чтобы сделать НС более простым/понятным/юзабельным и т.д. Но пока я не вижу ничего дельного. Все крутится вокруг того, что давайте сделаем меньше списков ценой усложнения оставшихся. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 17:49:04 Rick
Хоть пример (http://handycache.ru/component/option,com_smf/Itemid,10/topic,124.msg983/#msg983) в целом и не очень жизненный, но имеет право быть и такой. Сайт А: "Мой" вариант - правило в список "У", нынешний вариант - такое же правило в список "Н". Сайт B: добавляем в "У" исключение из правила - то же самое делаем со списком "Н". Сайт С: пишем еще одно правило, но с критерием в "У" - то же самое в "Н". Сайт D и E: срабатывает правило в "А" - срабатывает правило в "Н". Но если как я понял, оно есть в списке "Т" и он включен, то отключаем "Т"-грузим сайт в первый раз-включаем "Т". Если оно есть в "Т" и он выключен, то это лишнее правило. Как из этого примера вырисовывается "прорисовывание" в "У" списка "Т"? Про все остальное, в т.ч. про добавление логики "Белого списка", прошу конкретный пример. Цитировать Пункт б) несколько приукрашен. Список "Только из кэша" притянут за уши (противоречит исходным данным примера). Но в целом - более-менее. Не совсем притянут. Логика такая. Если такое правило уже есть в списке "Только из кэша", но он отключен, надо озаботиться, может включить список и все? Но при этом опять же проверить, а не мешает ли при этом "Белый список".Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 19:24:33 Rick
Цитировать У меня впечатление, что можно обойтись клейкими желтыми листочками для заметок. Когда из-за отсутствия сети я "смотрю историю" клетить на монитор листик "Я смотрю историю", когда я использую автономный режим клеить бумажку "Я экономлю деньги". Кроме листиков ничего не нужно, посколько и действия пользователя и работа НС в обоих случаях - одинаковы. Твои цели при этом разные. Когда ты молотком забиваешь гвоздь в доску, ты хочешь укрепить конструкцию. Когда в голову - хочешь устранить конкурента. Ты делаешь одно и то же - удар молотком по гвоздю - но цели разные. Автономный режим - молоток, кэшируемая информация - гвоздь, укрепление конструкции - экономия денег/времени, устранение конкурента - "просомотр истории" (неудачно все-таки названо, сбивает). Автономный режим - не твоя цель, а инструмент, который может использоваться для достижения целей экономии и "просмотра истории". В чем же недопонимание? Разные цели порождают разные результаты их выполнения, пусть даже они выполнены одним инструментом и одним способом его применения. Давай ближе к примерам, раз так. Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 22 января 2007, 19:51:14 Сайт D и E: срабатывает правило в "А" - срабатывает правило в "Н". Я запутался. правило "А" - "Переадресация"? Наверно же ты имешь в виду что-то другое?Цитировать Но если как я понял, оно есть в списке "Т" и он включен, то отключаем "Т"-грузим сайт в первый раз-включаем "Т". Если оно есть в "Т" и он выключен, то это лишнее правило. Как из этого примера вырисовывается "прорисовывание" в "У" списка "Т"? Тем, что в твой список "У" нам нужно вместо одной графы "Исключения" вводить уже как минимум два: исключение для записи в кэш и исключение для загрузки вообще.Цитировать Про все остальное, в т.ч. про добавление логики "Белого списка", прошу конкретный пример. Пока без "остального" - про БС: сейчас он нам дает возможность для определенных URL обойти/не применять любой из списков. В твоем "У" конечно должно присутствовать исключение по URL. При этом, во-первых, представляем, что все урлы из БС, нам нужно впихнуть в одно правило задающее это исключение. Во-вторых,у нас же несколько дублей одних и тех же правил - и в каждом нужно продублировать эти правила-исключения по URL.Теперь про остальное: рассматривается пример с двумя типами картинок, а стоит только подумать, что у нас этих типов мала-мала больше, да и не только картинки могут нас интересовать, да самое, что поганое - в совершенно разных комбинациях для разных URL - напрягаем фантазию и представляем какой же ералаш мы в итоге имеем в гипотетическом списке "У"! Цитировать Автономный режим - не твоя цель, а инструмент, который может использоваться для достижения целей экономии и "просмотра истории". В чем же недопонимание? Разные цели порождают разные результаты Я уже приводил пример:Давай ближе к примерам, раз так. Цитировать Когда я иду на сайт с предложениями работы и когда читаю анекдоты - я преследую совершенно разные цели, у меня принципиально разные задачи. Но от своего браузера я хочу одного и того же - "страницу открой!". Никакой разницы нет. Можно вычленить кучу принципиально разных задач пользователя (добиться мира во всем мире, например, или увидеть картинку-схему московского метрополитена), но его требования к НС при этом идентичны, так же как и работа НС для выполнения этих совершенно разных задач. Разница в том, что делает сам пользователь - и даже не в НС - в своем браузере!Я не вижу ни малейшей разницы между просмотром кэша при ограниченном доступе к сети, или когда доступ есть (обычная повременка), но чтобы чтобы сэкономить опять-таки читаются те же данные из того же кэша. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 20:43:50 Rick
Имею ввиду то же самое правило, которое ранее было написано для сайта А. Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 22 января 2007, 20:50:50 Михаил
Я так и полагал. Но на все прочее, мною сказанное, это не повлияло. Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 22 января 2007, 20:55:08 Указывать, что кэшировать нужно для каждой цели, необходимо дублированием правила в списках "Условия устаревания" и "Запись истории". Хе, то ты говорил, что тебя утомляет добавление дублирующих правил в список "Не обновлять" и "Запись в кэш"! И даже предлагал отказаться от последнего! Теперь же ты сам предлагаешь писать дублирующие правила в списки "Условия устаревания" и "Запись истории"! Тогда на кой нужны 2 списка с дублирующими правилами! По-моему, ты уже сам запутался! Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 20:58:58 Rick
Теперь о списке "Только из кэша". В предлагаемом мною варианте он относится к блоку "Черный список" (п.3). Он ни в коей мере не влияет на вопросы экономии, а служит лишь для обозначения URL-ов, которые пользователю безразличны (будет ли он на экране, нет ли - все равно). Нарисую схему... Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 21:10:32 DenZzz
Я уже объяснял. Могу еще раз. Дублирование правил в моем варианте происходит в том ОЧЕНЬ редком случае, когда пользователь имеет ограниченный доступ в интернет и во время этого доступа вынужден еще и экономить (только тогда им используются оба списка). У тебя, например, как и у меня, так и у абсолютного большинства это не возникнет никогда, т.к. время доступа в интернет у тебя произвольно и список "Просмотр истории" отключен раз и навсегда. Можешь считать, что его у тебя нет. Дублирование же правил в нынешнем варианте происходит в КАЖДОМ случае добавления в список "Не обновлять" (дублирование со списком "Запись в кэш"), и в части случаев добавления в "Белый список". Разница есть? Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 22 января 2007, 21:23:25 Михаил
Цитировать Теперь о списке "Только из кэша"... Он ни в коей мере не влияет на вопросы экономии, а служит лишь для обозначения URL-ов, которые пользователю безразличны (будет ли он на экране, нет ли - все равно). Многие пользуются списком "Только из кэша" именно из соображений экономии! Когда оплаченный трафик кончается, то я включаю "Только из кэша" не потому, что мне безразличны новые картинки, а для того, чтобы качались только те, которые уже есть в кэше, и те, что я сам укажу, временно отключив список "Только из кэша"! Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 22 января 2007, 21:48:00 Михаил
Цитировать Я уже объяснял. Могу еще раз. Если бы ты хоть что-то здесь объяснял, тогда бы мне, Rick'у и Сергею и не пришлось бы по пять раз задавать одни и те же конкретные вопросы! Ты настырно продолжаешь гнуть свою противоречиво-ошибочную линию, не замечая и игнорируя контраргументы оппонентов! Цитировать У тебя, например, как и у меня, так и у абсолютного большинства это не возникнет никогда, т.к. время доступа в интернет у тебя произвольно и список "Просмотр истории" отключен раз и навсегда. Можешь считать, что его у тебя нет. Масло масляное! Хоть у меня и есть возможность постоянного доступа в Инет, когда мне надо посмотреть старые страницы из кэша, я к Инету даже и не подключаюсь! Название: Re: Взаимодействие программы с пользовател Отправлено: Rick от 22 января 2007, 22:14:18 Теперь о списке "Только из кэша". В предлагаемом мною варианте он относится к блоку "Черный список" (п.3). Он ни в коей мере не влияет на вопросы экономии, а служит лишь для обозначения URL-ов, которые пользователю безразличны (будет ли он на экране, нет ли - все равно). Нарисую схему... 1. Да, это "разгружает" список "У" но, соответственно, привносит дубли в п.3 - аналог "Черного списка".2. Говорить, что "Он ни в коей мере не влияет на вопросы экономии" абсолютно неправильно: файл вообще не загружается - это или экономия трафика, или экономия времени. Цитировать Нарисую схему... Да, может быть так будет понятней. И нам - зрителям, и тебе - объясняющему.Цитировать Дублирование правил в моем варианте происходит в том ОЧЕНЬ редком случае, когда пользователь имеет ограниченный доступ в интернет Кроме полного анлима, ВСЕ прочие случаи попадают под определение "ограниченный доступ к сети". Ну совершенно не важно в этих рассуждениях почему пользователь не подключается к сети: то ли у него платный трафик, то ли платита взимается за время подключения, толи у него вообще нет доступа к сети и он подключается "из гостей" (имхо вообще чушь рассматривать последний вариант как один из распространенных случаев - это, скорее, исключение).Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 22:29:52 Вот примерная схема (см.вложение).
Пара пояснений "Безразличный список" - аналог списка "Только из кэша". Название отражает, что сюда пользователь пишет то, что ему безразлично, будет ли показано или нет. Блок "Экономия" отключен у тех, кто не хочет экономить. Блок "Резка данных" отключен у тех, кто каждый раз хочет видеть всю страницу целиком и без исключений. Блок "Запись истории" отключен у того, у кого есть доступ в интернет в произвольное время (это Михаил, Rick, видимо, Сергей, и упомяну еще DenZzz и большинство пользователей). Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 22 января 2007, 22:49:59 Михаил
Смотрю на твою схему и возник закономерный вопрос: "А в чем, собственно, новизна?!" Чем твоя схема отличается от схемы в ФАКе (http://handycache.ru/component/option,com_simplefaq/task,display/Itemid,3/catid,1/#FAQ12), кроме измененных названий существующих в HC списков и отсутствия "Белого списка" и "Преобразование URL", необходимость которых ты и не оспариваешь?! Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 22:58:23 Поправка: Внутрь блока Запись истории временно не смотрим, недорисовал.
DenZzz Белый список пока для меня не очевиден. Не однозначно, но оспариваю. Новизна в том, что дублирующих правил не будет. Не будет оставаться "лишних" правил при удалении существующих. Пользователь забудет о том, что, когда и при каких условиях надо писать/читать в кэш и будет указывать программе следующим образом: "Критерий устаревания информации такого-то типа такой-то. Организуй экономию этой информации максимально эффективно". Программа сама определяет, когда писать в кэш. Сейчас же он указывает: "Критерий устаревания этой информации такой-то, эту информацию надо записывать в кэш, этому не должен мешать Белый список". Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 22 января 2007, 23:40:19 Михаил
Цитировать Белый список пока для меня не очевиден. Не однозначно, но оспариваю. А в курсе ли ты, что "Белый список" появился в HC не с самого начала, а только после многочисленных просьб пользователей! Может, еще создашь новую тему: "Необходим ли "Белый список"? :D Может, нам вообще новый раздел на форуме завести: "Рационализаторские предложения от Михаила, или HandyCache в псевдонаучной фантастике!" ;D Цитировать Новизна в том, что дублирующих правил не будет. Ты же сам недавно сказал, что "необходимо дублированием правила в списках "Условия устаревания" и "Запись истории", т.к. я использую HC для обеих целей, потому что не вижу в них никакой разницы! Цитировать Программа сама определяет, когда писать в кэш. mai62 вроде уже сказал, что согласен на опцию "Записывать в кэш при попадании в список "Не обновлять"! Так к чему весь сыр-бор с переименованием существующих списков? Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 23:41:38 Вот окончательная схема. Вроде, ничего не упустил. :)
DenZzz Применительно к себе и всему тому большинству пользователей, у кого интернет доступен в любой момент, из схемы выбрось блок "Запись истории", как-будто его нет. Заметь, что дублирование при этом исчезло. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 22 января 2007, 23:51:05 DenZzz
Приведи, плиз, пример, где в этой схеме есть польза от белого списка в том виде, как он существует сейчас? Я ее пока не вижу, потому что просто не встречал таких случаев, когда он действительно нужен в таком виде. Да, и еще забыл... В этой схеме пока не вижу резона иметь возможность включать/отключать отдельный список. Только блок. Название: Re: Взаимодействие программы с пользовател Отправлено: Rick от 23 января 2007, 00:00:33 Михаил
У меня такое впечатление, что мой последний пост просто забыт в пылу диспута. Или он требует дополнительных разжевываний? Вся беда (имхо), что ты пытаешься строить рассуждения на "лабораторных условиях": один URL, одно правило, одна цель... Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 23 января 2007, 00:03:51 Михаил
Дорисуй "Белый список" и получишь схему из ФАКа! ;D Для чего он нужен? Ну, хотя бы, чтобы нужный сайт всегда качался из Инета (постоянно обновлялся), не кэшировался и на нем не блокировалась реклама! Это просто необходимо web-мастеру сайта! Только не предлагай писать этот сайт в исключения в каждом из твоих блоков! ;) Примеров полно! Почитай хотя бы описание Белого списка в "Документации (http://handycache.ru/content/view/8/5/1/3/)"! Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 23 января 2007, 13:21:38 Rick
Извини, просто не успеваю... Я ведь один. Стараюсь ответить всем. Цитировать (имхо вообще чушь рассматривать последний вариант как один из распространенных случаев - это, скорее, исключение). Я понял, этот вариант всех вводит в путаницу. Ты прав, что он существует больше как исключение (людей, применяющих "гостевой доступ", я думаю, не так много /но все равно будь поосторожней насчет чуши/).Чтобы не сбивать всех с основной мысли предлагаю временно принять, что мы не рассуждаем о таком случае вообще. Давайте тогда исключим этот блок ("Запись истории") из схемы, как-будто его нет вовсе. Все, что остается, распространяется и на анлим, и на повременку, и на оплату трафика. Цитировать Вся беда (имхо), что ты пытаешься строить рассуждения на "лабораторных условиях": один URL, одно правило, одна цель... Есть противоположная беда - это отсутствие от партнеров /(с) Путин В. В./ конкретных примеров "суровых жизненных условий" (кроме твоего про "Белый список", который далее обязательно рассмотрим). Я прошу, дайте, пожалуйста, такие примеры (без иронии), т.к. сам, хоть и являюсь давним пользователем, их не встречал. Хочу также снова отметить, что список "У" не обязательно универсален и всеобъемлющ. Если он претендует на уйму правил с еще большей уймой исключений (что само по себе пока в моих глазах еще не факт), то он может по какому либо принципу быть разбит на несколько, но только внутри блока "Экономия".Цитировать про БС: сейчас он нам дает возможность для определенных URL обойти/не применять любой из списков. В твоем "У" конечно должно присутствовать исключение по URL. При этом, во-первых, представляем, что все урлы из БС, нам нужно впихнуть в одно правило задающее это исключение. Во-вторых,у нас же несколько дублей одних и тех же правил - и в каждом нужно продублировать эти правила-исключения по URL. Это я расцениваю как конструктивный диалог. Давай смотреть... Но чтоб это было не в общем, приведи, плиз, жизненный пример.А пока что идем далее. Ведь схема-то промежуточная. В ней мы имеем "Безразличный список", который, как я отметил, ранее, является аналогом списка "Только из кэша". Аналогом, но не более. Разница между ними тем не менее существенная. "Безразличный список" содержит ненужные пользователю типы данных, соответственно в нем скорее всего отсутствуют правила типа "вся графика" или "все скрипты" (напомню, у нас отсутствует логика в терминах записи/чтения в кэш. Нам не нужно думать так: "Я отключу этот список, чтобы дать записаться данным в кэш, потом включу его и эти данные никогда больше не будут грузиться из интернет). Его единственная цель - распорядиться ненужными пользователю данными. Но если пользователю безразлично, будут ли эти данные у него или нет, то это означает, что он предоставляет это на усмотрение программы. А программа доподлинно знает другой очень актуальный для пользователя момент - тот хочет максимальной скорости работы. Так чего ж она полезет брать эти данные из кэша, если можно их просто не дать, уйдя на ветку "Стоп" (по схеме). А раз так, то чем отличается фактически наш Безразличный список от Черного? Не пинайте ногами, но исключаем Безразличный список и связанную с ним логику. Черный список теперь отвечает за резку данных, которые пользователю не нужны. DenZzz Сейчас обязательно прочту примеры... Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 23 января 2007, 16:16:32 DenZzz
Пример 1 использования Белого списка. Цитировать требуется запретить запись в кэш файлов с некоего сайта. Создаем для этого сайта правило и отмечаем список "Запись в кэш". В результате правила этого списка к данному сайту применяться не будут. В моем подходе такая потребность у пользователя возникнуть не может. Она может возникнуть только у программы, т.к. пользователь разгружен от забот о записи в кэш и за него это делает НС (в этом топике мы уже обсуждали вопрос о цели и инструменте для ее достижения).Сообщи, пожалуйста, для развития примера конкретную цель, для чего мы запрещаем запись в кэш для сайта site.ru? Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 23 января 2007, 16:55:13 Михаил
Цитировать Сообщи, пожалуйста, для развития примера конкретную цель, для чего мы запрещаем запись в кэш для сайта site.ru? Уже сообщал: чтобы веб-мастеру видеть всегда на своем сайте свежие данные (не из кэша), в т.ч. картинки и всю рекламу на этом сайте! Если бы не было "Белого списка", то пришлось бы писать этот сайт в исключения для КАЖДОГО правила "Черного списка", "Не обновлять" и т.д.! Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 23 января 2007, 17:05:44 DenZzz
Не забывай. Рассматриваем пока пример 1. из документации про "Белый список". Там речь не идет об отключении для этого сайта списков "Черный", "Только из кэша", "Не обновлять" и др. Отключается только список "Запись в кэш". Для чего? Вот второй пример - это уже про отключение многих списков. Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 23 января 2007, 17:18:51 Михаил
Цитировать Не забывай. Рассматриваем пока пример 1. из документации про "Белый список". Хватит лить воду! Мы сейчас обсуждаем необходимость "Белого списка", а не цель первого примера в Документации! Начни с моего примера (http://handycache.ru/component/option,com_smf/Itemid,10/topic,124.msg1063/#msg1063)! Как ты предлагаешь обойтись без "Белого списка" в моем случае?! Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 23 января 2007, 17:30:15 Хочу также снова отметить, что список "У" не обязательно универсален и всеобъемлющ. Если он претендует на уйму правил с еще большей уймой исключений (что само по себе пока в моих глазах еще не факт), то он может по какому либо принципу быть разбит на несколько, но только внутри блока "Экономия". Так в чем новизна?Цитировать Давай смотреть... Но чтоб это было не в общем, приведи, плиз, жизненный пример. handycache.ru - поскольку я периодически что-то меняю, мне нужно быть уверенным, что я вижу действительный вид - поэтому у меня в БС для hc.ru отключены списки Не обновлять и Только из кэша. При этом запись в кэш я тем не менее делаю: а вдруг приспичит посмотреть в автономке?Для других правил БС основное следующее: в Т и Н у меня в качестве правил в большинстве своем типы файлов, а в БС - сайты-исключения. Акцент на "там типы, тут сайты-исключения". В Т и Н задаются т.с. "глобальные правила", а сайты к которым эти правила не должны быть применены указываются в БС. чем отличается фактически наш Безразличный список от Черного? Не пинайте ногами, но исключаем Безразличный список и связанную с ним логику. Черный список теперь отвечает за резку данных, которые пользователю не нужны. А эти данные пользователю по-разному "не нужны". Только из кэша - я вижу эти файлы только если они есть в кэше, Черный список вообще блокирует запрос этих файлов - даже из кэша. Т.е. в первом случае не нужны неизвестные данные, во втором - вообще не нужны, любые.Название: Re: Взаимодействие программы с пользователем Отправлено: Qua от 24 января 2007, 02:22:18 Михаил
В FAQ по HandyCache есть рисунок-схема его работы. Нарисуй свое видение работы HandyCache чтобы наглядно продемонстрировать насколько твоя "логика взаимодействия пользователя с программой" лучше существующей. Лично я против предложения по объединению списков. Этим лишь будут смешаны многие функции организации записи/чтения в кэш. По мне так лучше увеличить количество списков - например, делить записи на "по типу данных" и "по сайту", т.к. я не люблю регулярные выражения ;) Цитата Сергей: Цитировать Что то я не наблюдаю дублирования правил. Золотые слова!В списке Запись в кэш у меня описаны типы данных. А в Не обновлять заданы сайты. Да и два простых списка лучше одного сложного. Название: Re: Взаимодействие программы с пользователем Отправлено: Qua от 24 января 2007, 11:39:22 Цитировать Михаил В FAQ по HandyCache есть рисунок-схема его работы. Нарисуй свое видение работы HandyCache чтобы наглядно продемонстрировать насколько твоя "логика взаимодействия пользователя с программой" лучше существующей. Урра! Схему нашел. ;) Теперь месяц на полный анализ. :P Не беспокоить! 8) Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 24 января 2007, 23:54:33 Rick
Цитировать handycache.ru - поскольку я периодически что-то меняю, мне нужно быть уверенным, что я вижу действительный вид - поэтому у меня в БС для hc.ru отключены списки Не обновлять и Только из кэша. При этом запись в кэш я тем не менее делаю: а вдруг приспичит посмотреть в автономке? Для других правил БС основное следующее: в Т и Н у меня в качестве правил в большинстве своем типы файлов, а в БС - сайты-исключения. Акцент на "там типы, тут сайты-исключения". В Т и Н задаются т.с. "глобальные правила", а сайты к которым эти правила не должны быть применены указываются в БС. Указанное тобой использование списка БС с одной стороны логично. Только смотри, такой способ предполагает, что после занесения в БС правила и расставив галки ты должен пойти в список "Запись в кэш" и проверить, а пропускает ли он правило "hc.ru" . Если нет, надо добавить в этот список правило, дублирующее то, которое ты указал в БС. В том варианте, который предлагаю я (пусть список "Условия устаревания" не универсален и у нас есть еще БС), ты так же пишешь правило в БС, отключаешь в нем галку списка "Условия устаревания" и все. Того, что я выделил жирным шрифтом, ты не делаешь. Это делает сама программа (на список "Запись истории" мы по взаимной договоренности не смотрим, ибо он имеет отношение только к "гостевому" доступу и у нас жестко отключен). Это общее преимущество подхода без учета моего отношения к списку БС, которое может и поменяться под влиянием твоих примеров. Теперь что касется БС применительно к блокировке им списков "Т" и "Н". Знаешь, что меня смущает и не удовлетворяет в нем? Не то, что это еще один список, а я приверженец универсального списка любой ценой. У меня нет такой приверженности. Смущает то, что он позволяет применить записанное в нем исключение только ко всему списку "Т" или "Н" целиком, в то время как в большинстве случаев мы заинтересованы применить его лишь к части списка. Вот например, записывая в БС исключение для hc.ru, ты ж на самом деле не хочешь применить его к графике, таблицам стилей? А хочешь - только к html-контенту. А как применить его к части списка? Здесь БС нам не помогает. Приходится идти в "Н" и писать там соответствующее правило. БС дает нам возможность более наглядно задать исключение, которое распространяется на все правила списка. Но если мы хотим применять это исключение не ко всем, а к части правил списка, то БС уже бессилен. А что делать, если одно правило "Н" содержит много исключений? А если группа правил "Н" должна содержать общую для них группу исключений (например, для десятка конкретных сайтов нужно включить постоянное обновление картинок, флэш-анимации и скриптов, но обновлять по общим правилам все остальное)? В этом случае также не вижу, как может нам помочь БС. Почему мы решили обособить случай, когда есть исключение для ВСЕХ правил списка, создав для указания этого случая отдельную структуру - БС? Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 25 января 2007, 01:05:40 Михаил
Цитировать В том варианте, который предлагаю я (пусть список "Условия устаревания" не универсален и у нас есть еще БС), ты так же пишешь правило в БС, отключаешь в нем галку списка "Условия устаревания" и все. Того, что я выделил жирным шрифтом, ты не делаешь. Это делает сама программа А как же HC узнает, что этот сайт надо писать в кэш? Список "Условия устаревания" мы отключили правилом в Белом списке! А ведь именно через список "У" ты предлагал писать файлы в кэш! Цитировать Вот например, записывая в БС исключение для hc.ru, ты ж на самом деле не хочешь применить его к графике, таблицам стилей? А хочешь - только к html-контенту. А как применить его к части списка? Здесь БС нам не помогает. Ошибаешься! В БС правило можно и так написать: +handycache.ru*.html Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 25 января 2007, 18:41:59 Цитировать Ошибаешься! В БС правило можно и так написать: +handycache.ru*.html Html-контент может выражаться не только правилом *.html, а еще *.php, #_ и еще бог весть чем (например, на hc.ru это еще и что-то вроде */component/option,com_smf*) - обо всех вариантах знает только список "Н", имеющий соответствующее внушительное правило (или несколько правил), определяющее этот тип данных. Что же теперь, сдублировать все это правило (все эти правила) в БС для этого конкретного сайта-исключения? А если впридачу мы не хотим кэшировать на этом сайте информацию еще 3-4 типов, кэшируемую в обычных условиях? Тогда только для одного этого сайта придется перенести в БС полсписка "Н". А если таких сайтов 2,3,...? А вдруг для некоторых из них будет свой набор типов данных, которые не нужно кэшировать? Список "Н" у нас тогда будет содержаться в БС в нескольких экземплярах. Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 25 января 2007, 20:23:30 Михаил
Что за привычка не отвечать на конкретные вопросы?! Ты так и не ответил на мой вопрос: Цитировать А как же HC узнает, что этот сайт надо писать в кэш? Список "Условия устаревания" мы отключили правилом в Белом списке! А ведь именно через список "У" ты предлагал писать файлы в кэш! Зато я постоянно отвечаю на твои: Цитировать Html-контент может выражаться не только правилом *.html, а еще *.php, #_ и еще бог весть чем (например, на hc.ru это еще и что-то вроде */component/option,com_smf*) - обо всех вариантах знает только список "Н" В списке "Не обновлять" у меня вообще нет таких правил! А если б и были, то под конкретную задачу их все можно отключить 1 правилом в Белом списке в формате RegExp! В большинстве случаев таких "наворотов" и не требуется! Кстати, #_ сюда не приплетай - они встречаются только в кэше HC, а в URL на сервер в явном виде не передаются! Цитировать А если таких сайтов 2,3,...? А вдруг для некоторых из них будет свой набор типов данных, которые не нужно кэшировать? Сколько надо правил - столько и будет! Хочешь в одном все объедини, хочешь - в разных! Как будто у тебя есть лучший вариант написания исключений! Писать исключение к каждому правилу в списке "Н", "Ч" и т.д. - это еще больше работы! Название: Re: Взаимодействие программы с пользователем Отправлено: DenZzz от 25 января 2007, 20:29:20 Мои выводы:
Ничего рационального на всех 4 страницах этого топика ты так и не предложил! Вместо прямых и конкретных ответов на поставленные вопросы, ты увиливаешь, отвечаешь вопросом на вопрос и выдвигаешь свои явно непопулярные идеи! В твоей схеме нет новизны, это просто перерисовка схемы из ФАКа в новом дизайне и с измененными названиями списков, которые ничуть не лучше старых! В процессе обсуждения ты так и не смог доказать, что в HC есть лишние списки и что их можно безболезненно убрать, упростив "жизнь" пользователю! В общем, нет в этой теме конструктива! По сему, лично я не вижу смысла продолжать этот бессмысленный спор, к которому почти все "старожилы" уже потеряли интерес, и больше не буду постить в этой теме, пока здесь не появится (если это вообще возможно!) рациональное зерно! 8) Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 25 января 2007, 21:06:04 Михаил
У меня сложилось впечатление, что пытаясь предложить что-то новое, ты только сейчас, в процессе, познаешь существующее. Для переустройства мироздания такой подход может и обычное дело, но для изменения логики работы программы желательно все-таки разобраться с тем, а что, собственно, не так, и что хочется изменить. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 25 января 2007, 23:31:37 DenZzz
Для того, чтоб увидеть рациональное зерно, которое тебе не очевидно, недостаточно глаза иметь, надо еще ХОТЕТЬ его увидеть. Вот этого последнего у тебя не имеется с момента самого первого твоего вхождения в топик. Честно скажу, что рад не видеть далее твоих постов до конца рассмотрения вопроса. Это будет способствовать установлению истины. Возвращайся, однако, если переменишь свою цель на желание вникнуть. Тогда, уверяю, конструктив появится сам собой. Rick Цитировать У меня сложилось впечатление, что пытаясь предложить что-то новое, ты только сейчас, в процессе, познаешь существующее. Для переустройства мироздания такой подход может и обычное дело, но для изменения логики работы программы желательно все-таки разобраться с тем, а что, собственно, не так, и что хочется изменить. Если ты это про последние посты, то да, так и есть. Мысли, изложенные про БС и Т, возникли по ходу пьесы как результат неопределенных сомнений в безупречности этого подхода к организации данных. Возникли в результате постов партнеров по обсуждению."Что, собственно, не так и что хочется изменить" сейчас попробую резюмировать как смогу. Работа с программой в настоящее время организована так, что вынуждает пользователя мыслить категориями, не совпадающими с его целями. Цели - экономия денег/времени, резка ненужных данных (еще одна возможная цель - "гостевой доступ" - поставлена в ходе обсуждения под сомнение). Их он вынужден разбивать на понятные программе подцели на языке записи/чтения в кэш. Цель обсуждения - прийти к мнению, можно ли возложить на саму программу вопросы, связанные с организацией записи/чтения в кэш, так чтобы пользователю необходимо было сосредотачиваться только на своих целях. Упростить тем самым диалог с программой и сократить риск возможных ошибок, приводящих к недостаточной экономии или неоправданному расходованию дискового пространства. Мой подход таков. Диалог с программой пользователю ближе, если он осуществляется в терминах его целей (экономить деньги/время и резать ненужные данные), нежели в терминах записи/чтения в кэш (запись/чтение в кэш - это инструмент для достижения целей). Соответственно пользователю ближе такой подход: "я укажу типы данных, на которых можно экономить и условия, при которых это делать (но не связанные с записью/чтением кэша, а понятные мне как не желающему утруждать себя изучением того, что такое кэш, как он организован и когда с ним надо проводить какие-то действия), а программа на основе этой информации сама организует максимально эффективную экономию моих денег/времени" нежели такой: "я задам условия, при которых данные определенных типов не нужно обновлять в кэше, при каких брать их только из кэша, а при каких - записывать в кэш. Результатом будет организованная мной по совокупности всех этих действий экономия денег/времени". Это был исходный посыл, желание программиста, видящего как напрягаются мои коллеги-непрограммисты, пытаясь наладить взаимодействие с программой. Я начал думать, как это можно сделать, в результате в голове родилось подобие схемы, которую гораздо позже я нарисовал в форме, приведенной здесь (http://handycache.ru/component/option,com_smf/Itemid,10/topic,124.msg1042/#msg1042). Внешне она оказалась похожа на ныне действующую. Это сослужило плохую службу в том смысле, что многие стали оценивать ее в рамках стереотипов, наложенных мышлением, связанным с выработанными за долгое время использования программы привычками (т.е. оценивать через призму вопросов, связанных с организацией записи/чтения в кэш). Началось сравнение схемы с нынешней на уровне соответствия/несоответствия друг другу конкретных списков. За всем этим сразу же ушло на задний план, что ее цель - вовсе не донести мое видение оптимизации количества и структуры существующих списков, что я многократно пытался подчеркнуть. Попробую вернуться к схеме и изложу ее истинное назначение. Давайте на минуту закроем глаза, отвлечемся и представим, что у нас нет нынешней структурной организации программы, нет списков, а есть чистый лист бумаги и задача - организовать подход пользователя к взаимодействию с программой в терминах преследуемых пользователем целей. Мы выделяем две возможные цели пользователя - резать ненужные данные и максимально экономить деньги/время при доступе к нужным. При такой постановке задачи логично будет, чтобы пользователь мог задать, какие данные ему не нужны вообще (рисуем блок "Резка ненужных данных"), а из оставшихся (т.е. нужных) на каких можно экономить (рисуем блок "Экономия денег/времени"). Блоки пока нарисованы, но их внутренняя структура пока несущественна. Существенно, что задав каким-то образом (который мы пока не определили) эти данные, он напрямую определяет для программы свои цели. При этом его не заботят вопросы, связанные с организацией чтения/записи в кэш. Ему достаточно знать, что проанализировав цели пользователя (т.е. наполнение этих блоков), программа организует их выполнение максимально эффективно. Это квинтэссенция. Если это находит понимание, я продолжу про наполнение блоков. И еще. Если не понимают люди, которые стремятся понять, то обидно за себя, что не можешь объяснить, хотя и стремишься. Но уверен, результат будет, т.к. с такими людьми идешь однонаправленно и вместе с ними согласованно обязательно достигнешь окончательного ответа, независимо от того, прав ты был или нет. Название: Re: Взаимодействие программы с пользователем Отправлено: Сергей от 26 января 2007, 10:55:10 Есть нестыковки в твоих рассуждениях.
С чего ты взял, что твои цели совпадают с чужими? Я не хочу, чтобы программа за меня решала что делать с данными. Сейчас логика не вызывает никаких сложностей, хотя я не программист. А что ты предлагаешь никак понять толком не могу. Программисты наверное поняли ;) Последнее слово всегда за автором программы. Если не устраивает текущая функциональность - напиши спецификацию с описанием новой программы. Которая была бы, по твоему мнению, лучше. Желательно подробно. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 26 января 2007, 11:58:27 Сергей
Цитировать С чего ты взял, что твои цели совпадают с чужими? Хорошо, скажи, какие цели, отличные от указанных, преследуешь ты при общении с программой. Может, я чего-то не учел.Цитировать Я не хочу, чтобы программа за меня решала что делать с данными. Она должна делать это не самопроизвольно, а на основе заданных тобой устремлений. Например, если тебе хочется прослушать на компьютере музыку, ты включаешь плеер, указываешь, что именно хочешь слушать и слушаешь. Твоя цель удовлетворена. Ты же не хочешь при этом начать самостоятельно управлять процессами декодирования, буферизации, чтения с диска, арбитража и пр. У тебя как у пользователя просто нет такой цели - ты просто хочешь слушать музыку, а программа получает от тебя эту цель и берет всю черновую работу по ее воплощению на себя.С другой стороны, то, что ты можешь потребовать от программы ограничено ее назначением. Тот же плеер нельзя просить проверять файлы на наличие вирусов, осуществлять функции файрволла и пр. Он просто для этого не предназначен. Указанные мной цели - не "мои цели". Они не произвольны - они логически вытекают из назначения программы. Ты попробуй отвлечься от привычного, очисть мысли и вдумайся насчет преследуемых тобой первичных целей при использовании НС. Как будет окно, перейду к наполнению блоков... Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 26 января 2007, 13:05:33 Внешне она оказалась похожа на ныне действующую. Это сослужило плохую службу в том смысле, что многие стали оценивать ее в рамках стереотипов, наложенных мышлением, связанным с выработанными за долгое время использования программы привычками (т.е. оценивать через призму вопросов, связанных с организацией записи/чтения в кэш). Сравниваются не "призмы вопросов", а алгоритм. Как бы ты сам оценил "новшества" увидев свою схему в том же виде, только в новом оформлении и с новыми названиями?Цитировать Давайте на минуту закроем глаза, отвлечемся и представим, что у нас нет нынешней структурной организации программы, нет списков, а есть чистый лист бумаги... Хватит уже водить в воздухе руками - давай ближе к конкретике.Цитировать Если это находит понимание, я продолжу про наполнение блоков. Намерения понимание давно нашли. Не находит понимания, почему уж который день имеем только "декларацию о намерениях" повторенную на разные лады.Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 26 января 2007, 19:14:27 Мысля дальше в направлении, изложенном выше (http://...), я пришел к следующим выводам. Программа предоставляет пользователю возможности резки ненужных данных и экономии денег/времени на нужных. Пользователь может хотеть или не хотеть использовать любую из них. Следовательно, блок "Резка ненужных данных" и блок "Экономия денег/времени" должны иметь триггеры их включения/отключения. При этом я еще не определил точную внутреннюю структуру этих блоков, но включать/отключать блок нужно иметь возможность целиком независимо от его внутреннего устройства. Ели пользователь включает блок, то он говорит программе, что он хочет использовать эту предоставляемую ею возможность и наоборот в противном случае.
Встал вопрос, какими же структурами хранения данных наполнить эти блоки и какой сделать их внутреннюю логику, чтобы они смогли выполнять указанные функции? 1. Итак, блок "Резка ненужных данных" должен получить на входе запрос на предоставление данных, а на выходе должен выдать решение, нужны ли они нам или нет. Если данные нам не нужны, то вместо них в ответ на запрос выдается "пустышка" и он считается отработанным. Если нужны, то он передает запрос в неизменном виде для дальнейшего анализа. Очевидно, что эту задачу мы исчерпывающим образом решим, определив в качестве внутреннего наполнения блока одну единственную структуру - "Черный список" (в том виде, как он есть в нынешнем варианте программы). На НЕНУЖНЫХ данных мы экономим деньги/время не методом кэширования, а путем их резки. 2. Далее, если данные нам нужны, то они поступают в блок "Экономия денег/времени на нужных данных" для анализа того, как на них можно максимально сэкономить для пользователя деньги/время. Экономия достигается за счет следующего. Большинство информации присутствует на сайтах в виде статического контента (нужные нам данные на страницах изменяются не непрерывно, а через определенные не обязательно равные друг другу промежутки времени либо не изменяются вообще никогда). При этом имеется общая закономерность: на различных сайтах сети данные одних типов как правило изменяются с одинаковой периодичностью (или не изменяются вовсе). Тогда, зная наперед или оценив этот промежуток времени для данных какого-либо типа, мы можем взять достаточно малый по сравнению с ним интервал и внутри него рассчитывать на неизменность этой информации. А если инфорацию считаем неизменной, то один раз загрузив из сети, надо записать ее на диск и при повторных запросах на протяжении этого интервала брать ее с диска, экономя деньги/время. Если же для каких-то сайтов сети эта закономерность нарушается, то мы должны иметь возможность указать такие сайты (и возможно иную, присущую им закономерность) программе. Все. Это единственный принцип, на котором мы можем экономить деньги/время методом кэширования (это, собственно, суть самого метода кэширования). Итак, На НУЖНЫХ данных мы экономим деньги/время методом кэширования. Описанным требованиям к хранению информации для применения этого метода в полной мере отвечает список со структурой нынешнего "Не обновлять". Но мы хотим, чтоб пользователь мыслил в первичных терминах, и не вникал в вопросы чтения/записи в кэш. А "Не обновлять" по нынешнему смыслу расшифровывается как "Не обновлять из кэша". Поэтому мы называем наш список "Условия устаревания данных, но не в кэше, а в сети". Теперь пользователь оперирует первичным термином - временем устаревания данных определенных типов в сети. А далее вопросами записи/чтения в кэш занимается сам метод кэширования, для которого указанные данные являются необходимыми и достаточными для организации МАКСИМАЛЬНО эффективной экономии денег/времени и ДИСКОВОГО ПРОСТРАНСТВА пользователя. При этом ЛЮБОЕ изменение пользователем условий записи в кэш ведет к отклонению от максимума, т.е. к снижению экономии денег/времени и/или лишнему расходованию дискового пространства. Возникла тогда быстрая мысль: а может, пользователь может вмешиваться в порядок записи в кэш исходя из каких-то других целей, не связанных с экономией? Но все цели пользователя изначально нами определены как резка ненужных данных и экономия денег/времени при использовании нужных данных. Других нет. Поэтому влиять на порядок записи в кэш нет резона. Именно поэтому я так старался и спрашивал в топике, а могут ли быть у пользователя еще какие-нибудь цели (другими словами, есть ли еще какое-нибудь назначение у программы)? Эти мои вопросы расценивались как "литье воды". Я думаю, что прежде всего это от моего неумения объяснить толком. Но объяснить не мог, т.к. цельной картины и уверенности в том, что она в итоге сложится у меня не было, а я хотел сложить ее вместе с участниками топика. Поэтому-то и топик создан не в "Новых предложениях", а в "Общих вопросах". А когда я увидел, что от меня ждут готового рецепта, конкретной новой структуры, стало совсем грустно. Ведь именно решения вопроса о возможности/невозможности реализации такого ориентированного на пользователя подхода и связанной с ним структуры хранения данных и логики программы, хочется достичь совместными усилиями. Именно поэтому старался упирать лишь на общие принципы организации такого подхода, надеясь, что сойдясь на них, дальше пойдем думать вместе. Не очень получилось, поэтому думать приходится одному, одновременно обороняясь от требований выдать конкретную структуру, которой не было и которую приходилось продумывать по ходу самостоятельно. Ну да ладно... Структура потихоньку проясняется. И хочется ее доработать совместно с теми, у кого "намерения понимание давно нашли". Вот такая была моя логика. И сейчас, пока я не представляю себе иных назначений программы, имеется твердая уверенность о ненужности списка "Запись в кэш". Но под влиянием мнений других участников топика стали одолевать сомнения в другом: не все так гладко. Что, вот так легко и бесследно забыть активно используемые в повседневной жизни "Белый список" и список "Только из кэша"? Как они влияют на расстановку сил? Может, добавляют нечто принципиально иное? Продолжение следует... Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 27 января 2007, 03:59:38 Да, упомянул, но забыл же привести схему, которая начала проясняться (см. вложение).
Она необходима и достаточна для полноценной реализации функций программы: резка ненужных данных и экономия денег/времени на нужных. Однако достаточности одного единственного хранилища данных в блоке "Экономия..." мало. Необходимо также учесть соображения удобства работы пользователя с этими данными. Это будет сделано в ходе анализа назначения и свойств списка "Только из кэша" и "Белого списка" в нынешней логической структуре программы. Однако от результатов этого анализа принципиальная схема зависеть по идее уже не должна, т.к. изменения могут коснуться только вопросов удобства работы пользователя с данными. Поэтому пока что хочется услышать, находит ли понимание представленное до этих пор видение проблемы. Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 28 января 2007, 01:35:05 включать/отключать блок нужно иметь возможность целиком независимо от его внутреннего устройства. Ели пользователь включает блок, то он говорит программе, что он хочет использовать эту предоставляемую ею возможность и наоборот в противном случае. Сейчас любой список включается/выключается одним кликом. Список, не блок. В твоем изложении один и тот же _нынешний_ список может влиять на разные _твои_ блоки. Конфликт.Цитировать 1. Итак, блок "Резка ненужных данных" должен получить на входе запрос на предоставление данных, а на выходе должен выдать решение, нужны ли они нам или нет. Совсем не очевидно. Как, на основании чего, этот блок должен принять решение что вообще не качать из инета, а что всегда брать из кэша, а если в кэше нет - не качать (списки Ч и Т)?...Очевидно, что эту задачу мы исчерпывающим образом решим, определив в качестве внутреннего наполнения блока одну единственную структуру - "Черный список" (в том виде, как он есть в нынешнем варианте программы). Цитировать При этом имеется общая закономерность: на различных сайтах сети данные одних типов как правило изменяются с одинаковой периодичностью (или не изменяются вовсе). Никогда не наблюдал такой закономерности. Или не понял о чем речь. Можно пример/обоснование утверждения?Цитировать Это единственный принцип, на котором мы можем экономить деньги/время методом кэширования (это, собственно, суть самого метода кэширования). Есть предложение: чтобы рассуждать про суть кэширования прочитать, например, Кэширование в http (http://book.itep.ru/4/45/http4561.htm#4.5.6.1.12) (да и вообще документ весьма интересный и полезный).Цитировать "Не обновлять" по нынешнему смыслу расшифровывается как "Не обновлять из кэша". Поэтому мы называем наш список "Условия устаревания данных, но не в кэше, а в сети". 1. Я совершенно не понял, почему "поэтому".2. Чтобы проверять устаревание данных в сети необходимо делать запрос "наружу" - т.е. расходовать трафик и время. Абсолютно так же в большинстве случаев поступают браузеры: в кэше есть, но давай проверим, а что в сети? НС позволяет сэкономить и трафик и время не совершая такие запросы. Ты же предлагаешь свести это на нет. Цитировать А далее вопросами записи/чтения в кэш занимается сам метод кэширования, для которого указанные данные являются необходимыми и достаточными для организации МАКСИМАЛЬНО эффективной экономии денег/времени и ДИСКОВОГО ПРОСТРАНСТВА пользователя. Вот про "необходимые и достаточные" условия можно поконкретнее? Пока я понял, что нужно задать URL, период устаревания их в сети (почему в сети а не в кэше не понял), и... все - экономия максимальна.Согласно какой логике в перечне оказалось дисковое пространство не понял совершенно. Цитировать Но все цели пользователя изначально нами определены как резка ненужных данных и экономия денег/времени при использовании нужных данных. Других нет. Есть исключения, целая кучая исключений: сайты на которых мы не хотим (не можем) экономить, типы файлов, резать которые, на некоторых сайтах не можем себе позволить, сайты с часто изменяющимся контентом и неменяющимся годами - и т.д. и т.п.Цитировать А когда я увидел, что от меня ждут готового рецепта, конкретной новой структуры, стало совсем грустно. Ну, а как же тебя понять, коли ты ничего не говоришь? (с) к/ф "ИВ меняет профессию"Цитировать И сейчас, пока я не представляю себе иных назначений программы, имеется твердая уверенность о ненужности списка "Запись в кэш". Если исходить из того, что самый распространенный случай - это "писать ВСЕ", то да, весь список можно было бы свести к одной опции. Если же вспомнить, что есть пользователи предпочитающие что-то записывать, что-то нет, делать исключения для определенных типов файлов - то без этого списка никуда.Цитировать Что, вот так легко и бесследно забыть активно используемые в повседневной жизни "Белый список" и список "Только из кэша"? Как они влияют на расстановку сил? Может, добавляют нечто принципиально иное? Не добавляли бы - не использовались. Прочитай плз еще разок (вдумчиво) описание что делают списки в Описании и в моей статье - там и примеры приведены, когда эти списки используются.Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 29 января 2007, 20:12:48 Цитировать Если исходить из того, что самый распространенный случай - это "писать ВСЕ", то да, весь список можно было бы свести к одной опции. Если же вспомнить, что есть пользователи предпочитающие что-то записывать, что-то нет, делать исключения для определенных типов файлов - то без этого списка никуда. Приведи, плиз, содержание своего списка "Запись в кэш". Извини, что на остальные вопросы не ответил пока (обязательно отвечу), но этот самый главный. Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 29 января 2007, 20:23:53 Приведи, плиз, содержание своего списка "Запись в кэш". У меня "писать все", даже (сейчас) без исключения - куда-то делось. :)Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 29 января 2007, 20:49:41 У меня тоже. Теперь давай задумаемся о тех, у кого там стоит исключение. Что оно означает?
Возможны следующие случаи: - если оно (это исключение) входит в качестве правила в Черный список, то в списке "Запись в кэш" оно заведомо нерабочее; - если оно входит в список "Только из кэша" - то же самое; - если оно есть в "Не обновлять", есть в кэше и не устарело - то же самое; - если оно есть в "Не обновлять", нет в кэше или есть в кэше, но устарело, то оно должно быть записано в кэш - получаем противоречие с нашим желанием обновлять в кэше; - если его нет и в "Не обновлять", то скажи, с какой целью нам нужно ограничить стремление записать это правило в кэш (если эти данные не нужны при автономном просмотре, то ответь, почему тогда они нужны в онлайне )? Название: Re: Взаимодействие программы с пользовател Отправлено: Rick от 29 января 2007, 22:14:18 - если оно (это исключение) входит в качестве правила в Черный список, то в списке "Запись в кэш" оно заведомо нерабочее; Да, верно. Но поправка: это верно для конкретного момента времени изъятого из общего процесса. А на практике мы можем держать правило в Запись в кэш в выключенном виде (а можем и во включенном - тогда оно, как ты верно пишешь, просто ни на что не повлияет) и для того же URL в Т включенным - при необходимости, получив неустраивающий нас результат на каком-либо сайте, попавшем под это правило, мы можем оперативно: включить правило в З - выключить правило в Т - записать данные в кэш - восстановить исходное положение. Цель этих манипуляций понятна?- если оно входит в список "Только из кэша" - то же самое; - если оно есть в "Не обновлять", есть в кэше и не устарело - то же самое; Цитировать - если оно есть в "Не обновлять", нет в кэше или есть в кэше, но устарело, то оно должно быть записано в кэш - получаем противоречие с нашим желанием обновлять в кэше; Поясни, в чем ты увидел противоречие?Цитировать - если его нет и в "Не обновлять", то скажи, с какой целью нам нужно ограничить стремление записать это правило в кэш (если эти данные не нужны при автономном просмотре, то ответь, почему тогда они нужны в онлайне )? Воспользоваться советом/просьбой прочитать документацию/статью - принципы не позволяют? Что ж, цитирую:Цитировать HandyCache, конечно, будет, как царь Кащей чахнуть над любыми файлами, которые мы ему отправим на хранение в кэш, но подумайте: зачем нам хранить в кэше архивы программ или "многометровые" видеофильмы? Разве мы будем скачивать эти же файлы повторно? Нет! А значит в кэше им не место - для этого в исключения слишком доброго правила вписываем расширения файлов, которые мы не хотим хранить в кэше: всевозможные zip, rar, mpg, avi и т.п. Цитата ответила на твой вопрос?Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 29 января 2007, 22:55:34 Цитировать Да, верно. Но поправка: это верно для конкретного момента времени изъятого из общего процесса. А на практике мы можем держать правило в Запись в кэш в выключенном виде (а можем и во включенном - тогда оно, как ты верно пишешь, просто ни на что не повлияет) и для того же URL в Т включенным - при необходимости, получив неустраивающий нас результат на каком-либо сайте, попавшем под это правило, мы можем оперативно: включить правило в З - выключить правило в Т - записать данные в кэш - восстановить исходное положение. Цель этих манипуляций понятна? Я говорил про исключение из правила .*, а ты о чем говоришь? Или я чего-то недопонял. Если ты о том, же, то перефразируй как-нибудь иначе.Цитировать Поясни, в чем ты увидел противоречие? В том, что в "Не обновлять" имеем правило, направленное на кэширование этих данных, а в "Запись в кэш" - направленное против этого. В силу очередности обработки списков работает второе, а первое есть мертвый груз, мусор. Как ты думаешь, что именно хотел сказать пользователь, первое или второе? Варианты:- пользователь ошибся в одном из случаев и мы дали ему прекрасный шанс для этого, создав лишнюю возможность ввода взаимоисключающих целей; - пользователь, зная порядок выполнения списков, так и хотел, но оставил мертвое правило в списке "Не обновлять". Тогда почему б ему просто не воспользоваться Белым списком? Цитировать Воспользоваться советом/просьбой прочитать документацию/статью - принципы не позволяют? Позволяют, конечно, но помимо документации предпочитаю пользоваться и собственными мозгами. Если не хочешь видеть *.rar в кэше, создай одноименное правило в Белом списке с позицией "миновать запись в кэш". Мне кажется, иронично выбранный тобой кусок документации писался до появления в программе "Белого списка".Название: Re: Взаимодействие программы с пользовател Отправлено: Rick от 29 января 2007, 23:36:06 Я говорил про исключение из правила .*, а ты о чем говоришь? Или я чего-то недопонял. Если ты о том, же, то перефразируй как-нибудь иначе. Я говорил про более широкий вариант: когда у нас в "З" не одно правило "писать все", а конкретные правила "противоречащие" правилам в "Т". В рассматриваемом же тобой случае принцип сохраняется, но уменьшается количество манипуляций: не надо ничего менять в "З" - только временно отключить правило в "Т", а затем, после записи в кэш, опять включить.Цитировать В том, что в "Не обновлять" имеем правило, направленное на кэширование этих данных, а в "Запись в кэш" - направленное против этого. Вот это новость! Откуда взялся такой вывод? Мы вообще сейчас говорим, о существующих списках или о каких-то гипотетических, которые "могли бы быть"?Предположу, что ты просто перепутал "Н" и "З" местами, и ниже буду исходить из этого предположения. Впрочем и в этом случае, не вижу никакого противоречия: если одно и то же задано как исключение в "З" и как правило в "Н", то правило в "Н" просто не сработает - срабатывать нечему т.к. файла в кэше нет (он не записан согласно исключения в "З"). Допустим, что в результате каких-то _прежних_ манипуляций файл в кэше все-таки есть - тогда, согласно "Н" он будет взят из кэша, а исключение в "З" просто не сработает: записывать в кэш все-равно нечего, т.к. с инета ничего не брали. Рассказывать про общий случай (с конкретными правилами в "З") и про манипуляции с включением/отключением правил в "З" и "Н" (так же как перед этим "З" и "Т") наверное не нужно - додумаешь сам. Цитировать Если не хочешь видеть *.rar в кэше, создай одноименное правило в Белом списке с позицией "миновать запись в кэш". Мне кажется, иронично выбранный тобой кусок документации писался до появления в программе "Белого списка". Писался пример как-раз для рассматриваемого тобой случая: когда в "З" единственное правило "писать все". В этом случае можно как задать исключение для этого правила в "З", так и создать правило в "Б" - результат будет одинаков. А вот в случае, если в "З" конкретные правила, то удобнее задать одно правибо в "Б", чем задавать одно и то же исключение в разных правилах "З".Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 30 января 2007, 00:30:52 Итак, когда в списке "Запись в кэш" у нас находится правило "писать все" с исключением,
это исключение можно безболезненно заменить одноименным правилом в Белом списке. При этом имеем выгоду в виде: - появления возможности включать/отключать это исключение; - устранения необходимости дублировать его в каждой строке списка "Запись в кэш", если имеем (или планируем иметь) там еще какие-нибудь правила (необходимость иметь там еще правила обсуждаем далее). Теперь насчет остальных правил списка "З". Цитировать мы можем оперативно: включить правило в З - выключить правило в Т - записать данные в кэш - восстановить исходное положение. Цель этих манипуляций понятна? Нет. Зачем включать какое-то правило в "З", если там у нас действует "писать все"? Или ты имеешь ввиду, что "писать все" там нет?Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 30 января 2007, 01:17:24 Итак, когда в списке "Запись в кэш" у нас находится правило "писать все" с исключением, Ты сужаешь пример только до "кэшировать все" с какой то определенной целью или для упрощения примера? Если второе - это может породить ошибку в делаемых выводах: то, что будет работать с этим "всеобъемлющим" правилом не сработает при детальных правилах.это исключение можно безболезненно заменить одноименным правилом в Белом списке. Цитировать - устранения необходимости дублировать его в каждой строке списка "Запись в кэш", если имеем (или планируем иметь) там еще какие-нибудь правила (необходимость иметь там еще правила обсуждаем далее). Заранее обращаю внимание: не в каждой строке - зависит от правил.Цитировать Зачем включать какое-то правило в "З", если там у нас действует "писать все"? Или ты имеешь ввиду, что "писать все" там нет? Если у нас в "З" правило "кэшировать все" и какое-то правило в "Т" - мы имеем вариант когда "Т" ограничивает запись в кэш: файл не будет скачан из инета и, соответственно, кэширован так же не будет.Смысл манипуляций следующий: на каком-то сайте мы не хотим обновлять некие картинки, но в отличие от необновления, мы, в случае отсутствия этих картинок в кэше, не хотим видеть их вообще. Типичный случай: элементы оформления на форумах (их мы не хотим обновлять) и аватары и картинки-аттачи в постах (их мы хотим видеть только если они есть в кэше). Нет картинок в кэше - ну и черт с ними - они нам не нужны. Чтобы получить это на практике, нам нужно один раз загрузить в кэш форум с его картинками (какая-то часть аватаров тоже запишется), а затем включить "Т". Если наше правило в "Т" такое, что уже ограничивало данный форум нам его нужно предварительно отключить. Вот и получили: выключить правило в Т - записать данные в кэш - восстановить исходное положение. Для случая когда у нас в "З" не "писать все", а конкретные правила, последовательность дополняется первым действием (кстати не обязательно): включить правило в З - выключить правило в Т - записать данные в кэш - восстановить исходное положение. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 30 января 2007, 02:31:08 Можем ли мы сделать вывод, что когда у нас в списке "З" есть правило "писать все", то мы ничего не потеряв можем обойтись без добавления в "З" иных правил и исключения?
Теперь случай, когда "писать все" в "З" нет, а есть набор каких-то менее "всеобъемлющих" правил. Данные любого типа, не охватываемого этими правилами, попасть в кэш не смогут. Т.е. если мы не указали в "З" явно все мыслимые нужные нам для кэширования типы данных, то можно быть уверенным, что неуказанные данные никогда кэшироваться не будут. Хотим ли мы возложить на пользователя обязанность указать в списке "З" все типы данных, которые он захочет кэшировать и повторить тем самым слово в слово список "Н"? А при каждом добавлении правила в список "Н" дублировать это добавлением того же правила в списке "З"? Думаю, нет. Поэтому набор правил, не охватывающий по совокупности "писать все" мы писать в "З" не будем. Теперь пусть эти конкретные правила в списке "З" являются "всеобъемлющими" по совокупности, а мы специально разбили ими правило "писать все", чтобы иметь возможность "оперативно" включать/отключать их по-отдельности. Вопрос: для чего нам может быть нужно на короткое время отключать хотя бы одно из этих правил? Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 30 января 2007, 04:16:33 Можем ли мы сделать вывод, что когда у нас в списке "З" есть правило "писать все", то мы ничего не потеряв можем обойтись без добавления в "З" иных правил и исключения? В большинстве случаев - да, можем: другие правила при "писать все" теряют смысл, а исключения можно задать в Белом списке. Но в частных редких случаях в "З" могут быть и другие правила - для каких-то конкретных ситуаций/ресурсов, когда "писать все" отключается и в дело вступают они.Цитировать Хотим ли мы возложить на пользователя обязанность указать в списке "З" все типы данных, которые он захочет кэшировать Конечно пользователь не будет указывать в списке "З" все типы данных, которые он захочет кэшировать (хотя если приспичит - дело хозяйское). Но пользователь может захотеть сделать это на ряде известных ему ресурсов. Т.е., например, отключается "писать все", производится запись в кэш по конкретным правилам, затем включается "Т".Цитировать А при каждом добавлении правила в список "Н" дублировать это добавлением того же правила в списке "З"? Мысли вслух: Что первично - запись данных в кэш, или их необновление в кэше? ;)Не нужно дублировать списки "З" и "Н" - у каждого своя функция, свое назначение. Да, в них могут быть противоречащие друг-друг правила, но наличие двух этих списков со своей логикой позволяет выполнять задачи "на любой вкус" - включением/отключением правил можно добиваться необходимого результата в каждом конкретном случае. Как приспичит. В автомобиле педали газа и тормоза выполняют одну задачу: регулируют скорость движения - но ни у кого и в мыслях нет объединить их в одну педаль "скорость". Возможно имеет смысл сделать два режима: обычный для массового пользователя и режим Эксперта. Нынешнее состояние считать "экспертным". Вопрос как с минимальными затратами/переделками получить "обычный". Цитировать мы специально разбили ими правило "писать все", чтобы иметь возможность "оперативно" включать/отключать их по-отдельности. Вопрос: для чего нам может быть нужно на короткое время отключать хотя бы одно из этих правил? Скорее наоборот: включать. Т.е. может быть правило, которое обычно отключено, но иногда включается, запись в кэш производится, затем правило снова отключается.Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 30 января 2007, 12:08:56 Rick
Смотри, я клоню к тому, что список "Запись в кэш" при отсутствии правила "писать все" становится совершенно неюзабельным. При наличии правила "писать все: - когда оно включено постоянно, другие правила этого же списка теряют смысл; - исключение из "писать все" можно эффективно держать в Белом списке; - если "писать все" планируется кратковременно отключать, то давай поразмышляем, для чего это может быть нужно. В "З" остается ряд правил, для которых (и только для них) мы хотим регулярно в течение коротких периодов времени осуществлять запись в кэш, отключая ее для всего остального. Для чего? Цитировать Не нужно дублировать списки "З" и "Н" - у каждого своя функция, свое назначение. Да, в них могут быть противоречащие друг-друг правила, но наличие двух этих списков со своей логикой позволяет выполнять задачи "на любой вкус" - включением/отключением правил можно добиваться необходимого результата в каждом конкретном случае. Как приспичит. Вдумайся, результата "налюбой вкус" мы добиваемся без дополнительных затрат списком "Запись в кэш" с правилом "писать все", не усложняя при этом себе жизнь, а только упрощая ее. Приведи, плиз, пример, когда бы мы не могли этого сделать или могли б лишь путем усложнения наших действий.Цитировать мы специально разбили ими правило "писать все", чтобы иметь возможность "оперативно" включать/отключать их по-отдельности. Вопрос: для чего нам может быть нужно на короткое время отключать хотя бы одно из этих правил? Этот пример я привел не подумав. Мы не сможем создать набор правил, "всеобъемлющий" по совокупности (я конечно не беру бесполезные с практической точки зрения правила типа X и ^X).Название: Re: Взаимодействие программы с пользователем Отправлено: Rick от 31 января 2007, 02:51:04 В "З" остается ряд правил, для которых (и только для них) мы хотим регулярно в течение коротких периодов времени осуществлять запись в кэш, отключая ее для всего остального. Для чего? Принцип: на каком-то ресурсе производится выборочная запись в кэш, затем все остальное обрубается "Т". Выше приводил пример с графикой-аватарами-картинками некоего форума - часть картинок-аватаров прицепом записывается в кэш. Представь, что мы несогласны на "прицепы" - только на элементы оформления. Для этого нужно иметь конкретное правило определяющее что будет записано в кэш.Цитировать Приведи, плиз, пример, когда бы мы не могли этого сделать или могли б лишь путем усложнения наших действий. Конкретный, жизненный пример нужно спрашивать у тех, кто этим пользуется. В одном из твоих смежных топиков кто-то писал, что не пользуется правилом "кэшировать все" - вот у него бы и спросить. ;)Название: Re: Взаимодействие программы с пользователем Отправлено: cepera_ang от 01 февраля 2007, 00:30:57 Вдумайся, результата "налюбой вкус" мы добиваемся без дополнительных затрат списком "Запись в кэш" с правилом "писать все", не усложняя при этом себе жизнь, а только упрощая ее. Приведи, плиз, пример, когда бы мы не могли этого сделать или могли б лишь путем усложнения наших действий. Так оно и получается, в большинстве случаев, и я уже писал, что можно было бы без него обойтись и почему это не может быть сделано сейчас. Только какое это отношение имеет к изначальной теме? К легкости общения пользователя с программой? Для обеспечения максимальной простоты можно ввести какой-нибудь ламо-режим, в котором в этом списке будет одно правило и вкладка с ним будет убираться. Или просто пользоваться HC *без* понимания сути работы этого и других списков, и не заглядывая в них. Плавно перешли от упрощения логики программы к обсуждению списка запись в кеш. Еще предложения по сути есть? То есть что в данный момент ты хочешь показать/доказать/предложить. Мне уже интересно стало куда занесет поток сознания. А то вода, вода, вода... Цитировать На мой взгляд, основное предназначение программы - предоставить пользователю возможность: А мне кажется, что цель программы - записать все, что я получаю из интернета на диск, и потом максимально полно использовать их при работе, не важно - в автономном режиме, при просмотре истории или просто при браузинге. А у кого-то могут быть совершенно иные цели, и самое главное - HC всем помогает :) - экономить собственные деньги и время при работе в интернете; - в условиях ограниченного по времени доступа в интернет скачать интересующую информацию не читая, а затем просматривать историю, когда интернет не доступен; - запрещать приход из сети и/или отображение данных, которые он категорически не хочет получать (они неприемлемы для него по морально-этическим, эстетическим или иным соображениям, кроме соображений экономии) либо безразличен к их наличию. PS Интересное наблюдение - Михаил в основном постит огромные сообщения без цитат, а оппоненты раз за разом отвечают, причем многократно его цитируя и разбирая его аргументы, Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 01 февраля 2007, 01:31:27 Цитировать Принцип: на каком-то ресурсе производится выборочная запись в кэш, затем все остальное обрубается "Т". Выше приводил пример с графикой-аватарами-картинками некоего форума - часть картинок-аватаров прицепом записывается в кэш. Представь, что мы несогласны на "прицепы" - только на элементы оформления. Для этого нужно иметь конкретное правило определяющее что будет записано в кэш. Я понял так, что мы в этом случае озабочены экономией дискового пространства при загрузке данного конкретного сайта. По-моему, экономия диска при серфинге нас волновать не должна, т.к. мы все равно уповаем на периодическое применение функции очистки кэша. И на чем экономим - на одном сайте. При этом мы без зазрения записываем десятки и сотни других не будучи уверенными, понадобятся ли они когда-либо в будущем. Нет, такая экономия диска - пример не только не жизненный, а просто нереальный, и полностью противоречит назначению программы. Назначение - экономить не диск, а трафик/время путем как раз расходования диска. Экономим диск мы только постобработкой ("Очистка кэша"). Если же это не так, то нам придется незамедлительно "рвать на себе волосы" каждый раз, когда мы увидим на каком-нибудь новом для нас сайте ненужную нам информацию: "А ведь мы могли ее запретить и сэкономить дисковое пространство". На мой взгляд, каждое правило в НС должно быть направлено на экономию трафика/времени. Если мы заранее обозначаем правило как ни при каком раскладе не дающее нам такой экономии, то оно допустимо лишь по формальным признакам. Так например, мы можем задать в адресной строке браузера связный текст на русском языке, формально он допустим для ввода. Но осуществлять серфинг по интернету мы по этому адресу заведомо не сможем. Так и в нашем случае экономить трафик/время с помощью этого правила в списке "З" не получится.То, что напишу сейчас, не хочется говорить, т.к. рассчитываю на полное понимание предыдущего. Но вдруг даже при всем понимании у кого-то остается неприятный осадок от того, что что-то, пусть и ненужное, мы сделать без дополнительных правил в списке "Запись в кэш" не сможем. Нет. Мы можем получить тот же эффект добавлением этого выражения не как правила в "Запись в кэш", а как исключения для правила ".*" с галкой "З" в начало "Белого списка" (означает "все, кроме этого, в кэш не писать"). С одной стороны не очень эстетично с точки зрения привычного использования "Белого списка", но это сопротивление внутренней структуры программы, приспособленной для других целей, указанию негодной цели. С другой стороны - более экономично: для достижения результата мы должны будем совершить меньше действий (первый вариант: отключить "Т", отключить правило "писать все" в "З", включить обсуждаемое правило в "З" - три действия; второй вариант: отключить "Т", включить правило в "Б" - два действия). Но еще раз хочу подчеркнуть, что последний абзац - лишь для окончательного внутреннего успокоения. Если же я не прав в том, что мы делаем это из соображений экономии диска, то для чего тогда? Цитировать Конкретный, жизненный пример нужно спрашивать у тех, кто этим пользуется. В одном из твоих смежных топиков кто-то писал, что не пользуется правилом "кэшировать все" - вот у него бы и спросить. Не помню ;-)Зато на форуме есть высказывания некоторых давних пользователей о фактическом содержании их списка "Запись в кэш" (три поста подряд, начиная с этого (http://handycache.ru/component/option,com_smf/Itemid,10/topic,31.msg734/#msg734)). У них там правило "писать все" тоже держится подспудно, не задумываясь. Они отдают отчет в его нужности и не задумываются о логическом смысле возможного отключения этого правила, т.к. сами не нуждаются в таком отключении. Логика такова: "Если правило .* чем-то не устраивает пользователя, то он всегда может добавить/изменить нужные ему правила." При этом, я думаю, просто не обдумывался ответ на вопрос, а чем именно оно может не устроить и даст ли его отключение хоть одно преимущество. Я этих преимуществ не вижу. Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 01 февраля 2007, 01:37:35 cepera_ang
Цитировать А у кого-то могут быть совершенно иные цели, и самое главное - HC всем помогает Компьютером тоже можно орехи колоть. Но это не означает, что производители компьютеров должны подстраивать материал и структуру корпуса компьютера под нужды этого контингента.Цитировать PS Интересное наблюдение - Михаил в основном постит огромные сообщения без цитат, а оппоненты раз за разом отвечают, причем многократно его цитируя и разбирая его аргументы, Сам себе удивлен, аж две цитаты в одном посте ;-)С какой целью ты опубликовал свое интересное наблюдение? Название: Re: Взаимодействие программы с пользователем Отправлено: cepera_ang от 01 февраля 2007, 02:00:14 Я понял так, что мы в этом случае озабочены экономией дискового пространства при загрузке данного конкретного сайта. По-моему, экономия диска при серфинге нас волновать не должна, т.к. мы все равно уповаем на периодическое применение функции очистки кэша. Ради интереса Цитата: Михаил ...и оставаясь при этом уверенным, что кэш организован и используется максимально эффективно с точки зрения экономии как денег/времени, так и дискового пространства.... Вообще в этом топике вы 12 раз упомянули экономию дискового пространства, и возможное неоптимальное расходование оного, при возможных ошибках пользователя во время работы с хендикешем. В последнем же посте 7 раз использовали слово диск. При этом НИ ОДИН из других участников дискуссии вообще ни разу не упоминал про диски :) Сами с собой разговариваете? ...(Любая ошибка ведет к несовпадению результатов работы программы с ожидаемыми /видим в браузере не то, что хотим и наоборот, экономия не оптимальна, размер кэша на диске необоснованно увеличен и т.п./);... a) ... У меня лишь имеется уверенность, что кэш организован и используется ею максимально эффективно с точки зрения экономии как денег/времени, так и дискового пространства... б) раскладываю цель на составляющие, понятные НС: ...Наша и его голова может не учесть какого-нибудь штриха, и цель будет не достигнута (экономии денег/времени не будет) или достигнута неполностью (экономим не все, что хотим и при этом неоптимально расходуем диск, записывая туда лишнее)... ...Упростить тем самым диалог с программой и сократить риск возможных ошибок, приводящих к недостаточной экономии или неоправданному расходованию дискового пространства.... ...А далее вопросами записи/чтения в кэш занимается сам метод кэширования, для которого указанные данные являются необходимыми и достаточными для организации МАКСИМАЛЬНО эффективной экономии денег/времени и ДИСКОВОГО ПРОСТРАНСТВА пользователя. При этом ЛЮБОЕ изменение пользователем условий записи в кэш ведет к отклонению от максимума, т.е. к снижению экономии денег/времени и/или лишнему расходованию дискового пространства.... Уже ведь выяснили, что почти все пишут в кеш всё, а вы это нам втолковываете, как-будто кто-то с этим спорил. Непонятно правда какое это имеет отношение к теме.... Не буду мешать :) Но почитаю, и порадуюсь, что вменяемые люди еще есть. Цитировать Сам себе удивлен, аж две цитаты в одном посте ;-) C целью уязвить, и разжечь флейм конечно же :) Но сам же его и потушу.С какой целью ты опубликовал свое интересное наблюдение? Цитировать Компьютером тоже можно орехи колоть. Но это не означает, что производители компьютеров должны подстраивать материал и структуру корпуса компьютера под нужды этого контингента. Не могу понять каким образом этот факт относится к обсуждаемой теме, впрочем и тему-то понимаю с трудом, посему - продолжать бессмысленно. Присоединюсь к DenZzz и молча почитаю.Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 01 февраля 2007, 02:04:16 cepera_ang
Цитировать я уже писал, что можно было бы без него обойтись и почему это не может быть сделано сейчас. Извини, но я не видел. Дай ссылку, плиз, или напиши заново.Цитировать Только какое это отношение имеет к изначальной теме? К легкости общения пользователя с программой? Как ты уже заметил, я веду последние посты к необходимости убрать список "Запись в кэш". И это имеет непосредственное влияние на простоту общения с программой. У пользователя сложилось мнение (которое, по-моему, является иллюзией), что список "З" нужный, влияет на экономию трайика/времени. Это заставляет его пытаться придумывать для него правила, изучать его в составе логической структуры программы. Т. е. при изучении программы вникать приходится больше, а фактически - не для чего (опять же, по моему мнению).Кроме этого при использовании списка увеличивается риск сделать ошибку, не учтя его влияние на какую-нибудь задумку. Сплошная (и ненужная) головная боль для пользователя возникнет, если он захочет убрать оттуда правило "писать все". Ему придется дублировать кучу правил из "Не обновлять", тщательно коррелировать эти два списка между собой. Без всего этого, я думаю, значительно облегчится работа пользователя с программой и ее освоение понимание им. Вот такое отношение имеет все это к начальной теме. Другое дело, что я пытался через определение назначения программы и целей пользователя показать не просто ненужность, а и вредность списка "З" с точки зрения вопросов экономии трафика/времени и дискового пространства. Что на самом деле единственно приемлемое правило .* в "З" является вредным. Но это, если будет желание, можно дообсуждать. Кстати, экономия дискового пространства (поверю наслово, упомянутая мной 12 раз) страдает именно в ходе работы этого правила. Но страдает она не разово (как в примере из предыдущих постов), а постоянно из сайта в сайт. И последняя моя мысль по поводу улучшения удобства работы с программой была в том, чтобы в названиях списков и мыслях при составлении правил уйти от использования терминологии, связанной с кэшем (слово "кэш", устройство этого кэша пугает неподготовленного пользователя, в чем я смог воочию неоднократно убедиться на примере своих знакомых), а оперировать первичными терминами. Все это получилось слитым в один топик, и я постепенно понял, что сразу все не потянуть. Поэтому сейчас борюсь пока за свое видение проблемы списка "З". Вот пока и все. Хочешь - подключайся (вижу, предложение запоздало, тогда если что - возвращайся). Название: Re: Взаимодействие программы с пользователем Отправлено: Михаил от 01 февраля 2007, 02:41:04 Rick
Давай, правда, со списком "З" перейдем туда, откуда все началось. (http://handycache.ru/component/option,com_smf/Itemid,10/topic,86.0/) А здесь я попробую добить крайне непопулярную идею про терминологию ;)
Powered by SMF 1.1.3 SMF © 2006, Simple Machines LLC
Joomla Bridge by JoomlaHacks.com |