JavaScript Image Optimiser (JSIO)

So, I’ve embarked on a new mini project. It is kind of inspired by image sprites.

Image sprites are a great idea, but come with a whole bunch of issues that make them a bit of a pain to work with.

Firstly, most of the time you have to use markup to create an element in html to “hold” the image you wanted to display from your sprite. This is because if you actually set a sprite as the background image for a large html element you’re likely to see other images in the sprite as well. Because of this, you actually lose useful functionality that CSS gives you, like the ability to position, repeat and scale an image. Also, the markup you’ve created to hold the image exists for style purposes, which is bad.

Secondly, sprites can be a massive ball ache to maintain. If you’ve closely packed your images in a sprite for maximum efficiency and then one of your images needs to change size, you’re either going to have to move ALL images surrounding the image you have to update (and obviously then change all background-position properties for the images you’ve moved) or leave a space and put the updated image in a new position in your sprite.

How do you know which images in a sprite are used and which ones are dead? Since your images are referenced by coordinates, this sort of clean up becomes a nightmare and is actually a bit lot of a nightmare to create image sprites in the first place.

The goals of the project are to

  1. Reduce the number of http requests (and their associated header traffic) to the server and hence reduce the time it takes to load all images on a website and bandwidth footprint the site requires
  2. Create a solution that’ll alleviate some of the problems surrounding the creation and use of image sprites
  3. Do something cool

The JSIO project website has a pretty good explanation of how it works so I won’t bore you with the details here. However, as a brief overview, it packages all your image data in data uri format and you reference particular images by their filename rather than their coordinates.

The site actually uses the HTML5 file api to generate your resources file for you, which makes creating and maintaining your JSIO “sprite” really really easy.

I read *somewhere* that data uri encoded images can be up to 1/3 larger than corresponding image files, however with gzip encoding they can be only 0-3% larger (or less). My thesis is that for a site with many small images, JSIO could be more efficient and easier to maintain than having separate files or even an image sprite.

…I’m yet to prove or disprove this and I’ll be conducting some tests whose results I’ll post up here (even if they do prove JSIO to be useless).

Disclaimer: This is the first ever ALPHA release of JSIO – it works on the latest Firefox and Chrome but I haven’t even checked it in IE yet. It probably won’t work in IE yet. Also, the website needs some work for optimal display on mobile devices.

3,929 thoughts on “JavaScript Image Optimiser (JSIO)

  1. Объём шеринговой экономики в России достиг 1 трлн рублей и демонстрирует устойчивый рост. Тулбокс закрепился в этом сегменте с форматом проката инструмента через постаматы — без персонала, без залога и лишних формальностей. Клиент берёт дрель или пылесос через приложение в боксе у «Пятёрочки» или ПВЗ рядом с домом. Подробности партнёрства — на https://biz.tlbx.ru/ — инвестиции от 3 млн рублей с окупаемостью 18–24 месяца. Компания развёрнута в трёх крупных городах и открыта для партнёров готовых запустить сервис на своей территории.

  2. В этой публикации мы сосредоточимся на интересных аспектах одной из самых актуальных тем современности. Совмещая факты и мнения экспертов мы создадим полное представление о предмете которое будет полезно как новичкам так и тем кто глубоко изучает вопрос. Это стоит прочитать полностью – наркологическая помощь на дому

  3. Ребята сегодня заказал 5 грамм CHM-100 продавец в асе не отвечает после перевода денег шляпа какая то прошу отписать у кого так же было купить кокаин мефедрон бошки марихуану значит ты чо то намутил а вещество я заказывал в этом магазе норм для RCS естественноребятки так жержать уровень достойный

  4. Hello its nice post concerning media print we all be aware of media is a enormous source of facts. desi mms porn

  5. «Український оглядач» последовательно реализует редакционный принцип — оглядаємо, аналізуємо, висловлюємо думку — и охватывает Украину, мир, политику, экономику, криминал и бизнес с экспертной подачей без размытых формулировок. Авторы издания расследуют коррупционные механизмы и готовят предметную аналитику с опорой на верифицированные данные и доказательную фактуру. Читайте независимую аналитику на https://obozrevatel.org/ — украинский медиаресурс для аудитории ценящей глубину анализа и честную журналистскую позицию. Технологии, культура и здоровье дополняют повестку и делают издание многопрофильным источником для широкого круга читателей.

  6. CryoOne специализируется на производстве азотных криокапсул российского производства для beauty-бизнеса, спортивных центров и восстановительной медицины. Оборудование окупается за 6 месяцев, не требует медицинской лицензии и генерирует стабильный поток клиентов за счёт WOW-эффекта процедуры. На https://cryoone.ru/ представлены четыре комплектации — Standard, Business, Pro и Comfort — с гарантией 24 месяца и бесплатными доставкой, монтажом и обучением. Каждая капсула поставляется с сосудом Дьюара в комплекте, и производитель гарантирует лучшую цену на рынке.

  7. rent condo singapore Verified Escorts in Amsterdam landed property transaction price singapore

  8. Ищете термочехлы? Посетите сайт vztm.ru — это Воткинский Завод Теплоизоляционных Материалов (ВЗТМ), который производит системы теплоизоляции из базальтового (минерального) супер-тонкого волокна. Изделия завода применяются на предприятиях энергетики, в оборонной отрасли, нефтегазовом секторе, а также в гражданском и промышленном строительстве. Ознакомьтесь с нашим каталогом товаров и географией поставок. В процессе изготовления применяются передовые уникальные технологии, что гарантирует стабильно высокое качество каждого изделия.

  9. Информационное агентство POLITEKA охватывает политику, экономику, общество, культуру и криминал с прямой редакционной позицией и без лишних оговорок. Авторы агентства анализируют глобальные технологические сдвиги, военные эскалации и экономические механизмы опираясь на первичные источники и документальную базу. Получайте независимую аналитику на https://politeka.org/ — украинское информационное агентство для аудитории требующей глубокого и честного осмысления событий. Тематические статьи и детальные экспертные разборы органично усиливают новостную ленту и формируют из портала многопрофильный медиаинструмент для разноплановой аудитории.

  10. Даменя тожезаказал вчера тут 203-госегодня жду трека https://ilim-vesti.ru в порядке возрастания.Думать тут остается только одно: хуйня какая то происходит непонятная…

  11. WOW just what I was looking for. Came here by searching for meta_keyword f1nn5ter and vlad porn

  12. комплексная поисковая оптимизация продвижение сайтов комплексная поисковая оптимизация продвижение сайтов

  13. Hello Do you know if they make any plugins to assist with SEO? Im trying to get my blog to rank for some targeted keywords but Im not seeing very good success. If you know of any please share. Thanks london asian escort

  14. Плохого и не слышал Ребятке во всех дела достойно поступают купить кокаин мефедрон бошки марихуану Магазин не работает по выходными и праздникаммагаз самый ровный и со сладкими ценами

  15. Эта статья сочетает познавательный и занимательный контент что делает ее идеальной для любителей глубоких исследований. Мы рассмотрим увлекательные аспекты различных тем и предоставим вам новые знания которые могут оказаться полезными в будущем. Кликни не пожалеешь – вывод из запоя

  16. My partner and I absolutely love your blog and find the majority of your posts to be what precisely Im looking for. Does one offer guest writers to write content for you? I wouldnt mind producing a post or elaborating on a few of the subjects you write with regards to here. Again awesome site бонус Banda Casino

  17. Excellent post. Keep writing such kind of info on your page. Im really impressed by your site. Hello there Youve done an incredible job. I will certainly digg it and individually suggest to my friends. I am sure theyll be benefited from this website. real daughter porn

  18. Дабы не быть голословным: № заказа 1000707. 10г ам2233. Делал 1 к 7. Эффект болезненный. Все выброшено. Верни деньги ТС или пришли нормальный ам https://skopera.ru пробвал уже…Есть в липецке

  19. I loved as much as you will receive carried out right here. The sketch is tasteful your authored subject matter stylish. nonetheless you command get got an impatience over that you wish be delivering the following. unwell unquestionably come further formerly again since exactly the same nearly a lot often inside case you shield this increase. bktr.ru

  20. Admiring the commitment you put into your blog and in depth information you present. Its nice to come across a blog every once in a while that isnt the same out of date rehashed material. Great read Ive saved your site and Im adding your RSS feeds to my Google account. diva escort london

  21. buying commercial property singapore escorts jackson mississippi where to buy property in singapore

  22. Искать пришлось часа два Фото не понятное было. Но нашёл всё таки. Забрал 1г ск крисов. Качество супер. Тёлка визжит просто Спасибо https://carprice152.ru К магазину никаких нареканий быстро появился на форуме и развеял этот- дешевый развод.будут денежки возьму тут что нибудь дымящиеся.заказ делал на человека который вообще не в теме и был чистый поэтому меняйте для начала хотя бы курьерку и курьеров..

  23. This is my first time pay a quick visit at here and i am in fact pleassant to read all at single place. paleseafoam leaked porn

  24. Отличный магаз купить мефедрон скорость кокс Огромное спасибо данному магазину успехов вработе и процветания?Всем привет данной ветки:hello: История токова…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>