Screenshot of Meeting Planner app
Figure 1 - A screenshot of the Meeting Planner app running inside a web browser.
Launch web app in new tab...

The aim of this app is to show the location of day and night on the world map for any given date and time. As I regularly have meetings with people from different countries, having the ability to select the meeting date/time and with a single glance get a full understanding of where morning and evening is at each participant’s location is really useful to me. It also means I can quickly search for times that minimise inconvenience.

Whilst the app displays some default locations when you first start it, you can customise and save them in any way you want. You can also copy/paste or drag/drop your settings as simple JSON data if you have different meetings with different participants in different locations.

At the moment the only way to edit the location of participants is via the Copy/Paste as JSON… dialog box. As described, you can save that data as a text file and drag and drop them on the app at any time to change meetings. I have started on a visual editor but higher priorities have got in the way. However, if you do use this app and like it, please add a comment or email me with any feature requests and I’ll up it’s priority.


For me, creating this app was about mastering the standard Javascript Date object. As many others will attest, working with multiple timezones in Javascript is a mess - and so it proved. However it is something that needed dealing with so I had to get on top of it early so it didn’t become an issue in my other apps.

This app was also my first experiment with map projection transitions in D3. I thought it was going to be pretty simple as there are lots of other examples of transitioning between equirectangular and orthographic map projections. However, all of the other examples deal only with a static canvas size with a set 2:1 aspect ratio. Having the canvas resizable to any aspect ratio, including portrait, adds a whole new dimension of pain.

Also, allowing rotation of the spherical map made the transition origin jump all over the place and, despite many hours of experimentation, the logic required to compensate for it remains elusive.

Change Log

0.0.1 2014-06-30

  • Initial release.

Click here to comment on this page.