The JyMob Blog

Choose the Best People.

The First Demo Day

In the (early) life of a startup, a specific day has a special meaning and importance. This day, fondly referred to as the “Demo Day” is the time when the startup founders show off their product to potential investors and others. Of course, the venerable Y Combinator has made this term very popular.

We at JyMob have been very excited about this day. About 6 months ago, we were admitted into the first batch of Alchemist Accelerator and our first ever demo day is set for tomorrow, Thursday, January 17, 2013.

Firstly, like the name says, it’s time to “demo” your product in about eight minutes. Yes, that’s right – you get 08 minutes to explain your vision, your mission and your message. Fortunately, for us, our product is our message. It is in a pretty good shape and that gives Deepa, a lot of confidence. Good luck, Deepa.

Of course, the ultimate power lies with you guys, the users of our service. But personally, I take demo day as a validation avenue. If I have really understood the product, its positioning and relevance, I should be able to generate enough interest in potential investors. Independent of whether my startup is accepting or should accept external money, the positive frame of mind should be whether I can explain my product to someone (who I don’t know) in a short amount of time. After all, someone is coming there and investing his or her precious time in listening to me. I have got to do my best in delivering the message. Period.

As for the product, yeah, like I said, we had been busy doing some really cool things with respect to making JyMob’s distribution easy. New features, new look of the website is refreshing for all of us here. If you haven’t tried it already, give JyMob a try, now!

Wear JyMob Spirit

One of the many interesting things you get to do while doing a startup is run into other startups that do noteworthy stuff. We just ran into one – Teespring. It’s a cool place to design your custom T-shirt and run campaigns. Check it out at Teespring.

We designed a simple JyMob T-shirt and we are running a campaign. If you like JyMob (we are sure you do) you should order your JyMob T-shirt and wear it. I can guarantee you that it will be a good quality T-shirt and as a side-effect, you’d end up helping JyMob.

Here is the campaign.

Thank You!

Go Ahead, Hire Strangers

I often tend to learn from the so-called conventional wisdom, but I don’t get this one:

Usually, hiring happens by referrals.

Don’t get me wrong, I understand the motivation. It is obvious that you would start with your own contacts, but in a way, you are unnecessarily limiting your scope. When you have a job or two, you should have a large (enough) sample space to choose candidates from. If you always hired only from the pool of people you already knew, the world would be small (and boring), wouldn’t it?

In general, hiring the right candidate is a problem, some say it is a big problem. And it is true. It is a matter of luck. If you are starting off, this is even more important. But if you are a middle-aged company, the nature of hiring is slightly different. You are mostly looking for a reasonably smart candidate who is a good fit. Of course, you’d want to hire someone who gives his or her heart and soul to the job, but in a startup, you are almost creating a cult, which is not the case in a larger company.

With technical jobs however, you don’t know if a certain candidate is capable of doing the job(s) you have however strong s/he looks on paper (i.e. resume) and/or how strongly s/he is recommended on say LinkedIn. You want to know beforehand if you should spend more time applying human intelligence (which is very reliable) judging this candidate. And yes, when you judge, you are also being judged.

But to reach this stage, you need to define your core requirements rather objectively. Job descriptions have consistently failed to do that. That is where JyMob looks promising. It makes you think hard to define your jobs objectively. Rather than getting the candidate to solve the problems whose solutions are available off-the-search-engine, you are free to be creative and design the problems that are themselves search-engine-defying! You can create quick challenges and you get a nicely formatted report of how well the candidates did. Being able to pose interesting problems uniformly may also lure candidates or create their interest in your company/department. Many engineers for example, are interested in solving interesting problems and seek a reasonably good growth and salary.

Many candidates are perhaps turned off by screening services like JyMob. But at JyMob, we try hard not to get in their way. Our test interface is quite intuitive, forgiving and pleasant to work with. You can attach any number of files along with your solutions, add clarifying notes when you are asked (i.e. create a full-fledged discussion thread within your solution!) and you even get reminded of the time left if the test is a timed one.

