12
Keeping everybody sane a view from the developers side by Janika Liiv

Keeping everybody sane

Embed Size (px)

DESCRIPTION

I'd like to think that writing a web application is a lot like writing a play or a movie script. When you start writing a screenplay, you first have to have an idea, what it is going to be about, what is your message you want to put out there. And when you have that, you start constructing the story to achieve your goal. You start writing the scenes – what happens first or what is the most brilliant part of the story. Decide what will be shown on the screen? What happens on the background? How will this make the story go on? You should care about what you are doing.All this applies also to programs. You have to have an idea – it can be ambitious, but I encourage you to start small. Try to put it into one sentence and be as specific as you can. Reduce your idea to the minimal possible version. The small steps you now take are functionalities not scenes. You should start with the prerequisite for others or with the most important functionality. Decide what will be shown on the screen? What happens on the background? What part will this functionality play in your program? If you make the first one work, add more.The best stories are compact and whole. Every scene should make the story go on. The plot has to be tight and support itself in every aspect. Try to avoid loose ends and unnecessary functionalities. They distract and confuse users. Unlike the audience in the movie theater, the user of your application is not a passive spectator. What makes programming a bit more compelling and complicating is that the user is also the actor. Mostly your actors will improvise and click around randomly, insert weird data into the inputs and do a lot of stuff you would even dream about. But the programmer has a strong power over them. You have to direct the actor with clear and simple paths that the is compelled to walk on. You have to pay attention how you organize your functionalities – decide what goes with what, are the labels clear, what is most important and is it understandable to the user.Don't create restrictions. Don’t show users things they can’t do. No links that lead to pages saying you don’t have access, or this is not working yet or even worse, they get an error screen. You know what happens in a horror movie when a character finds a door to a dark cellar with creepy noises coming from there or a gate with a sign do not enter? Writing a program is about creating the illusion of freedom of choice. As there are more and more programs and technologies that cry for our attention and clutter our minds with information, we tend towards simpler and clearer applications. We don't have time to read long instructions or manuals. We want things to work intuitively. If a program frustrates me and makes me feel stupid I'm less motivated to use it again. Make me feel like Clint Eastwood - make me feel that using your app makes me cool, capable and smart. So my advice to you - focus on one thing and make it work. Make it brilliant.

Citation preview

Page 1: Keeping everybody sane

Keeping everybody sane

a view from the developers side byJanika Liiv

Page 2: Keeping everybody sane

About me

www.toggl.com

www.plannerhq.com

Page 3: Keeping everybody sane

Programming is creative writing

Page 4: Keeping everybody sane

What is your story about?

Page 5: Keeping everybody sane

Take small steps

Page 6: Keeping everybody sane

Make it clear and compact

Page 7: Keeping everybody sane

Create choices and avoid restrictions

Page 8: Keeping everybody sane

Make it intuitive

Page 9: Keeping everybody sane

Learn!

● Read code what others have written ● Ask questions ● Google your problems ● Use what others have done (gems, plugins)

Page 10: Keeping everybody sane

Use version control

Page 11: Keeping everybody sane

FocusSmall steps

ClarityLearningCreativity!

Page 12: Keeping everybody sane

Questions?