An open source web application meant to help manage & create invoices in a simple, straightforward way.

All the ruby people, where do they all come from?

Well, that’s mostly what this post is about.

As you all know, we’ve been developing siwapp for the last years using the symfony 1.4 framework. When we started this project, we did it for a handful of reasons:

  • have some fun
  • give something back to the “community” (I know it’s not a big “something” , but still it’s something ;-) )
  • learn , learn, learn.
  • and , of course, all the unexpected that comes when you develop in an open environment, with all the users input and contributions.

When planned next siwapp release to be made with the symfony2 framework, we expected to continue learning and of course improving the app. The thing is: we’re struggling a little too much with this. We feel that in symfony 2 it takes too much to put a medium-weight software project up and running. Personally, I’ve learnt a lot about academic programming techniques when working with doctrine2, trying to implement all the models code we had with doctrine1.2, and I’ve enjoyed it, but still the process was being slow.

We already don’t have much time to put into siwapp because of our paying work, so it’s crucial for us to be able to develop quickly. Symfony 2 has gotten too complicated for that. It’s a great framework and this “symfony reloaded” version was meant to be well formed from every possible angle, but it’s not as agile as it used to be.

We also felt we weren’t gaining too much knowledge with it, and as I told you before, this is one of the hard core reasons we started the project in the first place for.

We’ve been playing around with django and node for other projects, and have come to have some training on that, but Ruby on Rails we never had the chance to put our hands on it. On the other hand, there’s a lot of buzz about how quick and easy is to develop in it , so we’ve decided we’re going for it!

The king is dead. Long live the king.

Which are the consequences?

  • on the user side: obviously, the app will maintain the same look&feel, no worries about that.
  • on the user side: if you happened to have some knowledge of php that allowed you to tweak siwapp in any way, well, for the next version , those of you who are familiar with ruby will have that chance.
  • on the developer side: siwapp developers (julian, alex, and a lot more), thank you for your past contributions that of course will remain there, and please join us with the new approach . If you happen to have spend time working for the symfony2 version, well, apologies.
  • on everyone’s side: a few months have been lost.

What are we going to do about it?

  • we’ll keep exactly the same support in our forums for both the old and new versions of siwapp
  • also, when time is right, provide a way to migrate data from the old framework to the new one
  • If any of you have a patch or an enhancement for the old version, it shall be welcomed

Please keep in touch! you’ll be hearing from siwapp soon.


  1. J.M.
    Posted 2012/04/21 at 21:01 | Permalink

    Will the PHP version recieve any update ever?

    Now I will need to find a sustitute, since my shared hosting doesn’t support Ruby :(

  2. jzarate
    Posted 2012/04/21 at 23:08 | Permalink

    J.M. the php version will continue to have bugs fixes and the like.

  3. Kelley Chambers
    Posted 2012/04/24 at 06:16 | Permalink

    That’s a real bummer.  I just installed this on my server tonight and it’s EXACTLY what I was looking for. However, like J.M, Ruby isn’t supported on my host. You’re going to run into that a LOT especially since most freelancers/consultants who you appeal to with this incredible offering WILL be on SHARED hosting.  There are SOOO many other frameworks out there who support PHP… isn’t there something else out there that would tickle your educational fancy???  OH PLEASE!!!! LET THERE BE! :)

  4. Rich Sage
    Posted 2012/04/24 at 10:37 | Permalink

    Interesting. I toyed with siwapp a couple of years ago but then decided to switch to using Freshbooks.  Two lines stood out from your post:

    “We feel that in symfony 2 it takes too much to put a medium-weight software project up and running.”

    I would disagree here, but that’s not just because I’m a big fan of Symfony2. In any framework, increasing familiarity with it decreases the time taken to get a project up and running. Sure, the first couple of projects take time, but the more you do, the quicker it gets.  I’m interested to know how long you spent working with Symfony2 before you decided it was too much hard work? Maybe a separate post about what you found difficult/tedious would be useful for the community.

    “On the other hand, there’s a lot of buzz about how quick and easy is to develop in it [Ruby on Rails] , so we’ve decided we’re going for it!”

    Also interested to know, did you experiment with RoR before you decided to go for it, or did you just decide based on the buzz? RoR has its own issues, in particular the lack of availability on shared hosting as Kelley mentions above. You mentioned experimenting with Django that’s all, but not with RoR, and I’d be worried that a framework would be chosen for a complete rewrite just based on general hype.

    Anyway, good luck with future development.

  5. Björn Jönsson
    Posted 2012/04/24 at 15:14 | Permalink

    I think it is a big mistake moving to Ruby on rails.

    As previously mention, shared hosting is a problem with Ruby. It is not a problem if you target corporate companies as end users as they are most likely on dedicated servers but I dont think this is your target group for the application.

    Hype of Ruby – I can only speak for the hype in Sweden, it has passes and long gone. A couple of years ago, Ruby was in every job ad but nowadays you hardly see any request for it.

    When it comes to knowledge and skills regarding the programming language in the community, I think few other languages are that widely spread as PHP. If you want a community driven applications, you should stay with PHP.

    Consider changing the framework instead. Ther are numerous others light weight framework that would be suitable. Try cakePHP.


  6. Posted 2012/04/24 at 20:48 | Permalink

    I was suspecting something was happening, as I was following siwapp’s development in github and noticed the stop on development.

    My personal opinion is this is a mistake, but of course you are free to do as you like. I’ve been using symfony2 in a project at my company and find it very powerfull and elegant. I’ve tryed RoR too but it has itself its own learning curve. So it’s not that automagically you’ll be writing apps faster.

    Maybe you just need a hand on development, involve more coders with the project. I was waiting for the project to get more in shape to give a hand with working on the API, as I planned to integrate siwapp to my company’s main panel. So I’m a bit sad with this new, anyway, good luck on your new journey, please don’t delete the s2 repo, maybe it can be advanced by the community.

  7. Posted 2012/05/01 at 03:36 | Permalink

    The issues with hosting (especially for small projects) can be easily solved with Heroku which I find extremely useful or possibly EngineYard (I’ve never used).  I highly recommend giving them a try if you’re worried about hosting.  Pointing my shared hosting solution’s dns at heroku seems a bit wonky but it works for what I need.

    Good luck learning rails, I’ve found it fairly enjoyable I hope you do to!

  8. loothi
    Posted 2012/05/05 at 09:25 | Permalink

    Thanks for the update. If you can expand on the problems you’ve encountered with symfony2 – i’d love to hear that. It would save me learning it, if it’s too over engineered for example?

     cheers. loothi.

  9. Ihsaan
    Posted 2012/05/14 at 15:59 | Permalink

    I used billwerx and it was the best but they all of a sudden stopped development and the developers dissapeared. The code is still available online and I strongly feel that it should be developed from where they left off. If anyone’s is interested then comment back

  10. Posted 2012/05/30 at 04:39 | Permalink

    Found this imho as a mistake produced by laziness – syntom that I share since I’m also a web developer. RoR is a solution, but not the best.

    I have been coding with sf1.x for a long time, and found sf2 like a good framework, although I completely agree with your reasons to go out and take other stuff to keep siwapp running.

    However, you should *not* leave PHP, as this provides a much wider support since 100% of shared hosting providers support this. I’d recommend you to take a look at Silex or maybe Yii. I have been working with this last one and feel like the best one for me atm.

    As a side note mentioned here, this is your project and you can do whatever you want with it, but I’d reflect little more about this change and realize if it really worth it.

    To finish, thank you for your hard work, siwapp is the very best app for average invoices :)

  11. Posted 2012/05/30 at 04:41 | Permalink

    And seems that auto-correct at Chrome Beta for Android keeps removing last character of many words… so sorry about the mistakes of my comment above (supports*, feels*, etc).

  12. Posted 2012/06/04 at 19:18 | Permalink

    Just installed SiWapp and the software looks so promising! RoR or php, just keep on developing this great tool :)
    Is there any info on future releases? 

  13. Posted 2012/06/08 at 10:19 | Permalink

    The RoR is the way to go, probably. You guys should update your website though. Seems kind of “lost in time”…

  14. Pablo F
    Posted 2012/06/10 at 16:23 | Permalink

    I’m agree with Rich about that would be nice to know more about why you found unusless migrate s1.4 to s2.0 for those that would want to continue the project based in php or simply adding some new functionalities. I’m interested in continue learning and later, if my knowledge lets me, developing SiwApp in php. So, maybe the migration could be acomplished by SiwApp dev fans… who knows, maybe you should offer two versions of the application, one based in Ruby (core dev), one based in PHP (old Siwapp fan dev).

    Anyways, your work is truly appreciated, so thank you very much and best of lucks for your new project! :)

  15. Posted 2012/06/13 at 17:09 | Permalink

    I read this story long ago when I was contemplating switching from PHP to RoR. After more research on developer experience with this switch I decided it was the completely wrong decision. However, to each their own and who knows… maybe you accomplish your goal of learning and produce an awesome product in RoR. People have done that exact thing. However, I think PHP a better environment to use personally.

    Thanks for the awesome free product. You guys rock.

  16. Posted 2012/06/13 at 17:13 | Permalink

    HAH… I just re-read that article. I may have just convinced you to switch because of the learning experience. Doh!

    Heh, regardless best of luck on whatever you choose to do.

  17. Dan
    Posted 2012/09/24 at 10:12 | Permalink

    Hey, great thinking! Love the switch

  18. Posted 2012/10/04 at 17:10 | Permalink

    My present invoice template is not showing invoice date and due date, how can I implement these 2 in my present template?


  19. Climk
    Posted 2012/10/22 at 14:51 | Permalink

    Siwapp es una estupenda aplicación; no me agrada la decisión de cambiar su desarrollo, pienso que no todo el mundo podrá utilizarla si utiliza Ruby.

    En cualquier caso, os deseo lo mejor para vuestra nueva experiencia.

  20. BastianBalthasarBux
    Posted 2012/11/29 at 01:34 | Permalink

    So sad. I just stumbled upon siwapp, software looked great, and i got quite enthusastic while testing the demo version, now i have to read this sad decision.

    the re-coding in ruby is imho unnecessary (just my 2cents). additionally i personally don’t like ruby from my developer point of view (as i come from the c-side of the syntax-world and really learnt to hate anything which is only far looking like vbs … ;)).

    there are, by the way, lots of great php frameworks, another one you may want to look at for academic purpose is Flow.
    Flow is a real enterprise framework which incorporates all modern programming techniques like mvc, ddd, dependency injection, aspect oriented programming, …
    and offers all you need for rich internet applications including a really flexible templating engine.
    Take a look at: