Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » создание интерфейса (пользователя) прикладной программы(GUI)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ссылки по теме
 
http://usability.ru/
самый известный в рунете ресурс, серьезный подход, масса информации
 
http://www.info-system.ru
Раздел "Интерфейс" представляет информацию по проектированию и разработке пользовательского интерфейса к программным продуктам.
 
http://www.uibook1.ru/
Книга по проектированию интерфейса приложений (pdf)
 
MSDN по теме:
http://msdn.microsoft.com/library/en-us/dnwue/html/ch14e.asp
точные (в пикселах, размеры кнопок и прочих контролов для визуального проектирования)
 
---
просьба делать все аккуратно и однообразно: ссылка/краткое описание
-akaGM

 
 
 
***************************************************************************
 
хочу создать тему для обсуждения...
 
т.к. сам не специалист (в активе только два GUI под dos на Turbo- и SuperVision) , но по долгу службы встала такая проблема, то надеюсь получить (получать) здесь ответы на свои вопросы, а также реальные практические рекомендации более опытных коллег, кот. возможны именно только в общении...
чтение же специальной литературы (эргономика, юзабилити, то, се) -- вещь, конечно, оч. полезная, но... для моих, в общем-то, второстепенных задач -- сами понимаете...
только в качестве хобби... хотя сейчас гуи для меня и есть хобби...
 
ведущийся мой проект -- серьезная научная программа, которая (теперь) предполагает интерфейс... если будут нужны подробности, то, конечно же, их сообщу...
 
итак, что предлагается к обсуждению:

- общие рассуждения "на тему", от универсальности к конкретике...
- вопрос-ответ, практика, "как мне сделать?"
- какую библиотеку под такой вот компилятор мне лучше использовать?
  например, для неопределившихся (общие положения, не перекрывающиеся с другими
  темами форума)
- SDI vs MDI -- когда и зачем?
- взаимодействие посредством toolBars, Menus, hotKeys -- что лучше и в каких случаях или      
  все в одном...
- деревья, списки и таблицы -- наглядность и/или удобство? где и когда?
- докинг, плавающие окна или жесткое местоположение...
- выделять или не выделять? "приборно-панельно-бумажные" цвета, цветовые схемы и        
  палитры
и т д

 
сам я использую VCL на Delphi, т.к. считаю эту систему в большинстве случаев истинной RAD-cистемой
 
понятно, что интерфейс определяется конкретным приложением и говорить о его универсальности можно с некоторой натяжкой...
можно, конечно, делать архиватор со скинами... кстати, это и делают...
 
предлагаю только исключить из обсуждения интерфейсы граф- и текстовых редакторов, а также медиа проигрывателей -- что тут еще можно сказать?
 
 
итак, в качестве затравки:
 
Дано:
-------
приложение --
счет, ввод/вывод данных, визуализация результатов, несколько (4-5) разнородных форм
Надо:
------
SDI Или MDI?
 
 
------------------------------------------------------------
нужна ли такая тема,
что скажете, коллеги?

Всего записей: 24843 | Зарегистр. 06-12-2002 | Отправлено: 16:17 26-02-2005 | Исправлено: akaGM, 12:59 11-09-2023
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
нужна ли такая тема,
что скажите, коллеги?

Имхо, тема нужна, меня очень интересует, уже занес в закладки, лиж бы во флейм не превратилась, т.к. быстро может возникнуть пробема "вкуса, цвета и сотоварищей"
 

Цитата:
Дано:
-------
приложение --
счет, ввод/вывод данных, визуализация результатов, несколько (4-5) разнородных форм
Надо:
------
SDI Или MDI?  

Я бы так сразу и не сказал то или другое. Всё-таки надо подробнее понять алгоритм обычной работы пользователя с программой.

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 21:13 26-02-2005 | Исправлено: EZH, 21:23 26-02-2005
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я бы пожалуй попытался найти подобные программы в той же или околоживущих научных областях. Желательно серьезные разработки пользующиеся популярностью. По опыту скажу, что пользователи очень любят "интерфейс такой же как в ..." , где "..." то чем они уже пользуются. Поэтому неплохо было бы проанализировать рынок на этот счет, спросить пользователей чем пользуются, что нравится, что не очень, и оттуда уже плясать.

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 21:22 26-02-2005
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH
 
1. а надо модера сюда заманить/заинтересовать...
 
