История изменений
Исправление Iron_Bug, (текущая версия) :
вообще, работу над задачей надо начинать с постановки ТЗ. а для этого нужно определить, что конкретно нужно. что не нужно. что не устраивает в существующих реализациях. причём это должно исходить от юзера, а не от программиста. потому что удобство конечного пользователя - это смысл визуального продукта. а софт можно написать вообще любой.
ещё он должен быть легко совместим с уже существующими протоколами. потому что выживают те продукты, которые совместимы, а не те, которые пытаются насадить свои уникальные и никому не нужные интерфейсы. юзер не любит и не хочет менять свои привычки. он не будет ради перехода на новый интерфейс менять весь свой софт. более того, он даже ради формы окошечек может держаться за старые реализации. так что чем гибче и совместимее интерфейс - тем лучше для его внедрения. он должен уметь мимикрировать под то, что уже существует. при этом внутри он может иметь совершенно другую архитектуру. юзеру архитектура вообще не интересна, ему нужны окошечки и менюшечки. всяких модных хипстерских дезигнеров с их «инновациями» надо сразу слать лесом. есть проверенные временем решения и люди их используют. никому не нужен выпендрёж, на котором невозможно работать.
Исходная версия Iron_Bug, :
вообще, работу над задачей надо начинать с постановки ТЗ. а для этого нужно определить, что конкретно нужно. что не нужно. что не устраивает в существующих реализациях. причём это должно исходить от юзера, а не от программиста. потому что удобство конечного пользователя - это смысл визуального продукта. а софт можно написать вообще любой.
ещё он должен быть легко совместим с уже существующими протоколами. потому что выживают те продукты, которые совместимы, а не те, которые пытаются насадить свои уникальные и никому не нужные интерфейсы. юзер не любит и не хочет менять свои привычки. он не будет ради перехода на новый интерфейс менять весь свой софт. более того, он даже ради формы окошечек может держаться за старые реализации. так что чем гибче и совместимее интерфейс - тем лучше для его внедрения. он должен уметь мимикрировать под то, что уже существует. при этом внутри он может иметь совершенно другую архитектуру. юзеру архитектура вообще не интересна, ему нужны окошечки и менюшечки.