difabor > 23-09-2013 19:02:01 |
При том дичайшем дефиците экранного пространства с одной стороны и расточительного его использования большинством аддонов, Сustom Buttons может занять непререкаемую нишу во всём браузере в целом. Причём такую, что полностью преобразует лицо браузера в целом. Начну с очень простого примера в качестве иллюстрации. 1. Я обратил внимание, что есть кнопки для Memory Restart'а, Vacuum Cleaner'a, наверное не столь трудно реализовать функциональный эквивалент RAMBack (https://addons.mozilla.org/ru/firefox/addon/ramback/) и/или Empty Cache Button (https://addons.mozilla.org/ru/firefox/addon/empty-cache-button/) и объединить это в одну кнопку. Здесь основной момент - не создание такой объединённой кнопки (у меня нет сомнений, что асы это сделают легко и без проблем) - а возможность "набрать" такую кнопку неквалифицированным пользователем - для этого нужны методологические указания - что изменить и описание основных приёмов для сборки. Такая кнопка не только заменит функционально 3 аддона (что уже совсем неплохо), но "выиграет" как минимум два места (за счёт использования не только левого клика, но и правого и среднего). Концептуально сам подход Сustom Buttons превращается в нечто типа ЛЕГО-конструктора, где имеются кирпичики из которых юзер сможет набрать нужный набор функций не имея при этом высокой квалификации. Отсутствие высокой квалификации - здесь ключевой момент. 2. Данный подход (с небольшой модификацией) может увеличить эффективность кнопки не в 3 раза, а гораздо больше (практически неограниченно). Для этого надо иметь возможность привязываться не только к мышиным кликам, но и к фазам клика. Каждый клик состоит из 3-х фаз - нажатие, удержание и отпускание, где 2-я фаза просто нивелирована по времени. Если бы была возможность работы по фазам клика, эффективность кнопок была бы увеличена в разы. Поясню почему и как. В этом случае по нажатию кнопки появлялось бы контекстное меню, где каждый менюитем - некоторая функция (рестарт, очистить кэш и т.д.). Удерживая кнопку нажатой, можно было бы выбрать нужный менюитем и отпускание кнопки вызвало бы его. Хочу заметить, что если при нажатии кнопки выбирается заранее определённый элемент из этого меню (по умолчанию - первый), то такая кнопка сразу выполняет две функции - классический клик вызовет предопределённую функцию, а удержание - позволит "путешествовать" по меню-списку - примерно так же, как стрелки вперёд-назад в навигации позволяют и перейти вперёд/назад и меню истории открыть. Хочу подчеркнуть, что это была бы фундаментальная фича: меню-действие (сейчас можно либо вызвать меню, либо сделать действие). Поэтому если реализовать такой подход, то ЛЕГО станет практически неограниченным. В одну кнопку можно будет запихать очень много сниппетов, 3 из которых можно будет вызывать непосредственно кликами, остальные - через контекстные меню. Конечно, надо будет реализовать возможность создания контекстного менюитема и сборки контекстного меню. Но я не думаю, что это будет очень сложно. Хотя вам, асам - виднее. 3. Дальнейшее развитие этого подхода - работа по комбинации нажатий кнопок: Левое Нажатие - Правое Нажатие - одна комбинация, Правое Нажатие - Левое Нажатие - другая - всего возможно 6 комбинаций, что даст ещё 6 контекстных меню и по два активных действия на каждое такое меню (отпускание 1-й или 2-й из нажатых кнопок даёт две альтернативы). Используя эти комбинации можно "впихнуть" в любую кнопку до 6 фолдеров закладок и по каждому такому фолдеру непосредственно открывать одну из них и непосредственно заносить страницу в фолдер. В целом такой подход очистит тулбары от кучи кнопок и "растворит" все фолдеры закладок. В целом такой подход кардинально преобразит лицо самого браузера и Сustom Buttons станет вообще ведущим направлением. У меня есть ещё идеи, но я не хочу морочить вам голову. Если кому-то будет интересно - с радостью поделюсь. |
voqabuhe > 23-09-2013 19:49:25 |
difabor пишетУ меня есть ещё идеи, но я не хочу морочить вам голову. Если кому-то будет интересно - с радостью поделюсь.
Ого скоко много буковок, нам очень понравилось, конечно пиши исчё, делись радостью |
difabor > 23-09-2013 20:17:02 |
voqabuhe пишетОго скоко много буковок, нам очень понравилось, конечно пиши исчё, делись радостью
Понимаю Вашу иронию и извиняюсь за многословие. Постараюсь быть более краток. В двух словах мои предложения сводятся к следующему: 1. Показать код (механизм), обеспечивающий вызов меню по нажатию (с предопределённым выбранным менюитемом) и вызов операции по отпусканию. 2. Показать как можно переделать кнопку/сниппет, чтобы операция/операции были бы менюитемами 3. Показать как можно создать контекстное меню и собрать в него менюитемы. 4. Показать код/механизм определяющий комбинацию нажатий (с учётом порядка) как событие 5. Показать как можно назначить фолдер закладок и как его можно вызвать как контекстное меню по комбинации нажатий. -------------------- Что всё это даст, и почему - я объяснил. У меня, как я уже говорил, есть ещё идеи. И кому это на самом деле интересно - дайте знать и я их изложу. |
iDev.Pi > 23-09-2013 20:20:52 |
Заблуждение кроется в: Концептуально сам подход Сustom Buttons превращается в нечто типа ЛЕГО-конструктора, где имеются кирпичики из которых юзер сможет набрать нужный набор функций не имея при этом высокой квалификации. Отсутствие высокой квалификации - здесь ключевой момент.
Если проблема с экранным пространством стоит очень остро, то она решается размещением кнопок на скрываемой панели и/или хоткями (любой CuBo кнопке можно назначить хоткей). И да, с точки зрения софта, сливать всё во едино - это очень неправильно. Комбайны - зло. Лучше установить 10 маленьких однофичевых дополнений, чем 1 комбайн с теми же фичами. difabor пишет1. Показать код (механизм), обеспечивающий вызов меню по нажатию (с предопределённым выбранным менюитемом) и вызов операции по отпусканию. 2. Показать как можно переделать кнопку/сниппет, чтобы операция/операции были бы менюитемами 3. Показать как можно создать контекстное меню и собрать в него менюитемы. 4. Показать код/механизм определяющий комбинацию нажатий (с учётом порядка) как событие 5. Показать как можно назначить фолдер закладок и как его можно вызвать как контекстное меню по комбинации нажатий.
Любые полезные хауту/мануалы/гайды - есть истинное добро. |
Крошка Ру > 23-09-2013 20:51:46 |
а возможность "набрать" такую кнопку неквалифицированным пользователем - для этого нужны методологические указания - что изменить и описание основных приёмов для сборки.
Концептуально сам подход Сustom Buttons превращается в нечто типа ЛЕГО-конструктора, где имеются кирпичики из которых юзер сможет набрать нужный набор функций не имея при этом высокой квалификации. Отсутствие высокой квалификации - здесь ключевой момент.
difabor, Уже были попытки предложить нечто подобное конкретно по CB: Только в общих чертах представляю себе - у каждой кнопки своя вкладка настроек где можно менять параметры не залезая в её код , сохранять выбранные кнопки в файл , может даже функции конструктора - возможность собрать кнопку используя готовые шаблоны И ещё для тех кодов, которые предлагается помещать в любую кнопку - чтобы не запутаться можно их упорядочить (объединить?) каким-то образом посредством менеджера. 4545
кстати, хорошо бы было под Custom Buttons подобный сервис создать - с галереей кнопочек и конструктором с шаблонами 8
и в целом для Firefox : 293, 133 |
okkamas_knife > 23-09-2013 20:53:32 |
iDev.Pi пишетИ да, с точки зрения софта, сливать всё во едино - это очень неправильно. Комбайны - зло. Лучше установить 10 маленьких однофичевых дополнений, чем 1 комбайн с теми же фичами.
всё зависит от конкретной ситуации. иногда комбайн лучше иногда хуже. например вот есть два дополнения выполняющих пару простых функций если слить их в одно то есть выигрыш при старте не подгружается куча всяких служебных файлов отличающижся лишь названием дополнения и вякими переменными вот скажи как мастер цсс какой вариант будет работать быстрее где в одном файле пара десятков правил или один файл с десятком указаний на файлы в которых по два правила? ессно что первый ибо не тратится время на запросы. с другой стороны файл с парой сотен правил имеет смысл разбить на части и уже их включать в основной. с кнопками - чем больше кода в одной кнопке тем больше шансов на всякие ошибки глюки и то что если чтото поломается то не будет работать и остальное с другой стороны заменить десяток кнопок простой менюшкой получается экономия на пространстве и памяти т.к. не требуется десяток иконок вобщем как и во всём нужно просто знать меру и понимать как оно работает чтоб предвидеть последствия объединения\разделения. |
difabor > 23-09-2013 20:55:16 |
iDev.Pi пишетЗаблуждение кроется в: Концептуально сам подход Сustom Buttons превращается в нечто типа ЛЕГО-конструктора, где имеются кирпичики из которых юзер сможет набрать нужный набор функций не имея при этом высокой квалификации. Отсутствие высокой квалификации - здесь ключевой момент.
Если проблема с экранным пространством стоит очень остро, то она решается размещением кнопок на скрываемой панели и/или хоткями (любой CuBo кнопке можно назначить хоткей).
Скрываемая панель - лишь ослабит остроту проблемы, очень быстро и она заполнится. Не говоря о том, что скрываемость иногда плохо уживается с другими фичами. Хоткеи - это прекрасно, но во-первых, они - не альтернатива, а дополнительное удобство (когда обе руки - на клавиатуре ими действительно пользоваться лучше, чем брать мышку, но если мышка уже итак в руках - то сами понимаете iDev.Pi пишетИ да, с точки зрения софта, сливать всё во едино - это очень неправильно. Комбайны - зло. Лучше установить 10 маленьких однофичевых дополнений, чем 1 комбайн с теми же фичами.
Согласен, но я - не о слиянии!!! Прошу понять меня правильно: Я предлагаю отделить функциональность той или иной операции/фичи от вызова операции/фичи как таковой. Функциональность - это епархия, прерогатива разработчика - это собственно фича (отдельная), которая должна быть индифферентна и инвариантна способу её вызова. А вот вызов фичи, способ вызова фичи должны быть епархией, прерогативой юзера. При этом модульность сохраняется на все 100%, а задача юзера - создание контейнера (не комбайна!!!) самих вызовов и структурирование его по контекстным меню и кнопкам мыши. Я не предлагаю некую интегральную суперкнопку-комбайн, я предлагаю другой подход к модулярности, когда отдельными модулями будут фичи, инвариантные и индифферентные к способу вызова, а у юзера будут удобные средства сборки фич и структуризации. Подумайте, может и Вам понравится такой подход |
okkamas_knife > 23-09-2013 20:59:52 |
difabor пишета возможность "набрать" такую кнопку неквалифицированным пользователем - для этого нужны методологические указания - что изменить и описание основных приёмов для сборки.
пустая трата времени такой юзер не захочет читать мануалы и уж тем более включать мозг. а для того кто в состоянии это сделать информации уже достаточно для создания не очень сложных кнопок ну и опять же всегда можно спросить что непонятно. |
Крошка Ру > 23-09-2013 21:00:14 |
Хоткеи - это прекрасно, но во-первых, они - не альтернатива, а дополнительное удобство (когда обе руки - на клавиатуре ими действительно пользоваться лучше, чем брать мышку, но если мышка уже итак в руках - то сами понимаете
difabor, А для отъявленно-неисправимых мышководов хоткеи - зло Вот почему мне так нравятся CB-кнопочки ... |
okkamas_knife > 23-09-2013 21:07:38 |
difabor difabor пишетЯ предлагаю отделить функциональность той или иной операции/фичи от вызова операции/фичи как таковой. Функциональность - это епархия, прерогатива разработчика - это собственно фича (отдельная), которая должна быть индифферентна и инвариантна способу её вызова. А вот вызов фичи, способ вызова фичи должны быть епархией, прерогативой юзера. При этом модульность сохраняется на все 100%, а задача юзера - создание контейнера (не комбайна!!!) самих вызовов и структурирование его по контекстным меню и кнопкам мыши. Я не предлагаю некую интегральную суперкнопку-комбайн, я предлагаю другой подход к модулярности, когда отдельными модулями будут фичи, инвариантные и индифферентные к способу вызова, а у юзера будут удобные средства сборки фич и структуризации.
Марш на MDN изучать матчасть а потом уже будете философствовать. это всё уже давно есть. вы напоминаете товарища прокатившегося в салоне автобуса и начавшего рассуждать о том что хорошобы чтоб в автобусе был руль и педали для управления. |
difabor > 23-09-2013 21:15:41 |
okkamas_knife пишетdifabor difabor пишетЯ предлагаю отделить функциональность той или иной операции/фичи от вызова операции/фичи как таковой. Функциональность - это епархия, прерогатива разработчика - это собственно фича (отдельная), которая должна быть индифферентна и инвариантна способу её вызова. А вот вызов фичи, способ вызова фичи должны быть епархией, прерогативой юзера. При этом модульность сохраняется на все 100%, а задача юзера - создание контейнера (не комбайна!!!) самих вызовов и структурирование его по контекстным меню и кнопкам мыши. Я не предлагаю некую интегральную суперкнопку-комбайн, я предлагаю другой подход к модулярности, когда отдельными модулями будут фичи, инвариантные и индифферентные к способу вызова, а у юзера будут удобные средства сборки фич и структуризации.
Марш на MDN изучать матчасть а потом уже будете философствовать. это всё уже давно есть. вы напоминаете товарища прокатившегося в салоне автобуса и начавшего рассуждать о том что хорошобы чтоб в автобусе был руль и педали для управления.
Я действительно дилетант и на поучения не претендую... Просто мне кажется, что если всё, что я предлагаю, уже итак есть, то я, даже с минимальнейшей квалификацией смог бы собрать всё, что я хочу и структуризировать как хочу. Если Вам нетрудно, дайте мне ссылку как это делают и я Вам буду бесконечно благодарен. Кстати, что такое MDN? Может там действительно всё описано и я (хоть мне и будет 60 лет через 3 месяца) смогу выучиться... Я вообще-то, человек старательный. |
bunda1 > 23-09-2013 21:19:48 |
iDev.Pi пишетИ да, с точки зрения софта, сливать всё во едино - это очень неправильно. Комбайны - зло. Лучше установить 10 маленьких однофичевых дополнений, чем 1 комбайн с теми же фичами.
Не согласен, всё завысит от конкретной ситуации. |
difabor > 23-09-2013 21:32:05 |
Крошка Ру пишетХоткеи - это прекрасно, но во-первых, они - не альтернатива, а дополнительное удобство (когда обе руки - на клавиатуре ими действительно пользоваться лучше, чем брать мышку, но если мышка уже итак в руках - то сами понимаете
difabor, А для отъявленно-неисправимых мышководов хоткеи - зло Вот почему мне так нравятся CB-кнопочки ...
Дело имхо - не в мышководах Действительно, большей частью обе руки у юзера - на клаве и хоткеями пользоваться удобнее - надо просто иметь хорошую память. Мышка удобна при ассоциативной памяти, когда ты толком не помнишь всё, а иконки, их расположение, подменю и пр. помогают вспомнить |
bunda1 > 23-09-2013 21:46:49 |
difabor пишетЕсли Вам нетрудно, дайте мне ссылку как это делают и я Вам буду бесконечно благодарен.
Того что ты просишь тут нет. Есть некоторые сниппеты на разных сайтах том числе и здесь Инструменты для создателей Custom Buttons | Форум Mozilla Россия но они не много не то. Custom Buttons Documentation - Mozilla Firefox |
difabor > 23-09-2013 21:53:45 |
Крошка Ру пишета возможность "набрать" такую кнопку неквалифицированным пользователем - для этого нужны методологические указания - что изменить и описание основных приёмов для сборки.
Концептуально сам подход Сustom Buttons превращается в нечто типа ЛЕГО-конструктора, где имеются кирпичики из которых юзер сможет набрать нужный набор функций не имея при этом высокой квалификации. Отсутствие высокой квалификации - здесь ключевой момент.
difabor, Уже были попытки предложить нечто подобное конкретно по CB: Только в общих чертах представляю себе - у каждой кнопки своя вкладка настроек где можно менять параметры не залезая в её код , сохранять выбранные кнопки в файл , может даже функции конструктора - возможность собрать кнопку используя готовые шаблоны И ещё для тех кодов, которые предлагается помещать в любую кнопку - чтобы не запутаться можно их упорядочить (объединить?) каким-то образом посредством менеджера. 4545
кстати, хорошо бы было под Custom Buttons подобный сервис создать - с галереей кнопочек и конструктором с шаблонами 8
и в целом для Firefox : 293, 133
Крошка Ру, я не претендую на открытие Америки и прекрасно понимаю, что хорошие мысли посещают не только мою голову. Вполне возможно, что создать такой конструктор в чистом виде задача либо неподъёмная, либо очень трудоёмкая. Но имхо существует масса паллиативных подходов, когда юзеру предоставляется не абсолютно совершенное средство, а нечто промежуточное, компромиссное, требующее и от него усилий, но зато работающее. Если в ближайшей перспективе нет возможности создания компоновщика фичей, то достаточно имхо темы, где описываются основные приёмы компоновки, что надо добавить в фичу, а что в ней надо закомментировать и пр. Кстати, мне попадалась тема, где описывались первые шаги (как открыть ссылку во вкладке, как - в сайдбаре и пр.), но сейчас почему-то я не могу её найти. Может Вы подскажете? Спасибо. |
okkamas_knife > 23-09-2013 22:33:21 |
difabor пишетЯ вообще-то, человек старательный.
открываем заглавный пост в теме Готовые кнопки и читаем внимательно там всё есть.все необходимые ссылки. и на доки и на сниппеты. |
difabor > 23-09-2013 22:39:32 |
Спасибо большое! В самом начале мне попадались Инструменты для создателей Custom Buttons, но в закладки я её забыл положить, потом никак не мог найти - искал-искал, и всё без толку. Так что Вы меня буквально спасли 23-09-2013 23:09:14 okkamas_knife пишетdifabor пишетЯ вообще-то, человек старательный.
открываем заглавный пост в теме Готовые кнопки и читаем внимательно там всё есть.все необходимые ссылки. и на доки и на сниппеты.
Спасибо. Я читаю внимательно Правда из-за скудости знаний мало что понимаю, но, думаю, это преходяще... В другой прикреплённой теме Инструменты для создателей Custom Buttons я нашёл следующее:
скрытый текст Кнопка нажата this.checked=true; ►►►►►►► Кнопка отжата this.checked=false; ►►►►►►► А далее Вы объясняете как обрабатывать клики: this.onclick = function(event) { if(event.button == 0) { // Действие при клике ЛКМ } else if(event.button == 1) { // Действие при клике СКМ } else if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { // Действие при клике ПКМ без модификаторов } }; ►►►►►►► У меня вопрос - а как обрабатывается отдельно нажатие и отпускание кнопки? Дело в том, что между разработчиками и простыми юзерами - дистанция огромного размера. И связано это не с леностью юзеров, а с колоссальной нехваткой знаний которые самостоятельно очень трудно пополнить. При этом голова у юзера может работать совсем неплохо... |