<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>Jeremy Thomas</title>
 <link href="http://jgthms.com/atom.xml" rel="self"/>
 <link href="http://jgthms.com/"/>
 <updated>2024-01-11T22:29:57+00:00</updated>
 <id>http://jgthms.com/</id>
 <author>
   <name>JT</name>
   <email>bbxdesign@gmail.com</email>
 </author>

 
 <entry>
   <title>Mega should have a confirm password field</title>
   <link href="http://jgthms.com/mega-should-have-a-confirm-password-field.html"/>
   <updated>2013-02-20T00:00:00+00:00</updated>
   <id>http://jgthms.com/mega-should-have-a-confirm-password-field</id>
   <content type="html">&lt;p&gt;&lt;a href=&quot;https://mega.co.nz&quot;&gt;Mega&lt;/a&gt; launched yesterday. I actually had to send a 30Mb file to a friend, but he told me that Dropbox was slow for him. Plus, my Dropbox was still uploading 25Gb of pictures that I had added the day before.&lt;/p&gt;

&lt;p&gt;Anyway, it was the opportunity to try out Mega’s cloud storage system. So I decided to sign up:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/mega-sign-up.png&quot; alt=&quot;Mega&apos;s sign up page&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I filled the fields quickly, but then realized 2 things:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Is the “&lt;em&gt;Your name&lt;/em&gt;” field actually your username as well? Just in case, I changed it.&lt;/li&gt;
  &lt;li&gt;There was no “&lt;em&gt;Confirm password&lt;/em&gt;” field. So I cleared that field, and retyped my password &lt;em&gt;carefully&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Upon receiving my confirmation email (establishing the fact that I had typed it correctly), I tried to login, but was prompted with the message “&lt;em&gt;Invalid password&lt;/em&gt;”.&lt;/p&gt;

&lt;p&gt;I looked for the usually available “&lt;em&gt;Forgot password?&lt;/em&gt;” link but it wasn’t present. So I went to the help section and found the paragraph “&lt;em&gt;I have forgotten my password. Can I reset it?&lt;/em&gt;”:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Unfortunately, your MEGA password is not just a password - it is the master encryption key to all of your data. If you lose it, you lose access to all of your files that are not in a shared folder and that you have no previously exported file or folder key for.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I learned 2 things:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;It’s not a password, it’s an &lt;em&gt;encryption key&lt;/em&gt; (which may have led me to choose a different pass)&lt;/li&gt;
  &lt;li&gt;It can’t be changed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The rule here is that, if a password isn’t modifiable (or resettable), &lt;strong&gt;make the user confirm it&lt;/strong&gt;. I’m now left with an account (linked to a specific username and email) that I can’t use.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>I18N and keyboard shortcuts</title>
   <link href="http://jgthms.com/i18N-and-keyboard-shortcuts.html"/>
   <updated>2013-02-05T00:00:00+00:00</updated>
   <id>http://jgthms.com/i18N-and-keyboard-shortcuts</id>
   <content type="html">&lt;p&gt;Although I’m French, I usually install the English version of every software I use, the main reason being that it’s almost always the latest version available, which includes the latest features and bug fixes. Plus, looking for help online usually results in answers in English.&lt;/p&gt;

&lt;p&gt;The only issue I have is with keyboard shortcuts. I use an AZERTY keyboard. The differences with a QWERTY one aren’t exclusively about keys position. For example, all numbers require using the Shift button to type them. It’s not much if I’m editing a text, but it becomes an issue with keyboard shortcuts.&lt;/p&gt;

&lt;p&gt;To zoom in with Firefox, you need to type ‘Command +’. It’s probably easy on a QWERTY but it’s impossible with an AZERTY: the ‘+’ sign requires pressing the Shift button. So if I try typing ‘Command Shift +’ or ‘Command =’ (which is the sign below the ‘+’ one), it doesn’t work (and might even trigger another event).&lt;/p&gt;

&lt;p&gt;I haven’t tried the French version of Firefox, and I guess it’s more suited for AZERTY keyboards. But I believe that choosing a software’s language shouldn’t be related to one’s keyboard layout.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>There are 3 levels of administration</title>
   <link href="http://jgthms.com/there-are-3-levels-of-administration.html"/>
   <updated>2013-02-04T00:00:00+00:00</updated>
   <id>http://jgthms.com/there-are-3-levels-of-administration</id>
   <content type="html">&lt;p&gt;For every web application, there is an administration to design. Its complexity and ease of use depends on who is meant to interact with it.&lt;/p&gt;

&lt;h2 id=&quot;the-creators-administration&quot;&gt;The creator’s administration&lt;/h2&gt;

&lt;p&gt;If you’re a developer running your own blog, chances are you have thought about creating your own little engine to publish articles. It may not be easy or convenient way to use, but as &lt;em&gt;you&lt;/em&gt; are the engine’s creator, you’ve established a system that suits &lt;em&gt;you&lt;/em&gt; and nobody else. James Hague’s &lt;a href=&quot;http://prog21.dadgum.com/77.html&quot;&gt;6838 bytes Perl script&lt;/a&gt; is probably not suitable for anything else than his website, but it’s not an issue because that’s the script’s sole purpose. I myself have developed a static website generator in PHP. The code is terrible but it does exactly what I intend to, and any issue I’d encounter with it would be my own fault.&lt;/p&gt;

&lt;h2 id=&quot;the-insiders-administration&quot;&gt;The insider’s administration&lt;/h2&gt;

&lt;p&gt;There’s a learning curve with those kinds of admin. It can either be an admin developed by someone you know, or one that is not exactly user friendly.&lt;/p&gt;

&lt;p&gt;For example, let’s imagine I own a clothes store and ask you to develop my shopping website. The admin can be anything you want, as long as I know how to use it. The key here is that I’m in contact with you, so even if the admin isn’t obvious to interact with, you can teach me. Plus, you can adjust some design elements for my convenience. Anyone else trying to use my admin would feel slightly lost, but that’s not a problem because the admin was meant for me and I was taught how to use it.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mojombo/jekyll&quot;&gt;Jekyll&lt;/a&gt;’s administraion can also be considered an insider’s one. It’s not used by non-developers because it requires some computer knowledge. You either need to know Ruby if you host your blog on your own server, or know Git if you’re using the GitHub pages. Designing your own layout isn’t easy either. But if you take some time to go through the docs and learn how to achieve what you want, you’ll end up with a system that suits you well.&lt;/p&gt;

&lt;h2 id=&quot;the-public-administration&quot;&gt;The public administration&lt;/h2&gt;

&lt;p&gt;It’s everybody else’s admin, for the non tech-savvy users.&lt;/p&gt;

&lt;p&gt;The best example is &lt;a href=&quot;http://wordpress.com&quot;&gt;WordPress.com&lt;/a&gt; which hosts around 60 million sites. Most of its users are probably non-technical people who chose to subscribe to WordPress.com because it offered an easy and free way to host their blog, and they wouldn’t know how to do it otherwise.&lt;/p&gt;

&lt;p&gt;For a long time, WordPress.com provided the same admin as WordPress.org, but they’ve updated it for the general public.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/wordpress-easy-admin.png&quot; alt=&quot;WordPress.com easy admin&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It’s the most difficult administration to design, because it is used by millions of people who have to figure it out on their own. The publishing experience needs to be seamless, and you have to take into account your users’ unexpected behaviour and the common mistakes they can make.&lt;/p&gt;

&lt;p&gt;The real key is to test profusely and receive feedback from common users. But in the end, you’ll still have to cut short and take some design decisions on your own.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Update bookmark</title>
   <link href="http://jgthms.com/update-bookmark.html"/>
   <updated>2012-12-31T00:00:00+00:00</updated>
   <id>http://jgthms.com/update-bookmark</id>
   <content type="html">&lt;p&gt;A web bookmark is a kind of skeuomorphic element where a physical object is used in a digital context to elumate the same function. But whereas a web bookmark saves a &lt;em&gt;location&lt;/em&gt;, a physical bookmark saves a &lt;em&gt;progress&lt;/em&gt;. Both aren’t exactly used the same way, because you rarely change the URI of a web bookmark, whereas you constantly update the location of your thin marker while reading a book, only to remove it when you’ve reached the end.&lt;/p&gt;

