Online Surveys = Ongoing Insights

To Code Or Not To Code

To Code Or Not To Code

Hey all you tech guys and gals out there. My name is Adrian, and I work on the front-end here at SurveyMonkey. We’re using several open source javascript libraries in development, but we try to write our own code when it makes sense.

So, when does it make sense?  This is a tricky one to answer and should be addressed on a case by case basis.

At SurveyMonkey we decided to pass on jQuery UI and rewrite the widgets ourselves.  My initial thoughts were: “Are you guys crazy?! We need those jQuery widgets! “The work is already done, so we should focus on developing our app!”

…Let me give you a little back story:

My first programming gig was at a small, scrappy startup.  The full-time team was comprised of one back-end engineer and myself on the front-end.  Strapped with little cash and a great idea, we had no choice but to take an ROI (return on investment) approach to every decision we made.  Our main strategy was to harness development practices that would get us the biggest bang for our buck.

Development on the front-end was SLOW.  Being a total noob to javascript, I was unaware of the numerous open source libraries that had already solved the problems I was solving. I was squandering away precious time and money re-inventing the wheel …and a bad version of the wheel at that.

One bright sunny day, I met jQuery.  What was once a Sisyphean task was now trivial.  I wasn’t getting bogged down in the dirty details of different browsers, and this allowed me to expedite the development and design of valuable features.

With this new tool in my belt, I was high on the productivity. I wanted more.  jQuery UI looked like it could also offer some more development power, so I decided to take it for a spin.  Immediately, its simple and expressive API blew me away.  With easy one line calls to the API, we had beautiful, cross-browser, and feature-filled UI widgets.  It saved us time, customers enjoyed the improved UI, we made money, life was good. Naturally, I wanted to continue using jQuery UI at SurveyMonkey.

Now that we have almost finished rewriting our own version of it, I have some pros and cons to share with you from our experience.


1. We are able to decide what the browsers we support, and since we do not support IE 6, we have a few more CSS tools at our disposal.

2. By writing our own CSS, we can take advantage of the latest CSS3 techniques.  Namely, using CSS3 gradients for background effects and Pictos Font Icons for our icons, instead of using background images.

3. We were able to drop 130KB of javascript code in our own versions.

4. We now have control over future development, and we aren’t dependent on changes to jQueryUI’s API.


1.  A few team members had to spend a considerable amount of time developing and documenting code.

2.  We will continue to pay maintenance costs as we move forward.

For my smaller start up, the cons completely outweighed the pros.  Time spent on feature development was paramount. We needed to survive with very little help. At SurveyMonkey, we have more than just one front-end engineer; we have TEAMS of front-end engineers.  We have the luxury of being able to dedicate a couple people to making awesome, custom jQuery widgets, while others can simultaneously develop our app.  Also, SurveyMonkey has a much more heavily scripted UI than my smaller start-up, so asset downloads and JS performance really start adding up.

jQuery UI will always hold a special place in my heart, but for now, we have to part ways.  If you are deciding on using third party javascript libraries, take a hard look at your business requirements and resources to make a prudent decision.

Have you made the decision to write your own code for your web needs? Sound off about why or why not in the comment section below.

Tags: , , ,

  • Interesting article Adrian, thank you. I have been using SurveyMonkey a lot at my studies at the university with great pleasure. It saved me a lot of time, so thank you for that. And saving time, is one of the pointers you mention in your article.

    I recently started out a new company with one of my friends, where we develop custom build interfaces between systems, and also work a lot with search engine optimization, – with great succes.

    But you hit a point for a small, newly started company. We do not have the time to develop all the code we would like to, so of cause we use jQuery and other open source libraries. We always though, have an open mind in a project. That is, we always check if we would be better of writing our own code. So I would say, that it depends of the project. If needed you should write your own code, but if not – then why use the extra time.

    Even though if we like SurveyMonkey had a large team, I would still consider each and every project.

    We also have had projects, where open source libraries seemed like the right choice to begin with, but as we got into the project it was clear that we needed out own code. This is often the case for us actually, as our native Danish language and way of work not always concur with the rest of the world.

    Most of the times, our projects end up with a mix of open source and our own development.

    • Hanna J

      Hi Ruben – Great. Thanks for your comment! I completely agree. Happy coding!

  • I completely agree, you can apply this to every application module. Sometimes you don’t have modules with such quality as JQuery/JQuery UI, and then you need to do dirty things (write, test, fix bugs). The worst scenario is when you waste so many resources to build custom modules, and then by the product evolution you need to kill them.

    Didn’t know about Pictos Font Icons, looks very interesting.

  • Mrs Trixie

    Hello guys, if I want to make a survey where the results contains sensitive personal material as by example, records of diseases, how is it saved?

    Who has got access to the material?

    best regards

    Mrs Trixie

Inspired? Create your own survey.

Inspired? Create your own survey.

PRO Sign Up Sign Up FREE or Sign in

Write Surveys Like a Pro

Write Surveys Like a Pro

Ever wonder what SurveyMonkey’s really made of?

Ever wonder what SurveyMonkey's really made of?

Read our engineering blog »