SandmanApp now has ruby support.
On January 28th and 29th we wrote a web based notification system for developers called SandmanApp. We want to share the process that helped us getting of the ground in one weekend.
Preperation is key.
The idea for our project had been lingering in our brains for several weeks, going back and forth in skype meetings the idea evolved and we finally decided on a basic direction and started to think about how to get going.
We had done a handful of projects before, some of which failed for several reasons. That is why we tried to analyse what went wrong before and try a different approach.
One of the things that we have learned from our previous projects is that you are quite likely lose interest in the project if you do not launch some basic alpha/draft (call it what you want) really quickly. We decided to create the basic application in one weekend.
As a matter of a fact we massively reduced functionality for our initial launch, but at the end of the day it is better to have a working application that people can start using, rather than having a fully featured application, that will never see the digital dawn.
Step by Step
The week before our sprint, we luckily figured our basic infrastructural needs and where our development should be heading.
We decided on the basic technologies and made paper mockups for the user facing part of our application. We even built a small proof of concept for our server upfront.
When git emerged, versioning became almost fun and we decided to use Codaset for our GIT repository as well as their ticket system for writing down every little piece of functionality that we wanted to build that weekend. We can say that we are more than happy with Codaset and really recommend it to everyone trying to do what we did (We know about github.com, but it does not provide a free private repository).
In a nutshell: We had a handful of names, we had a really basic design, we had already set up a git repo and most important of all, we had a list of thinks that needed to be done during the sprint. It turned out to be a really good idea kicking of the sprint without worrying about infrastructural needs and definitely helped to get to the essential part, the coding, as fast as possible.
Little side node for all the mac users out there: <Tower> is a wonderful git client, that really replaces the terminal and is equally powerful.
Execution is value
Let’s face it: We are geeks. We like shiny new technology, bleeding edge languages and awesome frameworks. We tend to get caught up in the dream of a perfect infrastructure and we tend to over engineer.
Our experience from former project showed that over engineering, using technology that was still in beta and/or using technology we never worked with before, had caused so much extra work, that those projects never got finished.
This time we wanted to do it right: Using tools that were field-tested, languages we knew better than our mother tongue and frameworks that do not seduce you away from your actual goal and make you fall for the sweat hate-love of over engineer. As it turns out, this has been one of the best decisions we made. If you want to get things done, swallow down your geek pride and use the boring tools you use every day, instead of the ones you always wanted to use.
As in every project, the cause for most of the problems is communication. Luckily, it was only the two of us, we know each other for quite some time, have worked and maybe most important boozed together in the past. Don’t take that as an encouragement for getting pissed, but when you once had a couple of drinks to much with someone, you truly know that person. This has simplified many things, as we knew how the other one works and thinks. If you want to get something off the ground fast, make sure you know your teammates, know that their work is good and that you guys get along even if it is 4am at night and you’ve been debugging some shit for the last 30 minutes. Make sure you know which tools they like to use, which coding style they prefer and on which time of the day they like to work.
As Sebastian currently lives in Scotland, while I live in Germany, we had a Skype voice connection open at any time. (It is amazing that Skype manages holding up a connection for over 13 hours straight ;)) We think that this was actually a crucial part, because having to write an email to ask something really slows things down. Why not have Skype running the whole time and code as if you are in the same room.
As a last note you should make sure, that if you are planing to do a weekend sprint (or any sprint for that reason), you inform your loved ones upfront. People shouting at you while sprinting might be a good idea for athletics, but it is one hell of a bad idea when you are coding :).
There is no guarantee, but…
Even if you do everything right, there is hardly ever a guarantee that your product is as useful to people as you think it might be. Chances are that you end up having product that you love and others don’t need. However that is perfectly fine, because you wrote it in 48 hours and didn’t waste three month on a highly sophisticated product before recognising that actually no one needs it. The next idea is surely dozing in your brain somewhere and the next sprint will come.
Long story Short: "Release early. Release often. And listen to your customers." (Linus Torvald)
Create something simple. Let the market pull you in.
- Brad Burnham
At SandmanApp we really love python as a language. We are happy to anounce python support for our service aswell as the corresponding tutorial.
During the last two days, we received some questions regarding SandmanApp.
Quickly clarifying some things:
- What does it do? - SandmanApp notifies you, when an error in your application occurs.
- How can I use it? - You can use a library to send all errors straight to our server. There is currently just a library for PHP, but we work on more implementations.
- How do I get notified? - Currently we support the following notifications: mail, call and text
- Is it free? - Yes, the alpha version is completely free. On top of it, you get 2 calls, 10 texts and 100 mails as a start up quota to test us.
- Does it work? - First test were successful! However we don’t recommend using SandmanApp in production applications, yet => pre-alpha!
Hope that helped!! We still have some spots in our pre-alpha testing phase. Since places are very limited apply for a free account now.
Enjoy and sleep well!