Считается что все программы уже написаны, остается лишь разобраться в их интерфейсе.
Но между поставщиком и пользователем существует естественная напряженность. Поставщик стремиться к универсальности, чтобы продукт работал в разных средах и был обращен к широкой аудитории.
С другой стороны, пользователь желает получить интерфейс, специализирующийся на его конкретной задаче.
На помощь как всегда приходят прикладные программисты.
Работаю на C#