Yavor Georgiev

Yavor is Co-founder and Head of Product at fusebit.io, a startup that makes in-product extensibility and integrations painless for SaaS developers. Previously at Auth0, Hulu, and Microsoft Azure.

JPL node.js workshop slides

07 October 2012

Thanks to everyone who attended, hope you found this useful. Let me know if you have any feedback so we can make this workshop better in the future.

Read More

Site creation in "azure" tool temporarily unavailable

15 September 2012

Update: It appears that azure site start/stop are also affected. We are working on a fix for both issues.

We are experiencing a temporary bug in the “azure” cross-platform tool for Mac and Linux. Some recent changes in the Windows Azure Websites API have broken some of the site creation functionality supported by the tool.

If you create a site using the site create command similar to what is shown below,  you will experience an “Access is denied.” message.

azure site create yavortest --git
info:    Executing command site create
+ Enumerating locations
+ Enumerating sites
+ Retrieving user information
error:   Access is denied.
error:   site create command failed

We are sorry for this temporary inconvenience. We will push a fix to the Azure Websites API within the upcoming few weeks. In the mean time, please use the portal to create your sites and configure Git publishing.

Read More

Azure Node.js developer center homepage redesign

14 August 2012

As a PM at Microsoft, you frequently get thrown into new unfamiliar areas with the expectation that somehow you’ll figure out your way around. Just recently I had a first-hand experience with that as the team decided that it was time to refresh the Windows Azure Node.js developer center. The dev center first went live in December 2011, and since then it has received great new content, but the overall structure and the homepage in particular had changed very little. This was standing in the way of developers getting to our great content and resources, and was ultimately driving people away from trying Node.js on Azure.

Over the last three weeks I had the opportunity to work with some great folks across the Azure IX, UX, and PM teams and rethink our dev center. This is new to me, so I wanted to document my experiences here in blog series (hopefully). In this first part we will focus on the dev center homepage.

A big thanks to Molly Bostic, Lydia Bagwell, Jodie Eilers, Jesse Francisco, Brad Goring, Lucas Stanford, Larry Franks, and Mohit Srivastava, without whom none of this would have been possible.

The current dev center

Current Node.js dev center

Let’s start with the current dev center and the approaches we used to identify issues folks were having with it. First, we reached out to our advisory community and collected some feedback:

  • “there is way too much on this page”
  • “make a clear single message/call to action above the fold”
  • “get rid of the whole left hand items, it’s just clutter
  • “since one is on the Node page get rid of the other links to all the other languages… I want to see things about Node, not all the other stuff

We then conducted a heat map study and looked at the page navigation patterns associated with the site.

Some additional learnings emerged at this point:

  • Based on the heat map and the flow of visitors from and to the other language developer centers (especially .NET), there seemed to be quite a bit of “browsing” behavior: folks simply exploring different Azure languages. We didn’t want to inhibit that flow, so we decided to keep the header that lets you quickly jump between languages
  • There is a lot of flow to the tutorials on the page, especially the first tutorial we list on the page. Users tend to actively seek out tutorials, as seen in the heat map: it appears that tutorials are the preferred form of content.
  • The prime real estate is understandably the middle of the page right above the fold
  • Not many folks are clicking on the “free trial” button to sign up for Azure. 
  • Lots of folks are downloading the SDK, but is that all they need to get started? Wouldn’t reading a tutorial be a more useful?

Information Architecture

Before we set off to try and address this feedback, we formulated a set of principles to follow in the new design:

  1. Clear call to action
  2. Keep it fresh
  3. Reduce text-heaviness
  4. Improve content categorization
  5. Optimize click stream

Based on these principles we started sketching. First we played around on the whiteboard and then worked our thinking into wireframes. Here are some of the options that we considered at this stage of the design.

You will see that all of the sketches significantly reduce the amount of content and clutter on the page (especially above the fold), partly by removing the left-hand navigation. A single call to action is prominently featured above the fold in all of them. Fresh content is also prominent in all of the designs through the use of a carousel control.

Option 1 didn’t dedicate a permanent spot to the call to action we wanted to highlight. Option 3 caused the content categories (Compute, Data, App Services) to wrap and disrupt the flow of the page. Option 2 was selected and we proceeded  with refining that. 

Graphic Design

We then proceeded to produce high-fidelity screenshots of the selected option. 

You will notice a few things that have changed. As the design team was working through this, they realized that the carousel with fresh content we were envisioning wouldn’t fit in the small area we had dedicated to it, so we had to invert the carousel and call to action areas. We did not want the call to action to get lost, so the first tile of the carousel was designed to naturally lead folks to get started. We also realized we wanted to maintain the blog spotlight area and it fit nicely alongside our three content categories. 

To Production and Beyond

Updated Node.js dev center

After a two week design phase and one week of implementation, we were able to push the new design into production and you can go check it out now

Unfortunately, releasing the new dev center homepage is only half the battle. Over the next few weeks we plan to tackle 30+ documentation topics that the dev center contains and make sure each one of them is the best it can be. We are also keenly keeping an eye on a variety of metrics (including the heat maps and navigation data shown above) to make sure the new design is actually helping address the problems we set out to solve. We will continue to tweak and refine the design in response to that data and I hope to share the results as we make progress.

In the mean time, I would be glad to hear from all of you. Did you use the old or new Node.js dev center? Let me know what you think in the comments!

Read More

Whoops, sorry we broke you

26 July 2012

Image credit: runran on Flickr

We made a breaking change between versions 0.6.0 and 0.6.1 of the Windows Azure command-line tool for Mac and Linux. You can get the tool from http://windowsazure.com or via the azure package on npm. The tool lets you create and manage Azure websites and Virtual Machines from any platform.

If you imported your publish settings file using version 0.6.0 and then updated the tool, you might be greeted by the following message:

PS C:\Users\yavorg> azure site list
info:    Executing command site list
+ Enumerating locations
error:   Host is not reachable. This may be due to lost internet connectivity. Please check your connection.
info:    Error information has been recorded to azure_error

This is because we made a change to the way we internally store your publish settings information, and the old format doesn’t work with the updated tool. Fortunately here is an easy fix: just clear your old publish settings and import them again:

PS C:\Users\yavorg> azure account clear
PS C:\Users\yavorg> azure account import '.\node.publishsettings'

Thanks, and sorry for the inconvenience!

Read More

NDC talk: node.js on the new Azure

08 June 2012

Here are my slides… thanks for all who attended! I will also add the video when it is available. The code I used can be found on my GitHub page.

Read More

Excited to be speaking at NDC Oslo 2012

05 June 2012

Updated with new time and abstract. Come get a personal tour of the announcements at the Meet Windows Azure event with Scott Guthrie on June 7 in San Francisco.

I’ll be speaking on Node.js in Azure at NDC in Oslo, June 6-8. It’s my first time at NDC and my first time in Oslo, but I’ve heard nothing but good things about the conference and the city itself. Skål!


Hell has frozen over: writing Node.js apps for Windows Azure
Yavor Georgiev
June 8 2012, 10:20 - 11:20

Server-side JavaScript? On Windows Azure? Has hell frozen over? Come learn about how Azure is quickly turning into an open and lightweight cloud platform that supports a variety of runtimes: .NET, Java, PHP, and even Node.js! Be among the first developers in the world to get a personal tour of the new Windows Azure, hot on the heels of Scott Guthrie’s “Meet Windows Azure” event in San Francisco. In this session we will show how to build exciting realtime apps in JavaScript, and how to run them in the cloud. We will take advantage of great Azure features such as storage, caches, and queues to make our app scale without a hitch. We will also share the team’s plans for future Azure improvements and give you a chance to voice your opinion.

Read More