&lt;p&gt;I wish there was a way to update your web bookmarks. For example, I’ve started watching online the &lt;a href=&quot;http://www.1channel.ch/watch-5207-Seinfeld&quot;&gt;Seinfeld episodes&lt;/a&gt; from the start, and to keep track of my progress, I need to write a note about which episode I’ve watched last. I’ve also been reading &lt;a href=&quot;http://learnpythonthehardway.org/book/&quot;&gt;Learn Python The Hard Way&lt;/a&gt;, and I need to write down which lesson I’m at. I could keep track of my progress by relying on the color of visited links, but most websites don’t implement the &lt;code&gt;a:visited&lt;/code&gt; CSS feature. And although I could use Firebug or the WebInspector to set a color for those links, it’s still a debious way to save a progress.&lt;/p&gt;

&lt;p&gt;There is a &lt;a href=&quot;https://addons.mozilla.org/en-us/firefox/addon/update-bookmark/&quot;&gt;Firefox add-on&lt;/a&gt; called &lt;em&gt;Update Bookmark&lt;/em&gt; which seems to implement that feature, but it hasn’t been updated since 2008 and doesn’t work with the latest Firefox.&lt;/p&gt;

&lt;p&gt;It wouldn’t be hard to develop such a feature (as an add-on or natively in the browser) but I wonder if I’m the only one considering updating my bookmarks from time to time.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Quick Bootstrap Design</title>
   <link href="http://jgthms.com/quick-bootstrap-design.html"/>
   <updated>2012-12-21T00:00:00+00:00</updated>
   <id>http://jgthms.com/quick-bootstrap-design</id>
   <content type="html">&lt;figure&gt;
  &lt;a href=&quot;/h/solarized.html&quot;&gt;&lt;img alt=&quot;Bootstrap Solarized&quot; src=&quot;/i/bootstrap-solarized.png&quot; /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;p&gt;There was a recent post on 24ways.org that explained &lt;a href=&quot;http://24ways.org/2012/how-to-make-your-site-look-half-decent/&quot;&gt;How to Make Your Site Look Half-Decent in Half an Hour&lt;/a&gt;. It was made by a programmer and aimed towards programmers. The final result wasn’t universally well received because it probably didn’t meet most programmer’s expectations. I’m a designer, and the final result didn’t appeal much to me. But still: the article wasn’t about the end result, it was about the &lt;strong&gt;process&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I used to work with a very talented programmer. He was comfortable with numerous languages, could build both web and desktop applications, automate tasks across different types of databases, manage our homemade servers, work on AI algorithms… It probably wasn’t that difficult for him, but he did things my mind couldn’t grasp. One day, he had to design a small interface for a tiny web app that monitored our servers. The whole point of the app was to be usable, not even good-looking. But still: he didn’t know how to design it. He asked for my help and so I threw up a quick web interface. He liked it and thanked me. I told him that it really wasn’t much and that he probably could have figured it out himself. But then he said to me: “I don’t understand graphic design. I don’t understand how you designers can come up with something so quickly. I could spend days on designing an interface and not even come close to what you did. I just don’t get your craft.” That’s when I understood how honest he was, and that he really couldn’t envision an interface, even a simple one. And that’s probably what most programmers go through.&lt;/p&gt;

&lt;p&gt;Anyway, here’s my take on designing a site, and it’s aimed at programmers.&lt;/p&gt;

&lt;h2 id=&quot;bootstrap-of-course&quot;&gt;Bootstrap of course&lt;/h2&gt;

&lt;p&gt;It’s not a surprise that Anna Powell-Smith used Bootstrap as a foundation for her design. It’s solid, and provides interesting examples to begin with. But the real key is that &lt;strong&gt;it’s just code&lt;/strong&gt;. As I’ve &lt;a href=&quot;/bootstrap-is-for-programmers.html&quot;&gt;said before&lt;/a&gt;, Bootstrap defines much of its design in the HTML code. And though it doesn’t keep the dichotomy clear between HTML and CSS (one for content, one for layout), it’s easier for programmers to play around with HTML code than CSS code.&lt;/p&gt;

&lt;p&gt;So let’s use &lt;a href=&quot;http://twitter.github.com/bootstrap/examples/hero.html&quot;&gt;this example&lt;/a&gt; as a start and tweak it.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/bootstrap-hero.png&quot; alt=&quot;Boostrap Hero&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;colors-be-consistent&quot;&gt;Colors: be consistent&lt;/h2&gt;

&lt;p&gt;Probably the hardest part for programmers in designing a website is to choose colors. Although they don’t &lt;em&gt;choose&lt;/em&gt; colors, they use them on a daily basis in their IDE, and some color schemes are &lt;a href=&quot;https://github.com/daylerees/colour-schemes&quot;&gt;really gorgeous&lt;/a&gt;. Actually, it’s a good resource to choose colors from because IDE colors schemes provide consistent palettes with different tints that go well together. And because programmers probably don’t use Photoshop, we’d better choose a color palette and try to stick to it.&lt;/p&gt;

&lt;p&gt;You could browse the thousands of palettes on &lt;a href=&quot;http://www.colourlovers.com/&quot;&gt;ColourLovers&lt;/a&gt; or &lt;a href=&quot;https://kuler.adobe.com/&quot;&gt;Adobe’s Kuler&lt;/a&gt; but even I get overwhelmed by the quantity available. So I often stick to one of them: &lt;a href=&quot;http://ethanschoonover.com/solarized&quot;&gt;Solarized&lt;/a&gt;. This blog uses its colors, and I’ve really learned to like it because it prevents me from looking to long for decent colors. Solarized is like a designer’s Bootstrap: it’s a solid base you can use as start, and modify along the way if you want (I rarely do).&lt;/p&gt;

&lt;p&gt;If you don’t like Solarized, try to use your favorite IDE color scheme. Or steal a color palette from a website or app you like. For example, 53’s app &lt;a href=&quot;http://www.fiftythree.com/paper&quot;&gt;Paper&lt;/a&gt; has 4 default palettes to play around with. I particularly like the first one:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/paper-colors.png&quot; alt=&quot;Paper colors&quot; /&gt;&lt;/p&gt;

&lt;p&gt;2 dark colors, 2 light colors, 2 ‘fresh’ colors, and black. Add white to it and you have 8 colors to use for different purposes.&lt;/p&gt;

&lt;p&gt;Here, apart from the white background, I’ll use the Solarized color palette &lt;em&gt;only&lt;/em&gt;. What’s especially useful are the 6 different tints of grey, which aren’t &lt;em&gt;exactly&lt;/em&gt; grey but slightly blue. It’s a common design trick to use these blueish grey tints, because they’re not as boring as grey without being to prominent.&lt;/p&gt;

&lt;h2 id=&quot;positioning-the-holy-grid&quot;&gt;Positioning: the Holy grid&lt;/h2&gt;

&lt;p&gt;The &lt;a href=&quot;http://960.gs/&quot;&gt;960 grid system&lt;/a&gt; is well-known among web designers. It’s supposed to provide a framework for quick prototyping, by establishing some dimension rules in a 960 pixels-wide layout. Although there now also is a &lt;a href=&quot;http://cssgrid.net/&quot;&gt;1140 grid system&lt;/a&gt;, the 960 one is still very relevant. And for a programmer, it can be really easy to use because it’s based around &lt;strong&gt;numbers&lt;/strong&gt;. You can divide the 960 width into 12 or 16 columns, with a 20 pixels gutter. Furthermore, Bootstrap provides HTML code for a &lt;a href=&quot;http://twitter.github.com/bootstrap/scaffolding.html#gridSystem&quot;&gt;12-columns grid system&lt;/a&gt;. You just need to add some classes to your divs.&lt;/p&gt;

