contact us

Use the form on the right to contact us.

You can edit the text in this area, and change where the contact form on the right submits to, by entering edit mode using the modes on the bottom right.

           

123 Street Avenue, City Town, 99999

(123) 555-6789

email@address.com

 

You can set your address, phone number, email and site description in the settings tab.
Link to read me page with more information.

Blog

Don't judge iOS 7 by screenshots

Max Al Farakh

I spent a day using iOS 7 on my iPhone 4 and about an hour on my girlfriend's iPhone 5. It's unpolished, it's not very pretty either, but we should stop judging it by static screenshots.

It's a fundamental shift from the previous iOS versions and it is incredibly well done for an early beta. Apple has done a tremendous job and they have plenty of time to polish it and I'm sure they will. Hell, maybe they will even replace those ugly icons. It doesn't matter much now.

Remember, it's not about how it looks, it is about how it works and feels. And it feels great if you spend some time with it. New core design principles work surprisingly well – everything seems to have it's own logical place in a sophisticated system driven by strict rules. It feels right.

It requires a lot more work both by Apple and by developers, but it will be worth it in the end. iOS 7 is iPhone's coming of age. Don't be to quick to judge, give it five minutes.

Interview about music

Max Al Farakh

Last month my new friends at Vinyl Me Please did an interview with me. We talked about music and I tried to be funny.

By the way, if you have a turntable and love vinyl, check them out. Those guys are the most awesome thing on the Internet.

Vesper, Balls and Marco Arment

Max Al Farakh

Marco Arment on Vesper:

How can these guys launch a relatively expensive text-note app that’s missing so many features of competing text-note apps?

Balls.

He uses “balls” seven more times in the article.

tumblr_lrq5kmwVOp1qfff9p.gif

For John Gruber and friends it doesn't take balls to sell an iOS app lacking essential features for $4.99, even in this "extremely crowded" category. Why? Because people will buy it anyway. And Gruber knows it. 

They can get away with this bullshit landing page. They don't need to care about SEO and marketing – hundreds of blogs posted Vesper reviews on the release day. They can price it higher than competitors. They don't need tons of features to succeed. 

Gruber, Wiskus and Simmons can use their [well-deserved] popularity and large fan base to make great apps without any constraints. They have freedom most of us don't have and Vesper screams about it. 

It takes skills and talent, but it doesn't take balls. 

Recommended reading: Steal Like an Artist

Max Al Farakh

Every once in a while I come across a book that not only delivers great ideas and valuable information, but also inspires me to start doing something right away. Steal Like an Artist by Austin Kleon is one of those books and I would strongly recommend everyone to read it.

Maintaining a high creativity level is the hardest task for me. I can rarely stay creative for more than a few days in a row and, as far as I can see, many of my friends have the same problem.

Meet Austin Kleon, a guy who will teach you how to achieve and maintain the highest creativity level and how to prevent it from dying in the daily routine. This is a sweet and short book full of actionable advices. I’ve read it in an hour and that’s the best thing I ever did during a lunch break.

I made a list of new habits I hope to achieve in the coming month:

  1. Work less, but better
  2. Keep a log book
  3. Be patient and don’t screw it up again
  4. Write my thoughts to the notebook already
  5. Write more
  6. Take walks

It’s the third day since I’ve read this book and I can already see changes, so I have high hopes.

Anyway, it costs only $9 and you can’t go wrong with that.

Quick thoughts on Star Wars Episode VII

Max Al Farakh

As you might already know, Disney bought Lucasfilm and now they're going to make the Star Wars sequel trilogy.

Illustration by Louie Mantia

Illustration by Louie Mantia

Disney makes great action movies. The Avengers and Pirates of the Caribbean come to mind. Both awesome titles packed with action, funny jokes and lovely characters. Chances are in 2015 we will see the same kind of movie, which is great by itself, but as a part of Star Wars it's a little disapointing.

Some people hate Star Wars prequels, mostly old-school fans. I don't. The first movie I ever saw in the cinema was Episode I and it's still one of the strongest memories I have. So, to get another movie with lightsaber fights and pod races, which takes place in the beloved universe, will be good enough for me.

