Think Night

May 22nd, 2006

Met up with BingXiong again for his birthday treat at the famous Bedok Blk 85. Had really really nice oyster omelette (sorry was too carried away talking forgot to take pics), real good bak chor mee (no ter kwa), so-so hokkien mee and fresh succulent sambal stingray.

After sharing about what has kept us occupied for the past week (I was just busy mucking about with Ruby on Rails features, setting up my inept 1GHz desktop PC as a linux server, helped out a day in Arts open house preparations and eating real nice Stamford House Japanese curry, you can read what BingXiong's been up to at his blog), we proceeded to have an interesting discussion about the entrepreneurship scene in Singapore, voicing our thoughts about what we want to do, which eventually led to some fruitful conclusions..

About how ProjectSenso decided its time for strategic change and stuff.

BX had plans for a online checklist for business start-ups, where they would login to update their status/progress, which was good in terms of providing value - something that protential start-ups would like to review and keep track, but I felt was somewhat limited and more apt to be packaged as a FAQ section, as I thought people wouldn't actually want to signup, login and remember their account logins just to tick some checkboxes to feel good. There must be something more compelling for them to want to sign up and keep coming back and logging into their account.

Soon it came to me.

What do I want to do?

I have a vague idea in mind of doing web development in Singapore, to construct customised web applications to facilitate business or any company workflow. Am I also looking at providing features similar to Basecamp? Maybe.

Why do I want to do this?

Maybe because I had experience in using web technologies to facilitate an organisation's workflow previously and had really enjoyed doing it. It just feels awesome when your application complements the organisation's workflow and triples productivity!

Other more reasons? Maybe but the former is probably the strongest reason so far.

Questions and Self Reflection

Soon after we departed, I took out a jotter book to pen down the thoughts that were swirling in my head.

Why am I bothered with Ruby on Rails?

It's fast

Can rapidly prototype and churn out rough sketches/design early and quickly for client's approval and correction.

It also gives me an edge over many other developers who use "more traditional" web scripting languages (read: PHP, ASP) and frameworks (like Tapestry).

Similar to what Paul Graham article on Beating the Averages, where he reveals that he used a powerful languge called Lisp in his early days to have an edge over his competitors in terms of speedy development.

It's easy to maintain

Many a times I've tried to go back to my old code to make updates, only to find that I've taken some obscure shortcut that would take me several hours to figure out before I can get back to the same mental state of mind when I was coding it.

With Rails where convention is emphasised, it would be more straightforward.

On the way back home, I realised that I've been too caught up learning about other Rails' features and capabilities and other sweet stuff like Automated Application Deployment via Capistrano and fussing about Subversion with Rails

They're just plain distractions from what I really want to achieve using Ruby on Rails. The above are secondary and should only come when I'm ready with Rails.

Well what's my Ruby on Rails mission statement? Thought about it for a long while on the bus and here's it.

My Ruby on Rails Mission Statement

To come up with a web application that has user authentication, login to user's own profile and space. An administration panel to manage users in groups where different roles and permissions can be applied to a single user or to a group. QUICKLY.

Next Actions

As in true GTD style, here's a list of next actions for me to undertake in line of my Rails mission statemnt.

  1. Do Database Migrations - why: easy to keep track of db schema changes, don't need to write SQL code.

  2. Clarify basic templating, hyperlinking from base controller actions via link_to

  3. Clarify Hyperlinking to independent pages from independent controllers. Look at own experiment with railsapp alblog.

  4. Clarify templating data, ie, using another controller's scaffolding.

  5. Check out alternatives to authentication and different styles, decide which one best to learn and use.

Leave a Reply