Selected

Later Ctrl + ↑

The beauty of silence

Breaking news:

A law was passed that in order to drive a car [...] in Britain, there had to be a person walking in front of the car, waving a red flag and blowing a horn.

OK, this is not news, this is history. But, wasn’t it ridiculous? Waving a red flag and blowing a horn! Like an idiot!

Now, to the news. Electric cars are beautifully quiet, but can be dangerous: people don’t know the car is approaching and get killed. And so car manufacturers are making the cars produce artificial noise. Like idiots. The article even says that “recent legislative efforts in the US are making it mandatory that companies add artificial engine sounds to electric vehicles”. Here’s an Audi video about production of such sounds:

They are trying to make it “cool”, but it is so wrong. Noise does not make a car any more useful. Noise is there because of the imperfect aging technology, not because we wanted it to be there. Noise is pollution, we must get rid of it.

People will get used to the beauty of silence. And love it.

Got Git

I’ve always loved programming and hated source control. Source control is about baby-sitting your code instead of actually producing it. It’s like time management instead of actual work. Complicated and boring process that requires discipline, attention to and knowledge of things unrelated to the real project you are making. That has always stopped me from even considering source control. Believe it or not, but for seven years I’ve been developing my blogging system, E2, without source control (still, it’s the best blogging system in the world).

I am also not a big fan of the command line. I know how to spell “sudo apachectl restart”, and that’s pretty much sums it up. So all that svn / git / hg command line incomprehensible crap only added to my frustration. Friends said there were GUI clients, showed me Tower. Oh my god, so much stuff to look at, so many buttons to understand, so many rites to learn. For some reason, I can’t just commit stuff, I need to stage it first. No, I said, please, guys, let me just do my projects. And those “remote repositories”? Hate that. Everything is already here, on my machine. Why bother even thinking about putting it somewhere else? See, I didn’t like anything about source control.

Everyone was trying to convert me. They said hey, but how do you work in a team without source control? And I said, I either work alone, or I separate pieces of code into independent files. They said hey, but how do you revert changes if you’ve accidentally broken something, without source control? And I said, I use Time Machine. They said hey, how do you branch your code without source control? And I said, what the hell is that?

But there’s always been something I did want, and I knew source control could do it for me. First, I wanted to see what has changed in a project from a previous revision (to write a full changelog, primarily). Second, ability to comment the changes would be nice. Third, I wanted to be sure no code gets deleted just because Time Machine runs out of disk space. Finally, I wanted to seamlessly merge changes I’ve made on my notebook with the ones I’ve made on my main machine, if I’ve accidentally forgotten to sync them before doing something.

I was lucky enough to get the author of Gitbox, Oleg Andreev (who I happen to know personally), to spend some time on Skype with me and explain how to start using git with Gitbox. It turned out to be way easier than I had thought. You just drag a folder to Gitbox to put it under its control. Whenever something changes, it shows you the changed files (on the right):

To commit changes, you put checkboxes next to the files you want and write a comment in the field above the list. To see changes inside a file, you double-click its name. The project and its commit history looks like mail. Oleg explained to me how to “link” the project folders on the notebook and on the main machine: I had to set up the two copies as remote repositories for one another. This was the only non-obvious thing. Still, done in the UI with drag and drop.

So if you are like me and want to continue hating source control but still use some of its benefits, try Gitbox. Or if you are not like me and you’ve been a source control fan all your life, try Gitbox. You’ll love it.

Linking to where I already am

Every web designer knows that no hyperlink should ever reference a page where I already am. Ah, not true! For some reason, many web designers think it’s fine to use such hyperlinks. It’s the stupidest thing ever.

For example, there’s a great post by Jeff Atwood on pagination. I was trying to copy the title of the post, but failed twice. Should be easy: select text and press ⌘C. So I double-click “Pagination” and move the mouse to select the rest of the text (that’s how text selection works: after double clicking you select by words instead of by characters). Oops, the page is now reloading. What happened? Turns out, the title is a link to the post which I’m reading already! Not just is it absolutely useless, the link is not even underlined, it’s not even blue. So there’s no logical reason for it to be a link and no logical reason for me to even expect it to be a link. Why on Earth would anyone design stuf this way? Still, great post on pagination there.