But the things we probably won't see in the new trilogy is the charm and the magic, for which we all love the original trilogy. Damn, those movies were filmed in the seventies and they still do not suck in any way. Those are masterpiceses, unlikely to be ever surpassed.

That makes me sad. We will defenitely get movies, which are fun to watch and re-watch, but it's highly unlikely they will take a special place in our hearts.

P.S. I saw Fanboys last week for the first time. If you haven't seen it, please do. Highly recommended for all Star Wars fans.

How to write in English without losing your self-esteem

Max Al Farakh

It's been a year since I started to blog and tweet in English. The decision to switch from my native language was made because I started working at Jitbit with Alex and the majority of our clients were English speaking. Also, every blog I read is written in English as well as most of my twitter feed and I wanted to be a part of that ecosystem.

So, it's been a year and I still suck big time. It seemed easy at first, before I actually made the switch, but it turned out to be so freaking hard that I was close to give it all up a couple of times. I thought that I knew English pretty well, which was true – I watched movies, TV shows and read technical books in English for years at that time. I never had a problem with speaking anywhere in the world, except England, but you get used to it after a while.

But writing is an entirely different thing. You have some phrase in you head and it sounds good, you put it on paper and then you want to cry because of your helplessness. At the beginning I couldn't write a tweet without googling for ten minutes. I was questioning every single phrase, every article and the word order. That was hell. That's the reason why this blog stopped updating after ten mediocre posts and why I wrote one tweet per a week.

But recently I was able to make a huge jump forward, well, at least it feels huge, and it makes me feel better about myself. Yes, I still use dictionaries a lot and, for sure, this very post contains numerous grammatical errors, but it becomes more and more easy to write with every sentence. I just wanted to tell you this story, because I'm sure that some of you will face it or is facing the same thing right now. So, three things helped me to make that jump:

  • Deliberate practice. Deliberate is the key here. It's nothing new, you just need to write more. Be persistent and intentional and it will come. Try to write something every day, you will notice a huge difference after the first week.
  • Read fiction books. This one is huge for me. I try to read one fiction book every two weeks and it really pays off. I couldn't recommend this enough. Again, do it deliberately, but don't forget to enjoy the book.
  • Learn the grammar. This one really helps you to structure and understand everything you know and to gain some self-confidence. It feels good to know that you're writing the right thing without a doubt.

I will keep you updated on this matter, that's a part of my own deliberate practice process. Remember, it won't come easy, but it's an essential skill in the modern world, especially if you are a part of the tech crowd, so you better start practicing today.

Podcasts.app: Sometimes Someone Has to Say "No" to Designers

Max Al Farakh

Sometimes, when you give a free hand to designers, they go insane. Especially the most talented ones. But it’s always a good thing to let your designer do what they want, because too many constraints always lead to an ugly result.

Apple historically had a culture where designers were above everyone else. And, despite the rumors, I guess it still stands that way. But formerly - Steve Jobs used to be there to stop them. Steve Jobs used to say “no” to them and call their work a piece of shit. Now it looks like there’s no one left to say “no” to designers. Otherwise I do not understand how they could put out something like “Podcasts.app”.

This is not design, this is a bunch of pretty textures. Design metaphors should help users understand an app… Really, a tape recorder? Come on, no one younger than 20 hash’t even seen one in their entire lives. And that’s an app for podcast listening… Do you remember how back in the 80s we used to gather around a tape recorder to listen to a bunch of guys chant about the latest technology news? Yeah, me neither. Also, it looks like nothing else in iOS.

Design of that app is just wrong in every way and it came from the company which is famous for it’s incredibly thoughtful designs. As for me, this is a bad sign.

The Unexpected

Max Al Farakh

Finding new ways to improve your apps is always good. Things that will dramatically improve your products or increase revenues are often unexpected.

One day we decided to redesign the look of the checkout page on our site. We use an external payments provider, so the checkout page looked slightly different from the rest of the website. It took me two hours of work and the next month our revenue was up 20%.

