Sunday, December 12, 2010

Users! Where are they?

In our effort to build forums.com there are a lot of things that we must learn, one of them being the art/science of getting users. First of all I must tell you that we are in Kolkata, India, where the traditional software business is mostly small to medium projects for clients. Very few companies build or work on projects spanning multiple years where they are involved in every aspect of the product they build. Although technically we build forums.com for a client, but it's an independent venture. So it's constant learning for us as to how we can build a product for the masses to appreciate.

So back to the point of users. forums.com is a common single word in English and thus we have some direct hits to the site to start with. The numbers were around 300 visits a day about 4 months back. Now we are about 900. On an average we get 10 new forums each day. That is not a bad count. But we want to have more of them. That is what every software builder wants. But instead of spreading the name to more masses we must think of our current scenario. We have absolutely NO brand now. forums.com is a hosted forum/group communication application. So you can imagine we have zillions of competitors including big ones like Google Groups, Yahoo! Groups and Facebook Groups. We are tiny (even smaller) compared to them. But why are people still opening forums on forums.com?

The only way I could personally answer that question is my own experience: people sometimes like to try new stuff. forums.com may seem a new toy to some onlookers. And that's it, they start a forum and use it. Good for us. But then that means we should get more onlookers? Yes and no. Yes because it would obviously help us, no because we need some background check. Think of these 10 new forums opening daily. Once of them, each month at least, could become a 100 folk (member) forum. But we are not having that. Reason? Software.

The same software which made someone create a forum may not be living up to their expectation afterwards. On the internet a person who tries out forums.com is probably an average connected folk in her community but unless we wow! her, the person would not invite 10 of her friends. That is why the ball is not rolling. People have high expectation from software nowadays and maybe we are not delivering that.

Then the question is: do we suck? The answer is no. We may be doing a good job if you compare forums.com to Google Groups. But when a user goes to Google Groups, she is part of the Google experience and that helps. She feels there more in the offering. Thus our offering in forums.com has to be stronger and make someone feel more cared, more served. User's time is important, and she will not hesitate to change to another provider. Thus the job of a product developer would be, at our stage at least, to satisfy the initial user-base. They are already here, so why not make them part of our family, forever.

Wednesday, October 27, 2010

To startup or not to startup

Just yesterday and day before a friend came up to me and said he was confused. He was building iPhone apps and was earning very well. But he was not sure if he wanted to start a company as such. He is young and can easily continue to be a one-man army and build applications and sell them. But he is not sure if he will feel good about building a team, managing it and so on. One thing he feels though is that he wishes to stay a product developer and not handle marketing or even team building.

This is a common situation many come across at least once in their lives. You do something you like doing, get some results, then what? Do you grow that, build a team, build a business? Or do you continue the direction you are on and be independent. Yes independence is an important term here. To start a team means responsibility. You may (and probably will) get partners along the way. These will be like your friends, the "gang" who combine their strengths to manage the company. These will be the group with transparent communication among themselves. And you will also build the team, the employees in traditional terms. You will also need help from your existing contacts, your family and so many other people. But it takes time.

Partners: Think of them as the closest people you know related to the business. You work together to keep the day bright and sunny, to make sure you have your work coming in, that the finances are right. But its more than just that, its about having a vision, a common vision together. You are the core of the family that you will create. If any of the non-partner team members have a doubt or a problem they should be able to approach any of you. Partners can be 2 or 3 or even as many as you need. But think about what are the core values of each of you. You want to have a team where each one brings in some quality which is required at the core of your business. This is although not how you always start out. Sometimes you just start out as a group of friends building a company. And that is fine. But then you will need to start thinking about who does what.

Team Members: At the heart of any successful company is the group of people who build it brick by brick each day. It takes time and effort. It takes a team. You need to build your product, choose the color that suits the best, select a tagline for it, contact the first possible client, market it, support your clients, and do hundreds of other things. Also you need someone to take care of your team. Someone has to make sure people are not working too much. But all this must have a reason. In my opinion the only thing that will make people come back each day and work on your business is the vision. It is the promise of a better tomorrow. Not all team members will get noticed, a tiny fraction will possibly get to come to the level of a partner. But they will all fight, with you, each day to make it a brighter tomorrow. But you are responsible for their well being, you will have to make sure they get what you promised them. This is what makes you different from other founders out there. Always remember it is the team that makes those big companies we read about.

