Blog

Later Ctrl + ↑

No privacy in the future, deal with it

There will be no privacy in the future.

It does not matter whether you think it is good or bad. Maybe you truly believe that privacy is a basic human right and should be respected and protected. But who cares about your beliefs? I like privacy myself, so what? Technology will make this concept obsolete: there will just be no such thing soon.

When technology makes possible something people want but has side effects, first it happens, then people learn to deal with side effects. People pirate music and videos, even if copyright owners disagree. Kids watch porn, even if their parents would prefer them not to. Terrorists plan attacks online, even if others object.

Freaked out about Google Glass? Yes, it is ugly and people who think it is the future are crazy. In reality, future is when what Glass does today will be happening without Glass. People will be constantly recording live video of everything they see. The video will be instantly made available to everyone. The software will be able to do face recognition on that video (by the way, the delivery drones will also be recording video). You will not be able to stop the spread of private information. Basically, at some point you will have a 3D model of the whole world where you will be able to look at anything at any angle or distance, live. And you will be able to search it and run any analysis on it.

Everyone will be able to learn where you are and what you are doing at any moment. And where you have been. And with whom. Everyone will be able to see you taking shower and shaving your balls. They will be able to capture a video clip and share with others. You do not like it, I do not like it, but it will happen.

If you spend time trying to protect privacy with the law, you are as stupid as copyright owners spending the time to shut down torrent trackers. Future is inevitable, and you are just being in denial. When you stop technology with law, this means that you restrict access to that technology to governments and grant them the right to use violence to everyone else who tries to use it. If you let governments enforce privacy on your behalf, they will do their best to make sure you do not have access to private data, but they do. NSA will be happy.

Protecting privacy with the law is a bad idea.

Now suppose there is technology that lets your friend spy upon you having sex. Then there should also be technology to check out who has been spying. Thus, while you cannot stop someone from spying, they will think twice before risking to ruin your relationship.

To adapt to the new world, first you make sure the new rules are for everyone, then you think how to use them in your own self-interest.

You should follow me on Twitter, here

Font check marks

At Artem Gorbunov Design Bureau, we have created a set of check marks for many popular fonts:

When I say “we have created” I actually mean my colleagues Artem, Michael and Ksenia, as I did not participate in this project. However, as Artem has told me, my constant moaning about the absence of good check marks prompted the idea.

It is a pity that font designers do not take check marks seriously and make no effort in designing them well (if at all). These are very often needed and should be among the first non-alphanumeric characters to design for a font. Like a dollar sign or an ampersand.

But now you can at least use one of ours.

Best of all, it is free if you send us a link or a photo of how you use them.

Emerge.js, a framework for coordinated page loading

When a web page is loading, images appear in random order, causing unpleasant flashing. Good web developers have learned to deal with the issue by coordinating things with Javascript.

An example would be Apple’s Mac page, where an animated spinner is displayed on top for a couple of seconds, and when the menu items are ready, they appear with a nice animation.

Since coordinating the load process requires tedious programming, it is not what many people choose to do. There are tools which simplify the task to some extent, however the very necessity of programming is a dead end for most people.

Emerge.js changes this.

Emerge.js is a framework for coordinated page loading. It simplifies the task by removing the need to write any Javascript code. The framework uses a declarative approach, where you specify a desired behavior for each element and do not think about the implementation. To make an HTML element wait for its content to load before emerging, use:

class="emerge"

Elements of class emerge fade in after all the contained images are loaded (this includes CSS images). To display an animated spinner while loading, use:

data-spin="true"

The framework lets you coordinate the order and timing and use different animation effects as you see fit, for instance:

data-effect="slide"
data-await="other-element-id"

Check out the product page for detailed description.

Why and how to highlight hyperlinks on mouse hover

Hyperlinks should be highlighted on mouse hover. This provides feedback necessary for the user to feel that the element is clickable. It is equally good to highlight the borders of the images and other non-text elements. I use red as the highlight color, and it works well.