That's not an obvious thing. Rarely someone would abandon purchase at the very end, after actually making a decision to buy. Everyone tells you, that you need to optimize the funnel from the beginning, so we never thought of the very end. Two hours of work, 20% up. That's a lot and that's unexpected.

Lessons like this teach us to never underestimate anything, even things that seem ridiculous at first, so we keep trying different things. A couple of months ago we decided to give heatmap analytics a try and I signed up for CrazyEgg trial. At the first glance we didn't see any value in it. We could see where users click on the page. So what, right? Wrong.

After a while, when we had enough clicks tracked, so we were able to see some patterns there, we found out a couple of things. Apparently users really loved to click on screenshot on the product page, but we didn't pay any attention to it. There was like a little thumbnail in the corner. We've added a big screenshot of our fancy Helpdesk app to it's page and got another 5% up in sales. And we were tracking clicks on only one page. Unexpected again.

When we decided to add heatmap analytics to our other pages and sites, we started to experience some difficulties with CrazyEgg. For some reason it didn't handle fluid pages with many floated elements on it well, heatmaps were not very accurate. So we decided to develop our own tool, because it seemed easy to us. After two weeks of hacking JavaScript the Heattest was born. Wow, that was pretty hardcore to develop. Anyway, now we had a tool with an algorithm, which handled any page we had perfectly, had no performance drawbacks at all, and would not lose a single click.

Heatmap analytics is an amazing instrument. We're getting more value from Heattest than from Google Analytics. After more testing was done we found a lot of usability flaws, a lot of things we didn't saw earlier and after a month we achieved another 10% up in revenues. I can't even imagine, what we can achieve in the coming month, after more testing is done. Damn, we're so exited about it, we even created our own app.

Never hesitate to try something new, because results may surprise you.

Feature requests are not (necessarily) evil

Max Al Farakh

We are not a big fans of 37Signals' approach of turning down every feature request by default at Jitbit. We actually love and appreciate our users feedback. Not a day goes by without a couple of feature requests for one of our apps and in many cases we're making a decision to implement them.

It's just wrong to pretend you know, what's best for all your users. They are not dumb too, they have good ideas and you've got to listen to them. Of course you shouldn't blindly fulfill every request to make everyone happy, it will turn your app into rubbish in no time. But you do need to analyze every request carefully.

The bad thing is it's rather hard to do. And the main reason for this is that in the most cases users are proposing the solution to the unknown problem. Unfortunately, acting like a selfish smart ass is a default user behavior pattern and that's perfectly fine. They don't need to think about other users, it's not their job, it's yours.

To analyze a request and decide to implement it or not you should make a user to tell a story. What he's trying to accomplish? What is his actual problem? Make a user tell a story. When you will know and understand it all, you can came up with a solution that will be good for everyone, not just that one user, it will add a real value to your product, also you will know more about how your clients are using your apps.

Listening to your users is essential, you just need to put on a little effort to make them happier.

Easy way to quit smoking (unless you're dumb)

Max Al Farakh

I don’t remember myself as a non-smoker and I don’t remember how was it – to live without cigarettes. Now I’m 23, and I had been smoking since I was 15. That’s not a lifetime, but quite much for this age.

It’s been 20 days since I quit smoking. Maybe it’s a little bit too early, but I think I have something to share.

Every friend of mine, who’s recently quit smoking, did it with the help of Allen Carr’s “The Easy Way to Stop Smoking”. Yeah, you’ve heard about that book, I bet you know a couple of people, who quit after reading it, too. The thing is, it never really worked for me and I don’t know why exactly. I think mostly because this book is too general. Allen did a good job describing the primary reasons why smokers smoke, but everyone has their own reasons and their priorities are different.

I never gave a shit about the harm smoking caused to my health. I mean, come on, I’m 23, I’m too young and dumb for that. Money has also never been a problem for me. I have my own reasons to quit.

The first reason is being out of cigarettes in the middle of the night. You need to stop doing whatever you are doing, put your clothes on and go outside to buy them. I couldn’t wait until tomorrow morning, I needed them right now, I was panicking and nervous. Don’t forget – it’s dark and cold outside, and it’s a long way to the closest 24/7 shop.

The second reason is that smoking is anti-social. I’m not talking about the society in general, I’m talking about my friends. Smoking really started to affect them.

I almost don’t have smoking friends anymore and I used to have a lot. I often find myself at some party smoking somewhere alone, while everyone else is having fun together. Smoking is fucked up. That came clear to me on my last vacation in Paris this New Year. I traveled with three non-smoking friends. Here’s the typical situation: everyone is sitting in the restaurant, enjoying wine and delicious food, having conversation to each other and I am standing outside alone in the fucking rain, freezing and smoking my damn cigarette. I don’t wanna do it anymore. Ever.

Smoking is a pain in the ass when visiting non-smoking friends. You make everyone uncomfortable – you need an ashtray, which they probably don’t have, you need a place to go for a smoke, chances are it’ll be another cold, dark and desperate place of suffering, you smoke your cigarette, and finally you come back smelling like shit. Maybe that’s not a problem for you, because you’re a cool guy, who doesn’t care about what the society thinks, blah-blah-blah. Well, good for you. But I do care, because I don’t like being a selfish dick with my friends.

Those are my reasons, you got to have yours. If you want to quit, you should made a decision, that’s the only thing that matters, everything will go easy after that. You can’t make a decision without reasons.

The next thing Alan Carr would’ve told you is that you’re going to smoke your last cigarette ever. Fuck that. I don’t want to do anything for the last time ever. Smoking has it’s pros and they, as well as cons, are individual for everyone.

I love to smoke when I’m drunk. I love to go out to smoke with mates on occasional parties to talk about men’s stuff. A lot of good and funny things happen in the smoking areas, I don’t wanna miss that. It’s all fine, your only goal here is not to become an addict again, that’s not very easy, so use your head and smoke responsibly. Unless you’re getting drunk everyday, you’re good, and if you are – well, that’s a different problem (by the way, I know how to solve it too).

So, this method basically has two prerequisites:

  1. You should have reasons strong enough to make a decision to quit. I’m sure you have those. Write down all pros and cons that matter to you, you’ll see that there are way more pros than cons. Smoking is just irrational.

  2. You shouldn’t be dumb. If you are – go try Allan Carr’s book first.

My point is, as it turns out, you can quit by yourself. It’s the easiest thing ever. You literally should just stop and that’s it.

Reading: iPad vs. Kindle

Max Al Farakh

I’ve always wanted to buy a Kindle, mostly because, you know, all other geeks have it and really like it. At the same time, purchasing a Kindle while already having an iPad seemed like an overkill to me. Well, at least I thought so before reading the latest DHH’s post on 37signals blog:

Instead of killing the Kindle, the iPad just killed my desire to read books. From the time I got the first iPad until I rediscovered the Kindle this Christmas, I don’t think I finished a single book.

I realized, that I had the exact same problem. I’ve been struggling to read Steve Jobs’ bio for a month, and I haven’t read even a quoter of the book, although it is very interesting and incredibly well written. So, I went and bought a non-touch Kindle 4 yesterday. Wow! I can’t stop reading ever since.

When you’re reading on an iPad, the whole internet is just a few taps away, while Kindle shows you just the things the real book shows you: the text itself and your progress through the book (you can always estimate how many pages left in the real physical book). I think that’s the main reason causing such a great difference in the reading experience. Kindle is a distractions-less and, with it’s sluggishness, even zen-like device.

Kindle fits in the inside pocket of my jacket, it is really light and cheap. You can take it anywhere without being afraid to lose it, it’s not a big deal at all, just go get a new one. Can’t say that about a $500 iPad.

iPad is much better for reading RSS and magazines, but for books (and Instapaper, i guess) Kindle is way ahead. I’m reading again and, damn, it feels good.

Quick Tip: Text Selection Color

Max Al Farakh

I saw this feature for the first time in the HTML5 Boilerplate quite a while ago and have been using it in every project ever since.

Changing text selection color with CSS is easy and, in my opinion, it adds a little bit more fun to the web-site. It make users feel surprised in a good way and surprises make their experience with your web-site memorable. There is absolutely no usability issues, unless you are using über-acid selection colors.

Also, you need to remember to always set text-shadow to none, because selected text with shadow will be unreadable. Here is the code you need to add to your CSS file.

::-moz-selection { background: #4DA400; color: #fff; text-shadow: none; }
::selection { background: #4DA400; color: #fff; text-shadow: none; }

It applies to the whole page, but you can easily limit selection color to specific elements by using CSS selectors (e.g. p.article::selection).

You can see how it works right on this page, try selecting some text.

Web Design for Developers

Max Al Farakh

Everyone knows, that product design is crucial and vital these days. Not only should it look nice, but also make users want to use your product.

I've always wanted to be a designer, those guys just seemed to look way more cool than us, programmers. They are real artists, while we're just typing code in the darkness. They create something worth talking and spreading, something, that people actually love to see and to use, while we write code, that only amazes our fellow programmers.

The process of becoming a designer had always been a mystery to me, but later it became very clear that being a designer is actually nothing, but a skill. It means design could be learned. It doesn't take incredible talent or some kind of a gift to make something look good. I'm not saying, you can design a masterpiece right away after reading some "Web Design for Dummies" book, but it doesn't take much to design something, that doesn't make people wanna throw up.

After years of being a developer I've came up with three basic principles of making things non-ugly, that require nothing, but sense of taste, which we all have in one way or another.

Steal

But steal in a good way. Do not compromise someone's design entirely, people are going straight to hell for that.

While surfing the web, we see stuff, that we like, everyday, get inspired by those. Take colors from one website, background texture from another and typography from the third one and combine it.

You probably think, that it's the easiest way to create an ugly monster. Well, it might end up as a monster, but, from my experience, when you combine three awesome peaces together, the result is at least a good looking one.

Even an easier way to design something is to take some template or a framework. For example, Twitter's Bootstrap is awesome.

Straight to the markup

Don't even think of launching Photoshop, you'll just waste your time. You're a developer – go straight to the markup. With the help of CSS3 you can achieve almost anything you could do in Photoshop way faster and with less effort: custom fonts, rounded corners, shadows, glows, you name it. Also, when you're done with design, you have your markup ready, so there is no need to slice PSDs.

Remember, we are not creating a masterpiece here, so presentation tools, provided by CSS3, are just enough. Following this rule will help you with the third, the most important one.

Keep it simple

If you're like me, you have a great ambition. You make something good looking and immediately think, that you are a God of Design. This is the biggest mistake, that I've made. Don't overcomplicate.

Use traditional layouts, put navigation in predictable places, keep visual hierarchy in place. If you don't, you'll end up with crap. I saw that thousands of times, and at least one thousand of them were done by yours truly.

That's it, dear programmers. If you follow those three simple rules, you'll make a pretty good looking web-site. Also, it's always a good idea, to learn the basics. You can start with these two all-time classic books: "Don't make me think" and "The Non-Designer's Design Book", they'll get you covered.

And finally, my last advise: if you can afford it, don't even think and get a real designer.

Stop arguing and be nice

Max Al Farakh

Ok, this is really easy and straightforward, but it seems that lots of people don't understand it.

There is a rule of thumb if you're asking support people to solve your problem. Here it goes:

Stop fucking arguing and do what you're being told to.

If a support engineer tells you to clear your browser cache, then do it, if he tells you to upgrade to a newer version, then shut up and do it. You're not smarter than him, because chances are, the support engineer have seen your issue thousands of times and knows exactly what to do to fix it and you're just wasting everyone's time (including yours) by being a smart-ass.

Stop arguing and be nice. Love you.

My Mac OS X Terminal.app Setup

Max Al Farakh

This post is not intended to show my complete Terminal.app setup, but to provide you with the best tools out there, which I’ve found after some research. I love doing stuff in Terminal and it’s a major part of my work day, if you do too, than I hope you’ll find some usefull things here.

TotalTerminal

TotalTerminal

TotalTerminal (formerly known as Visor) is a very handy plugin for the bult-in Mac OS Terminal app. The most important feature of it is setting, that let’s you assign a system wide hotkey (ctrl + ` by default) for showing and hiding terminal window, this hotkey will also work on every space. As a bonus you’ll get TerminalColours plugin installed, which basically makes colored output in Terminal.app look way more pretty. TotalTerminal is fully Lion compatible, so go install it now, this is an absolutely must if you launch terminal at least once a day.

UPD: A couple of people are suggesting to check out iTerm 2, which is also quite good, you might wanna take a look.

Zsh

Zsh can be thought of as an extended Bourne shell with a large number of improvements. You’ve probably already heard of Zsh, all the cool kids seem to be using it and we, as command-line hipsters, should use it too. Z shell offers you lots of awesome stuff – it corrects your spelling, autocompletes command parameters (yeah, not only filenames, but also commands parameters, how cool is that!), shares your history across all running shells and more.

The good news is you can switch to Zsh right now, it’s preinstalled on Mac OS, no need to compile anything from the sources or whatever. Go to System Settings → Users & Groups, right click your user and choose Advanced Options, then set Login shell to be /bin/zsh and you’re done. After re-login you’ll get zsh prompt when you launch Terminal.app.

If you’re using bash and, for whatever reasons, don’t want to learn anything, there are good news for you too. There is no learning curve, no different syntax, all bash hotkeys are working, there is nothing that can stop you from switching to Zsh right now. Continue using it as you’ve used to and gradually discover new awesome features.

Oh my Zsh

Alright, we’ve got our Z shell up and running, it’s time to customize it! You’re probably ready to fire up vim and start editing config files, but wait a second, I’ll try to save you some time. Oh-my-zsh is a set of functions, auto-complete helpers and other useful stuff. Also it is a very good framework for further customizations.

Oh-my-zsh comes with a handful of plugins for different apps – git, rails, ruby, gem and lots more. Every plugin has a set of aliases, auto-complete helpers and functions. For example, you can type gst for git status, or type rdbm for rake db:migrate db:test:clone and so on. Plenty of good stuff for free. Also it has tons of themes pre-installed. Theme is a custom command prompt and terminal colors, almost every theme has current git repository info built into the prompt. Check out the entire list of themes with screenshots on github.

And a little more just to get you started.

This command reveal your top ten most used terminal commands. It’s probably a good idea to create aliases out of them.

Here’s my list. Share yours in the comments.

321 cd
254 git
124 rails
51 sudo
22 rvm
22 ls
22 gem
16 subl
12 mate
12 irb

Got any tips or tricks for Terminal in OS X? — a long list of Mac OS X specific terminal commands. Loads of cool stuff in there.

What zsh features do you use? — a small thread at superuser.com with lots of usefull zsh snippets.

State of the Union

Max Al Farakh

This article opens my new blog about programming, self-employment and being awesome.

I have been working as a head of customer support in a big corporate software development company for two years. The job was interesting, I loved making customers happy. People were insanely great, all of them are the best professionals I've ever worked with. I got tons of experience working there and made lots of friends.

But for the last couple of months I was experiencing a burnout that didn't seem to end. I was bored all the time, negative to other people, slept more than usual and just couldn't wake up in the mornings, I lost my enthusiasm for the job completely, the list goes on. I just couldn't stand all the B2B corporate crap anymore. So I decided to take a risk and quit. Just after I did that my mate Alex approached me with an awesome offer.

He runs a small software development company named Jitbit. The company is bootstrapped and already profitable. Alex used to be the solo founder with a couple of remote team members working part-time, and achieved an incredible success. But at the time he got stuck at a certain level of profits and decided to get a partner. So he asked me to become Jitbit’s co-founder. I was really honored and couldn't resist.

I'm working with Alex for quite some time now and things are going great. Being self-employed is awesome, we’re doing lots of interesting stuff and planning to do way more. I can easily wake up in the mornings again and I'm completely free of all the corporate bullshit.

I really hope that things will work out well. And I will keep you updated.

Thats why I started this blog about coding, design and running a small company.