The Story of Synchronized Settings

The Story of Synchronized Settings

Rate This
  • Comments 55

As you may have read in our post about signing into Visual Studio 2013, one benefit of signing in is the ability to roam your product’s settings across machines. In this post I’ll tell you more about the Synchronized Settings feature.

When looking at feedback from customers or requests for new features that enhance productivity, a few requests easily surfaced right to the top. Everyone wanted their Visual Studio IDE installed in minutes, set up in seconds, and ready to use in a blink! This request wasn’t just about a faster install & setup process but begged us to broaden the scope of user convenience when setting up machines as well as the convenience of use during continued usage of the product. We tried to understand how we could set up the IDE the way a customer likes it without them having to make all the setting tweaks for every new install of Visual Studio. From these questions came the idea of a Connected IDE where the IDE is connected to the cloud participating in services and features that enhance the productivity of Visual Studio users.

When we asked MVPs what comes to mind when they think about a Connected IDE, one of the top answers was "Settings". That is where the journey of Synchronized Settings began.

Listening to customers

It started off as a simple idea to synchronize all settings changes from one machine to another, but we soon realized that it really wasn't as simple as that. It quickly became clear that if this capability was to work well we needed to identify the top most commonly modified settings. To learn what users expected, we asked team members (close and far), as well as customers early on to see if what we considered the top settings to synchronize matched their expectations. Feedback we got from the public survey as well as various customer councils, helped solidify the scope.

Based on feedback received from the survey we also defined some core principles to ensure we delivered a seamless and smooth synchronized settings experience:

  1. It just works
  2. Don’t disturb the developer
  3. Start with a small yet impactful scope, and learn

We decided to keep settings synchronized only within the same product families. Our product editions differ in their features, capabilities and default settings. Maintaining one set of settings that safely applied across all of them and across multiple devices created conflicts that were difficult to resolve automatically. Settings therefore synchronize between Visual Studio 2013 Professional, Premium and Ultimate editions across devices. For our Express family of products, settings will only synchronize across devices for the same edition.

Once the feature was up and running, we also conducted user studies to verify that the experience we were building around this scope was what our customers expected. Based on what we heard, we made tweaks and adjustments to the experience.

Settings we decided to synchronize, and why

The key to delivering a seamless, exciting, and impactful experience, is to pick the most impactful scope and ensure that every scenario for that scope works perfectly. Applying this strategy to Synchronized Settings we picked the top settings that our customers most often modify. These are the settings that made it in -

First Launch Settings: Default collection of settings chosen when Visual Studio is launched

When you launch Visual Studio 2013 for the first time, you will be asked to select a default collection of settings. We make a note of this default collection and then apply it on the initial configuration of subsequent machines where you sign in, so we won’t waste your time asking for the same information again.

First launch settings and theme selection dialog

Settings under Tools Options

With Synchronized Settings, IDE options like enabling line numbers, editor tab settings vs spaces, enhanced scrollbar, font size, show start page on startup will get synchronized across machines automatically for you. Here is the complete list of options that will synchronize across machines.

Settings under Tools Options that are synchronized across machines

 

Command Window Aliases

User created aliases to perform functions within Visual Studio from the Command Window will also synchronize across machines.

Command windows aliases

Fast is good!

Fast performing Visual Studio is not just expected by developers but it is most definitely important to the teams building the features. Throughout the design of Synchronized Settings we kept performance in mind. To help us identify potential performance bottlenecks and less-common error conditions we added detailed telemetry logged as anonymous product usage data. This telemetry included data on every failure and time taken for every download, upload, and application of settings. This data helped us gauge whether the feature's performance met our principles and goals. We set a high bar for performance and strove to meet it.

Feedback in all shapes and forms is important, but especially important is how our customers use the products and features we build. We rely on telemetry from customers who have opted into our Customer Experience Improvement Program via “Help -> Customer Feedback Options” to help us take data driven decisions. With Visual Studio 2013 Preview now released, the team is reviewing incoming data to help find and fix remaining performance and functional issues.

Synchronized Settings Options

Developers want control over how their product behaves, so we have an options page where you can tell us exactly which settings you’d like to keep synchronized across all machines and which ones you’d like to isolate per machine. These options are not synchronized across your machines, so any selection made here is specific to the machine it is made on.

Synchronized Settings options page

Sticking to our guiding principle of never disturbing our customers, we opted for smart defaults whenever possible as to not interrupt your work. Only when we cannot be sure of the right next step do we send you a notification. Acting on a settings conflict notification offers three choices: accepting the settings stored online (online wins), uploading local settings to all other machines (local wins), or keeping Synchronized Settings disabled on this machine.

Try it out - we want Feedback!

I’ve already mentioned how important feedback is, but here goes one more time!

Your feedback will help ensure we are providing the best user experience with the Synchronized Settings feature. We hope you will install Visual Studio 2013 Preview, try the Synchronized Settings feature, and send us feedback. It's important we hear back from you on what settings we should synchronize next. Every comment and bug is reviewed and used in the continuous improvement of the feature and product. If you find bugs or encounter something that doesn't work as expected, please send us feedback using the Visual Studio Feedback Tool or file a bug at the Visual Studio Connect site. Emotions are key! However productive we may think a feature makes you it’s important to know what it makes you feel. If you love what you see or hate it, make sure you send us a smile or frown from the upper right corner of the IDE.

We have more settings on the wish list and are aware that there will be additional settings that you'd like to see synchronized. It's important we hear back from you on what settings we should synchronize next.

Thanks!

clip_image009

Radhika Tadinada - Program Manager, Visual Studio Platform Team

Short Bio – Radhika joined Microsoft as a Program Manager on the Visual Studio team in 2011. She owns the Synchronized Settings feature and is responsible for other IDE features like search and document management.

Leave a Comment
  • Please add 5 and 1 and type the answer here:
  • Post
  • I'm afraid it is all over my head and is a little too in-depth for me to understand. It seemed attractive but I just don't know how I could make it enhance my experience. I would need someone next to me to explain what it all means.

    Dave

  • je viens d'installer vs 2013, sur les pages aspx, je n'ai que le mode source, pas le mode design

  • IN many ways this is all so overwhelmingly complex...it is little wonder there is such poor reception from the majority of the world....please how bout some tutorials...and instruction here....

  • I am new to programming and am learning from a book by Wrox called "Beginning Visual C# 2012 Programming"  and I downloaded and installed the Visual Studio Express 2013 but somehow I can set the development settings to C# Development Settings as shown in the book. After loading the software should allow me to set the initial environment but for some reason I never saw the screen to do this. I did an uninstall and re-install and still nothing. Can someone tell me how to set the C# Development settings environment? Any help would be greatly appreciated. Thanks.   Ross

  • Please sync tool bar changes.  Your doing keyboard shortcuts.  Why not toolbars?

  • Hello everybody I am trying VS out and I'm wondering if it will work well on my Intel(R) core (tm) i5-3230M, 64 bit operating system, and x64-based processor (all on my computer).

  • And also if anyone knows anything that could help me learn how to use it that would be great.

  • This is another example of a superfluous feature in Visual Studio. A simple settings exporter & importer would do the job. Please stop adding resource wasting *** like this and start optimizing the IDE for once (especially the IDE startup, solution loading, and the build system). I guess the whole "Account Sign In" stuff is something nobody asked for. Visual Studio 2013 + a 3 year old laptop = constant swapping. Congratulations, Microsoft!

    I suggest putting shenanigans like this into add-ons that are turned off by default.

  • i want 'cl' command to be accepted in my cmd pls say how to do that with my visualstudio 2013

  • I don't want window positions to be synchronized, but I can't turned it off, guess I need to turn all sync off?

    I have 3 monitors in my office, which troubles me re-positioning everything on my laptop, or when I logged on to the office PC via remote desktop. I then need to re-position everything when I'm back.

    Synchronizing fonts, colors, aliases, shortcuts, are great, I just wish if I could turn window positioning off, or window positions were kept per monitor configurations.

  • @ Koji

    We do not synchronize your layout. Unfortunately the issue you are referring to occurs because Visual Studio window management has a bug. This bug is already on the backlog for the engineering team to review.

  • This is exactly what most people are talking about, we would like these BUGS taken care of first before implementing yet more bloated and barely used features.

  • When you work with a colleague, it happens you need to take over their workstation for an hour or two.

    Ideally you would like to restart VS with YOUR keyboard bindings to keep the productivity.

    A good developer will always look out, recognise and adapt a new feature without a second thought, if it improves the way one works substantially.

    Those of you who disagree this is an excellent idea, it reminds me of the comment on VW commercial based on the remake of Singin' in the Rain clip, where popping style dancing was added. One commented something like it's an grave insult to Gene Kelly yada yada.., while in fact a number of people, including myself found it to be quite awesome. Time will pass and both will be accepted as unique pieces of artwork for the given generation!

  • VS SEEMS TO TAKE ON THE ROLE OF THE SCRIPTURES OF A SYSTEM WE CALL AS RELIGIONS.. THE SCRIPTURES ARE QUITE GOOD, PROVIDED YOU HAVE THE TIME AND PATIENCE TO SIFT THRU THE ENDLESS PAGES AND PAGES OF STUFF ( AND THEIR EXPLANATIONS) BUILT OVER IT BY COUNTLESS PEERS OVER COUNTLESS PERIODS OF TIME AND MAN & WOMAN HOURS ! (DO NOT ACCUSE ME OF GENDER BIAS HERE, MS.RADHIKA !) .. VISUAL STUDIO OF ALL SIZES AND SHAPES HAVE BECOME EXACTLY THAT.. TOO MANY THINGS, TOO MANY FEATURES, TOO MANY BLOGS AND TOO MANY PEOPLE WHO MAY BE MVPS, BLOGGERS, EXPERTS OR PLAIN USERS AND BEGINEERS.. THE WHOLE POINT IS , ATLEAST HERE ON PLANET EARTH THERE SEEMS TO NO OTHER IDE WHICH CAN COMPETE WITH THIS SWEET MONSTER CALLED VISUAL STUDIO, BUT IT IS TOO MUCH FOR ANY BODY..

    IT IS HIGH TIME THEY SPLIT THIS MONSTER INTO SMALL AND GOOD ENTITIES THINKING IN MIND THE REAL USER - WHO MAKES A LIVING BY LIVING WITH VISUAL STUDIO, VS SHOULD BE REMOVE OF THE BS - THAT IS BULL *** THAT IS THERE IN .. THERE ARE MANY POTHOLES HERE - I MEAN WRONG FEATURES.. ONE SUCH MOSTER IS THE DATA DESIGNER ! IF IT BREAKS, YOU HAD A DAY OF TYPING BEFORE YOU..

    ELIMINATE THESE POTHOLES AND MAKE VS SOMEHOW MORE USABLE.. NOW WE ARE JUST HANG BY IT, AS OUR INCOME HAS BEEN TIED TO THIS MONSTER.

    I AM SURE, THERE IS NO MAGIC WAND FORTHIS - THE VS TEAM HAS TO WORK MORE AND MORE TO MAKE IT MORE AND MORE SIMPLE. YOU SHOULD KNOW THE USER PATTERNS FOR THIS FIRST.

    BUT IT SEEMS THE WHOLE OF VS IS DESIGNED WITH ONLY AN EXPERT USER IN MIND AND AN MVP IN TOE A 100 YARD BEHIND. I TRIED LIGHT SWITCH ETC, BUT AGAIN AND AGAIN, I SEE LOTS OF INFO, PEOPLE BLOGS ETC..

    I AM SURE I DO NOT WANT TO OFFEND ANYBODY INCLUDING THOSE WHO USE THE SCRIPTURES, BUT ATLEAST OUR VS CAN BE MORE LIKE A FRIEND, THAN LIKE A INFANT TERRIBLE !

    WELL, VS TEAM OR TEAMS OF TEAMS OF TEAM .. ARE YOU ALL LISTENING ? !

  • I can't even get an aswer to the simplest questions:

    what is this program for EXACTLY?

    how do I use it?

    they just assume everyone knows..

Page 3 of 4 (55 items) 1234