&lt;p&gt;For the sake of this article, I’ll leave out the responsive 1170px-wide container and stick to the 940px-wide one. One reason for that is that making your site extensible to 1170px requires to adjust some elements along the way (spacing, background images, font size) because the content will stretch out horizontally instead of vertically, and this will disturb the balance of your layout.&lt;/p&gt;

&lt;h2 id=&quot;size-its-hierarchy&quot;&gt;Size: it’s hierarchy&lt;/h2&gt;

&lt;p&gt;I like Jason Fried’s way of saying it: &lt;a href=&quot;http://37signals.com/svn/posts/3047-the-obvious-the-easy-and-the-possible&quot;&gt;The Obvious, the Easy, and the Possible&lt;/a&gt;. Some elements should be ‘Obvious’ and stand out: the titles. They provide a quick map of the page, by defining the part they’re the heading of. Then there’s the ‘Easy’, like subtitles, navigation, forms or call-to-actions. It’s things people will read or use, but not always. Finally, there’s the ‘Possible’: all the rest, like reading the full description of a feature, or using the footer links.&lt;/p&gt;

&lt;p&gt;For example, the logo shouldn’t be ‘Obvious’, but ‘Easy’ or even ‘Possible’ because it’s present on all pages and people know how to use it. It’s a common mistake to make the logo too big.&lt;/p&gt;

&lt;p&gt;Colors are also meant to provide visual hierarchy, but getting the size right is 3/4 of the job. Boostrap offers 6 heading levels, plus a Hero unit for showcasing key content, and a Page header for extra emphasis.&lt;/p&gt;

&lt;p&gt;The Hero unit used as example is already well furnished in terms of hierarchy. I’ll just tweak some font-sizes.&lt;/p&gt;

&lt;h2 id=&quot;fonts-not-that-important&quot;&gt;Fonts: not that important&lt;/h2&gt;

&lt;p&gt;I love Arial and Georgia. A sans-serif and a serif font, both considered ‘web-safe’. A programmer trying to find a nice font would be as helpless as when trying to find nice colors. Even designers like me often spend too much time in Photoshop scrolling through the hundreds of fonts they’ve installed, just to end up less certain than before.&lt;/p&gt;

&lt;p&gt;But like with colors, you can stick to a font you’ve already seen somewhere and particularly like. If you really want a different font for your headings (and only for your headings), try &lt;a href=&quot;http://www.google.com/webfonts&quot;&gt;Google Web Fonts’&lt;/a&gt; most popular: Open Sans or Droid Sans, which are different but not outstanding.&lt;/p&gt;

&lt;p&gt;Here I’ll just Arial. If you get it right with Arial, it’ll be easier to use a different font in the future.&lt;/p&gt;

&lt;h2 id=&quot;images-a-great-feature&quot;&gt;Images: a great feature&lt;/h2&gt;

&lt;p&gt;If you’re building a website for your app, try to include images. Even screenshots provide a nice touch. They disrupt the ordinary visual flow that a full-text website has. For example, if you’ve hired a designer to design your logo, take the opportunity to make it stand out. Or if you’re selling an iPhone app, just use an iPhone with a screenshot.&lt;/p&gt;

&lt;p&gt;I’ll use the Firefox logo as an example. It’s big, colorful and highly detailed. It’ll add depth to the page.&lt;/p&gt;

&lt;h2 id=&quot;gradients-and-shadows-avoid-them&quot;&gt;Gradients and shadows: avoid them&lt;/h2&gt;

&lt;p&gt;Gradients are very hard to handle. A designer can spend hours messing around with colors just to get a gradient right. The thing is, a 2-color gradient isn’t about choosing 2 colors, it’s also about &lt;em&gt;everything in between&lt;/em&gt;. If you add the fact that there are millions colors to choose from, the possibilities of a gradient are endless and a programmer would probably not be able to settle for one.&lt;/p&gt;

&lt;p&gt;Shadows are quite similar. It’s mostly a 1-color gradient from opaque to transparent. The common error is to make shadows too prominent. They should provide depth without being noticable, and that’s not an easy task. It’s like adding reverb to a mix: add some until you notice it, and then lower it down.&lt;/p&gt;

&lt;p&gt;Anyway, that’s why I don’t have gradients or shadows on this blog. I’m tired of spending hours in Photoshop just to come up with something half-decent.&lt;/p&gt;

&lt;p&gt;In my example, I stripped out the shadows and gradients of Boostrap’s default design by overriding some background and box-shadow proprerties.&lt;/p&gt;

&lt;h2 id=&quot;secret-be-subtle&quot;&gt;Secret: be subtle&lt;/h2&gt;

&lt;p&gt;So, if you don’t use gradients, shadows or original fonts, what’s left? Here are some details you can work on:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Rounded corners: the border-radius CSS property is well adopted and it provides seperation between elements. It also increases the affordance on buttons (that’s why I don’t like Metro’s buttons).&lt;/li&gt;
  &lt;li&gt;Line-height: it’s one of the details that can quickly make your website look cheap if used wrong, especially too small line-heights. But slightly too big isn’t much better. That’s why I don’t like readings Posterous blogs: the line-height is 20px for 12px size text, so the ratio is 1.66. For content, just use 1.5. For headings, 1.1 is fine. It’s easy to forget setting the heading’s line-height because they oftent have only one line of text.&lt;/li&gt;
  &lt;li&gt;Text-shadow: this might be the only kind of shadow that can be used without too much difficulty. But still, use it scarcely. Every browser which supports text-shadow also supports rgba. So instead of putting a full white text-shadow, try to use 0 1px 0 rgba(255, 255, 255, 0.5). For dark shadows, 0 1px 2px rgba(0, 0, 0, 0.25) looks decent. Also, don’t use a dark shadow if the text it’s set upon is darker than the background. Use a light one instead (and vice-versa when the text is lighter than its background). It’s you’re not sure, don’t use it. In my example, I actually removed them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;iterate&quot;&gt;Iterate&lt;/h2&gt;

&lt;p&gt;Even a designer won’t come up with a perfect design the first time. I’ve readjusted the design of this blog multiple times, going from a rough layout to a more consistent one. Just finish your website and consider it ‘Version 1.0’ and get some sleep. The next day you’ll notice some subtle adjustments you can make: that title is slightly too big, the spacing here isn’t right, that button lacks contrast…&lt;/p&gt;

&lt;h2 id=&quot;examples&quot;&gt;Examples&lt;/h2&gt;

&lt;p&gt;I played with &lt;a href=&quot;http://twitter.github.com/bootstrap/examples/hero.html&quot;&gt;Bootstrap’s Hero example&lt;/a&gt; and added my custom CSS. The only image used is the Firefox logo. All colors were taken from Solarized’s color palette. You can click the image to see the live demo.&lt;/p&gt;

&lt;figure&gt;
&lt;a href=&quot;/h/solarized.html&quot;&gt;&lt;img alt=&quot;Bootstrap Solarized&quot; src=&quot;/i/bootstrap-solarized.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;figcaption&gt;Bootstrap Solarized&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;The same Solarized colors can be used to design a dark layout. Programmers are mostly familiar with this kind of color use in their IDE. It’s also a nice way to make your website stand out.&lt;/p&gt;

&lt;figure&gt;
&lt;a href=&quot;/h/solarized-dark.html&quot;&gt;&lt;img alt=&quot;Bootstrap Solarized Dark&quot; src=&quot;/i/bootstrap-solarized-dark.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;figcaption&gt;Bootstrap Solarized Dark&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;I talked about the app Paper and how it provided lovely color palettes too. The app is meant to draw sketches so the colors aren’t exactly supposed to fit together in terms of contrast and text readibility but still, it’s fun to play around with. I used the red color as the main background. It’s a bold decision, especially for a programmer, to use such a saturated color as the dominant color, but I like &lt;a href=&quot;/the-grey-period.html&quot;&gt;websites with a well-defined identity&lt;/a&gt;.&lt;/p&gt;

&lt;figure&gt;
&lt;a href=&quot;/h/paper.html&quot;&gt;&lt;img alt=&quot;Bootstrap Paper&quot; src=&quot;/i/bootstrap-paper.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;figcaption&gt;Bootstrap Paper&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;As I said earlier, if there’s a color palette you like, try to use it. There was this &lt;a href=&quot;/i/nike-ad.jpg&quot;&gt;Nike ad&lt;/a&gt; that I really liked. It’s full of different colors and gradients, but I just picked a few of them and created a 8-color palette out of it.&lt;/p&gt;

&lt;figure&gt;
&lt;a href=&quot;/h/nike.html&quot;&gt;&lt;img alt=&quot;Bootstrap Nike&quot; src=&quot;/i/bootstrap-nike.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;figcaption&gt;Bootstrap Nike&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id=&quot;a-designers-take-at-a-programmers-problem&quot;&gt;A designer’s take at a programmer’s problem&lt;/h2&gt;

&lt;p&gt;I’m not a programmer but I tried to think like one in writing this article. I wanted to point out how easy it was to come up with a decent website just by quickly tweaking a Bootstrap template. I’ve often come across articles about programming that were aimed at designers, so I tried to do the opposite. If you have any question or remark, feel free to contact me. Any kind of feedback is appreciated.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Organized Gmail Inbox</title>
   <link href="http://jgthms.com/organized-gmail-inbox.html"/>
   <updated>2012-12-10T00:00:00+00:00</updated>
   <id>http://jgthms.com/organized-gmail-inbox</id>
   <content type="html">&lt;p&gt;I’ve often read about how email was broken. Maybe it’s because I only receive about 10 mails per day or because GMail’s interface with some plugins suits me well, but I’m actually very happy with it. But when Google forced me to switch to their latest interface, my labels’ colors became a bit messed up and I decided to use the opportunity to reorganize my inbox flow.&lt;/p&gt;

&lt;p&gt;I set up a simple rule to follow:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Every incoming mail must hold one of the predefined labels.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The first part of this rule states that &lt;em&gt;each&lt;/em&gt; mail should hold one label, and only one. It’s the least organization an inbox should provide, without cluttering it too much.&lt;/p&gt;

&lt;p&gt;The second part enforces a &lt;em&gt;fixed&lt;/em&gt; number of labels in order to avoid creating ones on the fly for each new mail. You can still create new ones, but not without making sure it’ll be heavily used in the future. Here’s my list:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/gmail-labels-organization.png&quot; alt=&quot;GMail labels organization&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Apart from the &lt;em&gt;Notes&lt;/em&gt; label (which synchronizes with iOS’ Notes app), the 7 other labels, along with sub-labels, should be able to organize &lt;strong&gt;every&lt;/strong&gt; incoming email.&lt;/p&gt;

&lt;h2 id=&quot;2do&quot;&gt;2do&lt;/h2&gt;

&lt;p&gt;The &lt;em&gt;2do&lt;/em&gt; label is a meta one. I use it to tag mails that are currently important and require further actions. I use the GMail ‘Multiple Inboxes’ feature to have a second inbox above the regular one, filtered with only &lt;em&gt;2do&lt;/em&gt; mails. These are for example mails I need to respond to, a shipping process to keep track off, a due payment…&lt;/p&gt;

&lt;p&gt;Using keyboard shortcuts, it only takes a few strokes to make a mail show up in that special inbox: j/k-o-l-2 and ‘Enter’.&lt;/p&gt;

&lt;h2 id=&quot;admin&quot;&gt;Admin&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/i/label-admin.png&quot; alt=&quot;Admin label&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This one is for administration stuff: bank, health insurance, taxes, (un)employment processes, various subscriptions… Actually, there is a sub-label called &lt;em&gt;Inscription&lt;/em&gt; (Subscription) with which I tag every new membership mail, the ones where they send you a welcome message along with your login information (and sometimes even with your password in plain text…). Anyway, it helps me keeping track of any service, real or online, to which I’ve subscribed. Sometimes, I wonder &lt;em&gt;“What was that website I’ve subscribed to again?”&lt;/em&gt; or &lt;em&gt;“What’s my login again?”&lt;/em&gt;, and this sub-label helps me answering these questions.&lt;/p&gt;

&lt;h2 id=&quot;e-commerce&quot;&gt;E-commerce&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/i/label-e-commerce.png&quot; alt=&quot;E-commerce label&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This label is for anything &lt;strong&gt;shopping&lt;/strong&gt;-related. The 3 most important sub-labels here are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;Commande&lt;/em&gt; (Order): whenever I order something online, the mail goes here. It’s usually a mail stating that my order was successfully processed.&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Livraison&lt;/em&gt; (Shipping): right after receiving an order confirmation mail, I often get a second one dealing with the shipping details. I then apply a &lt;em&gt;2do&lt;/em&gt; label to it until the product has arrived at home.&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Facture&lt;/em&gt; (Receipt): this sub-label holds all transaction receipts. It is different from the &lt;em&gt;Commande&lt;/em&gt; one as it’s usually receipts of digital purchases: Steam games, phone bills, domain renewals…&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;em&gt;Apple&lt;/em&gt; and &lt;em&gt;Voyages&lt;/em&gt; (Trips) sub-labels are more specific: iOS purchases and trip reservations.&lt;/p&gt;

&lt;h2 id=&quot;contact--friends&quot;&gt;Contact &amp;amp; Friends&lt;/h2&gt;

&lt;p&gt;These two go along as they work pretty much the same way. The way I use them depends on the sender’s &lt;strong&gt;identity&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;Friends&lt;/em&gt;: it’s someone I know. I have sub-labels for specific friends or group of friends.&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Contact&lt;/em&gt;: it’s someone I don’t know who contacted me via a webform. I also organize its sub-labels for clients of each of my web design projects.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;newsletter--notifications&quot;&gt;Newsletter &amp;amp; Notifications&lt;/h2&gt;

&lt;p&gt;These labels are used for mails sent from &lt;strong&gt;companies&lt;/strong&gt;.&lt;/p&gt;

&lt;table&gt;
  &lt;tr&gt;
    &lt;td class=&quot;empty&quot;&gt;&lt;/td&gt;
    &lt;th&gt;To me only (private)&lt;/th&gt;
    &lt;th&gt;To me among others (public)&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th&gt;From a company&lt;/th&gt;
    &lt;td&gt;Notification&lt;/td&gt;
    &lt;td&gt;Newsletter&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Newsletters are just what they are: informations mails to which I have subscribed and are sent to many people.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/label-notifications.png&quot; alt=&quot;Notifications label&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Notifications are &lt;em&gt;everything else&lt;/em&gt; sent by a company. It’s usually just a small mail telling me that I have received a private message, or that a credit card or domain is about to expire, or that someone responded to one of my comments.&lt;/p&gt;

&lt;p&gt;I keep seperate sub-labels for notifications from Dribbble, Facebook, Twitter…&lt;/p&gt;

&lt;h2 id=&quot;reminder&quot;&gt;Reminder&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/i/label-reminder.png&quot; alt=&quot;Reminder label&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I have 2 kinds of reminders:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;Calendar&lt;/em&gt;: these are notifications sent by Google Calendar. I use them for events, deadlines, and birthdays. For example, 3 days before each birthday I receive a mail about it, along with a ‘pop-up’ the day itself.&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Self&lt;/em&gt;: these are the mails I send to myself. It’s a quick way to notify myself of something when I don’t have access to some other tool, or when I need to send myself a small file. I heavily use this feature on my iPad when I encounter a website I like.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;wrap-up&quot;&gt;Wrap-up&lt;/h2&gt;

&lt;p&gt;With this setup, and with the use of GMail filters, every email in my inbox holds a single label (except when I also add the &lt;em&gt;2do&lt;/em&gt; label but it’s just temporary).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/gmail-organized-inbox.png&quot; alt=&quot;GMail Organized Inbox&quot; /&gt;&lt;/p&gt;

&lt;p&gt;For the several months during which I have used this organization, I haven’t felt the need to create new labels, nor to think too long about which one to apply. And I don’t know how it would scale up with much more mails to deal with, but I don’t think it’d be too difficult to handle.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>The Grey Period</title>
   <link href="http://jgthms.com/the-grey-period.html"/>
   <updated>2012-12-08T00:00:00+00:00</updated>
   <id>http://jgthms.com/the-grey-period</id>
   <content type="html">&lt;p&gt;Ever since Google launched its redesign, I’ve been wanting to point out a design direction that many websites seem to take: killing colors.&lt;/p&gt;

&lt;h2 id=&quot;amazon&quot;&gt;Amazon&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/i/amazon-color.png&quot; alt=&quot;Amazon Color&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/amazon-grey.png&quot; alt=&quot;Amazon Grey&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;gmail&quot;&gt;GMail&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/i/gmail-color.png&quot; alt=&quot;GMail Color&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/gmail-grey.png&quot; alt=&quot;GMail Grey&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;gcalendar&quot;&gt;GCalendar&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/i/gcalendar-color.png&quot; alt=&quot;GCalendar Color&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/gcalendar-grey.png&quot; alt=&quot;GCalendar Grey&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;greader&quot;&gt;GReader&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/i/greader-color.png&quot; alt=&quot;GReader Color&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/greader-grey.png&quot; alt=&quot;GReader Grey&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;wordpress&quot;&gt;WordPress&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/i/wordpress-color.png&quot; alt=&quot;WordPress Color&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/wordpress-grey.png&quot; alt=&quot;WordPress Grey&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;digg&quot;&gt;Digg&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/i/digg-color.png&quot; alt=&quot;Digg Color&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/digg-grey.png&quot; alt=&quot;Digg Grey&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Are the newer versions prettier? That’s for you to decide. But overall, they seem to lack depth and hierarchy.&lt;/p&gt;

&lt;p&gt;I actually loved the Digg V3 design and it inspired some of my work. Many colors were involved but they were complementary and appealing, and the spacing was perfect. And I was able to recognize the website right away, and not take a second to wonder ‘Is this the good one?’.&lt;/p&gt;

&lt;p&gt;Concerning GMail, I don’t know if it’s the cheap-looking buttons (that really look like a web designer’s first encounter with CSS3 border-radius and gradients) or the lack of depth the page holds, but it really doesn’t captivate me much. I remember Doug Bowman’s work on &lt;a href=&quot;http://stopdesign.com/archive/2009/02/04/recreating-the-button.html&quot;&gt;recreating the GMail buttons&lt;/a&gt; in 2009. A lot of thought went in the process, and it showed. The buttons &lt;em&gt;felt&lt;/em&gt; like buttons. They were easy to read and easy to spot. (By the way, I loved &lt;a href=&quot;http://v3.stopdesign.com/&quot;&gt;Stop Design’s previous layout&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;A lot of the websites mentioned are actually apps. Maybe avoiding colors is a design’s &lt;a href=&quot;http://en.wikipedia.org/wiki/Silent_protagonist&quot;&gt;silent protagonist&lt;/a&gt;: it helps the user identify itself with the website. No color, no obvious identity, just you and the app.&lt;/p&gt;

&lt;p&gt;But even Apple seems to be heading towards that direction.&lt;/p&gt;

&lt;figure&gt;
  &lt;img alt=&quot;Apple from color to grey&quot; src=&quot;/i/apple-from-color-to-grey.png&quot; /&gt;&lt;br /&gt;
  &lt;figcaption&gt;Left: Mac OS 10.6 Snow Leopard. Right: Mac OS 10.7 Lion&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Like gradients and shadows, it’s easier to mess up a color palette than sticking to greyscale. Compared to the 16,777,216 hexadecimal codes available, 256 shades of grey is quite fewer parameters to handle but you &lt;a href=&quot;http://gmailblog.blogspot.fr/2012/12/the-gmail-app-for-iphone-and-ipad.html&quot;&gt;can’t really do much with them&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Choosing grey is actually &lt;strong&gt;not&lt;/strong&gt; choosing.&lt;br /&gt;
Maybe it’s a fear of committing your design to a real identity.&lt;br /&gt;
Maybe it’s a well-thought decision to offer a clean layout.&lt;br /&gt;
Maybe it’s just easier.&lt;br /&gt;
Or maybe it’s just a trend. I honestly hope it is.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Firefox and the perfect address bar</title>
   <link href="http://jgthms.com/firefox-perfect-address-bar.html"/>
   <updated>2012-10-25T00:00:00+01:00</updated>
   <id>http://jgthms.com/firefox-perfect-address-bar</id>
   <content type="html">&lt;p&gt;Google Chrome has spread the concept of the &lt;em&gt;Omnibox&lt;/em&gt;: merging a browser’s URL bar with the search bar. Type anything, and it’ll access one of these 5 sources:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Search Engine&lt;/li&gt;
  &lt;li&gt;Bookmarks&lt;/li&gt;
  &lt;li&gt;History&lt;/li&gt;
  &lt;li&gt;Apps&lt;/li&gt;
  &lt;li&gt;Related sites&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It works as most address bars nowadays, and even adds 2 features:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;being a Google product, Chrome has the exclusivity of holding the Google Suggest feature directly in the address bar&lt;/li&gt;
  &lt;li&gt;Chrome “learns” new search engines. Repeatdly using a search field on a website gives it easy access by pressing Tab.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But I still prefer the Firefox address bar. It already works as a search engine: any query will end up as a Google search.&lt;/p&gt;

&lt;p&gt;What about other search engines?
Firefox is shipped with a default search bar with Google, Yahoo, Amazon… But the address bar can work as a substitute considering the well-known feature “Add a Keyword for this Search”: right-click any search field and add a keyword for it to make it available in the address bar by typing &lt;code&gt;&amp;lt;keyword&amp;gt;&lt;/code&gt; &lt;code&gt;&amp;lt;query&amp;gt;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Whereas Chrome’s search engines add themselves automatically after a few uses, it has to be done manually in Firefox. It can help defining really short keywords for any search engine. I’ve got &lt;code&gt;g&lt;/code&gt; for Google, &lt;code&gt;i&lt;/code&gt; for Google Images, &lt;code&gt;w&lt;/code&gt; for WikiPedia, &lt;code&gt;d&lt;/code&gt; for the Free Dictionary, &lt;code&gt;fr&lt;/code&gt; and &lt;code&gt;en&lt;/code&gt; to translate from/to French to/from English… It just takes some organization and memory to make full use of this feature.&lt;/p&gt;

&lt;p&gt;But what I love most about Firefox’s address bar is its &lt;strong&gt;incremental search&lt;/strong&gt;. It looks through the history and bookmarks (and bookmark tags) by using keywords separated by spaces:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;local&lt;/code&gt; + project name = access a project on the localhost&lt;/li&gt;
  &lt;li&gt;blog name + &lt;code&gt;admin&lt;/code&gt; = access the admin area of a remote website&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;tw&lt;/code&gt; + username = access a previously visited twitter profile&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;ny&lt;/code&gt; + &lt;code&gt;wri&lt;/code&gt; = access a NY Times article about writing you’ve already read but don’t remember the exact tile&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;iph&lt;/code&gt; + &lt;code&gt;desi&lt;/code&gt; = access all bookmarks tagged ‘iphone’ and ‘design’&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It really comes in handy when trying to find a page you’ve visited but only remember part of the title or the url. Type a few keywords (or even partial keywords) and the result list will narrow down rapidly.&lt;/p&gt;

&lt;p&gt;Chrome works slightly that way too but provides a maximum of 6 results, and favors the search too much over the bookmarks and history. But it shouldn’t be a surprise considering the identity of its author.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>When a designer programs</title>
   <link href="http://jgthms.com/when-a-designer-programs.html"/>
   <updated>2012-10-07T00:00:00+01:00</updated>
   <id>http://jgthms.com/when-a-designer-programs</id>
   <content type="html">&lt;p&gt;Launching a website requires mainly 3 parts:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Graphic mockups&lt;/li&gt;
  &lt;li&gt;HTML/CSS static templates&lt;/li&gt;
  &lt;li&gt;Development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My work consisted of the first 2 parts exclusively. How did I call it? &lt;em&gt;Web Design&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;But how do you call someone who does &lt;em&gt;only&lt;/em&gt; HTML/CSS?&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;In English, it seems to be mostly called &lt;em&gt;Front-End Developer&lt;/em&gt;, though it doesn’t involve any programming skill.&lt;/li&gt;
  &lt;li&gt;In French, we have a word for that though: &lt;em&gt;Intégrateur&lt;/em&gt;. It’s precisely the process of turning graphic mockups (PSD’s mainly) into HTML/CSS static templates, &lt;em&gt;nothing else&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, can I consider myself a &lt;em&gt;Developer&lt;/em&gt;? Absolutely not.&lt;/p&gt;

&lt;p&gt;What I love about CSS, and what made me good at it, is that my mind can encompass all the properties and values possible. There isn’t much theory to learn, so you’re left with only a small set of tools. It’s the multiplicity of their interactions that is powerful.&lt;/p&gt;

&lt;p&gt;But when looking at a programming language, I’m overwhelmed by the vast amount of documentation one has to acquire. All the functions, parameters, obligations, special cases, syntax considerations, possible errors, alternative directions…&lt;/p&gt;

&lt;p&gt;A designer’s first encounter of some &lt;em&gt;kind&lt;/em&gt; of programming is often jQuery plugins or PHP WordPress themes. How’s that for a bad start? It’s mainly just looking at unintelligible code and trying to figure out why it doesn’t act exactly as you wish and how you’d like to tweak it a little bit, only to end up breaking the whole thing.&lt;/p&gt;

&lt;p&gt;That’s how you end up with online forums bloated with unanswered questions following the pattern:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;“I just downloaded X plugin but it doesn’t work and I don’t know why. Please provide me the full functioning code to copy/paste, without me having to actually understand the process.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I’ve seen it, and I may have done it, but I wasn’t eager to stay in the fog forever. So I picked up some programming tutorials, about Ruby and Rails. I held a &lt;a href=&quot;http://29minparjour.bbxdesign.com/&quot;&gt;daily blog about my progress&lt;/a&gt;. Though it lasted for some months, I never got serious about it, probably because I never used it.&lt;/p&gt;

&lt;p&gt;Lately though, inspired by many readings about programming, I still wanted to build &lt;em&gt;stuff&lt;/em&gt;. Anything, for the sake of having crafted something. So I took up the programming language I’ve encountered most, PHP, and built:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;a html scraper that backups the pages I’ve liked with Instapaper (because I have doubts about their permanence)&lt;/li&gt;
  &lt;li&gt;a static site generator (inspired by James Hague’s &lt;a href=&quot;http://prog21.dadgum.com/77.html&quot;&gt;6838 bytes Perl script&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;a script to download all the images of an online presentation (that weren’t actually allowed to be downloaded)&lt;/li&gt;
  &lt;li&gt;a contact form for my personal page (easily spammable actually)&lt;/li&gt;
  &lt;li&gt;a filterable events viewer for the LondonOlympics, parsing a json I found at NBC.com&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My code is terrible. It’s mysterious variables entangled with non-DRY functions, waiting for an error to show up, and probably causing memory leaks everywhere. I often have trouble reading back my code and decide to restart from scratch. Still, it works(!) and I feel a sense of achievement that probably every programmer has encountered.&lt;/p&gt;

&lt;p&gt;But, I &lt;strong&gt;know&lt;/strong&gt; it’s &lt;strong&gt;terrible&lt;/strong&gt; code, and I know that making it work doesn’t make it good. I personally wouldn’t share any of my code (considering &lt;a href=&quot;http://thedailywtf.com/Articles/Code-Refuse.aspx&quot;&gt;&lt;em&gt;“The first rule of code reuse is that the code needs to be worth re-using.”&lt;/em&gt;&lt;/a&gt;) and wouldn’t charge any client for it either.&lt;/p&gt;

&lt;p&gt;And I believe the mere existence of bad programmers spawns from the lack of self-criticism concerning this kind of projects. As a result, I’ll remain publicly &lt;em&gt;not&lt;/em&gt; a programmer until I become a decent one.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Microsoft.com is not a website</title>
   <link href="http://jgthms.com/microsoft-com-not-a-website.html"/>
   <updated>2012-10-05T00:00:00+01:00</updated>
   <id>http://jgthms.com/microsoft-com-not-a-website</id>
   <content type="html">&lt;p&gt;The new &lt;a href=&quot;http://www.microsoft.com/en-us/default.aspx&quot;&gt;Microsoft.com&lt;/a&gt; is a success. There has been much praise about its responsiveness, its simplicity and its clarity. Well-deserved praise I must say, as the design led by Trent Walton’s agency &lt;a href=&quot;http://paravelinc.com/&quot;&gt;Paravel&lt;/a&gt; is very well-thought.&lt;/p&gt;

&lt;p&gt;Problem is: it’s not a website. It’s a portal.&lt;/p&gt;

&lt;p&gt;Considering it’s a single page (and I’ve done a &lt;a href=&quot;http://www.cambodiavietnam2010.com/&quot;&gt;couple&lt;/a&gt; &lt;a href=&quot;http://reachthethrone.com/&quot;&gt;myself&lt;/a&gt;), I can hardly call it a website. Wikipedia itself calls a website a &lt;em&gt;set of related web pages&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Definitions aside, I have yet to find a link on MS.com that ends up on a page using the &lt;em&gt;same&lt;/em&gt; layout. I’ve tried the navigation menu, the big slides, the footer links…
I wasn’t able to stay on the same website (which would have turned it in one actually).&lt;/p&gt;

&lt;p&gt;Clearly, the role of a navigation menu is to provide &lt;strong&gt;hierarchy&lt;/strong&gt;, offering a snapshot of the sitemap, but most of all act as a &lt;strong&gt;guide&lt;/strong&gt; to refer to throughout &lt;em&gt;our&lt;/em&gt; navigation. What’s the point in providing a menu when actually using it makes it suddenly disappear?&lt;/p&gt;

&lt;p&gt;Here are the 2 options:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;build a full-scale Microsoft website that is consistent throughout its products&lt;/li&gt;
  &lt;li&gt;make Microsoft.com look like what it really is: a portal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Obviously, the latter is &lt;em&gt;not&lt;/em&gt; recommended, considering how portals are outdated and not user-friendly, and considering the great design MS can now work with as a solid base.
So, I’ll wait for a complete rebuild of their website(s). And I secretly hope it’s already in the pipeline.&lt;/p&gt;

&lt;p&gt;The Microsoft.com redesign currently looks like a great step forward, but it’s not as long as it remains half-baked as it is. And providing a ‘Feedback’ button may be a hint of what &lt;em&gt;not&lt;/em&gt; to do.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Firefox's wrong textarea resizing</title>
   <link href="http://jgthms.com/firefox-wrong-textarea-resizing.html"/>
   <updated>2012-09-13T00:00:00+01:00</updated>
   <id>http://jgthms.com/firefox-wrong-textarea-resizing</id>
   <content type="html">&lt;p&gt;We, as web designers, tend to dread styling textareas (I know I do). The line-height adjustments can be tricky, the font-family is never inherited, the scrollbar has to be taken into account and padding can mess things up as well. Furthermore, making a textarea graphically appealing can be challenging, considering the sometimes tricky background styling reactions. So we either go for a minimalist textarea (plain background color, no border), or venture to design a gorgeous 3D shadowed rounded gradient-colored textarea box that is meant to look desirable but not necessarily usable.&lt;/p&gt;

&lt;p&gt;When Google Chrome came out 4 years ago, among the top-located tabs, omnibar and dazzling speed, what new feature that struck me was the default ability for a textarea to be resized at will by the user. It was a small but oh so useful little innovation that proved to be a huge improvement in user experience.&lt;/p&gt;

&lt;p&gt;If we didn’t choose to go for the simple minimalist styling, chances are any resizing of the textarea was doomed to break our design. Should we then define a &lt;code&gt;resize: none&lt;/code&gt; on our textareas and risk infuriating our users? Definitely, no.&lt;/p&gt;

&lt;p&gt;Luckily, CSS 3 support spread quite quickly and allowed us to resort to its new fancy properties and style shadows, rounded corners and gradients dynamically, without using any fixed image.&lt;/p&gt;

&lt;p&gt;Firefox was keen enough to implement textarea resizing as well. But here’s the problem: Chrome (by default) only allows users to &lt;strong&gt;expand&lt;/strong&gt; the textarea, from whatever size the designer initially coded. On the other hand, Firefox &lt;em&gt;also&lt;/em&gt; allows users to &lt;strong&gt;reduce&lt;/strong&gt; the textarea size. As far as I know, I’ve never encountered a user who was eager to reduce the size of a textarea. Quite the opposite actually: designers (myself included) often implement ridiculously small textareas to fit in their layout, which brings the user to feel restricted by this decision.&lt;/p&gt;

&lt;p&gt;One workaround is to set both &lt;code&gt;width&lt;/code&gt; &lt;strong&gt;and&lt;/strong&gt; &lt;code&gt;min-width&lt;/code&gt; (as well for height) at the same value to prevent further reduction. But I wish Firefox was smart enough to include this behavior as a default.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>iA Writer's new document</title>
   <link href="http://jgthms.com/ia-writer-new-document.html"/>
   <updated>2012-03-16T00:00:00+00:00</updated>
   <id>http://jgthms.com/ia-writer-new-document</id>
   <content type="html">&lt;p&gt;iA Writer for iPhone &lt;a href=&quot;http://www.iawriter.com/&quot;&gt;just came out&lt;/a&gt;. 0,79€ for both iPhone &lt;em&gt;and&lt;/em&gt; iPad (that I plan on upgrading to iOS 5) apps? Instant download!&lt;/p&gt;

&lt;p&gt;I haven’t used it intensively yet but one thing that &lt;em&gt;really&lt;/em&gt; bothered me (or at least surprised me for its lack of common sense) is that taping the “+” icon to create new document does &lt;strong&gt;just&lt;/strong&gt; that. And I mean &lt;em&gt;only&lt;/em&gt; that: it adds a new .txt file called “Document” &lt;em&gt;but doesn’t open it&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;In what context would you want to create a document without the intent to actually begin writing in it ??&lt;/p&gt;

&lt;p&gt;I personaly don’t plan on filling my iCloud space with empty 0.1kb-sized documents.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>CopyPasteCharacter is unusable</title>
   <link href="http://jgthms.com/copypastecharacter-unusable.html"/>
   <updated>2012-03-12T00:00:00+00:00</updated>
   <id>http://jgthms.com/copypastecharacter-unusable</id>
   <content type="html">&lt;p&gt;I used to love &lt;a href=&quot;http://copypastecharacter.com/&quot;&gt;CopyPasteCharacter&lt;/a&gt; because it provided me special but useful characters that are hard to generate (especially since I mainly work on Windows).&lt;/p&gt;

&lt;p&gt;The ones I sometimes used were:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;→ right arrow&lt;/li&gt;
  &lt;li&gt;“ double quotes&lt;/li&gt;
  &lt;li&gt;♥ heart&lt;/li&gt;
  &lt;li&gt;♫ notes&lt;/li&gt;
  &lt;li&gt;≠ different&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;among others. But because I primarily write in French, my text contains a fair amount of accents: è, à, û, ô, î, and also ç, which are very common. My issue was with the capitalized version of these characters, even though a French keyboard (AZERTY), through its different layout (which modifies a dozen of keys) gives access to more &lt;em&gt;popular&lt;/em&gt; French characters.&lt;/p&gt;

&lt;p&gt;So, whenever I needed a À, Ç or É, I navigated to CopyPasteCharacter where these 3 characters (among others) were directly provided on the home page.&lt;/p&gt;

&lt;p&gt;The website’s new disposition has killed this workflow because the characters are now divided in sets. The problem is that the default set (called &lt;em&gt;Our favorite set&lt;/em&gt;), although nice-looking, consists of a lot of unnecessary characters. A pencil? A doubled male sign? A conical taper? An asterism???&lt;/p&gt;

&lt;p&gt;Anyway, I’ve got 3 options now:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;browse&lt;/strong&gt; for a character, but the “Alphabetical order” is &lt;em&gt;full&lt;/em&gt; of noise.
&lt;img src=&quot;/i/copypastecharacter-noise.png&quot; alt=&quot;CopyPasteCharacter noise&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;search&lt;/strong&gt; for a character, but it’s a slow process and usually results in the same amount of noise.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;create a set&lt;/strong&gt;. &lt;em&gt;Oh dear…&lt;/em&gt; &lt;a href=&quot;/remember-login-not-password.html&quot;&gt;Another login&lt;/a&gt;… And I often need those special characters when I’m &lt;em&gt;not&lt;/em&gt; at home.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Maybe I’m the only one annoyed by this new setup. It’s just that I used to be only two clicks away from copying the character I needed, while now it has become a dreadful process.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Remember login, not password</title>
   <link href="http://jgthms.com/remember-login-not-password.html"/>
   <updated>2012-03-06T00:00:00+00:00</updated>
   <id>http://jgthms.com/remember-login-not-password</id>
   <content type="html">&lt;p&gt;I wish browsers would prompt me, not only to remember my password (which actually remember &lt;em&gt;both&lt;/em&gt; login and password), but also my login &lt;em&gt;only&lt;/em&gt;. The thing is, I don’t mind having my login stored in my browser (and consequentially giving other users potential access to) because it can be (and sometimes is) publically known.&lt;/p&gt;

&lt;p&gt;The problem I encounter is due to my quite common name: Jeremy Thomas. I’m French, but this name is not only common in France but in English-speaking countries too, which are more prone to hold early users of web apps, and thus early &lt;em&gt;subscribers&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;So I have to fall back on one of my nicknames, based upon my first: boomshanka (which is also widely-adopted). These are boomy, boomybx, bbx…&lt;/p&gt;

&lt;p&gt;But again, username choice is often constrained by:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;availability (jthomas, jeremythomas, jeremyt… always taken)&lt;/li&gt;
  &lt;li&gt;character count (boomy, bbx or jt, is almost always too short)&lt;/li&gt;
  &lt;li&gt;special characters (spaces, underscores)&lt;/li&gt;
  &lt;li&gt;required characters (like numbers, rare though)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, among dozens of websites, I end up with a dozen of different logins which I would like my browser to remember, without compromising the security of having &lt;em&gt;also&lt;/em&gt; my passwords stored.&lt;/p&gt;

&lt;p&gt;Even the solution of forcing users to use their email as login isn’t viable because it’s terribly long to write.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Twitter OAuth 'See your password'</title>
   <link href="http://jgthms.com/twitter-oauth-see-your-password.html"/>
   <updated>2012-03-01T00:00:00+00:00</updated>
   <id>http://jgthms.com/twitter-oauth-see-your-password</id>
   <content type="html">&lt;p&gt;I love OAuth. I love it because I tend to register with many different usernames, many different passwords (and variations of them), many different emails (with GMail’s dot trick), so I end up spending more time logging in than actually signing up.&lt;/p&gt;

&lt;p&gt;To efficiently use OAuth, you need a service to which you’re constantly logged in. Twitter is one of them. And because it’s widely adopted among users, it’s widely adopted among developers setting up an authentification system for their web app.&lt;/p&gt;

&lt;p&gt;OAuth not only provides access to your account, but &lt;em&gt;different&lt;/em&gt; levels of access. And although OAuth seems more secure and rapid than an old-school sign up, I still read &lt;em&gt;what&lt;/em&gt; the application I’m granting access to can do with my Twitter account.&lt;/p&gt;

&lt;p&gt;What often strikes me when I authenticate via Twitter is what the third-party application &lt;em&gt;can’t&lt;/em&gt; do:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/i/twitter-see-your-password.png&quot; alt=&quot;Twitter OAuth &apos;See your Twitter password&apos;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I read these bullet points as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;things this application (bitly) can do&lt;/li&gt;
  &lt;li&gt;things this application can’t do &lt;em&gt;but could have asked permission to&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, is this ‘&lt;em&gt;See your Twitter password&lt;/em&gt;’ a global confirmation that no application could &lt;em&gt;ever&lt;/em&gt; see your Twitter password, or is it only this application’s authorization setting? The latter would feel terribly unsecure.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Tumblr and the source problem</title>
   <link href="http://jgthms.com/tumblr-source-problem.html"/>
   <updated>2012-02-28T00:00:00+00:00</updated>
   <id>http://jgthms.com/tumblr-source-problem</id>
   <content type="html">&lt;p&gt;Tumblr is more a community than a blogging engine.&lt;/p&gt;

&lt;p&gt;If you’re registered on WordPress.com, chances are you &lt;em&gt;write&lt;/em&gt; a blog. Whether you’re a literature fan, a passionate photographer or a technology enthousiast, you &lt;strong&gt;produce&lt;/strong&gt; content for others to read. And those readers aren’t necessarily (and probably aren’t) registered to WordPress.com because consuming this content doesn’t require to be. You either subscribe to the RSS feed or visit the blog daily. You’re a visitor.&lt;/p&gt;

&lt;p&gt;Tumblr holds the same features, but adds two new ones:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;the Dashboard&lt;/li&gt;
  &lt;li&gt;the Reblog&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Dashboard is like a homemade RSS reader: you follow Tumblr blogs and find them aggregated on your Tumblr home page. It’s a &lt;strong&gt;consumer&lt;/strong&gt; feature. The only difference with a regular RSS reader is that you’re limited to Tumblr blogs. But because there is that second feature, users don’t feel the lack.&lt;/p&gt;

&lt;p&gt;The Reblog is quite particular: you produce content on your blog without producing &lt;em&gt;any&lt;/em&gt;. I considerer it a product because although your blog will publish it as a duplicate, any visitor of yours will probably only see this version and will consume it as though you were its creator. So Reblogging is &lt;em&gt;production after consumption&lt;/em&gt;: you’ve seen something on a Tumblr blog, you republish it on your own. It’s not a simple link: it’s a complete new post.&lt;/p&gt;

&lt;p&gt;The only difference with a &lt;em&gt;normal&lt;/em&gt; post is the presence of a source link (usually preceded by the word “Via”). This source link is the Tumblr post from which this Reblog comes from, but it’s not necessarily the &lt;strong&gt;original&lt;/strong&gt; post. And when, after having clicked half a dozen of “via” links you finally end up on the original post, you still don’t know the &lt;strong&gt;source&lt;/strong&gt;. Why? Because posting on Tumblr doesn’t require to. This attitude is emphasized by the use of the bookmarklet, which grabs any image of the current page and uploads it anonymously on Tumblr’s servers.&lt;/p&gt;

&lt;p&gt;So when I find a beautiful picture of which I want to find similar ones, and I finally reach the source, I still don’t know where it comes from, because the source according to Tumblr is the original post, not the content’s origin.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Solarized Jekyll Theme</title>
   <link href="http://jgthms.com/solarized-jekyll-theme.html"/>
   <updated>2012-02-24T00:00:00+00:00</updated>
   <id>http://jgthms.com/solarized-jekyll-theme</id>
   <content type="html">&lt;p&gt;As I’ve decided to design this blog without any image nor CSS 3 fancy feature (gradients &amp;amp; shadows particularly), I had to come up with a perfect color scheme, pleasing to read and visually balanced.&lt;/p&gt;

&lt;p&gt;There are &lt;em&gt;millions&lt;/em&gt; of predefined color &lt;a href=&quot;http://kuler.adobe.com/&quot;&gt;palettes&lt;/a&gt; &lt;a href=&quot;http://www.colourlovers.com/palettes&quot;&gt;available&lt;/a&gt; to download. And I’m bad at browsing and taking a quick decision with a whole world of options ahead of me.&lt;/p&gt;

&lt;p&gt;So I had to find that &lt;em&gt;one&lt;/em&gt; particular color theme that makes you forget all the others and regret not having found it before.&lt;/p&gt;

&lt;p&gt;When looking for a performant JavaScript syntax highlighter, I discovered the exceptional &lt;a href=&quot;http://softwaremaniacs.org/soft/highlight/en/&quot;&gt;highlight.js&lt;/a&gt; (auto-detects the language, needs only 2 files) which provides a handfull of color styles. And one of them instantly caught my eye: &lt;strong&gt;&lt;a href=&quot;http://ethanschoonover.com/solarized&quot;&gt;Solarized&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Its tagline reads as:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Precision colors for machines and people&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Precise, it is. Balanced, too. And gorgeous, hell yeah!
It’s a color palette meant for terminal and gui applications, and works incredibly well as a theme for IDEs &amp;amp; text editors.&lt;/p&gt;

&lt;p&gt;Why not make use for it in a &lt;em&gt;blog&lt;/em&gt; theme?&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Bootstrap is for programmers</title>
   <link href="http://jgthms.com/bootstrap-is-for-programmers.html"/>
   <updated>2012-02-21T00:00:00+00:00</updated>
   <id>http://jgthms.com/bootstrap-is-for-programmers</id>
   <content type="html">&lt;p&gt;I am no programmer.&lt;/p&gt;

&lt;p&gt;My work as a web designer consisted of graphic design and HTML / CSS templates. I never used any framework or IDE: I wrote every line using Notepad++. This light setup forced me to be very efficient in my HTML markup and CSS syntax.&lt;/p&gt;

&lt;p&gt;In HTML, I used the fewest tags possible, or should I say, &lt;em&gt;necessary&lt;/em&gt;. Classes were used with parcimony, but provided enough flexibility for the programmer who would use my code. Names used for classes described the content, not the style applied.&lt;/p&gt;

&lt;p&gt;I was committed to follow the golden rule:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;HTML is for content&lt;/li&gt;
  &lt;li&gt;CSS is for layout&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Frameworks such as &lt;a href=&quot;http://twitter.github.com/bootstrap/&quot;&gt;Bootstrap&lt;/a&gt; fail at keeping this dichotomy clear. Some examples:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;.span4&lt;/code&gt; and &lt;code&gt;.offset4&lt;/code&gt; to define column widths and column margins&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;.navbar-fixed-top&lt;/code&gt; to apply an alternate style for the top bar&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;.table-bordered&lt;/code&gt; for a table with borders&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;.form-horizontal&lt;/code&gt; for a float left with right-alined labels&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;.tabs-left&lt;/code&gt; &lt;code&gt;.tabs-right&lt;/code&gt; &lt;code&gt;.tabs-below&lt;/code&gt; classes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All Bootstrap’s classes aren’t weighted with style instead of content description. Buttons are quite well implemented. Variations use function, not color:
&lt;code&gt;.btn-primary&lt;/code&gt; &lt;code&gt;.btn-info&lt;/code&gt; &lt;code&gt;.btn-warning&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Anyway, let’s not overlook the purpose of Bootstrap: quickly build a website, through HTML blocks and classes, &lt;em&gt;without&lt;/em&gt; having to write one line of CSS. &lt;strong&gt;Everything&lt;/strong&gt; is defined in the HTML. If you think about it, programmers merely generate HTML code, and never touch the CSS file. So providing full control, from content to style, through HTML &lt;em&gt;only&lt;/em&gt;, seems evident.&lt;/p&gt;

&lt;p&gt;If I had to launch a website rapidly, I could set it up quite quickly. But I’d still have to take some layout decisions: font, color, positioning, spacing, dimensions… And though I’ve done it more than a hundred times, it wouldn’t be straightforward.&lt;/p&gt;

&lt;p&gt;So I’d set aside my wish to keep content apart from layout and use Bootstrap, because it’s incredibly well designed.&lt;/p&gt;
</content>
 </entry>
 
 
</feed>