Как стать автором
Обновить

Комментарии 16

Я, как пользователь, предпочту чтобы разработчик портатил лишние часы на улучшение функциональности и лучше юзабилити, чем на уменьшение размера.

Если у меня будет выбор - программа занимает мег и имеет убогие иконки в 16 на 16, или программа занимает 100 мегов и имеет красивые полноцвентные иконки - я выберу второе.
И уж думаю 90% усредненных пользователей так же.
Ибо 100 лишних мегов я даже и не замечу (0,02 процента места которым я обладаю), а вот иконки мне видеть по нескольку раз на дню.
речь не о некрасивых иконках, а о кривом их добавлении в проект. К примеру создатели случайно подключили их несколько раз. Или добавили где-то инструкции увеличивающие время выполнения работы программы.
Просто любую вещь можно сделать хорошо, а можно так чтобы "так сошло"... К сожалению часто как раз "так сходит".
Эээ...я не видел не одного из популярных проектов в котором было что-то сделанно случайно. Вот возьмем тотже Microsoft Money - что там по вашему положили случайно?


Я конечно зуб не дам, но думаю что существенно уменьшить без потери функциональности размер нельзя.

И еще раз повторюсь - если создателю проще положить иконки несколько раз, а не думать над тем как их положить один раз - то пускай не думает. А думает над тем как улучшить функционаьность.
к примеру часто видимая для пользователя одна программа - на самом деле набор из нескольких взаимодействующих друг с другом програм. В этом случае разработчики могут общую для всех программ функциональность вложить в библиотеку. Это значительно экономит общий размер, и хм является правильным отношением к информации, которая не должна дублироваться.
Если разработчики использовали множество разных иконок или других ресурсов - часто оптимально их паковать, кроме того многие вкладывают их в программы. Так вот это тоже можно сделать так чтобы размер программы многократно вырастет ( просто по халатности программиста, а не по реальной необходимости - это пример из реального опыта когда по неопытности в теле программы все иконки были продублированы несколько раз, из-за чего программа выросла с 6 до 30Мб).

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

насчет популярных проектов - ничего сказать не могу, просто хоть убейте не могу понять как программа может занимать такой объем памяти. Программного кода в ней врядли больше 10 Мегабайт... а в 100 мегабайт иконок поверить мне как-то сложно.
Вот только не нужно оптимально паковать - я вас прошу! И как пользователь, и как разработчик. Потом время запуска программы увеличивается - оно мне нужно?

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

Не от хорошией жизни введены манифесты под вистой. И рекомендация все длл-ки нужные для программы класть рядом с ней.

А по поводу визуал маней, как человек наблюдавший тут как к маленькой программе писался не большой хелп(каких-то 10 скриншотово, маленький обучающий видеоролик, ну килобайт 20 текста) и все это помноженное на 18 языков - скажу следующие - упехнуть в 100 мегов все это - это верх совершенства.
/me поперхнулся чаем

да при таких исходных данных согласен.
Кстати, там есть хороший пример по поводу оптимизации.

Видео ролик можно пожать в divX при этом мы экономим до 30% места от всего хелпа, постаить кодек пользователю.
Но вот вопрос - без спросу ставить не кошерно, српшивать - так 90% пользователей слова такого "кодек" не знают, потенциальных проблем (которые сложно диагносцируются) тоже дофика.
Нет уж...пускай будет в RLE пожатом AVI. И пофиг на место.
мда.. вот почему я сижу на линуксе. Что понадобилось - то и ставлю. Нужен хелп - качаю хелп. Длл-хела нету ибо все библиотеки прописывают свою версию, да и лежат все в одном месте.

впрочем к нашей теме это отношения не имеет.
вы просто не обычный "среднестатистический" пользователь. и почему-то не пытаетесь посмотреть на мир глазами такого пользователя...
я смотрел на мир глазами обычного пользователя. Что бы удовлетворить его программа умела работать как на винде так и на маке. была маленькой и быстрой. Обладала встроенной документацией, с картинками. 32х битные PNG иконки поддерживающие альфа каналы и другие прелести, были разработаны в одном едином стиле дизайн студией для нас. Для решения некоторых проблем со скоростью и неудобством канвасов на Qt3 - они были полностью переписаны и заточены под наши нужны. Чтобы пользователю не пришлось ждать линию пару секунд при некоторых действиях. Все это работало быстро и весило мало. Я уверен что к каждой программе можно приложить какие-то усилия чтобы сделать ее лучше.
Ну тут собсно никто и не спорит. Но пользователю современного ПК глубоко фиолетово весит программа 30 мегабайт или 6. Ему не пофиг как она работает (скорость, безглючность) и как при этом выглядит. И вот у вас есть сжатые сроки выпуск программы - т.е. нет времени/денег на то чтобы сделать все-все-все - вот тогда и приходится выбирать. К тому же у вас указаны конкретные программы и вы говорите, что они безосновательно раздуты в размере. Но кроме сего утверждения вы не даете никаких данных почему безосновательно. Вот с чего вы взяли, что программы раздуты безосновательно??
Я серьезно не представляю что можно уместить в 117 мегабайт кода? ядро операционной системы?
Может так конечно хелпы и видеоуроки. Но позвольте мне, пользователю самому нажать на кнопку хелп, зайти на сайт и скачать/посмотреть их.
позволяю. но только вы опять не пользователь. вы разработчик или опытный пользователь с широченным каналом интернета. меж тем до сих пор существует дайлап. и до сих пор существует большое множество компов не подключенных к сети вообще, либо с крайне дорогим трафиком.
Не совсем так. Ставишь одно — оно говорит, что требует другого (хорошо, если говорит, а не приходится выискивать эту информацию по форумам). Поставил то — оно опять зависит от чего-то ещё. И так далее. Причём вполне естественно может быть, что зависеть-то оно зависит, но в данном конкретном случае может никогда не использовать и успешно работать и без зависимости. А гуано всё равно накапливается. Что в одной ОС, что в другой.

В общем и целом, не стоит это всё особых забот и связанных с этим усложнения программ и удорожания разработки.
То, что вы описали, может относиться к программам, поставляемым в оффлайне, либо к пользователям безлимитного Интернета с хорошей скоростью. Как показывает практика, если у людей с ограниченным Интернетом встает вопрос "качать 1 Мб или 100 Мб", то они выбирают первый вариант.
Мне самому приятно юзать крохотные программы, которые мало памяти кушают, где все почищено. Сам когда десктопные приложения писал пытался все минимизировать. Но если продукт коммерческий, сроки сжатые там уже не до этого. Иногда минимизация в крупных продуктах может обернуться проблемами у некоторых пользователей.

Единственное, с чем слогласен - нужно оптимизировать программы, которые постоянно находятся в памяти. Взял себе пару лет назад блутус комплект мышь + клаву Logitech MX5000 и +512Мб памяти (стал гиг). После установки драйверов разницы в производительности почти не было. Ставилась куча сервисов, SetPoint прилично памяти хавал, при этом еще и глючил. Так что сейчас без драйверов юзаю.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории