{"id":1176,"date":"2013-08-02T13:11:43","date_gmt":"2013-08-02T11:11:43","guid":{"rendered":"https:\/\/usersnap.com\/?p=1176"},"modified":"2025-10-13T16:45:37","modified_gmt":"2025-10-13T14:45:37","slug":"good-habits-in-web-development","status":"publish","type":"post","link":"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/","title":{"rendered":"8 good habits in web development"},"content":{"rendered":"\n<p>At <a title=\"Usersnap\" href=\"http:\/\/usersnap.com\/?gat=blog\" target=\"_blank\" rel=\"noopener\">Usersnap<\/a>, we have over 20 (summed up) years of experience in well organized web development. We figured that track record allows us to call out <strong>the good<\/strong>, <strong>the bad<\/strong> and <a title=\"6 Ugly Habits in Web Development\" href=\"https:\/\/usersnap.com\/blog\/ugly-habits-in-web-development\/\" target=\"_blank\" rel=\"noopener\"><strong>the ugly<\/strong><\/a> in the industry. Let\u2019s start with the positive stuff.<\/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 Bug Tracking<\/h2><a href=\"https:\/\/usersnap.com\/signup\" class=\"cta-button\">Try Usersnap Now<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">1. Use a bug tracker<\/h2>\n\n\n\n<p>The inbox of a Head of Development tends to fill up over the day with feature requests, bug reports and snippets of user feedback. Sometimes you\u2019ll even receive emails with a whole bullet point list (if you\u2019re lucky) of requirements, pain points and random ideas. While it\u2019s great that people take the time to give &#8211; at times very extended &#8211; feedback, it\u2019s not really useful as is.<\/p>\n\n\n\n<p>Using a bug tracker \/ project management solution like <a title=\"Basecamp\" href=\"https:\/\/usersnap.com\/basecamp\" target=\"_blank\" rel=\"noopener\">Basecamp<\/a> or Trac you can reorder tickets and nothing gets lost, as tasks are only closed when they are done. Set a milestone, add keywords (so your co-workers can find your ticket easily), add a priority level and make sure to cc the person in charge of &#8216;fixing it&#8217;. Even if that&#8217;s yours truly. In the description, try to provide a <a href=\"https:\/\/usersnap.com\/blog\/user-story-examples\/\">user story<\/a>. And make sure your summary is descriptive, <a title=\"what the commit?!\" href=\"http:\/\/whatthecommit.com\/\" target=\"_blank\" rel=\"noopener\">you can use humor for your commit messages<\/a> if you really have to (i.e.: when it&#8217;s done), but you&#8217;ll want your ticket to be clear.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Take responsibility<\/h2>\n\n\n\n<p>Be precise and targeted. You should know who can do what and who is available for an additional task. When in real doubt about who\u2019s responsible, you can do a CC. But make sure to remove all others from the CC, as soon as you found the right person to assign the ticket to. <\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">3. Fix and test<\/h2>\n\n\n\n<p>Before somebody starts working on a task, it\u2019s important to reproduce the real issue and to document the way to do this. Once the issue is fixed, ideally the reporting tester will still sign this ticket off.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Plan!<\/h2>\n\n\n\n<p>Do some sort of sprint planning (name it Scrum, Agile, what ever name you like) together with your team and clarify what\u2019s important in the next iteration and what\u2019s not. Don\u2019t leave it to your developers to come up with their own personal strategy and execute accordingly.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/tumblr_inline_mpulovlWvd1qz4rgp.gif\" rel=\"lightbox\"><img decoding=\"async\" width=\"500\" height=\"203\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/tumblr_inline_mpulovlWvd1qz4rgp.gif\" alt=\"planning\" class=\"wp-image-1178\"\/><\/a><figcaption class=\"wp-element-caption\">via <a title=\"devopsreactions.tumblr.com\" href=\"http:\/\/devopsreactions.tumblr.com\" target=\"_blank\" rel=\"lightbox noopener\">devopsreactions.tumblr.com<\/a><\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">5. Single sign off<\/h2>\n\n\n\n<p>Have a single instance (person or team, regarding on your company size) which will sign off every release. It\u2019s important that this instance did not write the code to release &#8211; in doubt (or if you are a small team) &#8211; change this role often. Why? Everyone can push to the live system. Even if you have continuous tests enabled, eventually some test code or filler content will leave your dev desk. Which is not cool.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Create feature teams<\/h2>\n\n\n\n<p>Create feature teams, that means a whole team works on a feature, and not on \u201cthe backend\u201d or \u201cthe frontend\u201d. I\u2019ve heard from this idea the first time in Budapest from a friendly Yammer developer. They pushed this to the max which means: even fixing bugs is a feature team and those are rotated often. This means, everyone has to be prepared to fix other\u2019s bugs, but, notably: not their own. A great idea for building great software.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/awesome.png\" rel=\"lightbox\"><img decoding=\"async\" width=\"550\" height=\"300\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/awesome.png\" alt=\"frontend + backend = awesome\" class=\"wp-image-1179\" title=\"frontend + backend = awesome\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/awesome.png 550w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/awesome-300x163.png 300w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/awesome-140x76.png 140w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. Did we mention testing?<\/h2>\n\n\n\n<p>Sometimes it\u2019s really important to do releases quick. But the time needed to test the feature is absolutely necessary. Nothing can spoil a weekend like a showstopper bug on an eCommerce platform which could have been avoided using proper tests. Bottom line: if you are in the situation to release untested code, your planning is bad and you should feel bad. And remember: implementing a new feature or developing a fix takes less than a third of the whole time needed for the whole process (talking to customers, deploying, quality assurance, \u2026).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/zoidberg_meme.jpg\" rel=\"lightbox\"><img decoding=\"async\" width=\"320\" height=\"245\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/zoidberg_meme.jpg\" alt=\"Your planning is bad and you should feel bad\" class=\"wp-image-1180\" title=\"Your planning is bad and you should feel bad\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/zoidberg_meme.jpg 320w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/zoidberg_meme-300x229.jpg 300w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2013\/07\/zoidberg_meme-140x107.jpg 140w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/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 Bug Tracking<\/h2><a href=\"https:\/\/usersnap.com\/signup\" class=\"cta-button\">Try Usersnap Now<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">8. Always keep optimizing<\/h2>\n\n\n\n<p>It\u2019s important to always think about ways how to optimize your application. Let me share my boilerplate &#8211; three steps to ultimate development success &#8211; with you:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Make it work.<\/li>\n\n\n\n<li>Make it right \/ beautiful.<\/li>\n\n\n\n<li>Make it fast.<\/li>\n<\/ol>\n\n\n\n<p>Keep to the order of this list and you will get sustainable results. Plus: you are sure that your optimizing bases on working and correct code, not a work in progress code heap.<\/p>\n\n\n\n<p><em>For a next post I\u2019ll rant about all that can go <a href=\"https:\/\/usersnap.com\/blog\/bad-habits-in-web-development\/\" target=\"_blank\" rel=\"noopener\">wrong in a development process<\/a>, i.e. the bad in The Good, The Bad and The Ugly. In the mean time I\u2019d love to hear about your development best practices, in the comments!<\/em><\/p>\n\n\n\n<p><em>If you want to see a result of executing this good points, try <a href=\"https:\/\/usersnap.com\/signup\" target=\"_blank\" rel=\"noopener\">Usersnap<\/a>. It will even help you staying on track during development and quality assurance.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>At Usersnap, we have over 20 (summed up) years of experience in well organized web development. We figured that track record allows us to call out the good, the bad and the ugly in the industry. Let\u2019s start with the positive stuff. 1. Use a bug tracker The inbox of a Head of Development tends [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":2329,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":true,"inline_featured_image":false,"ub_ctt_via":"","footnotes":""},"categories":[8],"tags":[],"class_list":["post-1176","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-development-blog"],"acf":[],"featured_image_src":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2014\/12\/web-development-requirement-engineering-header.jpg","author_info":{"display_name":"Gregor Dorfbauer","author_link":"https:\/\/usersnap.com\/blog\/author\/gregor\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>8 good habits in web development - Usersnap Blog<\/title>\n<meta name=\"description\" content=\"Elevate your web development skills with good practices. Explore industry insights for a better web experience.\" \/>\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\/good-habits-in-web-development\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"8 good habits in web development - Usersnap Blog\" \/>\n<meta property=\"og:description\" content=\"Elevate your web development skills with good practices. Explore industry insights for a better web experience.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/\" \/>\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-08-02T11:11:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-13T14:45:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2014\/12\/web-development-requirement-engineering-header.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"650\" \/>\n\t<meta property=\"og:image:height\" content=\"430\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Gregor Dorfbauer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dorfbauer\" \/>\n<meta name=\"twitter:site\" content=\"@usersnap\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gregor Dorfbauer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/\"},\"author\":{\"name\":\"Gregor Dorfbauer\",\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/person\/fd366e0037419a62e10ecc30b27d5595\"},\"headline\":\"8 good habits in web development\",\"datePublished\":\"2013-08-02T11:11:43+00:00\",\"dateModified\":\"2025-10-13T14:45:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/\"},\"wordCount\":790,\"publisher\":{\"@id\":\"https:\/\/usersnap.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2014\/12\/web-development-requirement-engineering-header.jpg\",\"articleSection\":[\"Web Development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/\",\"url\":\"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/\",\"name\":\"8 good habits in web development - Usersnap Blog\",\"isPartOf\":{\"@id\":\"https:\/\/usersnap.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2014\/12\/web-development-requirement-engineering-header.jpg\",\"datePublished\":\"2013-08-02T11:11:43+00:00\",\"dateModified\":\"2025-10-13T14:45:37+00:00\",\"description\":\"Elevate your web development skills with good practices. Explore industry insights for a better web experience.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/#primaryimage\",\"url\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2014\/12\/web-development-requirement-engineering-header.jpg\",\"contentUrl\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2014\/12\/web-development-requirement-engineering-header.jpg\",\"width\":650,\"height\":430,\"caption\":\"Requirements engineering for web development\"},{\"@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\/fd366e0037419a62e10ecc30b27d5595\",\"name\":\"Gregor Dorfbauer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b5ae51f9dc4a7502a9a3f98e68ef97a4ebd1f3e7e2d7f00e6b108c69f96ae1bc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b5ae51f9dc4a7502a9a3f98e68ef97a4ebd1f3e7e2d7f00e6b108c69f96ae1bc?s=96&d=mm&r=g\",\"caption\":\"Gregor Dorfbauer\"},\"sameAs\":[\"https:\/\/x.com\/dorfbauer\"],\"url\":\"https:\/\/usersnap.com\/blog\/author\/gregor\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"8 good habits in web development - Usersnap Blog","description":"Elevate your web development skills with good practices. Explore industry insights for a better web experience.","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\/good-habits-in-web-development\/","og_locale":"en_US","og_type":"article","og_title":"8 good habits in web development - Usersnap Blog","og_description":"Elevate your web development skills with good practices. Explore industry insights for a better web experience.","og_url":"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/","og_site_name":"Usersnap Blog","article_publisher":"https:\/\/www.facebook.com\/usersnap","article_published_time":"2013-08-02T11:11:43+00:00","article_modified_time":"2025-10-13T14:45:37+00:00","og_image":[{"width":650,"height":430,"url":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2014\/12\/web-development-requirement-engineering-header.jpg","type":"image\/jpeg"}],"author":"Gregor Dorfbauer","twitter_card":"summary_large_image","twitter_creator":"@dorfbauer","twitter_site":"@usersnap","twitter_misc":{"Written by":"Gregor Dorfbauer","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/#article","isPartOf":{"@id":"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/"},"author":{"name":"Gregor Dorfbauer","@id":"https:\/\/usersnap.com\/blog\/#\/schema\/person\/fd366e0037419a62e10ecc30b27d5595"},"headline":"8 good habits in web development","datePublished":"2013-08-02T11:11:43+00:00","dateModified":"2025-10-13T14:45:37+00:00","mainEntityOfPage":{"@id":"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/"},"wordCount":790,"publisher":{"@id":"https:\/\/usersnap.com\/blog\/#organization"},"image":{"@id":"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/#primaryimage"},"thumbnailUrl":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2014\/12\/web-development-requirement-engineering-header.jpg","articleSection":["Web Development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/","url":"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/","name":"8 good habits in web development - Usersnap Blog","isPartOf":{"@id":"https:\/\/usersnap.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/#primaryimage"},"image":{"@id":"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/#primaryimage"},"thumbnailUrl":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2014\/12\/web-development-requirement-engineering-header.jpg","datePublished":"2013-08-02T11:11:43+00:00","dateModified":"2025-10-13T14:45:37+00:00","description":"Elevate your web development skills with good practices. Explore industry insights for a better web experience.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/usersnap.com\/blog\/good-habits-in-web-development\/#primaryimage","url":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2014\/12\/web-development-requirement-engineering-header.jpg","contentUrl":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2014\/12\/web-development-requirement-engineering-header.jpg","width":650,"height":430,"caption":"Requirements engineering for web development"},{"@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\/fd366e0037419a62e10ecc30b27d5595","name":"Gregor Dorfbauer","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/usersnap.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b5ae51f9dc4a7502a9a3f98e68ef97a4ebd1f3e7e2d7f00e6b108c69f96ae1bc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b5ae51f9dc4a7502a9a3f98e68ef97a4ebd1f3e7e2d7f00e6b108c69f96ae1bc?s=96&d=mm&r=g","caption":"Gregor Dorfbauer"},"sameAs":["https:\/\/x.com\/dorfbauer"],"url":"https:\/\/usersnap.com\/blog\/author\/gregor\/"}]}},"_links":{"self":[{"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/posts\/1176","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\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/comments?post=1176"}],"version-history":[{"count":0,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/posts\/1176\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/media\/2329"}],"wp:attachment":[{"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/media?parent=1176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/categories?post=1176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/tags?post=1176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}