Latest Node.js frameworks trends

Hey, since my last blog post about latest Node.js trends, I get deeper in RailwayJS, a rails-like framework for Node.JS. Despite the lack of documentation, I definitely like it : it is lightweight and allow to start quickly a solid web application. The counterpart is that you have to follow the framework logic. Fortunately, it’s easy to learn. Moreover Railways offers scaffolding, so you can see the way it works. For the bad part, I noticed some bugs with the coffeescript mode (files are still generated in javascript), I hope that they will be corrected soon.

I also discovered Tower.js a complete framework dedicated to coffee script applications. Tower is inspired by Rails too and looks promising (lot of cool ideas) but for now it is a little bit the mess, too much features were added too quickly : documentation is incomplete and performances look poor (see my CPU charge grows of 6% for a single request). Despite of that, the overall design looks great and based on good tools, so after a little pause and a little cleaning it could really become a killer framework. One other good point is that it handles the client part too, so common code for backend and frontend should be easy to set up. Whatever, for now, I would recommend Railway over it, because it is easier to start with and developers seem to focus better on important features.

At last I will talk about Brunch, the Coffeescript client framework, which finally gets to 1.0. Now Brunch has no more weird bugs with watch command (automatic compilation after file modifications was broken) and seems to be faster. The overall project organization is better and dependencies are very well handled. Another good news is that you can use other MVC framework than Backbone: Ember and Batman are availables. As you understand, Brunch is still my favorite client side framework.

Little remark: until now upgrades of Brunch were painful. I hope with that last release, they will stabilize the directory organization and makes updates more seamless.

Finally, via Brunch I discovered Chaplin which is a proposal of BackboneJS app architecture. It has been shared after being built for a real case. It doesn’t look trivial, I hope I could get deeper, I can’t tell a lot for the moment. Whatever have a look at it if you need some inspirations !

Themes for Newebe

Newebe user and bored by the default black and white design ? Good news, Newebe has a new feature : theming !

For that, change the styles by adding your own CSS file to the static/css/ folder you find at the root of your Newebe directory. The theme file must be named theme.css . Then reload, your web page and you will be glad to use a colorful Newebe !

Building a startup : the beginnings (january – february 2012)

Two months ago, I joined my actual partners, Benjamin and Jonathan, for the long journey of a startup creation. Because, I like to share what I do and what I thought about software developments, I’m going to do the same about entrepreneurship and share my point of view on what we do. For this post, I won’t talk about the product and will focus more on the organisational aspects.

1. Thoughtland

Before meeting each other, we were in the wonderful world of thoughtland: we talk about ideas around self-hosting with our friends and we tried to anticipate the trends of the web. Worst, we were dispatched and did not know each other yet. The debate is wide and exciting and this phase is good to initiate our vision but the risk is to stay here too long and guessing too much on what does not exist. Fortunately, we like to get things done. First move: Benjamin hired partners.

NB: Thoughtland, I found this word from Pretotype It – The book

2. Hiring partners

After much reflection, Benjamin, who knows clearly what he wanted to build around self-hosting (he scratched his own itch and find a solution to a problem) decided to gather people to help him. First he used a classic and efficient technic : rely on people from his network. That led him to Jonathan, a brilliant developer  who graduated a year ago and had some experience with startup : one more builder for his team.

But finding the right people who are available and share your vision is not the easiest thing to do and sometimes network is not enough. To take things to the next level, Benjamin has several criterias: be interested in the web, desire for entrepreneurship, technical skills, availability, network… That’s a good start but then what’s next ? To make things happen Benjamin had a clever idea which costs almost nothing. On a blog post talking about cloud applications and  their privacy issues he left a comment telling approximately this: “Stop whining, do something. I’m building a company on self-hosting, if you are interested contact me.” Head shot: I answered.

By posting a comment on this blog post he knows that he will have very few answers but the conversion rate of his answers would be high: only people who are concerned by the problem and motivated to do something would answer to this kind of message.

NB: Head shot is a FPS video game reference, it means you did a risky, precise and efficient shot.

3. Organize

One of our problem is that we don’t have an office. Moreover we don’t know each other very well. So, how do we deal with that ? One solution, meetings :

  • One 4 hour meeting each monday in a coworking place : that is not a very productive meeting, but it is a way to learn to interact and work together.
  • One online daily meeting where people report what they do and what they are planning to do. Ideally we say no more unless we had a serious issue to deal with.

For the rest, we send emails without expecting fast answers to not force others to check their mailboxes too often.

4. Tools

To do all of our tasks, we studied several kind of tools. We tested a lot of them quickly and looked for two characteristics : simplicity and cost efficient. I started with a short list. Then I gave it to my partners who reduced it. We chosed our tools as in an agile way : use the easier to start with so we will be able to modify it easily when needed. Then we finally decided to use the following ones :

  • Skype : for our online meeting
  • Github : code repositories and ticket issues
  • Gollum : our wiki, integrated to github and easily movable if we want to host it.
  • Trello : kanban tools that we use with one board of three columns (to do, doing, done) for our daily meetings .
  • Jekyll : lightweight blog engine

5. Find an incubator

To be introduced to the French startup world, to meet more people and be visible to VCs, a good start is to be selected for incubation. It offers also us a small office, workshops and better access to public funds. Incubator is not mandatory but it helps a lot. Moreover, preparing the presentation to be selected, push you to think your company under the main aspects. This is really a good exercise. The only bad point is that they ask silly things like 3 years business plan. Wake up, this is a tech startup !

6. Action

Thinking and preparing good work conditions is a good thing, but he does not lead you to a viable product. So we started to focus on that. We had a great workshop with Stéphane Bagnier which explores the fundamentals of lean method. That motivated us to interview potential users and build a pretotype. Which is what we are working on right now. We also built a fake door (not online yet) to grab some emails and validate our message.

NB: Fake door is also a word from Pretotype It – The book, it is a website where you can suscribe like on any other web application, but after you suscribe a message tells you that te product is not ready yet.

Conclusion

I also didn’t mention administrative stuff and analyses/discutions like “bootstraping or not”, technology choices, vision, etc. Both are time consuming too but it fills up our wiki with a lot of useful informations. Finally, I am glad we arrived at that point after two months. We put the rails on our path to the minimum viable product : now we can focus on it.

Follow

Get every new post delivered to your Inbox.