<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>pieroxy.netdesign</title>
    <link>https://pieroxy.net/blog/tags/design/</link>
    <description>tech, dev, web &amp; other stuff</description>
    <language>en</language>
    <copyright>Pieroxy</copyright>
    <pubDate>Thu, 25 Aug 2022 14:06:00 GMT</pubDate>
    <dc:creator>Pieroxy</dc:creator>
    <dc:date>2022-08-25T14:06:00Z</dc:date>
    <dc:language>en</dc:language>
    <dc:rights>Pieroxy</dc:rights>
    <image>
      <title>pieroxy.netdesign</title>
      <url>https://pieroxy.net/blog/tags/design/</url>
    </image>
    <item>
      <title>Remote real time computer monitoring</title>
      <link>https://pieroxy.net/blog/2021/07/26/1627364880000.html</link>
      <content:encoded>&lt;img style="max-width:50%;float:left;margin-right:20px;margin-bottom:20px" src="https://pieroxy.net/conkw/screenshots-doc/logo-black-400.png"&gt;

&lt;p&gt;&lt;a href="https://github.com/pieroxy/conkw/"&gt;Conkw&lt;/a&gt; is a new project I've been working on for a few month. It stands for web-based Conky.

&lt;p&gt;Just like Conky, it is aimed at hobbyists that want a small dashboard where their most essential data is displayed. CPU, temperature, fan speeds, but also the weather forecast, stock market, latest emails received, etc.

&lt;p&gt;Unlike conky, the metrics are exposed through a REST API and there is a HTML UI to display your stuff on any browser. The goal is to find some use to the old ipads/tablets/laptops we all have lying around. You can put them next to your screen and have your metrics displayed there, with no real estate consumed from your screens. The UI has been properly prepared to run on old browsers.

&lt;p&gt;The very nature of the web based architecture allows a conkw running on a machine to send all of its metrics to another central one for instance. So it is right out of the box ready to monitor a large park of machines, all reporting to one or more central instances.

&lt;p&gt;It is also very lightweight to deploy as it stores nothing, it is real time! As such, one other way of using it is to gather all of your monitoring data through one instance, and have all that data exported to grafana, graphite or any other monitoring system that stores data.

&lt;p&gt;Hop on &lt;a href="https://github.com/pieroxy/conkw/"&gt;the github&lt;/a&gt; for more details.</content:encoded>
      <category domain="https://pieroxy.net/blog/categories/web-design/">Web Design</category>
      <category domain="https://pieroxy.net/blog/categories/javascript/">JavaScript</category>
      <category domain="https://pieroxy.net/blog/categories/general-rambling/">General rambling</category>
      <category domain="https://pieroxy.net/blog/tags/design/">design</category>
      <category domain="https://pieroxy.net/blog/tags/javascript/">javascript</category>
      <category domain="https://pieroxy.net/blog/tags/monitoring/">monitoring</category>
      <category domain="https://pieroxy.net/blog/tags/realtime/">realtime</category>
      <category domain="https://pieroxy.net/blog/tags/remote/">remote</category>
      <category domain="https://pieroxy.net/blog/tags/web/">web</category>
      <pubDate>Tue, 27 Jul 2021 05:48:00 GMT</pubDate>
      <guid isPermaLink="false">tag:pieroxy.net,2021-07-27:pieroxy.net/1627364880000</guid>
      <dc:date>2021-07-27T05:48:00Z</dc:date>
    </item>
    <item>
      <title>Apple is so great</title>
      <link>https://pieroxy.net/blog/2020/04/24/1587713340000.html</link>
      <content:encoded>&lt;img class="w320" src="https://pieroxy.net/images/apple.png"&gt;
&lt;p&gt;Apple invented the personal computer with the Apple II, igniting the personal computer revolution. Apple is unique in that regard.

&lt;p&gt;Apple made the mouse ubiquitous and popular, as well as the GUI. That's goundbreaking.

&lt;p&gt;Apple changed &lt;i&gt;twice&lt;/i&gt; of CPU architecture (68k -&amp;gt; PPC -&amp;gt; x86) in their computers, maintaining backward compatibility. That's no small feat.

&lt;p&gt;Apple invented what we know today as being a smartphone. "The smartphone revolution". That was Apple starting it.

&lt;p&gt;Apple introduced tablets and is arguably the biggest tablet manufacturer in the world. In fact, it produces one third of all tablets produced. Wow!

&lt;p&gt;No other company has that track record.

&lt;p&gt;Yet, Apple, to this day, still fails at making available to devs the number of pixels available for a webpage. CSS doesn't know. JavaScript doesn't know. HTML doesn't know. There is no way.

