Jun 26, 2014

I do want a better product but I can’t afford to hire a UX guy

First of all, you should think of this as an investment, not an expense - like that time that you went to the gym, you didn't think of it as losing money, you thought of it as investing in your looks.

Second of all you don't really have to hire a full-time UX expert. If you have a small business, you could go with a consulting firm to set things on the right track for you.

But picture this: you have 10 programmers working on your product, they constantly add new features that really kick ass in the industry but nobody is using them. Maybe because they are hard to use, maybe the controls aren't in the right places, maybe the copy isn't great and you don't really know how to ask your potential customers what's wrong. It may be hard to realize it but you need a fix.

The idea is you could have 9 programmers and a UX person doing a better job. Your product kicks ass only if your users say so!

Save yourself!

Jun 21, 2014

Becoming a better JavaScript developer

One of the most important aspects in the life of a coder is the constant strive to learn, learn and learn some more. The industry is evolving and you have to keep up or risk being left behind. This is especially true in the world of JavaScript, which was considered more suitable for rookies and now has evolved to a full fledged
programming language, with a large ecosystem of libraries and frameworks.

Therefore, I am going to present three practices that will help your code evolve as well.

Start using a script loader and better organize your code

By using a script loader you can get rid of all those pesky script tags from the bottom of your <body> or even worse, your <head>. It also provides an easy way to load your scripts asynchronously and handle dependencies, without worrying about the order in which you should declare them.

Another plus for using a script loader is that it helps you write modular and reusable code, by creating and exporting modules.
My script loader of choice is RequireJS, with a well-documented api. Props to its creator, James Burke.

Use a custom jQuery build

What is the first script that you include in a newly created project? Probably your answer is jQuery. I get it, jQuery was the library for the millennium, bringing all the different browser implementations under one nice fa├žade. But nowadays, it became much more than just a simple utility for traversing the DOM, possibly adding unwanted code to your project.
For example, as it's stated on jQuery's github page, there's no need to include all the DOM manipulation functions if you only want to make a jsonp request, using $.ajax.
There's a full list of excludable modules on that page, so feel free to take a look.

Another mention that I want to make on this topic is James Padolsey's jQuery source viewer, an excellent tool for visualising the way in which methods are implemented in jQuery.

Embrace weak typing and learn how to dodge JavaScript's problems

Maybe you miss working in a strongly typed language, or maybe you like being sure that 1 isn't equal to true, or you have no idea why 1/0 in base 19 is equal to 18. But if you want to succeed as a JavaScript programmer, learning when and why "strange" things happen is essential. Considering the multitude of posts on the web regarding this subject, I'm not going to reiterate over those nuisances here, but I'll just leave this useful link to a JavaScript equality table.

That's all for today's post, look ahead for my next entry, containing some tips and tricks for using Unobtrusive Client Validation in ASP.NET MVC

Jun 20, 2014

Care about yourself to start caring about your users

We love to think that someday we'll have a product that sells itself right from the launch, that people will love it right from the start and that they're going to pay a lot of money to have it even if they don't need it. That might be possible if you sell real unicorns but the truth is that you don't (If you do, please send me an email, I must have one).

Don't be scared though, you can still sell your products and have a lot of fans by doing the right thing. And the right things starts with you!

Yes you, you are the one not only investing in the product but the one who is also waiting to make a profit out of it. So you are in control right? You may be deciding to cut on the quality using cheaper materials but not on the final price.

WRONG! Start caring about yourself!

Think how important it is for you when you buy something and you have expectations about quality, utility, aesthetics and so on. Your clients are no different from you. If you buy something that broke after the first use you become mad, so do your customers.

Respect yourself in everything you do or step aside and let others, who care more, run your business. This is the only way to sell unicorns :)

Easy to say, hard to do, so what can you do after all if you have an online business?
  • Invest in good hosting or, if you can afford it, move to the cloud. Your service must be available all the time and at it needs to be fast. A client from the US may wait seconds more than a client from UK to see the same thing, and that is too much.
  • Choose the right platform and technology. Choosing poorly may cost you more in the long term, think about support or not being able to find guys to fix your site.
  • Make sure that everything works well, not that it simply works. It will take longer to develop a new feature but in the end everyone will be happier about it.
  • Get rid of advertisement on your site. Not only will you not make money from that but users hate to see tons of flashing images and banners. It looks cheap. Bonus: without them, the site will load faster.

Want to find more on how you can improve your business and your relations with the clients? Drop us a line at [email protected] and we’ll be glad to help you.

Jun 18, 2014

Why do I need a UX Designer? I just want my site to look good

To be able to answer such a question we must be able to understand what User Experience really is. I'm not going to use a hard to understand definition because I have a little example in mind.

Let's imagine that you want a new car, one built just for you. What steps will you follow?
  • You go to the Web Designer and tell him what you want: fast, powerful, safe. He draws you the car, but that doesn't mean it will actually work. 
  • A second person comes by, the UI Designer, and he makes the car look even better. He chooses a nice set of wheels, he picks out that chrome finish for the doors that matches the wheels but the car still doesn't work. 
  • It's the UX Designer task to understand what is wrong with the car. He finds out that the steering wheel was put in the wrong place, behind the driver's seat. He understands what the user actually needs and not only does he fix the car but he creates a nice experience when driving or riding in it. 

The major attribute of a UX Designer is that he understands the client’s needs. He knows that it's not enough for your site or a software program to look good, it must also be easy to use. He's the one that can create something people will love, understand and grow with.

But a UX Designer's job is not only about creating nice things for the users, it's a full time job where business goals, design trends, psychology and many more meet to provide customer satisfaction and maximize your revenue.

UX is invisible marketing with feelings!