Maybe Jeff is just a bad designer? No, that is clearly not the reason. Welcome to apple.com, another example of this mistake by some of the best designers. See that  in the menu on top? It’s a link to the front page. But wait a minute, I am on the front page! Click ”iPod”, and things gets worse: now the “iPod” button looks pressed and does not change when you hover it, but it’s still a link to where you are. Notice, by the way, that the first button was not pressed when you were on frontpage. Apple is famous for its attention to detail, but this design is lousy and makes no sense. Sure, it’s better to be right than to be consistent. But there’s nothing good about being both wrong and inconsistent, I suppose.

Rule: Never link to the very page you are at.

SIM cards must die

So, Apple still fighting for smaller SIM card standard for future iPhones. What? Why isn’t Apple fighting to kill the SIM cards? In the future, there won’t exist any SIM cards, and we will choose carriers like we choose Wi-Fi networks.

The phone presents me with a list of available carriers. I pick the one I like or select to learn more about it (coverage, service plans etc). If I choose a new one, the phone asks me to choose a plan and other details. Then it asks me if it’s fine to share my payment information with the selected carrier. I confirm. Done. Something like this:

Carriers don’t want that because it will prevent them from locking in customers. But who cares? How many things the carriers used to like Apple has already killed? It’s about time to kill the most clumsy and archaic one, the SIM card.

How we decide on Wireless DJ features

The users of Wireless DJ ask us: why isn’t there feature X or feature Y? There are some apps on the App Store that have more features than we do, but our customers like the polish and the friendliness of Wireless DJ. So while some choose to switch to TouchOSC or something else, many people prefer to stay with us. I’d like to explain how we decide on features.

First of all, we are very limited on screen real estate. Since there is no shortage of ideas, adding every single one of them will quickly bloat the product and lower its quality. We carefully test our layouts to make sure they not only look good, but also feel solid and don’t provoke mistakes. Imagine we add everything that comes to our minds, whether it’s a great feature or just a “why not” feature. What do we do when a truly awesome feature comes to our minds? We’ll have to either make things smaller and put them closer to each other, or remove something. But we don’t want to compromise on usability. And removing features is painful for the customers.

Wireless DJ exists because there are some things which you either can’t or won’t want to do with keyboard or mouse. Pitch bending with a keyboard is very unnatural and counter-intuitive. Simultaneous tweaking of multiple knobs with mouse is impossible. These things we must have. Play and Cue can be assigned to a keyboard, but by putting them next to the Magic Strips (our awesome pitch bend / direct manipulation controls) we make them together much more useful for cue point search. So we have these, too.

But we think it’s fine to use your laptop for actions like managing the playlist or adjusting the Trim knobs, because you don’t have to do it constantly during your mix or simultaneously with other actions. These are obvious omissions from our interface, but we don’t see how adding them will make the experience significantly better.

And as we know from Steve Jobs, focus is about saying „No“ to things. In addition, we know from Raymond Chen that you don’t have a product until you start saying „No‘. Finally, we know from Jim Camp that you should always say „No‘ to everything whatsoever (not really). So it’s important to have a filter or at least a method to prioritize features. What’s yours?

Changing passwords regularly

My online banking site wants me to change my password every couple of months. No wonder the password now looks like Blahblahblah16 (not literally “Blahblahblah”, don’t worry), and it isn’t too hard to guess it will be Blahblahblah17 next time they make me change it.

Theoretically, changing password from time to time should make my banking more secure: if someone finds out what my password is, he won’t be able to use it forever (not a big win, by the way, but that’s another story). Practically though, this does not work, because not all passwords are created equal, and the more you make me change them, the more predictable they tend to be.

