Archive for the ‘Team’ Category

The Bee

2008.06.17 | Lankitha Wimalarathna

Today we are proud to announce the launch of our maiden product CurdBee. While regulars will know what it is, new readers will be pleased to find out that it’s a simple and efficient tool to bill your clients and get paid online.

During the early days at Vesess, we had just a hand full of clients and it was only I who really worried about sending invoices and collecting the money before our bank account dried up. Being a start-up, we couldn’t afford to spend much for a great accounting application such as QuickBooks, even though it was not that expensive in the big scheme of things. As far as I can remember, this was around the time 37Signals shifted gears and went from web design to web apps, with some cool yet simple ideas.

In any case, in the early days of Vesess, I had a spreadsheet along with a .doc file with our sweet logo on top, and it was this which I used to send invoices (and rather good looking ones, if I may say so myself) to our clients. The process was simple - copy and paste the client details from the spreadsheet, type in the amount, and use one of the free PDF converters to finish the job.

A Vesess invoice, circa 2004.
One of the actual invoices we sent in August 2004. Still looks nice and simple, doesn’t it?

Some of our clients thought we are using cool software and a couple of them actually inquired. Then again, a few discovered the truth when they noticed some stupid mistakes only a human can make, such as the total being different to the cumulative value of the items. ;-)

As we grew, the number of clients we handled started to increase, and more invoicing was required as some projects now involved monthly payments, others quarterly billing, and so on and so forth. This prompted us to consider developing a system to make life easy and save the unnecessary time we spent on manual billing.

So, one evening, I started to sketch a simple application which could allow us to send invoices directly via email. Thanks to Laknath who joined Vesess during that time as an intern, we solved the issue in couple of days with just a few lines of PHP.

The first Vesess invoice app, written in PHP.
The first iteration of our billing app. From adding a client to modifying an existing item, everything is handled on the same screen using AJAX.

Towards the latter part of 2007, we thought it’d be a good idea to work on a few products aimed at Small Businesses (SMEs) globally and perhaps let our developers start on some pet projects as well. With these ideas in mind we ran a survey to capture some of the problems faced by SMEs and find ways to overcome them using simple web apps. The number of respondents was quite satisfactory and to our surprise, we found that a good majority were interested in web apps which would help them in their accounting, billing and cash collection activities.

As our resident Ruby on Rails addict, Lakshan was well suited to re-engineer our simple in-house billing application using the new web application framework. Although we haven’t done anything particularly new or revolutionary with this application, we know that there are enough people out there, looking for a simple, hassle-free solution that will make their lives easier. CurdBee is for them.

The invoice reloaded, using the power of CurdBee.
The awesome invoices that The Bee creates. Start sending professional invoices today.

From the Boiler Room
So the application is released, you’ve signed up for an account, and are happily sending invoices to all and sundry. Knowing our readership, however, many of you are going to want to know more about how The Bee came to be. Yes, we do read your minds, dear readers. It is thus with great pleasure that we present a short interview with Lakshan, the CurdBee lead developer and hacker extraordinaire, who will tell you more about just how this baby came together. Go on, have a read - you know the inner geek in you will thank you for it.

Lakshan Perera was the lead behind CurdBee, and was responsible for putting the application together from scratch. A student at the University of Moratuwa, Lakshan has been with Vesess for a while now, and in essence embodies the spirit of Vesess - small teams, big ideas, and people with a passion for what they do, all merged together by rapid Vesessination. Here, Mahangu sits with him for a small chat about everything CurdBee.

Tell us a little bit about how you planned for this project, and why you chose RoR as your development platform
CurdBee was actually the brainchild of Lankitha. At first, it was designed to be a solid billing solution for Vesess, but later we realised this solution may have a general appeal as there are many small businesses and freelancers like us. We didn’t wasted time on writing specs and went ahead with rapid prototyping.

There was no better framework for rapid web development than RoR, so the choice was obvious. RoR’s has a rich plugin set which covered all the requirements of the CurdBee so that gave more confidence on the framework.

What challenges and obstacles did you face when designing an application for the web?
The main challenge was deciding on what features and capabilities the app should have. We wanted the app to be minimal yet effective. We always tried to look at it from the perspective of the end-user - how clear is the process to him, how could he perform the task at hand easily, and what information he’d want to see and which info he’d rather have in the background. This was not simple as it seems and it’s definitely a continuous process, and is not over just because the application goes public.

Different users has different needs and see things differently. Building an app which could cater to all levels of users is the main challenge, and that’s the goal I’m still striving for.

