{"id":283,"date":"2013-05-28T12:55:30","date_gmt":"2013-05-28T10:55:30","guid":{"rendered":"http:\/\/blog.usersnap.com\/?p=283"},"modified":"2025-10-14T08:48:13","modified_gmt":"2025-10-14T06:48:13","slug":"continuous-everything-from-coding-to-feedback","status":"publish","type":"post","link":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/","title":{"rendered":"Continuous Everything &#8211; From Coding to Feedback"},"content":{"rendered":"\n<p><a title=\"Continuous Integration\" href=\"http:\/\/en.wikipedia.org\/wiki\/Continuous_integration\" target=\"_blank\" rel=\"noopener\">Continuous Integration<\/a> and <a title=\"Continuous Deployment\" href=\"http:\/\/en.wikipedia.org\/wiki\/Continuous_deployment\" target=\"_blank\" rel=\"noopener\">Continuous Deployment<\/a> are strong concepts in modern software development and specifically useful and necessary for cloud applications. Delivering code continuously keeps the product development agile and allows for fast iterations. Specifically when it comes to SaaS products or services, the way to ship software has to follow the continuous track, delivering new &#8220;releases&#8221; several times a day. For example, at&nbsp;<a title=\"Quora\" href=\"http:\/\/www.quora.com\" target=\"_blank\" rel=\"noopener\">Quora<\/a>&nbsp;every commit is <a title=\"How often do major software companies push code to production?\" href=\"http:\/\/www.quora.com\/Software-Engineering\/How-often-do-major-software-companies-push-code-to-production\" target=\"_blank\" rel=\"noopener\">submitted to the production system<\/a>, unless this process is actively suppressed.<\/p>\n\n\n<div class=\"acf-cta\" style=\"background-image: url(https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2025\/02\/Group-1000004194.svg); width: 100%;\"><h2>Try Usersnap for User Feedback<\/h2><a href=\"https:\/\/usersnap.com\/signup\" class=\"cta-button\">Try Usersnap Now<\/a><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>Ever decreasing software release cycles also require to rethink the way feedback from real users is gathered. Bimonthly <a title=\"User Experience\" href=\"http:\/\/en.wikipedia.org\/wiki\/User_experience\" target=\"_blank\" rel=\"noopener\">user experience<\/a> reviews with a selected set of customers are not suitable if new features of a product are published daily. Tools to suggest improvements and to report bugs need to be actively integrated in the product development process, addressing not only a selected group of testers but also includes real users.<\/p>\n\n\n\n<p>This blog post is essentially an extended tutorial, explaining how to set up a 3C software production chain:- Continuous Integration, Continuous Deployment and Continuous Feedback.<\/p>\n\n\n\n<p>We will use Microsoft Visual Studio and deploy directly to Windows Azure (<a href=\"#section1\">Section 1<\/a>). After that we connect Microsoft Team Foundation Server Online to our tool chain (<a href=\"#section2\">Section 2<\/a>) and subsequently connecting TFS with Windows Azure to establish Continuous Deployment directly from Visual Studio (<a href=\"#section3\">Section 3<\/a>). Finally we will add Usersnap to introduce Continuous Feedback to our setup (<a href=\"#section4\">Section 4<\/a>).<\/p>\n\n\n\n<p>Since a standard &#8220;Hello-World&#8221; approach is always disappointing, we decided to create a tweet-wall which displays tweets containing the hashtag #usersnap. Lots of screenshots should provide a step-by-step tutorial to get you started with Visual Studio 2012, Team Foundation Service and Azure and finally Usersnap. There is no need to write code while walking through this tutorial.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section1\">1. How to deploy your WCF application in Azure<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/000_boxlines.png\"><img decoding=\"async\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/000_boxlines.png\" alt=\"Pushing code to Microsoft Azure\" title=\"Pushing code to Microsoft Azure\"\/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Before we start, please make sure to either have a recent version of Visual Studio installed.<\/p>\n\n\n\n<p>&#8211; alternatively you may&nbsp;<a title=\"Visual Studio Express 2012\" href=\"http:\/\/www.microsoft.com\/visualstudio\/eng\/downloads\" target=\"_blank\" rel=\"noopener\">download Visual Studio Express 2012<\/a>&nbsp;for Web with Windows Azure SDK (V11.0.507727 from Oct, 26 2012). Then get the Usersnap TFS Demo code:&nbsp;<a title=\"Usersnap TFS Tweet Wall Demo\" href=\"https:\/\/github.com\/usersnap\/tfsdemo\" target=\"_blank\" rel=\"noopener\">Usersnap TFS Tweet Wall Demo<\/a>. Open the solution, build and run it &#8211; a browser should start displaying the demo application &#8211; a tweet wall which displays recent tweets about <a title=\"Usersnap - Continuous Feedback made easy.\" href=\"https:\/\/usersnap.com\" target=\"_blank\" rel=\"noopener\">Usersnap<\/a>.<\/p>\n\n\n\n<p>Since we want to deploy this application in Azure, we need an Azure account. You can sign up for a Windows Azure Account here: <a title=\"Windows Azure\" href=\"http:\/\/www.windowsazure.com\" target=\"_blank\" rel=\"noopener\">http:\/\/www.windowsazure.com<\/a>&nbsp; &#8211; there is a free 90 day trial available.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/x00_azure_sub.png\"><img decoding=\"async\" width=\"746\" height=\"508\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/x00_azure_sub.png\" alt=\"Windows Azure Subscription Setup\" class=\"wp-image-291\" title=\"Add Windows Azure Subscription\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/x00_azure_sub.png 746w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/x00_azure_sub-300x204.png 300w\" sizes=\"(max-width: 746px) 100vw, 746px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\">Next, you need to connect your Visual Studio project with Azure. Right-click on your project and choose &#8220;Publish to Windows Azure&#8230;&#8221;.<br><\/p>\n\n\n\n<p>Upload the certificate from step 2. (&#8220;Copy the full path&#8221;) in your Azure Management Console under &#8220;Settings&#8221; &#8211; &#8220;Management Certificates&#8221;. Then you need to set up your Azure subscription details, the subscription ID can be found in your Azure management console: <a title=\"Windows Azure Management Console\" href=\"https:\/\/manage.windowsazure.com\" target=\"_blank\" rel=\"noopener\">Windows Azure Management<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/x01_azurecert.png\"><img decoding=\"async\" width=\"1159\" height=\"731\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/x01_azurecert.png\" alt=\"Manage Azure certificates\" class=\"wp-image-294\" title=\"Manage Azure certificates\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/x01_azurecert.png 1159w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/x01_azurecert-300x189.png 300w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/x01_azurecert-1024x645.png 1024w\" sizes=\"(max-width: 1159px) 100vw, 1159px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>After that, you will be asked to specify a cloud service. Choose a meaningful name and a location &#8211; the name will be used as deployment domain URL.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/X02_azureservice.png\"><img decoding=\"async\" width=\"699\" height=\"478\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/X02_azureservice.png\" alt=\"Windows Azure Publish Settings\" class=\"wp-image-295\" title=\"Windows Azure Publish Settings\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/X02_azureservice.png 699w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/X02_azureservice-300x205.png 300w\" sizes=\"(max-width: 699px) 100vw, 699px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/X03_deployment_complete.png\"><img decoding=\"async\" width=\"1023\" height=\"789\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/X03_deployment_complete.png\" alt=\"Deployment of your project from within Visual Studio\" class=\"wp-image-296\" title=\"Deployment of your project from within Visual Studio\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/X03_deployment_complete.png 1023w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/X03_deployment_complete-300x231.png 300w\" sizes=\"(max-width: 1023px) 100vw, 1023px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\">Now you are ready to deploy your WCF application to Azure &#8211; simply start the publish process to Azure and wait a couple of minutes.&nbsp;<\/p>\n\n\n\n<p>In the Azure Activity log you can closely watch the deployment process. You will get the same information, if you are logged in to the Azure management console. After everything is finished your application will be accessible on the given name (in this case:&nbsp;<a title=\"Usersnap TFS Demo\" href=\"http:\/\/usersnaptfsdemo.cloudapp.net\" target=\"_blank\" rel=\"noopener\">http:\/\/usersnaptfsdemo.cloudapp.net<\/a>)<\/p>\n\n\n<p>[otw_is sidebar=otw-sidebar-2]<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section2\">2. Using Team Foundation Server Online<\/h2>\n\n\n\n<p>Right now, the source code resides locally, no source control management features are available. We will now utilize Microsoft&#8217;s new online version of Team Foundation server (TFS).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/00_boxlines.png\"><img decoding=\"async\" width=\"576\" height=\"382\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/00_boxlines.png\" alt=\"Adding Team Foundation Server to your project\" class=\"wp-image-311\" title=\"Adding Team Foundation Server to your project\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/00_boxlines.png 576w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/00_boxlines-300x198.png 300w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>You can sign up for a TFS account here and you will get your very own TFS online instance (sign up here:&nbsp;<a title=\"TFS Online\" href=\"https:\/\/tfs.visualstudio.com\" target=\"_blank\" rel=\"noopener\">https:\/\/tfs.visualstudio.com<\/a>). You may use TFS online for up to 5 team members for free.&nbsp;Create a project (e.g. Usersnap TFS Demo) and choose your favorite process template.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y00_TFSproject.png\"><img decoding=\"async\" width=\"922\" height=\"706\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y00_TFSproject.png\" alt=\"Setting up Team Foundation Server Online\" class=\"wp-image-298\" title=\"Setting up Team Foundation Server Online\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y00_TFSproject.png 922w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y00_TFSproject-300x229.png 300w\" sizes=\"(max-width: 922px) 100vw, 922px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>Now let&#8217;s connect your local WCF project to your new TFS account: Change to Visual Studio, right-click on your solution in the solution explorer and choose &#8220;Add Solution to Source Control&#8230;&#8221;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y02_vs.png\"><img decoding=\"async\" width=\"590\" height=\"504\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y02_vs.png\" alt=\"Add your solution to TFS\" class=\"wp-image-299\" title=\"Add your solution to TFS\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y02_vs.png 590w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y02_vs-300x256.png 300w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>Add a new Team Foundation server and enter your TFS URL (don&#8217;t forget it&#8217;s https!).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y03_add_TFS.png\"><img decoding=\"async\" width=\"470\" height=\"313\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y03_add_TFS.png\" alt=\"Connect to TFS\" class=\"wp-image-301\" title=\"Connect to TFS\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y03_add_TFS.png 470w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y03_add_TFS-300x199.png 300w\" sizes=\"(max-width: 470px) 100vw, 470px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>After a successful authentication you can choose the project you&#8217;ve created at your TFS online instance:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y06_initial-checkin.png\"><img decoding=\"async\" width=\"567\" height=\"568\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y06_initial-checkin.png\" alt=\"Initial check-in to TFS\" class=\"wp-image-316\" title=\"Initial check-in to TFS\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y06_initial-checkin.png 567w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y06_initial-checkin-150x150.png 150w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y06_initial-checkin-300x300.png 300w\" sizes=\"(max-width: 567px) 100vw, 567px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>We ran into an error while connecting to our specified Team Foundation Server, because Visual Studio uses the Internet Explorer to authenticate you. If the current user in Internet Explorer is different from the user you&#8217;ve used to set up TFS you need to start Internet Explorer and log out the other account used there. If this doesn&#8217;t work, clear Internet Explorers&#8217; Cookies.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y04_connect_error.png\"><img decoding=\"async\" width=\"673\" height=\"435\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y04_connect_error.png\" alt=\"TFS connection error and how to solve it\" class=\"wp-image-302\" title=\"TFS connection error and how to solve it\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y04_connect_error.png 673w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y04_connect_error-300x193.png 300w\" sizes=\"(max-width: 673px) 100vw, 673px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>Now let&#8217;s push some code to our TFS online instance &#8211; Click on &#8220;Pending Changes&#8221; in your Team Explorer, add a meaningful commit comment and hit &#8220;Check In&#8221;. Your source code will now be transfered to your TFS online instance. Great, isn&#8217;t it?<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y07-und-8-initial-checkin.png\"><img decoding=\"async\" width=\"554\" height=\"671\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y07-und-8-initial-checkin.png\" alt=\"Push code to TFS\" class=\"wp-image-317\" title=\"Push code to TFS\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y07-und-8-initial-checkin.png 554w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y07-und-8-initial-checkin-247x300.png 247w\" sizes=\"(max-width: 554px) 100vw, 554px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section3\">3. How to set up TFS online as build and deploy service<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/01_boxlines.png\"><img decoding=\"async\" width=\"576\" height=\"382\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/01_boxlines.png\" alt=\"Visual Studio, TFS and Microsoft Azure\" class=\"wp-image-312\" title=\"Visual Studio, TFS and Microsoft Azure\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/01_boxlines.png 576w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/01_boxlines-300x198.png 300w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>By now, publishing to the Azure Cloud and pushing code to TFS online are two separate processes. In this step, we will connect TFS with Microsoft Azure &#8211; log in to your Azure Management console, select the instance of your project and click on &#8220;Set up TFS publishing&#8221; as indicated below.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y09_connect_TFS_and_AZURE.png\"><img decoding=\"async\" width=\"1157\" height=\"993\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y09_connect_TFS_and_AZURE.png\" alt=\"Windows Azure Dashboard\" class=\"wp-image-319\" title=\"Windows Azure Dashboard\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y09_connect_TFS_and_AZURE.png 1157w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y09_connect_TFS_and_AZURE-300x257.png 300w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y09_connect_TFS_and_AZURE-1024x878.png 1024w\" sizes=\"(max-width: 1157px) 100vw, 1157px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n<div class=\"acf-cta\" style=\"background-image: url(https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2025\/02\/Group-1000004194.svg); width: 100%;\"><h2>Try Usersnap for User Feedback<\/h2><a href=\"https:\/\/usersnap.com\/signup\" class=\"cta-button\">Try Usersnap Now<\/a><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>Next, you need to authorize the TFS connection:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y10_connectTfSandazure.png\"><img decoding=\"async\" width=\"629\" height=\"450\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y10_connectTfSandazure.png\" alt=\"Authorize TFS connection\" class=\"wp-image-320\" title=\"Authorize TFS connection\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y10_connectTfSandazure.png 629w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y10_connectTfSandazure-300x214.png 300w\" sizes=\"(max-width: 629px) 100vw, 629px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>After a successful authorization you can select the project which should be published from your TFS online repositories:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y11_selectproject.png\"><img decoding=\"async\" width=\"628\" height=\"496\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y11_selectproject.png\" alt=\"Set up publishing\" class=\"wp-image-321\" title=\"Set up publishing\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y11_selectproject.png 628w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y11_selectproject-300x236.png 300w\" sizes=\"(max-width: 628px) 100vw, 628px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>After a while, your selected TFS online project is linked and is ready to be built and subsequently deployed to Windows Azure:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y13_connectionestablished.png\"><img decoding=\"async\" width=\"1160\" height=\"599\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y13_connectionestablished.png\" alt=\"TFS and Azure connected\" class=\"wp-image-322\" title=\"TFS and Azure connected\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y13_connectionestablished.png 1160w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y13_connectionestablished-300x154.png 300w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Y13_connectionestablished-1024x528.png 1024w\" sizes=\"(max-width: 1160px) 100vw, 1160px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>Now let&#8217;s use the complete chain: Add some code changes in Visual Studio and commit the changes to TFS online &#8211; what happens now is, that your code is being built by TFS online and subsequently pushed to your staging instance. You can watch this process in Visual Studio by clicking &#8220;Home&#8221; &#8211; &#8220;Builds&#8221; in your Team Explorer. If you like your changes, swap both, production and staging instances in your &#8220;Azure Management Console&#8221; and with just a single commit you successfully deployed your changes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"section4\">4. Receive continuous feedback with Usersnap<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/02_boxlines2.png\"><img decoding=\"async\" width=\"576\" height=\"382\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/02_boxlines2.png\" alt=\"Continuous Feedback: Add Usersnap to your tool chain\" class=\"wp-image-326\" title=\"Continuous Feedback: Add Usersnap to your tool chain\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/02_boxlines2.png 576w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/02_boxlines2-300x198.png 300w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>By now, we have an almost complete chain from coding to source control management to continuous integration and continuous deployment. TFS online also provides an efficient bug tracker. What&#8217;s missing is a closed loop delivering continuous feedback from your users. Usersnap fills this gap: it&#8217;s a small javascript tool which is added to our project and allows to create annotated screenshots directly in the browser. The screenshots are subsequently transfered to TFS online where they can be triaged.<\/p>\n\n\n\n<p>Sign up for a Usersnap account here:&nbsp;<a title=\"sign up for Usersnap\" href=\"https:\/\/usersnap.com\/signup\" target=\"_blank\" rel=\"noopener\">http:\/\/usersnap.com\/signup<\/a>&nbsp;and create a new API key as displayed below:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Name your new Usersnap Project (e.g. &#8220;TFS Usersnap Project&#8221;)<\/li>\n\n\n\n<li>Enter your Windows Azure deployment URL (e.g. &#8220;http:\/\/usersnaptfsdemo.cloudapp.net&#8221;)<\/li>\n\n\n\n<li>Select &#8220;Visual Studio&#8221; as the way to deliver screenshots<\/li>\n\n\n\n<li>Enter your TFS online username<\/li>\n\n\n\n<li>Do not enter your TFS online password here, rather set up alternative credentials for 3rd party tools (<a title=\"How to set up alternative credentials in TFS online\" href=\"https:\/\/usersnap.com\/support\/docs\/apicfg#tfs\" target=\"_blank\" rel=\"noopener\">Please read the instructions here<\/a>)<\/li>\n\n\n\n<li>Enter your TFS online URL (e.g. &#8220;https:\/\/usersnaptest.visualstudio.com&#8221;) and click &#8220;Connect now!&#8221;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z00-usersnapconnect.png\"><img decoding=\"async\" width=\"986\" height=\"697\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z00-usersnapconnect.png\" alt=\"Connect Usersnap with Team Foundation Server\" class=\"wp-image-332\" title=\"Connect Usersnap with Team Foundation Server\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z00-usersnapconnect.png 986w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z00-usersnapconnect-300x212.png 300w\" sizes=\"(max-width: 986px) 100vw, 986px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>After successfully connecting Usersnap with TFS online, you can select your TFS online project, the type of ticket Usersnap will create within TFS and the according severity of the tickets. Moreover, you get a personalized snippet of javascript-code which you need to copy to the index.html file. Simply start Visual Studio, open index.html and search for &#8220;Usersnap&#8221; and replace the existing Usersnap snippet with your freshly created Usersnap snippet.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z02-usersnapconnect.png\"><img decoding=\"async\" width=\"974\" height=\"694\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z02-usersnapconnect.png\" alt=\"Usersnap and TFS connected\" class=\"wp-image-333\" title=\"Usersnap and TFS connected\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z02-usersnapconnect.png 974w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z02-usersnapconnect-300x213.png 300w\" sizes=\"(max-width: 974px) 100vw, 974px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>Push the modified index.html to TFS online and deploy it to Windows Azure. Visit your deployment in your favorite browser &#8211; you will get a Feedback button in the bottom right corner &#8211; this is Usersnap! You can now give visual feedback by<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Drawing directly in your browser with the pen tool<\/li>\n\n\n\n<li>Highlight areas<\/li>\n\n\n\n<li>Place notes to annotate your remarks<\/li>\n<\/ul>\n\n\n\n<p><span style=\"font-size: medium;\"><span style=\"line-height: 24px;\">Usersnap can be extensively configured, <a title=\"How to configure the Usersnap snippet\" href=\"https:\/\/usersnap.com\/support\/docs\/javascript\" target=\"_blank\" rel=\"noopener\">more information can be found here<\/a>.<\/span><\/span><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z03-usersnapfeedback.png\"><img decoding=\"async\" width=\"994\" height=\"688\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z03-usersnapfeedback.png\" alt=\"How to use Usersnap in your browser\" class=\"wp-image-335\" title=\"How to use Usersnap in your browser\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z03-usersnapfeedback.png 994w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z03-usersnapfeedback-300x207.png 300w\" sizes=\"(max-width: 994px) 100vw, 994px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>For now, just add some remarks and click &#8220;Send&#8221;. A screenshot of this situation will be created and transfered to your selected TFS online backlog list, including meta information such as the used browser and the used operating system. This is specifically useful, when it comes to browser related bugs. The good news here is that the person who reports a bug or gives feedback can be done by anybody, without installing any tool locally. This essentially enables you to get feedback from your stakeholders, visitors or customers continuously.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z04-usersnapfeedback.png\"><img decoding=\"async\" width=\"1121\" height=\"698\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z04-usersnapfeedback.png\" alt=\"A Usersnap ticket in Team Foundation Server\" class=\"wp-image-336\" title=\"A Usersnap ticket in Team Foundation Server\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z04-usersnapfeedback.png 1121w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z04-usersnapfeedback-300x186.png 300w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/03\/Z04-usersnapfeedback-1024x637.png 1024w\" sizes=\"(max-width: 1121px) 100vw, 1121px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p>In TFS you can conveniently examine all reports, change the severity and assign your tickets. In case you need to get in touch with the person sending the report, the sender&#8217;s email adress is also present.<\/p>\n\n\n<div class=\"acf-cta\" style=\"background-image: url(https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2025\/02\/Group-1000004194.svg); width: 100%;\"><h2>Try Usersnap for User Feedback<\/h2><a href=\"https:\/\/usersnap.com\/signup\" class=\"cta-button\">Try Usersnap Now<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>A closed loop between real users, product development and software development is an effective method to continuously improve and grow a product in a rapid pace. The required tools to set up a 3C chain&nbsp;(Continuous Integration, Continuous Deployment and Continuous Feedback) are available today and easy to set up &#8211; Microsoft&#8217;s tools are well aligned and even allows to integrate Continuous Feedback with Usersnap. Just give it a try!<\/p>\n\n\n\n<p>If you have any questions: we&#8217;re always happy to help &#8211; just leave a comment below or simply send us a tweet here: <a title=\"Tweet!\" href=\"http:\/\/usersnaptfsdemo.cloudapp.net\" target=\"_blank\" rel=\"noopener\">http:\/\/usersnaptfsdemo.cloudapp.net<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Continuous Integration and Continuous Deployment are strong concepts in modern software development and specifically useful and necessary for cloud applications. Delivering code continuously keeps the product development agile and allows for fast iterations. Specifically when it comes to SaaS products or services, the way to ship software has to follow the continuous track, delivering new [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2366,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":true,"inline_featured_image":false,"ub_ctt_via":"","footnotes":""},"categories":[856],"tags":[],"class_list":["post-283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-website-feedback-blog"],"acf":[],"featured_image_src":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/01\/web-development-integration-project-management-tool-and-bug-tracker.jpg","author_info":{"display_name":"Florian Dorfbauer","author_link":"https:\/\/usersnap.com\/blog\/author\/flo\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Continuous Everything - From Coding to Feedback - Usersnap Blog<\/title>\n<meta name=\"description\" content=\"Continuous Integration and Continuous Deployment are good concepts to build SaaS product, but don&#039;t leave your customers behind: Add Continuous Feedback!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Continuous Everything - From Coding to Feedback - Usersnap Blog\" \/>\n<meta property=\"og:description\" content=\"Continuous Integration and Continuous Deployment are good concepts to build SaaS product, but don&#039;t leave your customers behind: Add Continuous Feedback!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/\" \/>\n<meta property=\"og:site_name\" content=\"Usersnap Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/usersnap\" \/>\n<meta property=\"article:published_time\" content=\"2013-05-28T10:55:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-14T06:48:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/01\/web-development-integration-project-management-tool-and-bug-tracker.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"650\" \/>\n\t<meta property=\"og:image:height\" content=\"434\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Florian Dorfbauer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fdorfbauer\" \/>\n<meta name=\"twitter:site\" content=\"@usersnap\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Florian Dorfbauer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/\"},\"author\":{\"name\":\"Florian Dorfbauer\",\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/person\/eec8084711d3e45da272eee19fa9d3c6\"},\"headline\":\"Continuous Everything &#8211; From Coding to Feedback\",\"datePublished\":\"2013-05-28T10:55:30+00:00\",\"dateModified\":\"2025-10-14T06:48:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/\"},\"wordCount\":1586,\"publisher\":{\"@id\":\"https:\/\/usersnap.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/01\/web-development-integration-project-management-tool-and-bug-tracker.jpg\",\"articleSection\":[\"Website Development &amp; Feedback\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/\",\"url\":\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/\",\"name\":\"Continuous Everything - From Coding to Feedback - Usersnap Blog\",\"isPartOf\":{\"@id\":\"https:\/\/usersnap.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/01\/web-development-integration-project-management-tool-and-bug-tracker.jpg\",\"datePublished\":\"2013-05-28T10:55:30+00:00\",\"dateModified\":\"2025-10-14T06:48:13+00:00\",\"description\":\"Continuous Integration and Continuous Deployment are good concepts to build SaaS product, but don't leave your customers behind: Add Continuous Feedback!\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/#primaryimage\",\"url\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/01\/web-development-integration-project-management-tool-and-bug-tracker.jpg\",\"contentUrl\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/01\/web-development-integration-project-management-tool-and-bug-tracker.jpg\",\"width\":650,\"height\":434,\"caption\":\"Web development integration: integrate project management tool asana with bug tracker\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/usersnap.com\/blog\/#website\",\"url\":\"https:\/\/usersnap.com\/blog\/\",\"name\":\"Usersnap Blog\",\"description\":\"Learn more about how to collect user feedback and build better products with the magic power of feedback.\",\"publisher\":{\"@id\":\"https:\/\/usersnap.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/usersnap.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/usersnap.com\/blog\/#organization\",\"name\":\"Usersnap\",\"url\":\"https:\/\/usersnap.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/usersnap.com\/wp-content\/uploads\/2020\/08\/Usersnap-Updated-Logo.png\",\"contentUrl\":\"https:\/\/usersnap.com\/wp-content\/uploads\/2020\/08\/Usersnap-Updated-Logo.png\",\"width\":136,\"height\":26,\"caption\":\"Usersnap\"},\"image\":{\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/usersnap\",\"https:\/\/x.com\/usersnap\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/person\/eec8084711d3e45da272eee19fa9d3c6\",\"name\":\"Florian Dorfbauer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b8efa61a7da1c9f776d32227792b70c2f342ed2d85e010939d5138aa0213d373?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b8efa61a7da1c9f776d32227792b70c2f342ed2d85e010939d5138aa0213d373?s=96&d=mm&r=g\",\"caption\":\"Florian Dorfbauer\"},\"sameAs\":[\"https:\/\/twitter.com\/fdorfbauer\",\"https:\/\/x.com\/fdorfbauer\"],\"url\":\"https:\/\/usersnap.com\/blog\/author\/flo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Continuous Everything - From Coding to Feedback - Usersnap Blog","description":"Continuous Integration and Continuous Deployment are good concepts to build SaaS product, but don't leave your customers behind: Add Continuous Feedback!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/","og_locale":"en_US","og_type":"article","og_title":"Continuous Everything - From Coding to Feedback - Usersnap Blog","og_description":"Continuous Integration and Continuous Deployment are good concepts to build SaaS product, but don't leave your customers behind: Add Continuous Feedback!","og_url":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/","og_site_name":"Usersnap Blog","article_publisher":"https:\/\/www.facebook.com\/usersnap","article_published_time":"2013-05-28T10:55:30+00:00","article_modified_time":"2025-10-14T06:48:13+00:00","og_image":[{"width":650,"height":434,"url":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/01\/web-development-integration-project-management-tool-and-bug-tracker.jpg","type":"image\/jpeg"}],"author":"Florian Dorfbauer","twitter_card":"summary_large_image","twitter_creator":"@fdorfbauer","twitter_site":"@usersnap","twitter_misc":{"Written by":"Florian Dorfbauer","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/#article","isPartOf":{"@id":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/"},"author":{"name":"Florian Dorfbauer","@id":"https:\/\/usersnap.com\/blog\/#\/schema\/person\/eec8084711d3e45da272eee19fa9d3c6"},"headline":"Continuous Everything &#8211; From Coding to Feedback","datePublished":"2013-05-28T10:55:30+00:00","dateModified":"2025-10-14T06:48:13+00:00","mainEntityOfPage":{"@id":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/"},"wordCount":1586,"publisher":{"@id":"https:\/\/usersnap.com\/blog\/#organization"},"image":{"@id":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/#primaryimage"},"thumbnailUrl":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/01\/web-development-integration-project-management-tool-and-bug-tracker.jpg","articleSection":["Website Development &amp; Feedback"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/","url":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/","name":"Continuous Everything - From Coding to Feedback - Usersnap Blog","isPartOf":{"@id":"https:\/\/usersnap.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/#primaryimage"},"image":{"@id":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/#primaryimage"},"thumbnailUrl":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/01\/web-development-integration-project-management-tool-and-bug-tracker.jpg","datePublished":"2013-05-28T10:55:30+00:00","dateModified":"2025-10-14T06:48:13+00:00","description":"Continuous Integration and Continuous Deployment are good concepts to build SaaS product, but don't leave your customers behind: Add Continuous Feedback!","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/usersnap.com\/blog\/continuous-everything-from-coding-to-feedback\/#primaryimage","url":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/01\/web-development-integration-project-management-tool-and-bug-tracker.jpg","contentUrl":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/01\/web-development-integration-project-management-tool-and-bug-tracker.jpg","width":650,"height":434,"caption":"Web development integration: integrate project management tool asana with bug tracker"},{"@type":"WebSite","@id":"https:\/\/usersnap.com\/blog\/#website","url":"https:\/\/usersnap.com\/blog\/","name":"Usersnap Blog","description":"Learn more about how to collect user feedback and build better products with the magic power of feedback.","publisher":{"@id":"https:\/\/usersnap.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/usersnap.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/usersnap.com\/blog\/#organization","name":"Usersnap","url":"https:\/\/usersnap.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/usersnap.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/usersnap.com\/wp-content\/uploads\/2020\/08\/Usersnap-Updated-Logo.png","contentUrl":"https:\/\/usersnap.com\/wp-content\/uploads\/2020\/08\/Usersnap-Updated-Logo.png","width":136,"height":26,"caption":"Usersnap"},"image":{"@id":"https:\/\/usersnap.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/usersnap","https:\/\/x.com\/usersnap"]},{"@type":"Person","@id":"https:\/\/usersnap.com\/blog\/#\/schema\/person\/eec8084711d3e45da272eee19fa9d3c6","name":"Florian Dorfbauer","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/usersnap.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b8efa61a7da1c9f776d32227792b70c2f342ed2d85e010939d5138aa0213d373?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b8efa61a7da1c9f776d32227792b70c2f342ed2d85e010939d5138aa0213d373?s=96&d=mm&r=g","caption":"Florian Dorfbauer"},"sameAs":["https:\/\/twitter.com\/fdorfbauer","https:\/\/x.com\/fdorfbauer"],"url":"https:\/\/usersnap.com\/blog\/author\/flo\/"}]}},"_links":{"self":[{"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/posts\/283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/comments?post=283"}],"version-history":[{"count":0,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/posts\/283\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/media\/2366"}],"wp:attachment":[{"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/media?parent=283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/categories?post=283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/tags?post=283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}