Articles in the ‘Development’ Category

Building web applications from a business owners perspective: the reasons why we use Ruby

Friday, February 29th, 2008

That’s something we do here, (my business), we build web apps.

A fair while ago now I had to make a decision which way to go for web app development, language wise.

I ended up choosing ruby.

Why?

Well not only does ruby have a really cool framework, Rails, but the language is very easy to use and learn.

The main reasons that swayed me to build a team of ruby developers over php and asp

  • No more SQL… Yeah, no more having to write sql. For a programmer that’s a shocking statement. But I’m not a programmer. I’m a business man, and as a business man I need apps built quick, I need fast development cycles and cutting out the whole sql side of things defiantly does that.
  • Ajax is built in. To do lots of fancy and cool java (ajax) things, you typically have to code it all yourself, which means as a business person I need a java programmer on staff too, but ruby has ajax helpers that do the majority of the java code for you. Again a time saver.
  • Rails environments. Rails can run in different environments, so development, test and production. This also means there are 3 different databases, it’s a big thing to explain, but it’s fantastic.
  • Version control. This leads from that last point almost, and sets up the next, we use SVN and Capistrano to manage versions and deployments, a new version gets deployed and then migrated.
  • Migrations. New additions to the database and system can be deployed and migrated to the test environment on the server (beta pretty much) for testing, if it looks all good, you can then do a production migration, so migrate all the updates to the production environment with a few lines in your shell on the server. Saves taking down a site, manually migrating databases etc etc etc. This does it all for you.
  • Reverse Migrations, again, I can’t mention it enough, if you push something into production and there is an issue, you can roll back to your previous version with 1 line in your command shell. This rolls back everything – files, new columns in databases, everything… You can then fix the issue in the test or development environment, and then deploy the new version. Super cool, all with no downtime.
  • MVC framework, models, views and controllers are fantastic, that’s a framework advantage and most developments use frameworks now days, php and asp, but rails is still very nice and I think does a great job of it. Easy for any developer to jump in and start working without having to read comments or a manual, or having to search through random code and files.
  • Easy to learn, I’ve found it one of the easiest languages to learn, which is great when brining on new staff, if you take on php or asp coders you need to be prepared to take a risk on how good they actually are, theirs skills overall might be alright but their actual coding ability could be average. With ruby, it takes lots of the coding out of the coders hands, an example is sql, you don’t have to worry that your php programmer is really bad at sql or not, or he might know sql backwards but be average with php. At least with ruby you know the developer is skilling up more and more on ruby and other languages or systems.
  • Gems are very nice, gems are like plug and play add-ons for your apps, you can install a gem with 1 line of text in your shell and right away you can start using its functionality. A gem can be big or small, it’s a whole application in itself, your app basically interacts and uses a gem like an API, but it’s all wrapped in together and deployed with your app.

Anyway, there’s lots of things you can compare and push back and forth about why one is better than the other, personally ruby on rails makes more business sense to me, it’s a rapid application development language and framework, it’s an actual object orientated language not a scripting language like php, we can build, fix and maintain fast, and still deliver a quality product, which is all that counts in my opinion.

Programmers will always want more control and flexibility with their language, they want power etc, ruby takes lots of it away from them so they assume its inferior and not worth changing from their super powerful asp or php, in reality that matters in certain conditions, when you need to really write an app well to achieve maximum performance etc, or to do extremely complex things.

However we’re not doing extremely complex things, and as far as power goes – servers are cheap, and we use grid layer servers, so scalability and performance isn’t an issue. For us rapid development and easy manageability is key.

Investing in web applications

Wednesday, February 27th, 2008

With the advent of Ruby on Rails and other web frameworks, not to mention the constant growth of the internet as a whole, there’s been a definite increase in web applications in just about every niche.

In some niches there’s saturation, so this begs the question, is there any money to be made investing in web applications.

Personally I think there is, a lot depends on the niche or vertical the application is in, how well it was made for the users, and how well it’s been marketed.

End of the day, the same old principle applies for any business, unless it fills a market need – solves an issue, it’s probably not going to do all that well.

Into the new year with some new things going on…

Wednesday, December 26th, 2007

Ok, so it’s been about 3 months since I posted, which is super slack but I’ve had a good reason, I’ve been super busy setting up some businesses and working hard.

I have sold off my previous business and I’m heading into the New Year with a whole new business plan and idea!
Should be fun.

What is it?

Well… it’s still in development – it’s not the New Year yet but I wanted to get into the flow of posting again!

The business itself isn’t a profit driver; the business that I’m putting together is more of a think tank, idea lab kind of thing. I’ve always had lots of ideas for dot com businesses and never enough time or resources to build them.

However I’m almost in a position now to do them in a way, I have a staff of programmers that I’ve spent the last 6+ months getting skilled up on Ruby on Rails through building client projects so we can rapidly develop our own applications, and like I’ve said I’ve sold off my last business and I’m starting to push away doing client work. So I have time again.

The concept as a whole is to put my ideas down on paper, in the form of mini business plans, to then put these out to the public and people I know and see if they are interested in investing.

My ideas are all for web applications, so things like Facebook apps, online project management applications and any online application really.

Now when I say investing, I may be scaring people a bit. My idea is to make investing in a dot com business affordable and simple.

So for example, a project (business) would have 10 shares; I’d buy in 3 shares or so, and offer the other 7 shares for anyone to invest in.

Each share would cost an affordable amount; say $30 a week, for 6 months. Development would take 2-3 months and the remaining 3-4 months of investing is for marketing and operations (as an example).

How can I possibly do this?

Simple, I’m Australian, BUT I live in Thailand, my whole staff, designers, programmers, and support are all Thai.

My staff costs are very low, so I have no need to have high development costs; I’m not interested in making money off the development. I want the development to be at or below cost so we can build applications (businesses), get them out and promote them.

I’m in it just like everyone else, I’ll be buying shares and investing every week, and I make money the same as everyone else does, from returns after the application is launched, I’m just as – if not more invested in these projects as anyone else would be.

Anyway, that’s the idea, the site and plans are coming together now, the site is almost done and some of the initial plans are almost done.

Couple more weeks and I should be able to launch it.

What makes me so confident about this?

Well I have an office full developers here at my disposal, we’ve been building client projects for almost a year now in Thailand, and before that I was a systems architect back in Australia, I moved here for the staff costs and to build my own apps.

The client apps we’ve built range from stock market apps, medical, financial and arbitrage, we’ve also build smaller apps, we can build apps clean and very fast, so in most cases 1-3 months for most projects to be completed isn’t unrealistic.

The site will say it all. And time will tell!