Достаточный уровень возможностей приложения
- Категория: Технические советы
- – Автор: Игорь (Администратор)
Когда речь заходит о разного рода приложениях, то порой не каждый отдает себе отчет о том, что существует достаточный уровень возможностей приложения и что его необходимо учитывать.
О том, что это такое и что подразумевает, и пойдет речь в данном обзоре.
Достаточный уровень возможностей приложения - это тот набор функциональности, который покрывает основные задачи пользователей.
Скажем, программы для сжатия файлов или же архиваторы (сборник). Существует некий уровень возможностей таких приложений, свыше которого для основной массы пользователей чего-то более не требуется. Создать архив, распаковать его, быстро посмотреть содержимое и т.п. В общем, какие-то простые и базовые вещи. Алгоритмы сжатия у большинства таких программ примерно одни и те же, так как сами алгоритмы появляются нечасто. Ну и разница в степени сжатия, скажем, в 5-10% для обычного пользователя некритична.
К чему это приводит? К тому, что в большинстве случаев достаточно будет любого архиватора. Понятно, что существуют различные дополнительные мелочи, которые могут быть важны в отдельных случаях, плюс еще бывают специфические алгоритмы сжатия и т.п., но все же.
Почему важно учитывать достаточный уровень возможностей приложения?
Сразу отмечу, что существуют области, где набор возможностей настолько велик, что приложение может долго расти. Но такое бывает не всегда. Ну и не везде подобное требуется. Как говорится, напихать-то можно всего, но будет ли толк?
Продолжая тот же пример с архивом. Скажем, возможность создать архив и сразу выложить его в какой-то публичный файловый обменник - это не самая нужная функция, которая к тому же может быть даже вредной (мисклик и архив с вашими фотками выложен в общий доступ - не каждому такое понравится).
Возвращаясь к сути.
Во-первых, если сделать программу с меньшим набором возможностей, то будет ли нужна такая программа? Когда в аналогах многие вещи уже давно решены, то это значит, что программу с меньшими функциями просто никто не будет использовать. Хотя существуют нюансы - обзор в тему Почему более простые аналоги программ бывают предпочтительней?
Абстрактный пример. Допустим, вам нужна программа для редактирования изображений (сборник). Все такие приложения обычно умеют изменять размер картинки. Вот будет ли вам нужна программа, которая этого не умеет делать? Ну т.е. существует десяток программ, которые умеют это делать, и одна, которая не умеет. Станете ли вы вообще рассматривать последнюю? Вряд ли. Разве что в том случае, если в этой программе реализовано что-то уникальное и нужное конкретно вам. А является ли подобное основной задачей пользователей? Нет.
Во-вторых, если сделать программу с достаточным уровнем возможностей, то этот клон будет кому-то нужен? Аналоги нужны и я об этом писал в обзоре Зачем нужны аналоги?. Но "как бы". Вот вы открыли десяток приложений, которые практически ничем не отличаются друг от друга и которые решают ваши основные потребности с лихвой. Что добавит еще одно приложение?
Этим вопросом необходимо задаваться. И ответы бывают разные. Например, иногда приложения появляются для того, чтобы была возможность решать задачи собственными силами. Грубо говоря, чтобы не зависеть. И так далее.
В-третьих, если сделать программу, которая по уровню возможностей превышает достаточный уровень, то это действительно будет полезным? Самый банальный пример - это программы, в которых напихано все что только можно. Обычно такими программами крайне неудобно пользоваться. И из-за этого, со временем, пользователи начинают использовать отдельные приложения, но которые, как говорится, не пытаются "отправить космический корабль во вселенную", а решают конкретные потребности.
Еще пример. Приложение становится настолько сложным, что для того, чтобы его использовать, нужно разобраться в логике его функционирования. В данном случае, у пользователя как минимум появляется вопрос "Ему настолько нужно решить свою задачу, что он будет разбираться, или же нет? Или может использовать более простые аналоги, но в которых он быстрее разберется?".
При чем порой это не вопрос лени или чего-то подобного, а разумности и рациональности. Тратить несколько часов для изучения особенностей (включая сленг, терминологию и т.п.), чтобы потом за 5 минут решить вопрос. Или использовать более простые аналоги и решить вопрос за один час (может и менее качественно, но зато быстрее).
Ну и тот же пример с архиватором. После определенного уровня возможностей программы, будут ли другие функции программы нужны кому-либо?
Существуют и иные моменты, но, вероятно, читатель начал понимать суть.
Так же вам может быть интересен обзор Почему не все вещи стоит автоматизировать?
Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!
☕ Понравился обзор? Поделитесь с друзьями!