So eventually it is one's decision to either fly alone, or build a team. Both have different modes of operation. They are very different in what you get as result. And one thing I have learned from my experiences is that building a team is toughest job you can take up. It takes a lot of time understanding the intricate details of humans. And its a slow process, taking each day and learning more, but progressing work at the same time.

Monday, October 25, 2010

Kolkata adda at AD38, Nov 3, 2010

We have planned a Kolkata meetup (adda) at AD38, Salt Lake Sector 1, on November 3, 2010, from 6PM onwards. Its a no agenda meet, the original adda, Bengali format. With a traditional menu accompanying it:
Luchi, Chola dal, Kosha mangsho, salad (type not yet fixed), mishti (probably pantua and rosogolla), chatni, papad.

A few of us were discussing having a meet for sometime but we could not have it for past few months. So lets meet and have fun!

Address is AD38, Salt Lake Sector 1.
Its near No. 4 Water Tank, 10 mins from City Center Salt Lake.
And if you know, its Pixlie and Web Prachar's office.

Sunday, October 24, 2010

Movie: Letters to Juliet

I had a fine opportunity to catch two movies back to back today all by myself. The movies were "Letters to Juliet" and "The Other Guys". "The Other Guys" wasn't very good, just a decent watch. If you have other movies as choices you may miss this one and not regret.

Anyway heading to "Letters to Juliet". The movie opens with Sophie (played by Amanda Seyfried) as a fact checker. She is verifying a picture of a kiss at NY Times Square taken just after the end of WWII. Trying to figure out whether it was spontaneous.

Sophie successfully figures out it was a spontaneous kiss and submits it to her Editor (I guess) and tells him about her pre-wedding honeymoon plan. She is engaged, and they are going to Italy before their wedding. Victor (Sophie's fiancé, played by Gael García Bernal) is starting a new restaurant and is always busy with food. From the very beginning he seems to be more obsessed with food and wine and vineyards than anything else in the world. But off they go to Italy.

Italy is where almost all of the plot takes place. Victor is, as predicted, busy with some contact over the phone and discussing wine, and food, and wine auctions and tours to vineyards while Sophie misses out her romantic time. After getting bored with Victor and his wine they part ways, Victor continues his quest for fine wine and Sophie starts wandering about places. Suddenly she comes into the Verona courtyard of Juliet and finds out women leave letters to Juliet. She follows a young lady taking those letters and discovers the "secretaries of Juliet" who reply to all the letters that have return addresses.

Sophie is intrigued by the whole concept and wants to know more. The next day she herself finds a letter which was left untouched for 50 years. It was about a young girl, Claire who had fallen in love with a boy in the countryside but had to return to England to her parents. She had to leave her love behind in Italy. Sophie decides to reply. To her surprise, Claire, now a grand-mom (played by Vanessa Redgrave) comes to Italy with her grandson Charlie (actor Christopher Egan) to find her long lost love. Thus Sophie, Claire and Charlie (unwilling) start their journey to search true love that once was and still is.

Sophie uses her skills to narrow down the search for Lorenzo (Claire's love) from about 74 possibilities to 15 or so. Everyone they met was not a match but Sophie pushed on, and so did Claire. Charlie stood out as the one who does not believe in true love, and thought the effort was not worth anything; that Claire may end up hurting herself because they may not find Lorenzo or he may be dead.

Victor is still engrossed in his wine and its auctions. This gives Sophie the chance to be part of the journey initially but it also brings in the realization that the couple, soon to be wedded, did not mind not staying separate on their romantic holiday. Charlie on the other hand is now presented as a man involved in humanitarian activities. He expresses his concern for his grand-mom but at the same time is thankful to Sophie. He also likes to read Sophie's writing about this journey and tells her to publish it. There is this other side to him. Slowly he feels they like each other. The fact that Sophie is engaged gives Charlie reason not to express any feelings for her, but then it happens. In a garden below the starry night they have their first kiss. Charlie is sorry after all this but things have already changed now. And things have also changed in their quest for Lorenzo.

Claire is almost given up in her journey and wants to return back. While doing so they cross a vineyard where Claire sees a boy who reminds her of Lorenzo. They find out he is the grandson of the man that Claire has been searching for. Lorenzo comes riding a white horse as you would expect in a fairy tale and it seems like a happy ending. But Sophie has snapped already. She manages a quick return to New York, home, with Victor. But the feeling is already deep inside her by now. "We did not mind being without each other". This was not her love story. Charlie on the other hand tried to talk to Sophie for the last time, to convince her that he was her true love, but did not the chance.

Sophie's Editor agrees to publish her writing of this journey. but Victor did not have the time to read it. Sophie gets an invitation to Claire and Lorenzo's wedding and decides to leave Victor. At the wedding she meets Patricia, Charlie's girlfriend who had not been in his life for a year. Sophie understands she has nowhere to go and runs from the wedding, with Charlie behind her. Charlie catches up and explains this is not his girlfriend but his cousin who is also Patricia.

Well happy ending as you can imagine after this with Tailor Swift's song "Love Story" playing in the background.

Thursday, September 30, 2010

Pages and Files in Google Groups

Recently read a notice on Google Groups Announcements Page that Google Groups will no longer support pages and files. From November 1, 2010 Google Groups will no longer allow creation or edit of pages or files. And from February 2011, Google Groups will not even allow access to old files and pages.

It also mentions that this was done "To focus on improving the core functionality of Google Groups -- mailing lists and forum discussions". Well either files and pages are very un-important features or that Google simply does not want to spend any effort on them. Maybe Groups is not a very important asset for Google.

But for forums.com this is exactly the kind of opportunity we are looking for. We do not yet have mailing lists (we will start working on it soon), but we do have files and pages. And of course we have tasks, events and other stuff.

Pages allow you are create "pages" just like in Drupal or WordPress; content which will not change much.
Files are simply file uploads.

Plus we have custom templates coming up. So, hey if you want to try out a forum software which will give power to YOU then try out forums.com. If you have any problems just send a comment and we will help you out.

Friday, August 13, 2010

Odd error with Redis, PHPRedis, Gearman, PHP

We have a setup for background jobs for all the websites we manage like forums.com, files.com, payments.com, etc. The background jobs play around with lists of data which are stored in Redis. We use Tokyo Cabinet for our main data store though.
The setup is somewhat like this:

Now our background workers were typical Gearman workers written in PHP. All was fine till the time we shifted list manipulation codes to background. Usually in background workers, we connect to all needed daemons (Tokyo Tyrant, Redis, etc.) and go into the Gearman wait loop.
We never had any errors here until we brought in Redis. Earlier we used to manage lists of data in Tokyo itself with PHP based arrays. Now we were shifting to Redis lists. But we had this error coming to us (in the following form):
protocol error, got '%c' as reply type byte

We spent days on this and could not figure out why. We changed from PHPRedis to native PHP extensions, we had similar errors. Finally we had a hunch that the Redis connection was getting an idle timeout. The reason for such an assumption was that we had the errors every once a while and then we had all things fine again. Again after a while a few errors. But when we had errors we would lose data.

We checked the configuration for Redis and found the fault. The connection timeout was set to 300, which we then changed to 0 (no timeout). Doing this fixed the errors. And all stuff work great now.

Only if the errors from PHPRedis was a bit clearer, it would have been easier for us to catch the error.

Wednesday, July 28, 2010

Senior developer for software.com (PHP)

We are looking for a senior developer for software.com. Here are the details:

  • At least 4 years experience in developing with PHP
  • At least 1 year in a large E-commerce website
  • Must have dealt with large website projects (1 Million PV/month at least)
  • Must have experience in any MVC framework
  • In depth knowledge of HTML/CSS/JavaScript or other UI technologies and browser issues

Skills needed (must):
  • PHP version 4/5
  • HTML/CSS/JavaScript
  • Linux (Fedora/Red Hat/Debian/CentoOS)
  • E-commerce system (any large E-commerce platform in PHP)

Extra skills (bonus):
  • Amazon AWS (EC2, S3)
  • MySQL optimization and tuning for high volume websites
  • Python, C, C++, Java experience
The person must be able to manage her/his daily task, and communicate the same to the Australian team.
We do not have managers in the team so proper work management for oneself is a must.

Location: AD-38, Sector 1, Salt Lake City, Kolkata, India

Company Portfolio: The position is for software.com, running under Startive Networks Australia (investor into software.com, freelancer.com, forums.com etc.)
The person will be on payroll of Pixlie Web Solutions Pvt. Ltd. which already manages forums.com.
software.com will have a fresh team to build an e-commerce application on the software.com domain.
It will be similar to buy.com but for software business.

Compensation: For the right candidate we are willing to provide up to Rs. 80,000/- (about USD 2K) a month.

Other details: We are a very young and cool team working on some of the greatest domains available out there.
Breakfast, lunch, evening snacks are available at office free every day.
Also dedicated gaming machine, movies every once a while, and other indoor games available.
If you are willing to shift from outside Kolkata, we will arrange for your accommodation for first 3 months.

Sunday, July 11, 2010

Requirements for Software.com

Software.com needs developers again (work from Salt Lake, Kolkata office):
1 x experienced backend PHP developer with Magento e-commerce experience, there will be a lot of customization of the product so they need to already know it and how it works.

1 x front-end UI developer with strong HTML and CSS experience, i.e. be able to take a layered PSD and make clean, lightweight, well structured HTML/CSS.

1 x graphic designer, someone with experience with e-commerce and retail stores, i.e. they need to design banners for products, sales, promotions etc. I'd want to see lot's of examples of previous work on this role.

1 x system engineer to setup and maintain Magento on Amazon Web Services, using EC2, RDS, Cloudfront & load balancer - therefore they need some very solid Amazon experience.

We will need to be "on call" (HQ in Australia) so if the site goes down at any time they can be reached via SMS and can login and see what's happened & fix (hopefully not a regular occurrence).
Please share this...

Tuesday, July 06, 2010

First look at Airtel DTH HD (High Definition)

After a long battle I finally got my first look at ESPN HD on our newly installed Airtel DTH HD. We have a Samsung Series 5 40" LCD (LA40C550) which is a full HD capable one. I have already played HD content like Avatar trailer, "Waka Waka" and so on. Of course I was not expecting Avatar picture quality on ESPN HD. But it seemed more compressed than I expected. The obvious things you will notice once you switch to ESPN HD is the aspect ratio. If you have an HD TV and are stretching the Standard 4:3 feed into 16:9, you get used to the stretching. But once you watch full HD resolution (1920x1080) you realize all of a sudden that humans are not that fat.

To compare the two side by side I would need two setups, which I do not have. So I tried to concentrate on the match and not the channel logo on top, to see if I could see a lot of difference between the two feeds. To be honest the difference was there, but not on the face. Even though HD was still HD in resolution, the bitrate I am sure is much lower than any HD content on disc. So that brought in similar blotchy-ness in the content as SD format, but much, much less. Yes you could see the players with much more clarity, and the overflowing color patches that are common when you view the field from distance was not present as much. Overall its a good view. I could not test surround audio since we do not yet have a 5.1 setup on our main A/V receiver.

So final verdict? Well I will say, unless you are crazy about pixels, you can wait for the prices to go down, or maybe HD becoming the "standard" equipment in DTH.

Thursday, July 01, 2010

Poor customer support from Airtel Digital TV

We recently bought a new Airtel Digital TV DTH service for our Salt Lake office. All was fine until I noticed an upgrade to Airtel DTH HD (High Definition) at a price of Rs. 2250 /- one time. It included ESPN HD till July 12, 2010, as I remember from my phone conversation with the customer support. I ordered for the upgrade (paid on IVR) and two days back (30 June 2010) we received our brand new HD box. But ESPN HD was not pre-activated. Strange as it may seem, I was to pay an extra Rs. 100/- for ESPN HD which was supposed to be included in the package. The reason given was a change in plans suddenly. Well of course to the customer, a price of Rs. 100 seems OK to be able to watch World Cup in full HD. So we paid the 100 bucks, sent the request and waited.

Waiting... waiting... still waiting. Its 2 July, and no ESPN HD on our TV. I called up customer support yesterday (1 July 2010), they gave me a waiting time of half an hour. Well of course that did not work. Then I called again, and I got a waiting time of 24 hours. That time is also almost up, and nothing yet. Oh! and all this while I have not received a single status SMS from Airtel on my registered mobile number. I called up today (2 July 2010) and got a waiting time till evening. They said there are technical issues in the new HD release, and many customers are feeling the pain.

My question: Airtel is not a small startup right? Why such rubbish service from such a big company? Its a grand fail. Just trying to launch an unfinished product to cash in on the World Cup fever is nothing but robbery.

Update: When nothing worked for 6 days (yes 6 bloody days, 3 complaints and what not) I finally asked Airtel Digital TV to give me a full refund (Rs. 2350 /-, HD Set Top Box + ESPN HD) and take their new shinny toy back. That worked! I got ESPN HD in 2 damn hours. Hah!

Friday, May 14, 2010

JavaScript to display meta content on the fly

At forums.com we are trying to look at something similar to what Facebook and other sites do when it comes to displaying external content.

Users usually refer to many kinds of URLs when they submit any content. From links to Wikipedia to Flickr, YouTube to WordPress. Each link can be either shown as a simple a tag (or video embed for video), or can be shown in a summary box with meta data from the external website.

The process to do this is to take the user's data, find URLs, fetch the necessary sites, gather a summary and display it on forums.com instead of a simple a tag. I will not go into the details for fetching data from the external website, not today at least. But as we were discussing how to store and show this external information we found a nice way to do it.

First of all, our background fetching, parsing was to be done mostly in Python, while the data may later be needed by any other code (PHP, Python, etc.). Thus it needed us to store this data in a format other than HTML tags inside the posts (which would be the easy way to get this done). For example a link to a Flickr image would get converted to a div with a title (a tag) and the image thumbnail (img tag). This is of course what the final output needed, but converting to HTML meant we would lose the data that we parse.

But at the same time we do not want to store this extra data per post (rather per link and so on) in separate data stores. So it came to our minds, what if we simply store JSON strings in hidden spans inside the content. Later on, JavaScript can take the JSONs and convert to whatever HTML structure we may need.

This solves two issues. First, our posts still stay more plain text (less HTML tags). Second, we still have our parse meta data in a data format. Plus the advantage: the JavaScript can be changed later to fit the future HTML structure needs for the site. Even better: different forums can switch on/off such stuff, or tweak the display as needed (of course we need to support such functionality, but we just might!).

How to do it: Use span with a class (say json) and style="display:none;"

Example JSON in the span:
({"url":"http://discuss.lforums.com/asset/image/logo.png","title":"Forums"})

In jQuery do:
$('span.json').each(function(index) {
var data = $(this).html();
eval('data = ' + data);
$(this).replaceWith('<img src="' + data.url + '" title="' + data.title + '" />');
})

We are still looking into this method, but seems it will suite our needs.
Please share your comments or suggestions.

Thursday, February 18, 2010

I am not a terrorist

Its been a while since I have written anything. Well I have been very busy with work lately (forums.com to be precise, which will launch soon). More on that in later blog posts; today I want to talk about something else. "My Name is Khan". I am sure most people who follow my posts will know this is the name of the latest movie by Karan Johar starring Shah Rukh Khan and Kajol. And almost anyone who knows me, knows I do not watch many movies, neither do I do celebrity worship. Then why am I writing on a film?

There is enough reason behind it. Not many reasons though, just one solid reason: life. Each film has a message to deliver. And Indian cinema in recent times are very message oriented, less dance/drama, etc. I have watched "Wake up Sid", "Rocket Singh", "3 Idiots", "Ishqiya" in recent past and have thought of writing on all of them. They all had messages. Some love, some honesty and so on. But what eventually got me to write on My Name is Khan is how easily and vividly the film presents the right (or lack of) to live. Do not get me wrong, each of the other movies were wonderful and had clear messages. But love, respect, honesty come only after a 13 year old boy lives to see the age 21 or more.

Our world has become too violent, from within. It is not them (whoever "they" may be). It is us, yes all of us, each and every one stupid human being. Or should I not use that term, since we are not even human enough. I think some alien super-power should come and strip the "human" tag off us. We kill like animals, behave like butchers (even worse, at least they get paid), and then we suspect the other to be a "terrorist". I know this film will not appeal to many, it does not have to; we have already lost so much faith in ourselves that the message may not come clear through. Only time will tell if we will all die at 13 or live to see older years.