Archive for the 'Engineering' Category

Doodle adds “reset admin link” feature to help administer your poll

July 30, 2014

Who hasn’t experienced this problem before: we click the SEND button in our eMail program and realise just in that same second, that we have sent a wrong link or have sent the eMail to the wrong person. Our Doodle users told us that they would love to get security for such error when sending the participation links for a scheduled poll out.

With today’s release, we have improved the use of Doodle admin links. Within the admin panel for your poll we now have added a functionality for organisers to reset the admin link. Such new admin link will be sent to the organiser by eMail, actually to that address that was used for setting up the poll. All users that have received the former admin link will be able to participate in the poll but not be able to administer the poll.

In hoping that we were able to help our users with such change we wish you happy Doodling on the world’s easiest scheduling tool.

Your Doodle Team

Important security news from Doodle

April 10, 2014

Earlier this week a vulnerability in the OpenSSL library was disclosed. Doodle uses this library to encrypt data transmissions like many other Internet services. Therefore Doodle might be affected by this issue. Learn more about the vulnerability on heartbleed.com.

First and foremost we want to express that all Doodle systems have been updated after the disclosure and the issue is therefore resolved on doodle.com.

There are no signs that the vulnerability was exploited to tap into Doodle’s data transmissions. However, due to the nature of the vulnerability this cannot be completely ruled out, though.

We want to emphasize that NO credit card data could have leaked via Doodle as this data is sent directly to our billing provider from your browser.

As a precaution we recommend that you reset your passwords and reconnect your calendars:

Do not hesitate to contact our support team in case you have any questions.

Doodle switches to HTML

September 27, 2012

We send hundreds of thousands of notifications per day that are related to the administration of Doodle polls. Some of you may have already seen that we’ve switched to HTML e-mail notifications. This was an important step to improve the overall user experience of one of Doodle’s core communication streams. We handle these messages in-house so that we can have full control over what our users get. You’ll notice that the HTML e-mails look better and offer more helpful information in one look.

Approach

The basic approach to develop the new e-mails involved iterative steps and a lot of testing. Over the course of a month, we released six layout versions to small subsets of users and measured KPIs like the opening rate and the click-through rate. Many users and a service called Litmus helped us test the designs in a variety of e-mail clients. We immediately incorporated the feedback and were able to measure the improvements instantly.

Initial text-only notifications

First iteration

Five iterations later: today’s notification

Results

As a result, you can now experience HTML notifications in a fresh and structured layout that gets displayed in all modern e-mail clients. Poll initiators are much less likely to send out the admin link that is not intended for the participants. They can also invite participants by clicking on the invite buttons in the HTML e-mail. The final layout has been selected because it achieves an optimum click-through rate on links to Doodle polls, other Doodle content and advertising partners. Just like before, you can get rid of all advertising on Doodle by choosing a premium subscription.

Lessons

  • a text-only fall back increases the click through rate significantly
  • over 50% of all Doodle notifications get opened
  • less clicks on advertising was equivalent with a higher lead rate, which is good for the advertiser as for the Doodle user

In the end, it was trickier to develop a good HTML e-mail than a website because there are even more e-mail clients than there are Web browsers. That was one of the lessons that we learned that anyone who’s created HTML e-mails before has also learned. Here are some helpful resources that we used:

Calendar connections: update

April 17, 2012

Being able to connect one’s calendar to Doodle is a great feature–and one we recently invested into making faster and more reliable. It works best with Google Calendar (both via individual Google accounts and via Doodle’s Google Apps integration), but our goal is to also play well with Apple and Microsoft.

Until there are calendar APIs for Apple’s iCloud and Microsoft’s Office 365, we want to provide Doodle connectors for iCal and for Outlook. The iCal connector already works reasonably well even though it is still in beta. While the Outlook connector also works well for the majority of its users, it does not work well at all for a large minority of its users. And in the case of the Doodle’s Exchange integration, the situation is even worse: it kind of works for a small minority and does not work at all for a large majority.

We apologize for this unsatisfactory state of affairs and are going to remedy it as follows:

  • The Exchange integration is going to be discontinued (by May 2nd) in order not to eat up more precious time that is better spent on Google Calendar, iCal, and Outlook.
  • The Doodle connector API is going to be modified according to the actual use of the Outlook connector. One important reason for the problems that the large minority of Outlook connector users experience is that some of the assumptions that we had made for Doodle’s connector API turned out to be wrong.
  • We try to outsource the maintenance of the iCal connector and the Outlook connector. We have developed them ourselves in order to verify (and, as it turned out, falsify) the Doodle connector API, but we are experts in Java and Web development and not in Mac or Windows development.

If you are a Google Calendar user, all is good. If you are an iCal user, keep updating the Doodle connector as it is maturing. And if you are an Outlook user, please remain patient (we realise that you have been patient with us already!): the Doodle connector API in general and the Outlook connector in particular are slowly but steadily going to improve over the next weeks and months.

by Paul E. Sevinç, Co-founder & CTO

Scrummy Doodle

September 30, 2011

As our group of developers has grown in the past few years, the development structure has become disorderly and the engineering team has been looking for some (but not too much) structure. In the past, Doodle released new features monthly, so the development process was kind of agile for years and this shouldn’t change. We liked it, and our customers (you …) liked it, too.

The most famous method of agile development is probably Scrum, and Scrum seemed to be a good fit for us. If you want more information about Scrum, check out Wikipedia or read the book “Scrum mit User Stories” (ISBN 978-3-446-42660-3), which we like and recommend. Unfortunately, this book is only available in German.

After a few weeks of preparation and research, we started our first cycle on September 28th and are running it for 3 weeks. The beginning was interesting, kind of exhausting, but fun, too. We also now have fancy task boards and burn down charts on our wall.

The engineers are looking forward to planning meetings, extreme programming, and retrospectives.

Do you have experience working with Scrum or do you have any questions? We love to hear from you, so please feel free to share your feedback.

Oliver Ganz

An introduction to MongoDB

September 16, 2011

We are asked about the technology landscape at Doodle from time to time. And usually we blog about it every now and then.

This time we choose a different approach and decided to give a talk about our latest integration project: MongoDB. To warm up, Malte Schiebelmann gave a short talk at Webtuesday, Zurich this week. On thursday David Gubler and he also held a full day workshop at the ch/open workshop days.

To share our insights, you can check out the presentation, Malte gave at Webtuesday below.

MongoDB Intro

http://www.scribd.com/embeds/65182821/content?start_page=1&view_mode=slideshow&access_key=key-2l18b9s7zepj4sh1ttgh//

World IPv6 Day

June 7, 2011

On 8 June, GoogleFacebookYahoo!Akamai and Limelight Networks will be amongst some of the major organisations that will offer their content over IPv6 for a 24-hour “test flight”. The goal of the World IPv6 Day is to motivate organizations across the industry – Internet service providers, hardware makers, operating system vendors and web companies – to prepare their services for IPv6 to ensure a successful transition as IPv4 addresses run out.

Doodle will also participate in the World IPv6 Day and run the service in “dual stack” mode – over IPv4 and IPv6 simultaneously. We don’t expect any consequences for our users, any potential issues will be collected and published by the initiators of the test.

Doodle’s technology landscape

April 14, 2011

Update Nov 18 2013: Please read this article to learn about the current technologies we use.

We are asked about the technology landscape at Doodle from time to time, reason enough to talk about it in our blog. The operating system (OS) of our production servers is Debian (a Linux flavor). Our database management system (DBMS) is MySQL. Recently, we started using MongoDB as well; if MongoDB keeps its promises, and so far it does, we will slowly but steadily persist more and more pieces of information with MongoDB and fewer and fewer with MySQL.

Doodle is basically a Java application and Tomcat its web container. For the time being, we still use Tomcat 6 but are going to switch to Tomcat 7 soon. However, when browsers (or API clients such as our Android app) send requests to doodle.com, they do not directly interact with one of the Tomcat instances but with one of our Apache servers. The Apache servers are responsible for balancing the load and for delivering static content (e.g., images) without having to involve any of the Tomcat instances.

In the back-end, we heavily rely on Hibernate for O/R mapping between Java’s object model and MySQL’s relational model and are waiting for Hibernate 4 to become JPA 2 compliant (Doodle, that is, not Hibernate). In the front-end, we heavily rely on jQuery. And in addition to the Java SE 6 APIs provided by the Java runtime environment and the Servlet API 2.5 (soon 3.0) provided by Tomcat, we use quite a few third-party libraries, many of which are sponsored by the Apache Software Foundation.

Finally, we are learning Scala (well, yours truly is). The switch from Java to Scala is not going to happen anytime soon (certainly not before Java 7 and maybe not before Java 8), but this language made in Switzerland is exciting.

by Paul E. Sevinç, Doodle CTO

High Performance Doodle

January 28, 2010

Our latest release is online since yesterday. It focuses mainly on performance: We have analyzed many aspects of the service and optimized various parameters like ETags and content compression. Steve Souders’ “High Performance Web Sites” has been of great help and the results are astonishing. So we’re happy to provide an even faster and more reliable Doodle experience.

Doodle up and running (again)

June 16, 2009

Wow! Murphy hit us hard today. Two of our servers failed simultaneously. Other — non-related — problems made us hunt down the wrong causes for a while. In the end, Doodle was not available for quite some time today. We apologize for the downtime and the inconvience this has caused.

Here’s the good news:

  • All systems are back online.
  • There was no data loss whatsoever.
  • We have used this opportunity to add another server and to optimize a number of system parameters to make sure that Doodle will run even more reliably and responsively in the future.
  • We have contingency plans for a number of scenarios in place, and it’s reassuring to see that they work. We’ll just have to be even faster next time.
Follow

Get every new post delivered to your Inbox.

Join 13,417 other followers