So, it has been quite a while since the last update on this blog. Time to do something about it and build a real-time social application using lots of new and shiny technology!
Motivation
I have a 12-year old daughter. Like many others she spend a lot of time online, Skype & Facebook of course, but mostly a horse site called net-hesten.dk (warning: in danish!) I think she has probably written thousands of messages on their forum 🙂 One of the main things you can do there is to create your own farm where you can buy/sell horses etc. As part of making your farm, you create a profile for your farm. And here all kinds of creativity starts.
Over the summer she has taught herself HTML, CSS, some Javascript, Gimp etc. just to be able to create a “cool” profile page. Nothing beats motivation for learning new stuff! Now the time has come where she wants to create her own site (the precise mammal is not known yet and probably not important). She is inspired by other girls that have learned PHP, MySQL etc. in order to build things. And while the results are not always impressive when viewed with the eyes of a professional, the dedication is.
So I decided to help her getting some of the basic components up and running and figured I could kill two birds with one stone:
- Try out some new technology & services that I’ve been wanting to play with for a while
- Get some quality time with my daughter (How often do you hear “I’ve got a cool dad”, when you proclaim you can build a web application 🙂
Ground rules
This is a side project, so low cost & high return on time invested is important. So I’ll try to see how little code I can get away with writing. It’ll also function as a test-bed for the highly (too?) popular MVP concept from the lean startup camp: Only focus on the minimal amount of functionality needed.
I’ll not be doing the layout & design, but will leave that to my daughter (which probably has better abilities for this anyway)
The idea is to blog about some of the code components that (hopefully!) will be created during this project and put some, if not all, the code on github.
The components
- The Scala language
- Scala IDE for Eclipse
- LIft web framework
- MongoDB
- Akka
- …and probably more
The Services
Low cost is important and I don’t expect a lot of traffic here, so many of the online service providers have free plans that can be useful:
- CloudBees for hosting JVM applications. As opposed to e.g. Google AppEngine you can actually use the full JVM functionality (e.g. create threads for Lift’s comet support)
- MongoHQ for hosted mongodb
- SendGrid for sending out emails
In the world of LAMP there seems to be an abundance of free hosting services, but the few I’ve tried left a lot to be desired. The above services all seem fairly complete and do provide solutions for scaling up if needed (and an idea of how they are going to make money)
Posted by Diego Medina on September 28, 2011 at 20:18
Best luck on this new project and it is great that you will get to spend time with your daughter while working on it.
Posted by Jeppe on September 28, 2011 at 20:26
Thanks!