If you make people do what they don’t want to do, they will try to cheat and avoid actually doing it. Here, I add numbers to my “base” password. Some systems prevent this by forcing your new password to be significantly different from the previous one. But people are smarter than machines, they will find a loophole. For example, I could have used two strong and very different passwords and switch between them every time it asks me. Disallow this, and I will come up with strong, original, completely non-repeating and nonsensical password every time — and write it down on a sheet of paper.

Improving camera UI in iOS

While modal interfaces are evil, there are cases where the designers haven’t yet figured out a way to get completely modeless. I, for one thing, cannot imagine Photoshop without tools.

But why on Earth does Apple use modes in the Camera app? Notice the small switch in the bottom right:

Don’t know about you, but I constantly get into a trap of modal errors here. I press the shutter button, and heck, the stupid thing is now recording video. Apparently I was shooting video the last time I opened the Camera app... who cares, the moment is missed already.

Apple talks about how they’ve improved the camera start-up time in the new iPhone. That, as well as the addition of a dedicated camera button to the home screen, is great. But things like this stupid switch void their efforts, because there’s always a 50% chance that you won’t to actually take a picture.

Unlike a modeless Photoshop, this problem is easy to solve:

Yes, I know about the different “crop factors” for photo and video and that there are some additional options for photo. But so what? Just call the options “Photo options” and zoom in when starting to shoot video.

Promo mix: Freed

The new mix is a progressive house one.

I was going to call it “Lust And Passion” as it includes the tracks named “Circles of Lust” and “Passion Of Zorro”. But then I changed my mind: Dosem and his track Freed are the heroes of the mix. In fact, everything Dosem produces is delicious. Both “Beach Kisses” and “Silent Drop” were splendid. And now here’s Freed (40:25+) — boy is it good!

The rest of the tracks are also great. Why would I include them in the mix otherwise, right?

Wireless DJ, now with effects

Wireless DJ, the iPad MIDI controller (created by Evgen Bodunov and myself), has been updated to support effects. Use EQ/FX switch to select how to treat the three knobs and turn the effects on/off with a separate button. I’ve made a video with a demo of the new feature. Not a great performance, but good enough for you to get the idea. Also, this Dany Sbert’s track is awesome:

By the way, the website has been also updated. Don’t forget to download the new configuration file for Traktor Pro.

Wireless DJ is the most affordable and cool way to get into mixing.

DSLR cameras should become iPhone docks

If you just want to take a picture, you use your iPhone. But what if you want great quality? Not “great for a phone”, but plain great? You shoot with a DSLR camera.

Unfortunately, DSLRs are painfully outdated. With them you can’t tweet or email photos, you can’t crop or adjust them and you can’t organize your library. And to get your photos anywhere, you’ll need a cord or a compatible card reader. This is ridiculous given that it’s 2012.

Adding all these features to cameras, on the other hand, seems unrealistic. It will take years of work and the UI will be terrible. Doubt it? Just look at your current camera buttons and menus and imagine setting up a twitter account on it. It’s crazy, no one would ever do this even if they had the feature.

The solution: remove everything from the back side of the camera and make it an iPhone dock:

Here are the features you get for free (or at low cost) after you’ve done this:

  • Super high quality touch screen. Use iPhone to configure presets and settings or as a viewfinder when necessary.
  • Store photos on the phone, share photos with anyone on any service.
  • Get your photos backed up to iTunes or iCloud’s Photo Stream wirelessly.
  • Watch photos and videos wirelessly with Airplay.
  • Get location tags on all photos.
  • Use the phone as a reserve power source.
  • Edit photo and video with apps from Instagram to iMovie.
  • Use advanced developer tools to extend this list to your liking.

OK, stop me, or I can just list all the iPhone features and say they are now features or this awesome DSLR.

Since you don’t have to include all this stuff with the camera, it will be dramatically cheaper to produce. And since it makes the camera so much more useful, it’s an incredible profit opportunity. How come nobody has done it yet?

Earlier Ctrl + ↓