28 5 / 2011
REDMINE > 2 месяца, полет нормальный
«Само по себе хорошо не бывает,
само по себе бывает только плохо».
Андрей Жинжер

Теперь можно сказать с уверенностью, что мой проект по внедрению системы управления проектами Redmine оказался успешным. Успешным даже более, чем я мог себе представить.
С некоторых пор одной диаграммы Ганта и полуонлайнового прожект-менеджера для управления проектами стало не хватать. Специфика создания программных продуктов, в частности веб-ресурсов, заключается в постоянной необходимости проведения мелких ошибок и доработок, багов. Любой проект (подпроект) обрастает ими как сентябрьская яблоня в урожайный год.
Они могут быть как самодостаточными, когда от них не зависят остальные баги и задачи, так и достаточно серьезными, когда от них могут зависеть подпроекты и даже проекты, в целом. Для обработки подобных задач есть специальные менеджеры под названием баг-трекеры.
Redmine — почти единственный прожект-менеджер с хорошим встроенным баг-трекером. Сама программа — серверное приложение на «рельсе», фреймворке Rubi on Rails.
Естественно, пришлось повозится, но результат уже двухмесячного использования вполне меня устраивает, мы перевели на его управление все самые сложные и ответственные проекты.
Вы можете задать мне вопросы по его использованию,
пишите на ginger {на} gingerwebsolutions.com
Permalink 14 notes
12 5 / 2011
Постпродакшн фотосессий для FORBES Russia

FORBES ставит наши иллюстрации без правок, настолько качественный у нас постпродакшн.
12 5 / 2011
Новая фотосессия для Антона Винера
Новая фотосессия всех блюд сети кафе Антона Винера «Урюк». Более 100 блюд, более 1000 снимков. Скоро на www.gingerwebsolutions.com
11 1 / 2011
Мы родили искусственный интеллект :)
Процесс подгрузки логотипа (и еще кое-какой корректировки форматирования внешнего вида) в нашем новом проекте (в зависимости от платформы, браузера и разрешения клиентского монитора) доведен до состояния искусственного интеллекта :)
Страшное дело: логика стала пугающе самостоятельной.
OMFG!
11 1 / 2011
Как посмотреть сайт в нашем «любимом» IE6?

Существует масса сервисов для просмотра, создания скриншотов в различных браузерах. Они стараются произвести на молодых веб-разработчиков впечатление количеством доступных браузеров и функций.
Я считаю, что в идеале браузер должен запускаться на машине. Да, именно запускаться, а не эмулироваться какими то «умными» способами. Вам нужен в чистом виде оригинальный 6-й «осел» со всеми его «коленцами».
Как же можно запустить IE6, когда у вас уже снабдили на платформе Windows IE7 как минимум? (Если я не ошибаюсь, то начиная с Win XP SP3 Microsoft, поплевывая свысока на дух антимонопольного законодательства, вруливает свое браузеро-чудовище 7-й версии.)

