Мегаидея
От: adontz Грузия http://adontz.wordpress.com/
Дата: 15.06.05 13:22
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

Давай рассмотрим интерфейс как некоторый язык. Элементы управления это символы в алфавите данного языка (причём, скажем, ComboBox это сразу столько символов, сколько в нем элементов).

Есть некоторые сообщения (создать документ, ввести букву, записать документ в файл)

Задача: создать такой интерфейс, чтобы
  1. Его алфавит был коротким
  2. Часто употребляемые сообщения кодировались более короткими последовательностями символов и вообще все кодировались максимально коротко
Требования конфликтующие.

Короче свести задачу создания интерфейса к теории шифров (знакое так получилось)

Вот такой вот бред сидит у меня в голове

15.06.05 18:03: Ветка выделена из темы Мегаидея
Автор:
Дата: 12.06.05
— Odi$$ey
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: Мегаидея
От: Зверёк Харьковский  
Дата: 15.06.05 13:57
Оценка:
Здравствуйте, adontz, Вы писали:

A>Давай рассмотрим интерфейс как некоторый язык. Элементы управления это символы в алфавите данного языка (причём, скажем, ComboBox это сразу столько символов, сколько в нем элементов).


A>Есть некоторые сообщения (создать документ, ввести букву, записать документ в файл)


A>Задача: создать такой интерфейс, чтобы

A>

    A>
  1. Его алфавит был коротким
    A>
  2. Часто употребляемые сообщения кодировались более короткими последовательностями символов и вообще все кодировались максимально коротко
    A>
A>Требования конфликтующие.

A>Короче свести задачу создания интерфейса к теории шифров (знакое так получилось)


A>Вот такой вот бред сидит у меня в голове


! Идея хороша и требует тщательного обдумывания. Попробуем что-нибудь накрутить из этого.

2модератор: можно откусить эту ветку? (начиная с предыдущего сообщения)

2adontz: ты последнее письмо получил?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
FAQ — це мiй ай-кью!
Re[4]: Мегаидея
От: adontz Грузия http://adontz.wordpress.com/
Дата: 15.06.05 14:14
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>! Идея хороша и требует тщательного обдумывания. Попробуем что-нибудь накрутить из этого.


Из этого можно накрутить систему количественной оценки интерфейса. Скажем

[Сумма по ( [Длина последовательности для сообщения]*[Вероятность сообщения] )] * [Длина алфавита]
// наверху не понятно что, вот код
float sum = 0;
foreach (message in messages)
{
 sum += message.length*message.probablity;
}
float result = sum*alphabet.length;

Тогда 1 checkbox и 2 radiobutton или combobox с 2 элементами будут иметь одну оценку, что логично.

Вот создавать интерфейс на основе этой идеи вряд ли получится.

ЗХ>2adontz: ты последнее письмо получил?


Последнее что я полуил начиналось с Ну, фик с ним. Есть что — перепошли (resend)

P.S. pochta.ru не ахти какая почта у меня самого она жутко тормозила и я её бросил, Gmail рулез форева (инвайты кажется остались)
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: Мегаидея
От: WoldemaR Россия  
Дата: 15.06.05 14:43
Оценка:
Здравствуйте, adontz, Вы писали:

A>Вот такой вот бред сидит у меня в голове


Цель — найти, принять, реализовать и выгодно использовать удобный способ описания/кодирования пользовательского интерфейса.


Если наши интересы совпадают, то двинемся дальше.

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

Анализ существующих подходов:
Если нужна простота и скорость разработки — конструктор форм (диалогов), редактор HTML.
Если нужна мощь и гибкость — нужен язык программирования.

Ещё один вопрос — можно ли объединить простоту и удобство конструктора (для начального проектирования), с мощью и гибкостью языка?


Если наши выводы близки, то двинемся дальше.

А что если нам взглянуть на задачу реализации GUI не с точки зрения создания автономных контролов (кои плодятся и им нет числа), а с точки зрения управления графическими примитивами?

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

Можно ли, имея небольшую библиотеку таких способностей покрыть существенно большой класс задач? А новые потребности решать, расширяя библиотеку способностей?
Re[2]: Мегаидея
От: Mamut Швеция http://dmitriid.com
Дата: 15.06.05 16:56
Оценка:
WR>Встаёт вопрос: как лаконично описать элементы пользовательского интерфейса и маршрутизацию сообщений между ними, как основную задачу разработки GUI.

WR>Анализ существующих подходов:

WR>Если нужна простота и скорость разработки — конструктор форм (диалогов), редактор HTML.
WR>Если нужна мощь и гибкость — нужен язык программирования.

WR>Ещё один вопрос — можно ли объединить простоту и удобство конструктора (для начального проектирования), с мощью и гибкостью языка?



WR>Если наши выводы близки, то двинемся дальше.


Это, имхо, напоминает Адобовское Adam&amp;Eve. Например, такой код:


dmitriid.comGitHubLinkedIn
Re[2]: Мегаидея
От: adontz Грузия http://adontz.wordpress.com/
Дата: 16.06.05 12:19
Оценка:
Здравствуйте, WoldemaR, Вы писали:

WR>Встаёт вопрос: как лаконично описать элементы пользовательского интерфейса и маршрутизацию сообщений между ними, как основную задачу разработки GUI.


Нет, вот тут я другого мнения. Маршрутизация сообщений не между элементами интерфейса. Интерфейс, если уж обощать это некоторый конечный автомат. Я хочу, чтобы конечный автомат принял все необходимые мне состояния за минимум переходов, при максимально бедном входном алфавите. Больше ничего не хочу. Как этот конечный автомат работает меня не особо волнует.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: Мегаидея
От: NashRus  
Дата: 16.06.05 19:46
Оценка:
Ничего не понял.
А в чем проблема?
Конструктор форм и скрипты ? И все ?
Re[2]: Мегаидея
От: Spidola Россия http://www.usametrics.ru
Дата: 19.06.05 22:45
Оценка:
Здравствуйте, WoldemaR, Вы писали:

WR>Можно ли, имея небольшую библиотеку таких способностей покрыть существенно большой класс задач? А новые потребности решать, расширяя библиотеку способностей?


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

Таким образом, если провести указанную аналогию, то возникает вопрос — сколько комбинированных способностей потребуется, чтобы покрыть существенно большой класс задач? И целесообразно ли введение таких наборов способностей, если они получатся достаточно уникальны и использовать их все сможет только очень высококлассный разработчик?

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

В дополнение хотел бы добавить, что в рамках, например, создания некоего программного продукта ещё можно ограничить необходимые и наиболее часто встречающиеся наборы способностей и реализовать для них специфические повторноиспользуемые элементы интерфейса (что обычно и делается написанием собственных контролов на основании простых, например). А вот если задумываться над выделением наиболее важных интерфейсных элементов на уровне языка, а точнее библиотеки, то боюсь, что удастся выделить только календари и т.п. уже существующие элементы.
RSDN@Home

тишина...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.