&lt;p&gt;No other company has that track record indeed.</content:encoded>
      <category domain="https://pieroxy.net/blog/categories/css/">CSS</category>
      <category domain="https://pieroxy.net/blog/categories/web-design/">Web Design</category>
      <category domain="https://pieroxy.net/blog/categories/iphone/">iPhone and iOS</category>
      <category domain="https://pieroxy.net/blog/categories/javascript/">JavaScript</category>
      <category domain="https://pieroxy.net/blog/categories/html/">html</category>
      <category domain="https://pieroxy.net/blog/categories/general-rambling/">General rambling</category>
      <category domain="https://pieroxy.net/blog/tags/apple/">apple</category>
      <category domain="https://pieroxy.net/blog/tags/css/">css</category>
      <category domain="https://pieroxy.net/blog/tags/design/">design</category>
      <category domain="https://pieroxy.net/blog/tags/html/">html</category>
      <category domain="https://pieroxy.net/blog/tags/ios/">ios</category>
      <category domain="https://pieroxy.net/blog/tags/ipad/">ipad</category>
      <category domain="https://pieroxy.net/blog/tags/iphone/">iphone</category>
      <category domain="https://pieroxy.net/blog/tags/javascript/">javascript</category>
      <category domain="https://pieroxy.net/blog/tags/web/">web</category>
      <pubDate>Fri, 24 Apr 2020 07:29:00 GMT</pubDate>
      <guid isPermaLink="false">tag:pieroxy.net,2020-04-24:pieroxy.net/1587713340000</guid>
      <dc:date>2020-04-24T07:29:00Z</dc:date>
    </item>
    <item>
      <title>Pure madness</title>
      <link>https://pieroxy.net/blog/2017/03/27/1490640960000.html</link>
      <content:encoded>&lt;p&gt;The other day I was waiting on a disqus blog to start up, loading the comments section. I have a 20MB/s ADSL line. I can download at 1.8 Mega Bytes per second without any issue. 

&lt;p&gt;The browser was spinning for so long that I decided to hit F12 in Firefox and headed for the "Network" tab. I hit F5 at that stage.

&lt;p&gt;When everything was finished loading I could read: 
&lt;pre&gt;340 requests, 7 557,42 KB&lt;/pre&gt;

&lt;p&gt;Granted, the content was available way before everything was loaded. But still. 7 Megabytes. 340 requests... This is &lt;b&gt;PURE MADNESS!&lt;/b&gt;

&lt;p&gt;Then again, buzzfeed.com's  home page:
&lt;pre&gt;223 requests, 9 382,25 KB&lt;/pre&gt;

&lt;p&gt;Ok, ok, this is buzzfeed. Let's go to the nytimes.com.
&lt;pre&gt;283 requests, 8 158,95 KB&lt;/pre&gt;

&lt;p&gt;The biggest page of the website I'm currently working on shows:
&lt;pre&gt;40 requests, 198,45 KB&lt;/pre&gt;

&lt;p&gt;Out of these, there are 32 images that come out of a DB. And I find that too high and am trying to reduce it.

&lt;p&gt;This. Is. Madness... Pure madness. But it seems to be the web today.

&lt;p&gt;The good news is, on the performance front it is quite easy to get an edge. There is always an opportunity :-)</content:encoded>
      <category domain="https://pieroxy.net/blog/categories/web-design/">Web Design</category>
      <category domain="https://pieroxy.net/blog/tags/bloat/">bloat</category>
      <category domain="https://pieroxy.net/blog/tags/bullshit/">bullshit</category>
      <category domain="https://pieroxy.net/blog/tags/design/">design</category>
      <category domain="https://pieroxy.net/blog/tags/madness/">madness</category>
      <category domain="https://pieroxy.net/blog/tags/size/">size</category>
      <category domain="https://pieroxy.net/blog/tags/web/">web</category>
      <pubDate>Mon, 27 Mar 2017 18:56:00 GMT</pubDate>
      <guid isPermaLink="false">tag:pieroxy.net,2017-03-27:pieroxy.net/1490640960000</guid>
      <dc:date>2017-03-27T18:56:00Z</dc:date>
    </item>
    <item>
      <title>JPEG Compression: Is 80 the magic quality - Part 1 - the retina screens</title>
      <link>https://pieroxy.net/blog/2016/05/01/1462088700000.html</link>
      <content:encoded>&lt;style&gt;
table.ic {
display: inline-block;
background-color: white;
}
center {
display: block;
background-color: #eee;
font-style: italic;
padding: 10px;
margin:20px 0px;
}
&lt;/style&gt;
&lt;h3&gt;Foreword - encoding JPEGs&lt;/h3&gt;
How do you encode your JPEGs ?

&lt;p&gt;Let's take a concrete example. You you have a 150x150 image. You want to compress it in JPG, but which quality settings should you use? JPEG encoders usually take a quality setting as a parameter, between Q1 and Q100, where 1 is the worst quality and 100 the best.

&lt;center&gt;
An image encoded in different qualities. The legend shows the quality setting and the corresponding filesize.&lt;br&gt;
&lt;table class="ic"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="/images/articles/images_opt/486.c.150.jpg_10.jpg"&gt;&lt;tr&gt;&lt;td&gt;Q 10 - 1579B&lt;/table&gt;
&lt;table class="ic"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="/images/articles/images_opt/486.c.150.jpg_20.jpg"&gt;&lt;tr&gt;&lt;td&gt;Q 20 - 1960B&lt;/table&gt;
&lt;table class="ic"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="/images/articles/images_opt/486.c.150.jpg_30.jpg"&gt;&lt;tr&gt;&lt;td&gt;Q 30 - 2260B&lt;/table&gt;
&lt;table class="ic"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="/images/articles/images_opt/486.c.150.jpg_40.jpg"&gt;&lt;tr&gt;&lt;td&gt;Q 40 - 2513B&lt;/table&gt;
&lt;table class="ic"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="/images/articles/images_opt/486.c.150.jpg_50.jpg"&gt;&lt;tr&gt;&lt;td&gt;Q 50 - 2729B&lt;/table&gt;
&lt;table class="ic"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="/images/articles/images_opt/486.c.150.jpg_60.jpg"&gt;&lt;tr&gt;&lt;td&gt;Q 60 - 2973B&lt;/table&gt;
&lt;table class="ic"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="/images/articles/images_opt/486.c.150.jpg_70.jpg"&gt;&lt;tr&gt;&lt;td&gt;Q 70 - 3308B&lt;/table&gt;
&lt;table class="ic"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="/images/articles/images_opt/486.c.150.jpg_80.jpg"&gt;&lt;tr&gt;&lt;td&gt;Q 80 - 3826B&lt;/table&gt;
&lt;table class="ic"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="/images/articles/images_opt/486.c.150.jpg_90.jpg"&gt;&lt;tr&gt;&lt;td&gt;Q 90 - 4939B&lt;/table&gt;
&lt;table class="ic"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="/images/articles/images_opt/486.c.150.jpg_100.jpg"&gt;&lt;tr&gt;&lt;td&gt;Q 100 - 32KB&lt;/table&gt;
&lt;/center&gt;

&lt;p&gt;We can see that the greater the quality, the better and bigger the image. There is clearly a compromise to be done as Q100 is clearly too big an image and the increase in filesize doesn't translate to an equivalent increase in visual quality. 80 seems a sensible choice. The filesize is 3.8KB.

&lt;p&gt;While this 80 quality settings is the most sensible, we're going to show that in some circumstances it is completely off the mark.

&lt;p&gt; In this first part, we'll focus on high density displays, aka retina screens as they were first introduced by Apple a few years ago.&lt;p class="readMore"&gt;&lt;a href="https://pieroxy.net/blog/2016/05/01/1462088700000.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;</content:encoded>
      <category domain="https://pieroxy.net/blog/categories/web-design/">Web Design</category>
      <category domain="https://pieroxy.net/blog/tags/compression/">compression</category>
      <category domain="https://pieroxy.net/blog/tags/design/">design</category>
      <category domain="https://pieroxy.net/blog/tags/image/">image</category>
      <category domain="https://pieroxy.net/blog/tags/jpeg/">jpeg</category>
      <category domain="https://pieroxy.net/blog/tags/jpg/">jpg</category>
      <category domain="https://pieroxy.net/blog/tags/web/">web</category>
      <pubDate>Sun, 01 May 2016 07:45:00 GMT</pubDate>
      <guid isPermaLink="false">tag:pieroxy.net,2016-05-01:pieroxy.net/1462088700000</guid>
      <dc:date>2016-05-01T07:45:00Z</dc:date>
    </item>
    <item>
      <title>Hamburger anyone?</title>
      <link>https://pieroxy.net/blog/2015/10/30/1446194220000.html</link>
      <content:encoded>&lt;p&gt;Under the idea of learning something new every day, I stumbled upon &lt;a href="http://deep.design/the-hamburger-menu/"&gt;a nice article depicting the flaws of the hamburger menu&lt;/a&gt;.

&lt;p&gt;And I learned a thing or two. So instead of rehashing the article here, I invite you to click the link above, leave my website and have a good read.</content:encoded>
      <category domain="https://pieroxy.net/blog/categories/web-design/">Web Design</category>
      <category domain="https://pieroxy.net/blog/tags/design/">design</category>
      <category domain="https://pieroxy.net/blog/tags/web/">web</category>
      <pubDate>Fri, 30 Oct 2015 08:37:00 GMT</pubDate>
      <guid isPermaLink="false">tag:pieroxy.net,2015-10-30:pieroxy.net/1446194220000</guid>
      <dc:date>2015-10-30T08:37:00Z</dc:date>
    </item>
    <item>
      <title>Embrace boredom</title>
      <link>https://pieroxy.net/blog/2015/03/31/1427786460000.html</link>
      <content:encoded>&lt;img class="w320" src="https://france.pieroxy.net/images/articles/external/cliparts/boredom.jpg"&gt;

&lt;p&gt;I know, I'm a programmer. And as such, everyday or so of my life for the last 20 years I've written code. Most of it has been thrown away by now, but a good chunk is still alive and kicking. And what happens to this code now? Well, from time to time someone take a look at it and try to think "how am I going to make this code do what I want it to be doing". And if this person finds an answer quickly, the code I wrote was good.

&lt;p&gt;As &lt;a href="http://mcfunley.com/choose-boring-technology"&gt;Dan McKinley puts it very well&lt;/a&gt;, the best way for this code to make things easy for other people is to be understandable at first glance. Smart and clever code doesn't meet this standard. Boring code does.

&lt;p&gt;Boring code means code that meets long-established standards. It's boring because those standards have been known for a long time and you're smart! You can do better! Yes, you can, but no, you shouldn't. Because the next person modifying your code won't have a clue about your smart idea of the day.

&lt;p&gt;In the same way, when choosing a library to answer a need you have, before jumping into the latest shiny bandwagon, ask yourself if the old and rock-stable lib everyone knows can do the job. If it can, there is probably no better choice. If and when it fails, you're more likely to have at least a few people onboard that know about that failure. When you push it to the limits, you also have experienced people that can better predict what will happen.

&lt;p&gt;The only exception to this rule is areas in which you innovate, and there should be very few of them. You can't innovate on every front. Because innovation is draining your resources: it is longer to setup, harder to pickup for newcomers, harder to fine tune, more prone to bugs which are harder to debug. Just because it's new and no one has any experience with it. So choose those areas very carefully.

&lt;p&gt;This is where the GTD (Get Things Done) should kick in. Use rock-solid and proven libs. Use rock-solid and proven patterns. You will be more likely to build a rock-solid platform that works without a glitch. And it will be faster and less expensive to build.</content:encoded>
      <category domain="https://pieroxy.net/blog/categories/general-rambling/">General rambling</category>
      <category domain="https://pieroxy.net/blog/tags/design/">design</category>
      <category domain="https://pieroxy.net/blog/tags/libraries/">libraries</category>
      <category domain="https://pieroxy.net/blog/tags/programming/">programming</category>
      <pubDate>Tue, 31 Mar 2015 07:21:00 GMT</pubDate>
      <guid isPermaLink="false">tag:pieroxy.net,2015-03-31:pieroxy.net/1427786460000</guid>
      <dc:date>2015-03-31T07:21:00Z</dc:date>
    </item>
    <item>
      <title>Chrome and Arial Narrow</title>
      <link>https://pieroxy.net/blog/2014/10/15/1413378480000.html</link>
      <content:encoded>&lt;img src="https://pieroxy.net/images/nuvola/128x128/apps/stylesheet.png" style="float: left; margin-right:20px;margin-bottom:10px;height:64px;width:64px"&gt;
&lt;p&gt;As you discovered with &lt;a href="https://pieroxy.net/blog/2014/10/11/the_quest_for_a_condensed_web_font.html"&gt;my previous entry&lt;/a&gt;, I was looking for nice condensed web fonts (read: native) for my headings. Well, I found plenty for everyone but for Chrome on Windows. Chrome issue is troublesome for me because this combination represent 30% of my traffic right now, by far outweighing other combinations of browser/OS. 

&lt;p&gt;How come I couldn't do it? I could do it with IE, Firefox on all platforms and Safari on all its platforms. Even Chrome on non-Windows platforms. It turns out that &lt;a href="http://caniuse.com/#search=font-stretch"&gt;Chrome does not support&lt;/a&gt; the &lt;span class="code"&gt;font-stretch: condensed&lt;/span&gt; CSS attribute. On other platforms, there are fonts that are condensed and can be targeted by using their name, but alas, &lt;b&gt;Arial Narrow&lt;/b&gt; is not a font you can target with Chrome (nor with Firefox), even though IE can target it. Note that &lt;b&gt;Franklin Gothic&lt;/b&gt; is in the same situation. 

&lt;p&gt;It's the first time Chrome is lagging in terms of features behind IE and Firefox (at least on something I use). 

&lt;p&gt;Let's hope Google addresses this problem as Arial Narrow is pretty much everywhere. And it's a pretty nice font, even though &lt;b&gt;Helvetica&lt;/b&gt; people have probably left my website by now.

&lt;p&gt;Edit on October 16: &lt;a href="https://code.google.com/p/chromium/issues/detail?id=410940"&gt;It is an issue with Chrome 37&lt;/a&gt;. So hopefully it'll get patched soon.
&lt;p&gt;Edit on October 21: Chrome 38 is out. This is fixed.</content:encoded>
      <category domain="https://pieroxy.net/blog/categories/css/">CSS</category>
      <category domain="https://pieroxy.net/blog/categories/web-design/">Web Design</category>
      <category domain="https://pieroxy.net/blog/categories/html/">html</category>
      <category domain="https://pieroxy.net/blog/tags/chrome/">chrome</category>
      <category domain="https://pieroxy.net/blog/tags/css/">css</category>
      <category domain="https://pieroxy.net/blog/tags/design/">design</category>
      <category domain="https://pieroxy.net/blog/tags/html/">html</category>
      <category domain="https://pieroxy.net/blog/tags/web/">web</category>
      <category domain="https://pieroxy.net/blog/tags/windows/">windows</category>
      <pubDate>Wed, 15 Oct 2014 13:08:00 GMT</pubDate>
      <guid isPermaLink="false">tag:pieroxy.net,2014-10-15:pieroxy.net/1413378480000</guid>
      <dc:date>2014-10-15T13:08:00Z</dc:date>
    </item>
    <item>
      <title>The quest for a condensed web font</title>
      <link>https://pieroxy.net/blog/2014/10/11/1413062940000.html</link>
      <content:encoded>&lt;img src="https://pieroxy.net/images/nuvola/128x128/apps/stylesheet.png" style="float: left; margin-right:20px;margin-bottom:10px;height:64px;width:64px"&gt;
&lt;p&gt;I was looking to freshen up my blog's CSS. It's that time of the year. After looking here and there, I decided I wanted a condensed font for my headings. Sans Serif. This seemed like the right thing to do.

&lt;p&gt;A condensed font is a font that is a little narrower than a regular font. For example: &lt;br&gt;&lt;img style="margin:3px; border:1px solid black;" src="https://pieroxy.net/images/articles/fonts/font-condensed.png"&gt;&lt;br&gt;
As you can see, the letters are stretched and narrower than the regular version of the font.

&lt;p&gt;I want a web safe and native font-stack because it is much lighter than a font-face (download-wise). You now see everywhere on the web that there is no point in targeting web safe fonts, because there are too few. So just use the CSS3 &lt;span class="code"&gt;@font-face&lt;/span&gt; and be done with it. Well, I don't agree with this. I still care about my mobile users and imposing them a 100kB payload just to view the headers in the font I chose is not something I think is reasonable. Plus, I like the idea that my website looks a little different on every device. Hopefully it even matches the UI of the device since its using one of the device's font. I mean, using the &lt;b&gt;Ubuntu&lt;/b&gt; font on an Ubuntu system is more likely to trigger a familiar feeling to the reader. This font is displayed in quite a few places in the OS such as the splash screen or the menus. And it seems fun.

&lt;p&gt;Of course, I want my font-stack to be cross-browser. So I looked for default fonts on all my target systems. Fortunately, in my home there are plenty of different devices: iOS, Android, Windows, MacOSX and Ubuntu (Linux). This is my target right there.

&lt;h2&gt;The Quest&lt;/h2&gt;

&lt;p&gt;On Ubuntu, there is a nice font pre-installed called &lt;b&gt;Ubuntu&lt;/b&gt;, and there is a condensed variation. In bold it looks fine. I also found a &lt;b&gt;Liberation Sans&lt;/b&gt; which also has a condensed version (called Narrow). There's a better chance of having these fonts on non-Ubuntu Linux boxes. Since I couldn't find any resource on the web telling me which fonts are preinstalled on an Ubuntu system, I made it with the fonts installed on mine. Also, testing with &lt;a href="https://saucelabs.com/"&gt;saucelabs.com&lt;/a&gt; I found that their bare Linux install has &lt;b&gt;Liberation Sans&lt;/b&gt; installed. I'll call it a day.

&lt;p&gt;Then I went to iOS, where a very nice website lists all the fonts on all the versions of iOS: &lt;a href="http://iosfonts.com/"&gt;iosfonts.com&lt;/a&gt; (best viewed on an iOS device). I found two fonts that I liked in there: &lt;b&gt;AvenirNext&lt;/b&gt; (since iOS6) and &lt;b&gt;Futura&lt;/b&gt; (since iOS3). So there I am, iOS is now covered. The extra bonus is that for old devices I will fallback to &lt;b&gt;Futura&lt;/b&gt; and all iOS devices can install iOS3, so I've pretty much covered 100% of iOS devices. Sweet.

&lt;p&gt;Then I went to Android, where there is a new font called &lt;b&gt;Roboto&lt;/b&gt; (&lt;a href="http://developer.android.com/design/style/typography.html"&gt;as you can see there&lt;/a&gt;). This is unfortunately only true for recent Android devices (how recent I don't know), but it seems to me that there was no condensed font installed before that point. Too bad. There is also something peculiar about Android font families: You cannot target &lt;span class="code"&gt;font-family: Roboto&lt;/span&gt;. This would be too simple I guess. You instead have to target a generic condensed font: &lt;span class="code"&gt;font-family: sans-serif-condensed&lt;/span&gt;. Oh well, after all what I'm looking for is a sans serif condensed font and if/when other browsers on other platforms start picking up this peculiar syntax, well, it'll give me what I want. I guess. I hope.

&lt;p&gt;I went quickly to my wife's MacBookAir, just long enough to make sure that one of my iOS fonts was installed on her Mac: &lt;b&gt;Futura&lt;/b&gt;. They also make available a list of fonts for their OS: &lt;a href="http://support.apple.com/kb/ht1642"&gt;ht1642&lt;/a&gt;. The &lt;a href="http://en.wikipedia.org/wiki/List_of_typefaces_included_with_OS_X"&gt;wikipedia page&lt;/a&gt; is much more helpful in that it has images of what the fonts look like. So I found &lt;b&gt;Helvetica Neue&lt;/b&gt; which has a nice CondensedBold version. There I was. Done for MacOSX. 

&lt;p&gt;Then I went to Windows, my least favorite platform but let's face it: The one used by the vast majority of my users. I was firmly decided to get it done quickly. More than 90% of my users come from Windows 7 or 8, so I went to the &lt;a href="http://www.microsoft.com/typography/fonts/product.aspx?PID=161"&gt;Win7 fonts page&lt;/a&gt;. And there is the real disappointment: no condensed or narrow fonts. The narrowest font I could find is &lt;b&gt;Trebuchet MS&lt;/b&gt;, the font I was already using for my headings. Disappointed. Very much so. So I thought that most users having Windows have Microsoft Office. I then stumbled on this page: 
&lt;a href="http://www.microsoft.com/typography/fonts/product.aspx?PID=163"&gt;Fonts supplied with Office 2010&lt;/a&gt;. There I got plenty of interesting fonts. Unfortunately, I tested this on my son's Windows 8 laptop with Office 2013, but most of the fonts listed weren't even installed. Too bad. 

&lt;p&gt;Then, wandering on the fringes of the interwebs, I stumbled on &lt;a href="http://cssfontstack.com/"&gt;cssfontstack.com&lt;/a&gt; where I discovered a few things:
&lt;ul&gt;&lt;li&gt;There is a font called &lt;b&gt;Arial Narrow&lt;/b&gt;. It works on my ubuntu even though it's not even on the installed fonts list!! Let me try that on windows... Well, things are complicated. On IE, you can target it fine either by putting &lt;b&gt;Arial Narrow&lt;/b&gt; or by targeting &lt;b&gt;Arial&lt;/b&gt; and specifying &lt;span class="code"&gt;font-stretch: condensed&lt;/span&gt;. Firefox only goes with the &lt;span class="code"&gt;font-stretch: condensed&lt;/span&gt; and &lt;b&gt;Arial&lt;/b&gt;. Chrome as well (doesn't work on Chrome 37 though). So I'll put it with both forms as a fallback.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Franklin Gothic Demi Cond&lt;/b&gt; seems to work on Windows and looks a lot nicer than &lt;b&gt;Arial Narrow&lt;/b&gt;. Firefox and Chrome let me use the &lt;span class="code"&gt;font-stretch: condensed&lt;/span&gt; modifier which does the job on &lt;b&gt;Franklin Gothic&lt;/b&gt;. With IE, it works both ways. Unfortunately, I've found a few systems with &lt;b&gt;Arial Narrow&lt;/b&gt; which don't have &lt;b&gt;Franklin Gothic Demi Cond&lt;/b&gt;, so I cannot target it for Firefox/Chrome or else Firefox will just display &lt;b&gt;Franklin Gothic&lt;/b&gt;, not the condensed version on those systems.&lt;/li&gt;
&lt;li&gt;Both these fonts are installed with Office, none are on a bare Windows install. Furthermore, to target &lt;b&gt;Arial Narrow&lt;/b&gt; for Firefox and Chrome, you &lt;i&gt;need&lt;/i&gt; to target &lt;b&gt;Arial&lt;/b&gt; with a &lt;span class="code"&gt;font-stretch: condensed&lt;/span&gt;. Hence, whether &lt;b&gt;Arial Narrow&lt;/b&gt; is installed or not, &lt;b&gt;Arial&lt;/b&gt; will be targeted and your font stack stops right there, because this is such an ubiquitous font. Since most Windows users have MS Office, I will still try to target it. And the rest of them will see &lt;b&gt;Arial&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;The Results&lt;/h2&gt;