Был такой проект Xenocode, там предлагалось скачать исполняемый файл, который запускал на вашей машине любую версию IE, не зависимо от установленной.
Теперь проект закрыт, стоит редирект на другой сайт с другими приложениями. Браузеры там тоже есть, но старых нет.
Но не все так плохо. Специально для вас я сохранил этот милый файлик http://www.megaupload.com/?d=B8YIG66N Всего 13 метров.
Это хорошее решение, правда, с кешем не всегда у него здорово, для таких случаев есть решение от производителя под названием Microsoft Expression SuperPreview.
Бесплатно можно скачать только пробную версию (вы то, наверно, думали, что Microsoft будет бесплатно помогать вам вылавливать баги своего уродского детеныша? Как бы не так!).
Удачи :)
Permalink 1 note
03 1 / 2011
Примеры кода редиректа для iPad, iPhone и Blackberry
Для ифона и ипада вместе:
<script type=“text/javascript”> if ((navigator.userAgent.indexOf(‘iPhone’) != -1) || (navigator.userAgent.indexOf(‘iPod’) != -1)) { document.location = “http://www.scottrockers.com/iphone.html”; }</script>
Токма для ипада:
<script type=“text/javascript”> if ( (navigator.userAgent.indexOf(‘iPad’) != -1)) { document.location = “http://www.scottrockers.com/iphone.html”; }</script>
Для мобильных устройств на BlackBerry:
<script type=“text/javascript”> if ((navigator.userAgent.indexOf(‘BlackBerry’) != -1) ) { document.location = “http://www.yourwebsitename.com/yourwebpagename.html”; }</script>
03 1 / 2011
Дело Internet Explorer 6 цветет и пахнет: iPad как новый источник головной боли от Apple

«Паны дерутся, а у холопов чубы трещат.»
Украинская поговорка.
Исключительно для удобства своих пользователей компания Apple решила прекратить поддержку технологии Flash от Adobe. Стив не хочет пускать на свой рынок мобильных приложений чужаков. Это вполне понятно.
Не понятно другое: как могла компания позиционирующая себя Большим Другом в одночасье послать в жопу всех своих пользователей? Ведь на flash сделана большая часть анимации в интернете, это основной инструмент внедрения видео в HTML.
Стива не очень заботит как будут решать эти проблемы люди с «яблочными» мобильными устройствами, главное — БАБЛО.
Куда же делась вся клиентоориентированность, забота о покупателях? Оказывается, что все это ложь, прикрытие беспринципной алчности Apple.
Мало нам аудитории, снабженной усилиями Microsoft браузером 10-летней давности, так еще и Apple снабжает аудиторию своими кривыми поделками. Скоро придется писать по 5 версий каждого сайта: для неандертальцев с IE6, для прогрессивной «яблочной» общественности с iPad, парочку мобильных версий для всех операционок и одну версию для «нормальных» современных браузеров.
03 1 / 2011
Как расположить горизонтально CSS-кнопки?

А в чем вопрос? Любой HTML+CSS верстальщик превосходно знает, что для того чтобы расположить элементы горизонтально есть, как минимум, решение базирующееся на создании списка
<ul>
<li>
item1
</li>
<li>
item2
</li>
<li>
item3
</li>
</ul>
Извините, это не WordPress и подсветки цитат кода в Тумблере нет; он даже табуляции не показывает :(
Потом список упаковывается в div со следующим определением горизонтального расположения элементов списка (в данном случае я использую селектор smartnav):
#smartnav ul li {
display:inline-block;
}
Вопрос решен. Да. А если вам надо горизонтально вывести CSS-кнопки у которых при наведении должен меняться фон? Фон кнопки больше фона текстовой ссылки и для его отображения необходимо использовать определение display: block, т.е. делать из нее кнопку с фоном.
Но у нас уже есть display:inline-block за счет которого наши кнопки выстраиваются горизонтально. Что делать?
Достаточно добавить «прокладку» в виде span, заключив в нее текст ссылки. Определить display:block для span, оставив display:inline-block для элемента списка li.
В итоге получим:
#smartnav {
/*здесь вы задаете форматирование всего блока с кнопками*/
}
#smartnav ul li {
display:inline-block; /*определение вывода кнопок горизонтально через элементы списка*/
}
#smartnav ul li span a:link, #smartnav ul li span a:visited {
display:block; /*определение вывода ссылок блоком*/
background-image: url(img/index/smart-nav-bg-regular.gif); /* фон без наведения указателя мыши*/
}
#smartnav ul li span a:hover, #smartnav ul li span a:active {
background-image: url(img/index/smart-nav-bg-over.gif);
/* фон при наведении указателя мыши*/}
Чтобы вас не грузить я опустил в листинге определения не имеющие отношения к теме.
31 12 / 2010
Красота по-итальянски или рекламная кампания Acqua di gioia на GiorgioArmaniBeauty.com

Выше приведен скриншот рекламной кампании с сайта http://www.giorgioarmanibeauty.com на мониторе с разрешением 1280х1024 пикселя. Браузер Google ChromePlus 1.5.1.1
Черная полоса внизу не элемент дизайна, а просто фоновая картинка, которую поленились подгрузить в соответствующем разрешении. В итоге лично мне совершенно не ясно за что платились деньги людям, создававшим этот сайт.
Понятно, что подгружать фоновые картинки исходя из разрешения монитора это головная боль. Для того, чтобы максимально качественно это сделать придется грузить разные картинки для разных групп форматов и размеров мониторов. Но это если вы, действительно, хотите все сделать на высшем уровне (например как у Суховой http://sofyasukhova.ru/) чтобы иллюстрации не «пикселили» и смотрелись пропорционально.
А если просто надо слобать что то, то достаточно влепить фоновую картинку низкого разрешения и фиксированного размера как сделали авторы сайта рекламной кампании Armani.
Не понятно зачем тратить столько денег на ролик чтобы потом его показывать таким образом.
p.s. Я уж не говорю что на иллюстрации у модели совершенно не естественная поза: такое ощущение, что ей свернули голову, а потом сфотографировали труп.
