Craig Ambrose is a consulting software developer with Cogent Consulting. While experienced with a number of languages and tools, he prefers Ruby On Rails as the solution which best provides value for money for his clients.

Considering a Web Application?

Producing something to put up on the web can be as simple as an online version of your sales catalogue, or as complex as a custom web application to automate some part of your internal business process. The advantage of the web as a platform is that it's able to be used simultaneously by different people on different computers, and you don't have to worry about what sort of computer they are running or how you are going to get the software out to them. The web is no longer just a way for you to display information about your business, it is now a computing platform for you to deploy custom software to fit your needs.

What Can a Web Application Do?

Just about anything you can think of. It might be a simple business application to replace an aging excel spreadsheet, or be a giant multimedia network for a huge number of people at once. It can draw graphs, send emails, receive phone calls, and even keep working when you disconnect from the internet.

Are There Risks?

Historically, not all software projects come in on time and on budget, and not all applications turn out to actually be popular with the people who eventually use them. Hiring a software engineer, like any skilled professional, can quickly become very expensive if a project turns out to be bigger than you anticipated or can afford.

It's not all doom and gloom though. There are a wide range of tools and practices available to software developers which allow them to produce software more rapidly and more reliably than ever before.

Agile Development

Agile software development is a methodology for producing software which has benefits for both the developers and the client. The key is the insight that creating a computer program is not the same as creating a physical object, such as a house. Unlike house builders, software developers can change what they are doing in mid stride, providing certain practices are followed, and so we can focus first on the bits of the system that are important and well understood, and let some of the other details fall into place around them through lots of feedback and involvement from the client. With a house, it's very important to build the foundations first, and then the frame, but with software we can start with the bit that's most important to your business, which might be the front door, or the bay windows, so that you can try these bits out on your clients to see if we're on the right track.

Find Out More about how agile development can help you product software that's more appropriate for your business, and more affordable.

Ruby on Rails

Ruby on Rails (often just called "Rails") is a modern web development framework which has taken the world by storm in the last three years. Rails adopts many best practices from the world of enterprise software development, such as the Model-View-Controller stack, and integrated unit testing, but it also breaks with many traditions of the industry which previous said that good software had to come from very rigid specifications, from large and well respected systems which required specialist knowledge to configure and use, and from languages which restrict the programmer's ability to perform certain tasks in case they did dangerous things.

Software developers using Ruby, or other similar languages, have found that the removal of unnecessary restrictions actually makes them more productive, and more able to come up with creative solutions. The effect is development which is very fast, while remaining high in quality and reliability. Perhaps more importantly however, is a resurgence in programmers finding passion and enjoyment in their task due to the ability to easily produce the applications they envisage.

Find Out More about Ruby on Rails.


Craig Ambrose can provide software development services or expert advice that can help make your project as success. Don't hesitate to get in touch to discuss your project and see whether it might benefit from some of the services that Craig or any other members of the Cogent Consulting team can provide.

Ruby Development

Craig is an active member of the Ruby on Rails development community, both internationally and in New Zealand. Please get in touch if you are interested in sharing knowledge in this area, or are keen to find out about Ruby activities, talks or training in and around Auckland.

Latest Articles

Rails Plugins

Sites by Craig Ambrose

Gifttagging Portallus Ajc Lunctimeleg

Testimonials

“Craig is a proactive developer with a strong focus on quality and rapid delivery. I have had Craig on my team at two different companies, and I would hire him again in a second. Craig is the best agile developer I have worked with.”

- Nigel Thorne, Open Windows

“Craig is clever, responsive and highly knowledgeable. He remains a preferred supplier.”

- Matthew Fallshaw, Tricycle Developments

“Just wanted to let you know I think your podcast is awesome. I set up my rails development company in July last year and found the information in your podcasts (especially the latter ones) to be really useful. Keep up the good work!”

- Nick Poulden