With such a tool at your disposal, you can make more informed decision about your prospective hires without having to spend increasingly more time. If you are working on “Internet Time”, this becomes all the more important because you spend time only on the candidates that are screened by the system that you designed.

Job seekers are also not at a disadvantage because they know that it is only fair to initially employ interesting screening techniques on job providers’ part. This opens up a wide array of candidates for job providers to choose from. They get a platform to show-case the nature of problems they are trying to solve and get to be innovative about creating such problems. And what’s more, they get to choose from a versatile JyMob problem database where we use strength of human network that helps create those problems!

So, yes, go ahead, when you want to hire, start with the widest landscape possible and tune services like JyMob to your satisfaction.

Try JyMob

After making it a goal of life for a few weeks, we have finally been able to release JyMob. It is available here. Try it out and let us know by sending feedback.

For any software engineer, the following should be true:

The goal of any development should be to put the thing being developed in production (ASAP).

You would be surprised to know that the bug that was preventing me from releasing this was that in Action Mailer. If you are seeing this rather cryptic message in the sender’s inbox when using exim as your sendmail replacement (as MTA):

A message that you sent using the -t command line option contained no addresses that were not also on the command line, and were therefore suppressed. This left no recipient addresses, and so no delivery could be attempted.

A workaround consists of the following:

  1. In exim’s configuration (typically, /etc/exim4/conf.d/main/some_cfg) add extract_addresses_remove_arguments = false
  2. In Action Mailer’s configuration, set:
 config.action_mailer.sendmail_settings = {
  :arguments => "-i"
  }

Hope Google indexes this article soon. Read more about this at GitHub page. (Thanks to petemc on exim’s IRC channel).

Hoping to hear some feedback from you guys!

In Praise of FreeRice

When I told my son that there are 66 million children who go to school hungry every day, he was nervous. It is possible that providing such facts is not necessarily good parenting, but I just felt like doing that, without expecting any returns from it. Not that he is not eating well or craves junk food, but I felt that it may help him keep things in perspective.

Hunger is a delicate subject and something that has lasting impact on me. Hungry children is a sad reality.

But Free Rice is a great initiative and I can’t praise it enough. It has such a nice model:

  • Visit the site.
  • Choose your language of interest (I guess more are on the way).
  • Start improving your vocabulary by playing the word game(s). For each correct guess (for the meaning of a given word) they donate 10 grains of rice through WFP.

This is such a win-win strategy! Even if you forget the cause and play for improving your word power, you are going to do something good to others as a side-effect, a positive side-effect. I really like the simplicity of this model and hope that it thrives. I am hooked on to their site and hope you all do the same. Come on, give it a try!

I must say that I am in no way related to the website (other than being a user and player) and I do understand that there has to be a business model behind this kind of philanthropy, but hey, it’s okay to be ignorant in certain cases, especially if it is done for pure bliss.

The OAuth Confusion and a Practical Workaround

I am no security expert, but I understand that there is a marked difference between authentication and authorization, just like any average web user does. We need a way to separate the mechanism that identifies someone from the mechanism that decides what s/he can do. Thus, it is obvious that authentication comes first and then authorization. Most of the websites you visit need a way to permanently identify you. And they do that by making you create user name and password. This of course results is creating easy-to-crack passwords if the website makes you create a user name and password. This is because there are just so many of them! Creating a password, maintaining it is really a nightmare.

OpenID came along and it said that let us delegate the act of identifying someone to a few trusted sources. These are the so called OpenID providers. For example, Yahoo! is an OpenID provider. We trust them and they identify us through our Yahoo! profile. Then a new website which becomes an OpenID consumer delegates the identity determination to Yahoo! To this new website, you are user joe on Yahoo! and they know you that way.

This was just on the brink of getting over an average user’s understanding and then came along OAuth, not in one but two versions. And they said that, well, we are here to solve your problem of who can do what. At the same time, something supposedly very important happened – the rise of the social networks. It’s an undeniable fact that social networks are a reality and so is the e-commerce. Your needs to let one website access your data stored on another website increased. For instance, suppose all my photos are on Flickr and I want a certain website, Printr to print them out for me. Now, instead of uploading them again at Printr’s website, I can let it access my Flickr photos. It’s deemed convenient by most of the users. Note however that while I do so, I have to identify to Printr that I am who I say I am on Flickr.

To me, this is like delegation of identity. In authorizing Printr to access your Flickr photos, you had to somehow prove to Printr your Flickr identity! So, in my opinion, OAuth can be extended to provide the necessary identity. Thus, for Printr I am not joe, but joe@Flickr, which is fine. Printr does not have to insist on making me create an account (that works only) on Printr’s website. It’s fine if Printr prompts me for my email address and Flickr (, or my access settings on Flickr) refuses to reveal that during the Printr-Flickr negotiation phase.

In other words, you, as a website developer, have to make a choice – whether to use Facebook or LinkedIn credentials as a means of establishing identity (along with an optional user name and password screen and of course, OpenID). In my opinion, it is fine. Since odds are that Facebook et. al. are going to outlast your website and that we, as a human race, seem to have already committed to them, I see no problem in having such delegated identity establishment. What is really worse is have a Facebook Connect, a Twitter Login and also make the user pick a password. (Yes, there are websites that do that).

I am sure there will be some corner cases where this would be a problem. But then dare I say that it will be an uncommon case. To make common case suffer because of that is not a good design choice.

User Experience Comes First

I am no expert on user experience. But I am a passionate programmer. I care for the users who (will) visit my website. I think your users are your asset – more important than your (paying) customers. This is simply because they help you create one of your value propositions – data. Unless you are meticulous about their experience, you won’t be able to create lasting value.

This short post is about how thinking about users changes the way you design your programs. A few hours ago, I was trying to associate a company or an organization with a user who signs in to my website. A way to associate users with organizations is by using a drop-down list. If you search the web for use of drop-down lists, you will see sane advice that drop-down lists are not a good choice especially for lists with more than say a dozen items. However, I thought I liked the ease-of-use selecting an item from a list instead of keying in the name of that item. But when I thought of a growing list of companies to choose from, I decided against using it. Instead, I resorted to a simple text-field, where a user would add her company and then I’d save it to the database for later use. In my opinion, this worked really well. I did not have to make excessive use of JavaScript or styling to make the long lists user-friendly. I just removed them. This made me think of structuring my models and associations a little bit differently.

The point I am trying to make is thinking of user interface actually changes the way you design your internal data structures and model interactions. And my experience has been that a simpler design of these internal machinations usually emerges by thinking of how a user would interact with them on a website. This is even more applicable to the user experience of your website on hand-held devices.

Hackers Should Use Octopress

Blogging. Yes, that’s what started what some call the Internet’s second coming. Hackers. Yes, those unreasonable men and women fuel the innovation that happens out there, in the wild, open and level field.

If that is true and if you are a hacker, you should give Octopress a try. Period. It preserves the basic premise of its predecessor, Jekyll, in that it preserves all your posts as simple files on your disk. No mess-up with the database. And then it adds icing on the cake. Actually, calling Octopress icing on Jekyll cake is an injustice to the former, because it simply makes the latter so much better that the honors should be shared.

I said hackers should use Octopress because some setup is involved, but setup/hacking is what hackers adore. For days, I was looking for something like Octopress and when I finally discovered it, I was more than happy. The posts now look so beautiful and that puts a pressure on me to produce comparable content. I have not received any formal training on writing nonfiction, but I have read the inimitable William Zinsser and a few others.

Going forward, I will try to keep my posts brief (which is an art that we should all learn from Seth Godin, mostly technical (but revolving around my observations of this amazing world) and of course focused on JyMob (which is my latest serious project).