&lt;p&gt;Here are my results so far:
&lt;div class="code"&gt;h1 {
  font-family: /*iOS*/"AvenirNextCondensed-Bold", "Futura-CondensedExtraBold", /*MacOSX*/HelveticaNeue-CondensedBold, /*Ubuntu*/ "Ubuntu Condensed", "Liberation Sans Narrow",  /*Windows*/"Franklin Gothic Demi Cond", "Arial Narrow", /*Android*/sans-serif-condensed, /*Fallback*/Arial, "Trebuchet MS", "Lucida Grande", Tahoma, Verdana, sans-serif;
  font-stretch: condensed;
}
&lt;/div&gt;
&lt;p&gt;Since most of the fonts I found do please me, I listed them in no particular order, except for
&lt;ol&gt;
&lt;li&gt;My old fonts are at the last position as a last resort fallback.&lt;/li&gt;
&lt;li&gt;Android's declaration seems a little too generic for me, so I put is just before the fallback fonts in case some future version of browsers start interpreting it giving me unexpected results.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;Final thoughts&lt;/h2&gt;
Finally, I've got a few surprises in my quest.
&lt;ul&gt;
&lt;li&gt;iOS and MacOS are much more polished environments than the rest and finding nice fonts was just plain trivial. There are lots of documentation and examples, and devices follow them nicely.&lt;/li&gt;
&lt;li&gt;I thought a modern OS like Android would be more loaded with fonts and would have a better documentation.&lt;/li&gt;
&lt;li&gt;Ubuntu is an undocumented pile of heterogeneous stuff. Linux. No surprises there.&lt;/li&gt;
&lt;li&gt;I did not expect Windows to fare particularly well in here, but I certainly didn't expect it to fare that bad! Not only is the documentation just plain fuzzy and wrong, but the font choice is the worst of all OSes. To put it bluntly, it doesn't have a narrow font, not even in Windows 8. And to think this is the major desktop OS by far... I'm not wondering why MacOS shares are increasing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And, as expected, no need for a &lt;span class="code"&gt;@font-face&lt;/span&gt; declaration and a 70k download just to get a font I like. Most Windows users have Office installed (I hope) so this isn't a really big issue. Plus, &lt;b&gt;Arial&lt;/b&gt; isn't that bad as a fallback. My font stack works well enough in all platform I've tested so far. That's more than enough for me.

&lt;p&gt;At last, check out &lt;a href="http://flippingtypical.com/"&gt;flippingtypical.com&lt;/a&gt;. It will list all the fonts your browser knows about with a nice preview. Very helpful.

&lt;h2&gt;The Demo Area&lt;/h2&gt;
Here are all the fonts selected. You will see of course only the ones you have installed on your system. This is more of a test area for me than for you, but I threw it there so that you can see it.

Note: I built a little tool to help you &lt;a href="https://pieroxy.net/blog/pages/css-fonts/font-detect.html"&gt;detect all the fonts you can target&lt;/a&gt;.

&lt;a class="linkButton" href="https://pieroxy.net/blog/pages/css-fonts/font-detect.html"&gt;&lt;span&gt;Test the fonts on your browser&lt;/span&gt;&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;No style: All examples looking like this below means they don't exist on your system.&lt;br&gt;
    &lt;div id="sample0" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:OhPleaseDontMatchThisWithAFont"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;iOS6: Avenir Next Condensed Bold&lt;br&gt;
    &lt;div id="sample2" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:AvenirNextCondensed-Bold"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;iOS3: Futura Condensed Extra Bold&lt;br&gt;
    &lt;div id="sample3" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:Futura-CondensedExtraBold"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;MacOSX: Helvetica Neue Condensed Bold&lt;br&gt;
    &lt;div id="sample1" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:HelveticaNeue-CondensedBold"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Ubuntu: Ubuntu Condensed&lt;br&gt;
    &lt;div id="sample4" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:&amp;quot;Ubuntu Condensed&amp;quot;"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Ubuntu: Liberation Sans Narrow&lt;br&gt;
    &lt;div id="sample5" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:&amp;quot;Liberation Sans Narrow&amp;quot;"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Windows: Franklin Gothic&lt;br&gt;
    &lt;div id="sample6" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:&amp;quot;Franklin Gothic Medium&amp;quot;, &amp;quot;Franklin Gothic&amp;quot;, &amp;quot;ITC Franklin Gothic&amp;quot;"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Android: Generic Sans Condensed&lt;br&gt;
    &lt;div id="sample7" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:sans-serif-condensed"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Fallback: Arial Narrow&lt;br&gt;
    &lt;div id="sample8" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:&amp;quot;Arial Narrow&amp;quot;, Arial; font-stretch: condensed"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Fallback: Trebuchet MS &lt;br&gt;
    &lt;div id="sample9" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:&amp;quot;Trebuchet MS&amp;quot;"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Fallback: Lucida Grande &lt;br&gt;
    &lt;div id="sample10" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:&amp;quot;Lucida Grande&amp;quot;"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Fallback: Tahoma &lt;br&gt;
    &lt;div id="sample11" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:Tahoma"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Fallback: Verdana &lt;br&gt;
    &lt;div id="sample12" style="white-space:nowrap; display:inline-block;font-size:200%;font-family:Verdana"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Fallback: sans-serif (This is the last instruction - I want a sans serif font if nothing else is available)&lt;br&gt;
    &lt;div id="sample13" style="font-size:200%;font-family:sans-serif"&gt;This is the test area&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;script&gt;
var index = 0;
var wi=0;
var he=0;
while (true) {
  var elem = document.getElementById("sample"+index++);
  if (!elem) break;
  if (wi==0 &amp;&amp; he==0) {
    wi = elem.scrollWidth;
    he = elem.scrollHeight;
  }
  if (wi == elem.scrollWidth &amp;&amp; he == elem.scrollHeight) elem.style.color="#BBB";
  elem.style.whiteSpace = "inherit";
}
&lt;/script&gt;</content:encoded>
      <category domain="https://pieroxy.net/blog/categories/css/">CSS</category>
      <category domain="https://pieroxy.net/blog/categories/web-design/">Web Design</category>
      <category domain="https://pieroxy.net/blog/categories/iphone/">iPhone and iOS</category>
      <category domain="https://pieroxy.net/blog/categories/html/">html</category>
      <category domain="https://pieroxy.net/blog/categories/android/">Android</category>
      <category domain="https://pieroxy.net/blog/tags/android/">android</category>
      <category domain="https://pieroxy.net/blog/tags/css/">css</category>
      <category domain="https://pieroxy.net/blog/tags/design/">design</category>
      <category domain="https://pieroxy.net/blog/tags/font/">font</category>
      <category domain="https://pieroxy.net/blog/tags/html/">html</category>
      <category domain="https://pieroxy.net/blog/tags/ios/">ios</category>
      <category domain="https://pieroxy.net/blog/tags/ipad/">ipad</category>
      <category domain="https://pieroxy.net/blog/tags/iphone/">iphone</category>
      <category domain="https://pieroxy.net/blog/tags/web/">web</category>
      <pubDate>Sat, 11 Oct 2014 21:29:00 GMT</pubDate>
      <guid isPermaLink="false">tag:pieroxy.net,2014-10-11:pieroxy.net/1413062940000</guid>
      <dc:date>2014-10-11T21:29:00Z</dc:date>
    </item>
    <item>
      <title>www.qwant.com - how not to design a website</title>
      <link>https://pieroxy.net/blog/2013/02/16/1361017980000.html</link>
      <content:encoded>&lt;p&gt;I was reading in the news the birth of &lt;a href="http://www.qwant.com/"&gt;www.qwant.com&lt;/a&gt;, a new French search engine. So I said to myself "ok, let's go and have a look." I was in my bath with my iPhone. First impression isn't very good since the website doesn't have a mobile template so you have to zoom in and out to read anything. So I launch my first search and zoom in to read the results. And then, some piece of JavaScript overlays huge column headers on top of my screen - covering 100% of the screen. I can't see the page anymore.

&lt;p&gt;So here is my first impression: it is broken. It's just that the website is &lt;b&gt;not usable&lt;/b&gt; with a phone. They have column headers that "float" on top of the page whenever you scroll down and whenever you zoom in, they take up 100% of the screen so nothing works. At all. You cannot even see the search results. Note that it doesn't work at all on Android or anything else with a small screen. Granted, with big-screen Android phones (think the 1280x720 variety), it is just clunky and somewhat usable since you don't have to zoom as widely as with a smaller screen phone.

&lt;p&gt;This is in my opinion the exact opposite of what a website should be about. I mean, what value are you bringing if users cannot see your website?

&lt;p&gt;The column headers that overlap the entire display does bring minimal value to desktop users and annoy phone users to the point of having your entire website useless. Why have them?</content:encoded>
      <category domain="https://pieroxy.net/blog/categories/web-design/">Web Design</category>
      <category domain="https://pieroxy.net/blog/categories/news/">News</category>
      <category domain="https://pieroxy.net/blog/categories/general-rambling/">General rambling</category>
      <category domain="https://pieroxy.net/blog/tags/design/">design</category>
      <category domain="https://pieroxy.net/blog/tags/fail/">fail</category>
      <category domain="https://pieroxy.net/blog/tags/news/">news</category>
      <category domain="https://pieroxy.net/blog/tags/web/">web</category>
      <pubDate>Sat, 16 Feb 2013 12:33:00 GMT</pubDate>
      <guid isPermaLink="false">tag:pieroxy.net,2013-02-16:pieroxy.net/1361017980000</guid>
      <dc:date>2013-02-16T12:33:00Z</dc:date>
    </item>
    <item>
      <title>Presto is about to die</title>
      <link>https://pieroxy.net/blog/2013/02/13/1360770480000.html</link>
      <content:encoded>&lt;h2&gt;And Opera will run WebKit&lt;/h2&gt;&lt;p&gt;Yes, &lt;a href="http://my.opera.com/ODIN/blog/300-million-users-and-move-to-webkit"&gt;Opera will soon be using WebKit as its rendering engine&lt;/a&gt; instead of the custom built Presto.

&lt;p&gt;Now, for the average web developer that didn't bother testing on Opera (desktop and/or mobile, and/or mini) it will not change anything. For web developers that bothered, well, it will make things simpler.

&lt;p&gt;&lt;i&gt;But but... variety is good, right?&lt;/i&gt;

&lt;p&gt;Well, actually, variety is good and bad at the same time. Opera's efforts toward their engine will now be directed towards WebKit, and will then be used by quite a few browsers: iOS's, Chrome and Safari (hopefully Android's default browser will eventually die and be replaced by Chrome so I won't count it.)

&lt;p&gt;Thanks to all the folks at Opera working on Presto for the past 15 years. I'm sure the future will hold lots of great stuff for you guys.</content:encoded>
      <category domain="https://pieroxy.net/blog/categories/css/">CSS</category>
      <category domain="https://pieroxy.net/blog/categories/web-design/">Web Design</category>
      <category domain="https://pieroxy.net/blog/categories/news/">News</category>
      <category domain="https://pieroxy.net/blog/categories/html/">html</category>
      <category domain="https://pieroxy.net/blog/tags/css/">css</category>
      <category domain="https://pieroxy.net/blog/tags/design/">design</category>
      <category domain="https://pieroxy.net/blog/tags/html/">html</category>
      <category domain="https://pieroxy.net/blog/tags/news/">news</category>
      <category domain="https://pieroxy.net/blog/tags/opera/">opera</category>
      <category domain="https://pieroxy.net/blog/tags/presto/">presto</category>
      <category domain="https://pieroxy.net/blog/tags/web/">web</category>
      <pubDate>Wed, 13 Feb 2013 15:48:00 GMT</pubDate>
      <guid isPermaLink="false">tag:pieroxy.net,2013-02-13:pieroxy.net/1360770480000</guid>
      <dc:date>2013-02-13T15:48:00Z</dc:date>
    </item>
    <item>
      <title>iOS UI elements in HTML - part 2</title>
      <link>https://pieroxy.net/blog/2012/12/18/1355829600000.html</link>
      <content:encoded>&lt;h2&gt;The tab bar and buttons&lt;/h2&gt;&lt;p&gt;In this second article, we will focus on the buttons bar at the top of many iOS apps. Below one live example:
&lt;p&gt;&lt;img class="screenShotDetail" src="https://pieroxy.net/blog/images/articles/ios_ui_elements/toolbar.png" style="max-width:95%;width:320px"&gt;
&lt;p&gt;We will see the toolbar, buttons (in two states: active or not), and tabs. Hop on to see the details.&lt;p class="readMore"&gt;&lt;a href="https://pieroxy.net/blog/2012/12/18/1355829600000.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;</content:encoded>
      <category domain="https://pieroxy.net/blog/categories/css/">CSS</category>
      <category domain="https://pieroxy.net/blog/categories/web-design/">Web Design</category>
      <category domain="https://pieroxy.net/blog/categories/iphone/">iPhone and iOS</category>
      <category domain="https://pieroxy.net/blog/categories/html/">html</category>
      <category domain="https://pieroxy.net/blog/tags/css/">css</category>
      <category domain="https://pieroxy.net/blog/tags/design/">design</category>
      <category domain="https://pieroxy.net/blog/tags/html/">html</category>
      <category domain="https://pieroxy.net/blog/tags/ios/">ios</category>
      <category domain="https://pieroxy.net/blog/tags/ipad/">ipad</category>
      <category domain="https://pieroxy.net/blog/tags/iphone/">iphone</category>
      <category domain="https://pieroxy.net/blog/tags/web/">web</category>
      <pubDate>Tue, 18 Dec 2012 11:20:00 GMT</pubDate>
      <guid isPermaLink="false">tag:pieroxy.net,2012-12-18:pieroxy.net/1355829600000</guid>
      <dc:date>2012-12-18T11:20:00Z</dc:date>
    </item>
  </channel>
</rss>