2. sdi vs mdi
пока склоняюсь к мди и вот почему...
2-3 формы обяз. должны быть "под рукой" и _одновременно_, другие -- по желанию...
не вижу более простого (для себя) способа юзеру сделать workspace "под себя" как средствами мди, некоторые формы не совсем "неоднородны", отличаются только парой кнопок на тулбаре -- отсюда вывод делать одну, а вторую получать модификацией первой при старте...
sdi, кстати, попробовал уже набросать -- экран перенасыщен, сплиттеры/табы и тд
ужас...
 
FuzzyLogic
 

Цитата:
Я бы пожалуй попытался найти подобные программы в той же или околоживущих научных областях.

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

Цитата:
Желательно серьезные разработки пользующиеся популярностью. По опыту скажу, что пользователи очень любят "интерфейс такой же как в ..." , где "..." то чем они уже пользуются.

в моем случае -- это программы Origin, Maple и Mathematica...
вот и хочу потягаться...
 

Цитата:
...рынок...

это некоммерческое...
 

Цитата:
спросить пользователей чем пользуются, что нравится...

гы
мои пользователи пользуются моими программами!
консольными...
чем пользуются -- те же Origin, Mathematica, Word и ТеХ (с редактированием в оболочке Борланд паскаля), пересадил всех на Мозиллу и ТундерБерд -- все как обычно...
по правде говоря, что я им сделаю, тем и будут пользоваться...
но хочется, понятное дело, сделать хорошо, плохо оно само получится...
Поэтому хочется определится с самого начала, а то потом и не переделаешь...
 
на интерфейс я подписался после того, как меня _заставили_ сделать страницу нашей конторы...
нашли дизайнера...

Всего записей: 24843 | Зарегистр. 06-12-2002 | Отправлено: 21:56 26-02-2005 | Исправлено: akaGM, 22:02 26-02-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
akaGM
Кстати PageControl с закладками (внизу/сверху или слева) во всю форму приложения (за исключением меню и главного тулбара) очень даже неплохое решение вместо MDI для не слишком большого приложения, главное не лепить всю логику программы во всякие OnClick этой формы. Т.е. выносить её в отдельные модули (что правильно - разделение дизайна и логики!), а в OnClick-подобных событиях только управлять интерфейсом и вызовом функций логики.

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 22:14 26-02-2005
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH

Цитата:
2-3 формы обяз. должны быть "под рукой" и _одновременно_

это я себя процитировал...
ты меня не очень внимательно прочитал -- я же выделил ключевое слово...
 
вот смотри как я рассуждаю, почему не катят pages:
 
на экране должны быть две формы -- придется им сидеть на одной закладке
если в данный момент ведется работа на одной из них, а из второй нужна только одна строка из stringsGrid'a -- сплиттер? явное переусложнение...
 
а если первую захочется max, а вторую вообще закрыть или схлопнуть...
 
для мди все это не проблема...
 
так что пока не переубедил...

Всего записей: 24843 | Зарегистр. 06-12-2002 | Отправлено: 22:25 26-02-2005
Dimonka



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Занимаюсь написанием моделей для медицинской области. Интерфейс строится из на основе PageControl'а, ListView (в котором изображаются симуляции) и фреймов (которые кладут на TabSheet). Фреймы нужны для того, чтобы разгрузить код главной формы. На PageControl'е и располагаются страницы ввода и страницы результатов. Вся логика вынесена в классы.  
По такому принципу построены практически все наши модели, естественно новые версии получаются ещё более "крутые" чем предыдущие

Всего записей: 398 | Зарегистр. 03-01-2002 | Отправлено: 22:25 26-02-2005
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dimonka
спасибо за подключение...
 
к сожалению, о некоторых вещах, о кот. здесь будет (я надеюсь) говорится, я понятия не имею. TFrame я вообще не знаю... Но посмотрю обязательно, спасибо...
может дашь ссылку, демо, скриншот?
 
All
что если в шапке сделать что-то наподобие галереи для иллюстрации своих мыслей?
удачные и наоборот варианты дизайна с объяснением...
это могут быть ссылки, скрины...
 
кстати, насколько я знаю, шапку любого поста могут править посетители не ниже Member'a
 
вопрос модератору: это так?
а если нет, то нельзя ли сделать так, чтобы _любой_ посетитель мог редактировать верхний пост?

Всего записей: 24843 | Зарегистр. 06-12-2002 | Отправлено: 22:34 26-02-2005 | Исправлено: akaGM, 22:43 26-02-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
akaGM
Я не советовал это решение конкретно для твоей задачи, а лишь высказал свой удачный опыт нескольких разработок таким способом. И, как сказал Dimonka, тоже во всю пользую фреймы для множества однородных данных на TabSheet. Это так, в порядке обсуждения общих идей построения интерфейса приложения.
 

