Friday, September 17, 2010

Workflow

We are starting two open source projects now. One of our main goals is check how our workflow works in practice. We have some experience in game dev industry and we want to move some conclusions to web dev. The most important thing are: user experience is king and preproduction is queen. We think code is the last thing you should do. Make sure client know what he wants, you know what he wants,  it works and user will enjoy it.

  1. Idea - the start point. You have an another great idea for successful startup. You can't waste any minute. You have to start coding (or find someone else to do that) as soon as possible to conquer the internet and make you rich. Wrong way! Now you should make sure your idea is really work worthing. After that you should start preproduction. It helps you crystallize what your really want and safe a lot of your money and developers work.
  2. Project overview - the most important part of preproduction process. Short document that informs all concerned people what the project is about. It should be rather short and describe only basic features. Many greate ideas will born in your head what else your app should do but you should drop it and concentrate on the core. It shouldn't be updated during next steps for two reasones: all MUST HAVE features all already described here and noone will read it during production. 
  3. Paper mockups - get piece of paper and draw mockups how which pages should looks like, what they should contain. Don't think about details - next step is for that. Why we start with user interface? Well, the answer is quite trivial - apps are for users so the main goal for us is make user happy when he is using our application. If you start with features implementation you can someday wake up with thousands line of code that do amazing things but there will be no way to create user friendly interface for that. Think about it!
  4. Mockups - use some design tool and create digital mockups for all views in your application. Remember about two variants of each action at least: when there is content to display and when where is not / when action is finished with success and when is not.
  5. HTML - now you should create simple static application to test how your interface works and looks like. Use html, css and javascript and feel free to by inspired by the best guys in industry (visit http://dribbble.com/ or similar websites). Focus on the most important parts of UI. When your help people to find restaurant focus on search process and restaurant overview. Things like which font we should us in footer can wait.
  6. Implementation (tests first) - now you can write some code. Take ticket, create own branch in repo for it and start thinking about you really know what they want you to do. If not  - ask. If you have your own idea how it can be done better - discuss. And now you can write some cucumber scenarios and start coding. When it's done and all cucumber scenarios and rspecs are green then show someone your code to revision. After that you can merge your branch with master and deploy. Enjoy!

Feel free to leave your feedback. We are exciting your experience.

Sunday, September 12, 2010

Simple Ads Server

We want to advertise our next open sorce project called Simple Ads Server (SAS). It is ruby gem for rails 3 applications to display ads in our application and collect their stats (displays and hits). It have to be as simple as possible.

You can read SAS project overview:
https://docs.google.com/document/pub?id=1GqcCn7KU9aFcEzuQ187sCm2F48xWDn_7qVYfduqeJy8

Wednesday, September 8, 2010

Ruby hackfest in Warsaw

There in next meeting of Warsaw Ruby Users Group tomorrow. This time we are concentrated on write some code and have a lot of fun. We start at 18 at Lucka 15 (look for aenima company office). There will be short presentation about Mountable apps by Piotr Sarnacki and we move to some pub to start coding. You are invited!

Monday, September 6, 2010

Simple News Aggregation

There it is - our first open source project called Simple News Aggregation.
You can read project overview here.
If you are a beginnier in rails and want to gain some experience in industry then you can co-develop this project with us. Just let us know you are interested.

Sunday, September 5, 2010

Sharing is good!

We think sharing is good thing. It's trivial but it's true (for us). We like sharing our ideas, software and knowladge. So we are starting two new open source in co-operation with yound, hobbist rails developers. Our main goals:

  • check how our ideas works and getting base for our commercial products
  • establish good process of development
  • give our partners chance to work in professional projects, getting experience and some good practices
  • create some useful open source stuff 
More info about the project will be available soon.

Saturday, September 4, 2010

Code of coding

We need a few simple rules to make the best code we can:
  1. Writing code is the last thing you should do. Maka sure the preproduction in finished before you start coding. You shouldn't have any questions and everything should be clear when you are starting write the code. If you have any - find the answer now. Don't waste your time and someone's money writing code that you will have to move to trash when you finally find the answer. New questions will arise and some of the answer will prove to be incorrect. We know that and we want to reduce this losses.
  2. The code is just a resort. Not our main goal. We don't want to have code, we want to have applications that gives users necessary features and fun. We belive the BDD is the best way to achive this goal. Some describe all features using Cucumber or your favourite tool before implementation to make sure you are working on that project you/we/client want.
  3. The code should works. And you have to be sure it works. So write unit test for models, controllers and helpers. 
  4. The code should be easy to read, understand and change. We should know why it works. The code doesn't have to be the smartest and the prettiest one. It's enought if it works, we know why and programmer wrote it fast and happy. 

Let's rock!

We are small, smart and simple webdevelopment company from Poland. We use rails to create simple applications with trivial interface to solve smart problems. We are at beginning of our journey...

The blog's main goal is to share our ideas, cogitations and projects progress with you. Feel free to leave your comment if you have something to say.