Interestingly, changing mouse pointer from an arrow to a hand is not quite enough. The pointer is my avatar on the screen, so changing it just reinforces the idea that I am aiming to click an element, not that the element is going to respond to my click.

Since CSS provided us with an easy way to add nice transitions to web pages, some designers have implemented fading in and out of the said highlight color. But using fade-in defeats the purpose of the effect: when an element’s color fades-in lazily on hover, the feeling of responsiveness disappears and a page starts to feel numb.

I use only the fade-out transition, i. e. instantly change an element’s color to red on hover, then gradually change it back to blue when mouse moves away. Here are some links to my previous posts to test the effect (will not work in your RSS readers, obviously):

This is how you write a great title for a blog post

Several years ago, if you were to write an article on article titles and you wanted its own title to work best, you would name it something like “Coming up with a great title for an article” or even “10 qualities of a great title”. That was how you attracted clicks.

But recently something has changed. The articles now have titles like “Here is what you should know before updating iOS” or “Look at this amazing picture of Mars made by Curiosity”. As if the first sentence of the text was used in place of a title. The more and more we see these titles that try to shift your attention from themselves to what goes after them. It is the content of an article, right?

Wrong. What really goes after them is a link. That is how twitter sharing works. Now that the title itself is no longer clickable, there no need to attract clicks to it. Instead, a title should look like a direct speech of someone who shares the link, adding to the credibility of the link that follows.

I find it fascinating how technology changes language.

Samara in October, 2013

There are many beautiful old buildings in the city center:

1

They have fantastic signs:

2

And gorgeous balconies:

3

Many buildings have arches:

4
5

For some reason, when I was here for the first time, I did not have any curiosity to what was inside. But I should have:

6
7

The true Samara yards are behihd those arches. With shoes being dried on a little fence:

8

With wonderful stairs:

9

With colorful doors:

10

Without any doors:

11

With impossible brickwork:

12

With numbers written on a wall:

13

With numbers written on a fence:

14

And, of course, with mailboxes:

15

Look at those mailboxes!

16
17
18
19
20
21

Apple, please do not make a 4K display

In several hours Apple will unveil its new products, which are believed to be the new iPads, MacBooks and the new Mac Pro.

Some people have speculated that along with the new Mac Pro Apple will release a new 4K display. Or at least expressed an opinion that such a move would be welcome. Particularly, Marco Arment has said in the latest Talk Show, that he would buy one (or even two) immediately.

A new, better desktop display is what I want either, but 4K is not an answer to that at all.

I am currently using the Apple’s 30-inch Cinema Display from 2004 running at 2560×1600 resolution. Unfortunately, noone, including Apple, has since released a better display for me. Apple’s own newer displays, i.e. a 27-inch Thunderbolt display or a 27-inch iMac display, run just 2560×1440. And not only the resolution is lower, these displays are also glossy, whereas I prefer a mirror to be a separate device. If Apple announces a 4K display later today, I don’t see how it can be better than the 2004 one I already have.

There are different definitions as to what 4K resolution means. Let’s say Apple picks a 4096-pixels-wide option. So for a 16:10 display, the resolution would be 4096×2560. Now there are three options as to how to use these pixels.

The standard “retina” pixel-doubling approach will result in an effective 2048×1280 resolution. So I will end up with 36% less real estate than I have now. Also, on a 30-inch display such 2×2 “pixels” will be gigantic and all non-retina stuff will look ugly (and I don’t want to “upgrade” to a smaller display). So this does not work at all. Another option would be to use scaling (as available on the retina MacBook Pros). While scaling definitely looks OK on retina, I want to enjoy razor-sharp pixels on my new display, not some blurry crap (even if it is not that blurry). And the last option would be to use the actual 4096×2560 as is. With Mac’s very poor ability to scale UI fonts, I don’t think I will be able to see anything in such a mode. I doubt this option will even be available without some sort of a hack.

As you see, there’s no way a 4K display can be any better than the good old 2004 Cinema Display. So I hope Apple will not use 4K and will go straight to “5K” with a 5120×3200 30-inch matte Retina Cinema Display. Please?

Earlier Ctrl + ↓