What is your coding setup like? What tools do you use, and what times of the day do you do most of your work?
I normally prefer lightweight tools over IDEs to get things done. Actually IDEs aren’t resoucre hungry and controls your coding process too much. I love the flexibility of just a text editor (gedit) and terminal. This style of development is greatly supported by RoR itself (actually they recommend it - following the pragmatic programmer’s concept). Apart from that I had Firefox opened throughout the development period for previewing the app, but that’s obvious.

For source code management we went with Git - it really proved how productive it could be. While I work with the backend, Amila was working on the front-end design. Both concentrated only on their local versions and and once we were happy with a revision we could push it to the repository. The rest was taken care of by Git, which simply merged the changes without any conflicts. Also, using Capistrano with the git repository made releasing these updates to the live site a breeze.

Regarding working hours, I tend to prefer short stints than late night hackerthons. Mostly, my work task oriented. I decide in the beginning at the day which tasks I’m going to complete today and try to finish them by the end. I concentrated on one task at a time, so it never exhausted me and allowed me to stay focused throughout.

When looking at the development process for CurdBee, where did the other Vesess team members come in?
Well, Vesess is a small team and each member leads a separate project. When one project is ready to come out of its cocoon, the whole team gathers around and ensures the safe delivery of it. Actually if not for Lankitha’s brainstorming, Amila’s sweet templates, and Mahangu’s enganging copy, CurdBee would not have been the app you see today.

Any parting advice for young coders looking to write their first web app?
A web app is not a Christmas tree, so don’t try and decorate it with all the little snippets and libraries you know. Try to keep things simple and always stay focused on what you’re building. Don’t try to overdo the app to show your coding supremacy.

Also, don’t reinvent the wheel. Reuse code wherever possible. If you can find a plugin to simplify a certain process, use it.

Look for design patterns and try to follow them, but don’t cargo cult - that means don’t just copy and paste other people’s code without understanding it. Code found on Dzone, Pastie or on developer blogs is not always correct. Always be aware what you are doing so you know where to look if something goes wrong. I actually made most of these mistakes, so I’m talking from experience. :)

A Happy Ending
Well, that’s the story of The Bee. Please visit our forums or drop us a line, and let us know what you think. A big thank you to every one who took part in the beta programme, and we hope you enjoy the app!

Vesessination

2008.05.23 | Mahangu Weerasinghe

A couple of weekends ago, the Vesess team took a much needed breather, and headed out for a weekend away from work, email and reddit. As a team with a lot of virtual members, the time we get to spend together in meatspace is limited. Although we’re used to always being in touch via email and IM, the weekend at Sigiriya was a chance for us to really engage each other IRL, and find out what makes each of us tick. From Python, to GNOME, Rails, and beyond, a lot of what we talked about was based on what we do.

Sigiriya, the ancient royal fortress that our coders use as inspiration when designing our data security policies.
Sigiriya, the ancient royal fortress that our coders use as inspiration when designing our data security policies.

Boring? Not in the least. What’s different about talking shop with a geek in his or her spare time is that the issues and projects that surface will most often be personal ones. From quick hacks used for everyday productivity, to complex applications written for class, I learnt a lot about each of our interests on this trip. It didn’t have to be just tech either. From general business sense, to global warming, rising oil prices, and the recent food shortages, I listened a lot, and learnt a lot.

As a recent graduate, I’d call myself lucky to be at a place like Vesess. While most people my age are filling out twenty page forms, and sitting in on meetings that last for hours and never seem to go anywhere, I get to push my ideas, voice my opinions, and interact with some genuinely talented people. In $BIGFIRM, I would be a PR junkie, a drone who spewed out manufactured, corporate prose. Over here at Vesess, I get to set the textual style and tone for each project. I get to design the flow of information, and map out where it goes, and how it is consumed.

Then, I think of our hackers. In a large company, they would be junior programmers, churning out line after line of code according to a specification they don’t even get to see in its entirety. Here at Vesess, they conceputalise, design and put together entire applications.

Lies, you say? Nay.

In fact, one such application is currently in private beta. Something which Lakshan, our resident RoR guru, wrote from the ground up, CurdBee is a great example of a pet project going prime time. While all the initial planning and hacking took place in his head, the entire team eventually pitched in to make it ready for the world at large.

CurdBee, a result of rapid Vesessination.
CurdBee, a result of rapid Vesessination.

This, in essence, is what we call Vesessination - a single idea brought to fruition by everyone, working together. At Vesess, that’s essentially what’s we’re about. Small teams, big ideas, and a lot of experimentation. Well, that’s all for now, folks. Tune in next week for some quality time with Lakshan’s new baby.

Free At Last

2008.04.08 | Mahangu Weerasinghe

At Vesess, we’ve always prided ourselves on our commitment to Free Software. A quick glance through our projects will show you that much of our work is based around FOSS solutions like Wordpress, Drupal and MODx.

Therefore, to us, this announcement we’re making today is just another footfall in the right direction. For a while now, all Vesess production machines have been running GNU/Linux, and with the launch of Vesess v5, we are proud to say that it will be our platform of choice from now on.

We will not be upgrading to Vista.

We will not pass go, we will not collect $200.

We will use a Free operating system.

Why? Well, there are lots of reasons.

First and foremost, it’s the right thing to do. In an age where proprietary software and software patents are crippling creativity, we refuse to use a locked down OS to do what we do. At Vesess, we’re in the business of sharing information, not restricting it, and thus GNU/Linux was the obvious choice when it came to picking an OS.

Secondly, it’s good business sense. Yes, you heard that right. Morals and ethics aside, Free Software makes for good business. All the CMS software we use is Free, both as in speech, and as in beer. With a wide support community, and hundreds of plugins developed by people just like us, the Wordpress, Drupal and MODx communities have all the support we could ever want. Why pay through your nose for overpriced (and often outsourced) tech support when you can get what you need straight from the horse’s mouth. Not to mention, there are often thousands of said horses.

Thirdly, it’s safer to run GNU/Linux. Everytime we take on a new client, we make a commitment to secure and protect more data. In today’s world, an organisation’s web presence is of utmost importance to them, and that’s why security is one of our biggest concerns here at Vesess. Our servers have always been powered by GNU/Linux, and always will be. No other OS out there can match the stability, flexibility and ease of use of a good server install of GNU/Linux, and no other OS has such a low turnaround time on security patches and fixes. We run GNU/Linux on our servers because we have no room for lapses in security, and after years of experimenting, have found that it’s the only way to ensure a secure web experience for all our clients.

So, in terms of ethics, business sense and security, Free Software makes a lot of sense, and we’re proud to announce today that we’ve officially made the move into the light.

Now on to the fun stuff. Here are our individual setups, and what we do with them.

Lakshan

Lakshan

Our resident RoR hacker, Lakshan currently runs Ubuntu 7.10, the most recent release of the Ubuntu Linux OS that has become so popular over the past few years. On a day to day basis, he uses Firefox and Gedit for research and development, along with Pidgin, Transmission and Amarok, for recreational purposes. In the console, he uses OpenSSH and git to keep the Vesess development servers running smoothly.

Amila

Amila’s desktop screenshot (click to enlarge)

A veteran slicer and dicer, Amila uses Dreamweaver and Fireworks running under wine to handle all the design and coding he has to do. Having experimented with several other tools, he finds that he still works best with the Macromedia products. His favourite non-development tools include xchat and qBittorrent.

Laknath
Laknath’s desktop screenshot (click to enlarge)

Laknath, our PHP guru, frequently uses Gedit, Firefox 3, kTorrent, and Evince. Having got sick of Vista a while back, he now runs Ubuntu exclusively. While waiting for his favourite plugins to be released for Firefox 3, Laknath also looks forward to seeing Free, working drivers for nVidia video cards.

Mahangu
Mahangu’s desktop screenshot (click to enlarge)

A Free Software zealot, Mahangu runs Debian Lenny, the current testing release of Debian GNU/Linux. Our resident writer, he makes use of vim and Ice Weasel on a daily basis. A console guy through and through, he uses fetchmail, Mutt and exim4 for email, and irssi via SSH for IRC. As far as moving pictures go however, it’s Deluge, and VLC all the way.

Well, there you have it - how the Vesess production team uses GNU/Linux for fun and profit. Got questions? Post them in this thread, and we’ll do our best to answer.

Summer of Code

2007.04.19 | Mahangu Weerasinghe

Wow, what a week. First off, we’d like to wish all our readers a (slightly belated) Happy and Prosperous Sinhala and Tamil New Year.

Suba Aluth Avuruddak Weva!

Apart from stepping in to a New Year however, something else happened last week, and something pretty awesome at that. Three of our very own were selected for Google Summer of Code 2007.

Over the next few months, Amila, Lakshan and Laknath are going to spend their time working for three FOSS projects.

Amila will be putting together a new core theme for the popular CMS Drupal, while Lakshan will be hacking some web mashup goodness for SilverStripe, a newer CMS. Finally, Laknath will be working with the people at Gnome to put together a new document editor for Project Mallard.

So, congratulations guys - we’re really excited for you. In fact, we haven’t been this excited since we first got broadband. Here’s to a summer of squashed bugs, completed milestones, and lots of good, solid, code.