Цитата:
если в данный момент ведется работа на одной из них, а из второй нужна только одна строка из stringsGrid'a -- сплиттер? явное переусложнение...  

Просто объясни кардинальное отличие тут от MDI. Я так понимаю что при MDI ты всё равно будешь мышой подстраивать размеры форм, чтобы всё было видно одновременно и как надо.  И потом, размеры форм (панелей/фреймов на форме/TabSheet) ведь можно с успехом менять и программно подстраиваясь так, чтобы была видна нужная часть, например при переходе фокуса ввода. Я конечно немного теоретизирую, но это лишь потому что мы не можем знать всю специфику твоего интерфейса, но это тоже реально.
 
Т.к. ты хорошо знаешь специфику навигации по проектируемому приложению, то никто не собирается тебя переубеждать на SDI. Да и не говорится что SDI лучше.  
 
Добавлено:
Верхний пост могут редактировать действительно только Member'ы

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 22:43 26-02-2005 | Исправлено: EZH, 22:49 26-02-2005
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH
 

Цитата:
Просто объясни кардинальное отличие тут от MDI.

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

Цитата:
Я так понимаю что при MDI ты всё равно будешь мышой подстраивать размеры форм

нет!
не я, а пользователь...
 

Цитата:
мы не можем знать всю специфику твоего интерфейса

его еще нет! мы его тут делаем гы...
только в качестве _текстовых_ набросков и пожеланий пользователей...
я бы обязательно показал...
 

Цитата:
никто не собирается тебя переубеждать на SDI

с моей стороны это образное выражение...
если я пойму, что в чем-то (простоте, удобстве) я выигрываю, то я обязательно "переубедюсь"

Всего записей: 24843 | Зарегистр. 06-12-2002 | Отправлено: 23:00 26-02-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
проще... для меня делать...
есть две формы и все... их крутит-вертит винды и пользователь...
если взять за основу твое предложение, то для меня тут добавляется еще один (по крайней мере один) элемент управления -- сплиттер...  

А мне, например, иногда жалко когда при использовании MDI-интерфейса не во весь экран, а при совмещении (стыковке) MDI-форм теряется и без того малое экранное пространство на бордеры и заголовки форм. Кстати как решение можно отписать склейку форм, тогда сплиттеры у тебя считай сами появятся

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 23:17 26-02-2005
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
согласен про потерю пространства...
на это брызги при 1154 и 1280...
 
кстати, вот еще плюс мди для меня:
у форм автоматически появляется v-h скролл при надобности, а в сингле хоть и минимально, но мне придется за ним следить самому -- спецсвойствами, отдельным контролом или как там это делается...

Всего записей: 24843 | Зарегистр. 06-12-2002 | Отправлено: 23:32 26-02-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
на это брызги при 1154 и 1280...  

Может быть это и брызги, но это ещё и лишняя детализация видимого интерфейса рамками, надписями и т.п. => большее рассеивание внимания.
 
За скроллами вообще-то никогда особо не приходится следить, они во многих компонентах автоматически неплохо отрабатываются. Если сделаешь фреймы, как я говорил, то они там тоже автоматически будут как a обычной форме. Можно ещё и стандартный ScrollBox кинуть alClient на любой контейнер и ваять всё в нём.
 
P.S. Я специально стараюсь выступать в качестве оппонента, дабы строились взаимовыгодные рассуждения

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 23:46 26-02-2005
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH
 

Цитата:
Можно ещё и стандартный ScrollBox кинуть  

во! я же говорю -- дополнительный контрол... зачем он?
мой набросок SDI вобще кошмар -- панель на панели и панелью погоняет...
 

Цитата:
Я специально стараюсь выступать в качестве оппонента

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

Всего записей: 24843 | Зарегистр. 06-12-2002 | Отправлено: 23:58 26-02-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
мой набросок SDI вобще кошмар -- панель на панели и панелью погоняет...  

Кстати без этого не обойтись, если хочешь добиться хорошего изменения размера форм и чтобы контролы не "съезжали" и не наезжали друг на друга. Я имею ввиду раскидывание контролов по панелям и алигн панелей к разным сторонам. На анчоры уже давно перестал полагаться, т.к. эта вешь частенько поглюкивает.
 
Я сам противник использования лишнего, но по поводу таких контейнеров как панели и ScrollBox - поверь - не стоит особенно заморачиваться и лучше ими пользоваться. Спасут от многих проблем с изменением размеров, масштабирования, съезжанием от изменения размера системных шрифтов и т.п.... Да и сплиттеры при таком выравнивании контейнеров тоже стоит применять без особых переживаний. Всё это очень простые вещи, не стоит особо из-за них заморачиваться.

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 00:17 27-02-2005
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
какую библиотеку под такой вот компилятор мне лучше использовать

По возможности, использовать стандартные компоненты/контролы. Всяческие красоты и навароты прекрасно выглядят в первой версии и приносят радость програмисту своей крутизной(из личного опыта ). По мере развития программы; с переходом на новый виндоус, на новую среду разработки;  с изменение статуса программы на коммерческий все эти штучки начинают приносить реальную головную боль и значительные потери времени на переделки и замены.

Цитата:
пользователи очень любят "интерфейс такой же как в ..." , где "..." то чем они уже пользуются

Практически все пользователи работают в виндоусе. Поэтому желательно стандартные действия программы обозначать стандартным же вин интерфейсом.  
Крики о пoганости вин интерфейса отметаю даже не рассматривая, т.к. он(вин интерфейс) стандарт де-факто, а ваш никто в глаза не видел и не горит желанием переучиваться.  
Нестандартные куски, так сказать, для внутреннего употребления, могут естественно отличаться от общепринятых. Но и в этом случае неплохо создать своего рода внутренний стандарт GUI и стараться его поддерживать

Всего записей: 3922 | Зарегистр. 31-03-2002 | Отправлено: 01:22 27-02-2005 | Исправлено: dneprcomp, 11:18 27-02-2005
oSLikus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть программы, с отличным от стандартного интерфейса, которыми очень удобно пользоваться, и мне лично сложно представить, как можно было бы иначе сделать. Например Reget. Другой пример отличного (в смысле отличного от других) дизайна - WebMoney Keeper - очень хороший пример нестандартного, но при этом _очень_ удобного интерфейса.
 
Для любой программы нужно продумывать, что будет делать пользовать, какие модули программы будут зависимы (не функционально, а эргономически. Пример уже был озвучен - в одном окошке форма, в другом Grid). Исходя из этого нужно уже решать, нужен ли MDI или SDI.
 
Ещё один пример: Visual Studio 6 и Visual Studio .NET. Привычка, конечно, одно дело, но. Я сразу пересел на интерфейс по умолчанию в .NET Studio(SDI), т.к. для конкретной задачи (кодирование и т.п.) этот интерфейс гораздо удобнее, гораздо информативнее. Ненужные элементы делаем выплывающими. В итоге получается оптимальный размер рабочего места (а именно Editor'а).
 
В том же самом Ворде делать нужно по-другому (как и делается) - открываются новые окна. Это удобнее, это эргономичнее.
 
Далее... ICQ. Ну вот не нужен тут _стандартный_ дизайн, не нужны стандартные кнопочки-скроллы. Тут свои решения своих проблем. Та же самая ситуация со всяческими WinAMP'ами, Media Player'ами и т.п.
 
P.S. К чему я веду? К тому, что разработчик интерфейса должен представить себя в шкуре обычного пользователя, представить то, что будет делать этот пользователь и КАК он это будет делать. Продумать интерфейс только для мышки и только для клавиатуры. Подумать, будет ли пользователь работать с maximized окном и т.п. Тогда решение придёт к вам И ещё - нужно смотреть на другие программы. Не обязательно даже копировать интерфейс, просто нужно знать визуально, что можно натворить в дизайне. И комбинировать различные элементы для достижения лучшего эффекта

Всего записей: 82 | Зарегистр. 14-12-2004 | Отправлено: 02:40 27-02-2005
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Есть программы, с отличным от стандартного интерфейса

Да, есть. И если для многих такой интерфейс удобен, то он становиться стандартом. А вот станет или нет, заранее не скажешь.

Всего записей: 3922 | Зарегистр. 31-03-2002 | Отправлено: 04:11 27-02-2005 | Исправлено: dneprcomp, 04:13 27-02-2005
oSLikus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если не пробовать, то будет социализм-равенство-братство

Всего записей: 82 | Зарегистр. 14-12-2004 | Отправлено: 05:33 27-02-2005
vndovr

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если у кого-либо есть ссылки по данной тематике - постите их сюда.  Из русскоязычных я в свое время видел кое-что взял с:
http://usability.ru/

Всего записей: 359 | Зарегистр. 05-02-2004 | Отправлено: 10:31 27-02-2005 | Исправлено: vndovr, 05:14 28-02-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » создание интерфейса (пользователя) прикладной программы(GUI)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru