{"id":2887,"date":"2017-11-07T13:48:37","date_gmt":"2017-11-07T13:48:37","guid":{"rendered":"https:\/\/www.threesl.com\/blog\/?p=2887"},"modified":"2017-11-07T13:48:37","modified_gmt":"2017-11-07T13:48:37","slug":"functional-non-functional-requirements","status":"publish","type":"post","link":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/","title":{"rendered":"Functional and Non-Functional Requirements"},"content":{"rendered":"<h2>A Requirement that works and one that doesn&#8217;t?<\/h2>\n<p>Grammatically the difference between the types of requirement could be seen like that, but not so in RM (Requirements Management) parlance. <em>Functional<\/em> and <em>Non-Functional Requirements<\/em> are a <strong>what<\/strong> and<strong> how<\/strong> of engineering.<\/p>\n<figure id=\"attachment_1069\" aria-describedby=\"caption-attachment-1069\" style=\"width: 1119px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1069 size-full\" src=\"https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/04\/windows_doors_hid.png\" alt=\"HID showing how functional and non-functional requirements link to form the overall set\" width=\"1119\" height=\"834\" srcset=\"https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/04\/windows_doors_hid.png 1119w, https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/04\/windows_doors_hid-300x224.png 300w, https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/04\/windows_doors_hid-768x572.png 768w, https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/04\/windows_doors_hid-1024x763.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption id=\"caption-attachment-1069\" class=\"wp-caption-text\">Interlinked Functional and Non-Functional Requirements<\/figcaption><\/figure>\n<h3>Functional Requirement<\/h3>\n<p>These define <strong>what <\/strong>the features are. <samp>&#8220;The User Interface board shall send an enable signal when the user presses the <em>On<\/em> key&#8221;<\/samp><br \/>\nor <samp>&#8220;The finance reporting mechanism shall produce a summary report automatically at the end of each month&#8221;<\/samp>. These requirements tell the designer\/implementer what the systems need to do. They can be read and agreed by the customer and will align with their expectations of the system.<\/p>\n<p>Functional requirements are not limited to actions. They can include regulatory or safety\u00a0requirements, <samp>&#8220;The system shall be protected and able to be certified to IP44&#8221;<\/samp>, or internal rules <samp>&#8220;The output format shall be commensurate with detail explained in the operating procedures for the production line&#8221;<\/samp>. They can reference other external requirements or standards. <samp>&#8220;The electrical interface shall be compatible with USB 2.0 standards using type A connectors, verified by a third party.&#8221;<\/samp><\/p>\n<h3>Non-Functional Requirement<\/h3>\n<p>These define <strong>how <\/strong>the system will operate. They will place constraints and capacities on the system that can be measured.\u00a0 <samp>&#8220;The User Interface\u00a0 enable signal shall be a TTL level present within 0.25 seconds of the user making contact with the physical interface&#8221;<\/samp> or <samp>&#8220;The finance reporting mechanism shall be capable of summarising 100K entries into the 10 specified categories&#8221;. <\/samp><\/p>\n<p>These limits and descriptions provide bounds within which the <em>Functional Requirements<\/em> can me met. <samp>&#8220;The system shall allow users to cross the road safely&#8221;<\/samp> is a wide <em>Functional Requirement<\/em>. <samp>&#8220;The user shall not need to interact directly with the facility&#8221;, &#8220;The design shall comprise of a fixed physical system requiring no power&#8221;<\/samp>. Looks like we&#8217;re building a bridge or subway rather than a pelican crossing then!<\/p>\n<h4>Lines are Drawn<\/h4>\n<p>There is always going to be a grey line between the two areas. Some will depend where the responsibilities end and so on one project what is deemed a functional requirement. <samp>&#8220;The interface must be USB 2.0&#8221;,<\/samp> is a main operating characteristic that our system can not change and is needed to interface to an external system. On another project the functional requirement may be <samp>&#8220;The main system should interface with up to three external input and output devices&#8221;<\/samp> and the design team may decide <samp>&#8220;All inter product interfaces shall use USB 2.0 standard communications&#8221;<\/samp><\/p>\n<p>In the ideal world everything should operate 100% of the time without failure and should be completely intuitive. Should occur without delay and should be fixable for ever. However, the world we live in is not ideal. System designers need to recognise that. <em>Non-Functional Requirements<\/em> can define these limits and manage expectations, from both a contractual and measurable quality point of view.<\/p>\n<ul>\n<li><samp>&#8220;To aid the user to perform the task consistently. The UI shall provide guidance in the form of fixed text and sequenced indicators.&#8221;, <\/samp><\/li>\n<li><samp>&#8220;<\/samp><samp>The system shall have an availability no less than 99% of the time&#8221;,\u00a0<\/samp><\/li>\n<li><samp>&#8220;Visual and audible feedback shall be provided within 0.2 seconds of any interaction&#8221;, <\/samp><\/li>\n<li><samp>&#8220;Design components should have an availability before EoL of two years minimum&#8221;<\/samp><\/li>\n<\/ul>\n<p>For every system these <em>user experience<\/em>, <em>reliability,<\/em> <em>performance criteria<\/em>, and <em>through lifecycle<\/em> considerations should be made.<\/p>\n<aside class=\"mashsb-container mashsb-main mashsb-stretched\"><div class=\"mashsb-box\"><div class=\"mashsb-buttons\"><a class=\"mashicon-twitter mash-small mash-center mashsb-noshadow\" href=\"https:\/\/twitter.com\/intent\/tweet?text=&amp;url=https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/&amp;via=threesl\" target=\"_top\" rel=\"nofollow\"><span class=\"icon\"><\/span><span class=\"text\">Tweet<\/span><\/a><a class=\"mashicon-facebook mash-small mash-center mashsb-noshadow\" href=\"https:\/\/www.facebook.com\/sharer.php?u=https%3A%2F%2Fwww.threesl.com%2Fblog%2Ffunctional-non-functional-requirements%2F\" target=\"_top\" rel=\"nofollow\"><span class=\"icon\"><\/span><span class=\"text\">Share<\/span><\/a><a class=\"mashicon-subscribe mash-small mash-center mashsb-noshadow\" href=\"#\" target=\"_top\" rel=\"nofollow\"><span class=\"icon\"><\/span><span class=\"text\">Newsletter<\/span><\/a><div class=\"onoffswitch2 mash-small mashsb-noshadow\" style=\"display:none\"><\/div><\/div>\n            <\/div>\n                <div style=\"clear:both\"><\/div><\/aside>\n            <!-- Share buttons by mashshare.net - Version: 4.0.47-->","protected":false},"excerpt":{"rendered":"<p>A Requirement that works and one that doesn&#8217;t? Grammatically the difference between the types of requirement could be seen like that, but not so in RM (Requirements Management) parlance. Functional and Non-Functional Requirements are a what and how of engineering. Functional Requirement These define what the features are. &#8220;The User Interface board shall send an &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Functional and Non-Functional Requirements&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[78],"tags":[171,550],"class_list":["post-2887","post","type-post","status-publish","format-standard","hentry","category-articles","tag-functional-requirements","tag-non-functional-requirements"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Functional and Non-Functional Requirements - 3SL Blog<\/title>\n<meta name=\"description\" content=\"Drawing the line between Functional and Non-Functional Requirements. A brief overview of the differences and similarities.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Functional and Non-Functional Requirements - 3SL Blog\" \/>\n<meta property=\"og:description\" content=\"Drawing the line between Functional and Non-Functional Requirements. A brief overview of the differences and similarities.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/\" \/>\n<meta property=\"og:site_name\" content=\"3SL Blog\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/3SLCradle\" \/>\n<meta property=\"article:published_time\" content=\"2017-11-07T13:48:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/04\/windows_doors_hid.png\" \/>\n<meta name=\"author\" content=\"3SL\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@threesl\" \/>\n<meta name=\"twitter:site\" content=\"@threesl\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"3SL\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/\"},\"author\":{\"name\":\"3SL\",\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/#\\\/schema\\\/person\\\/749ccd9b2d74303fa8927e06c2af8b0b\"},\"headline\":\"Functional and Non-Functional Requirements\",\"datePublished\":\"2017-11-07T13:48:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/\"},\"wordCount\":557,\"publisher\":{\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/windows_doors_hid.png\",\"keywords\":[\"functional requirements\",\"non-functional requirements\"],\"articleSection\":[\"Articles\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/\",\"url\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/\",\"name\":\"Functional and Non-Functional Requirements - 3SL Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/windows_doors_hid.png\",\"datePublished\":\"2017-11-07T13:48:37+00:00\",\"description\":\"Drawing the line between Functional and Non-Functional Requirements. A brief overview of the differences and similarities.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/windows_doors_hid.png\",\"contentUrl\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/windows_doors_hid.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/functional-non-functional-requirements\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Functional and Non-Functional Requirements\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/\",\"name\":\"3SL Blog\",\"description\":\"From concept to creation\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/#organization\",\"name\":\"3SL\",\"url\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/02\\\/3SL_Logo_Medium.png\",\"contentUrl\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/02\\\/3SL_Logo_Medium.png\",\"width\":152,\"height\":80,\"caption\":\"3SL\"},\"image\":{\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"http:\\\/\\\/facebook.com\\\/3SLCradle\",\"https:\\\/\\\/x.com\\\/threesl\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.threesl.com\\\/blog\\\/#\\\/schema\\\/person\\\/749ccd9b2d74303fa8927e06c2af8b0b\",\"name\":\"3SL\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cee8089745b3e7d79c57d621cc634da71def3561fcf40d4932a3e38743e23af0?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cee8089745b3e7d79c57d621cc634da71def3561fcf40d4932a3e38743e23af0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cee8089745b3e7d79c57d621cc634da71def3561fcf40d4932a3e38743e23af0?s=96&d=mm&r=g\",\"caption\":\"3SL\"},\"sameAs\":[\"http:\\\/\\\/www.threesl.com\\\/\",\"https:\\\/\\\/x.com\\\/threesl\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Functional and Non-Functional Requirements - 3SL Blog","description":"Drawing the line between Functional and Non-Functional Requirements. A brief overview of the differences and similarities.","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:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/","og_locale":"en_GB","og_type":"article","og_title":"Functional and Non-Functional Requirements - 3SL Blog","og_description":"Drawing the line between Functional and Non-Functional Requirements. A brief overview of the differences and similarities.","og_url":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/","og_site_name":"3SL Blog","article_publisher":"http:\/\/facebook.com\/3SLCradle","article_published_time":"2017-11-07T13:48:37+00:00","og_image":[{"url":"https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/04\/windows_doors_hid.png","type":"","width":"","height":""}],"author":"3SL","twitter_card":"summary_large_image","twitter_creator":"@threesl","twitter_site":"@threesl","twitter_misc":{"Written by":"3SL","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/#article","isPartOf":{"@id":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/"},"author":{"name":"3SL","@id":"https:\/\/www.threesl.com\/blog\/#\/schema\/person\/749ccd9b2d74303fa8927e06c2af8b0b"},"headline":"Functional and Non-Functional Requirements","datePublished":"2017-11-07T13:48:37+00:00","mainEntityOfPage":{"@id":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/"},"wordCount":557,"publisher":{"@id":"https:\/\/www.threesl.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/#primaryimage"},"thumbnailUrl":"https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/04\/windows_doors_hid.png","keywords":["functional requirements","non-functional requirements"],"articleSection":["Articles"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/","url":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/","name":"Functional and Non-Functional Requirements - 3SL Blog","isPartOf":{"@id":"https:\/\/www.threesl.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/#primaryimage"},"image":{"@id":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/#primaryimage"},"thumbnailUrl":"https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/04\/windows_doors_hid.png","datePublished":"2017-11-07T13:48:37+00:00","description":"Drawing the line between Functional and Non-Functional Requirements. A brief overview of the differences and similarities.","breadcrumb":{"@id":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/#primaryimage","url":"https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/04\/windows_doors_hid.png","contentUrl":"https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/04\/windows_doors_hid.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.threesl.com\/blog\/functional-non-functional-requirements\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.threesl.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Functional and Non-Functional Requirements"}]},{"@type":"WebSite","@id":"https:\/\/www.threesl.com\/blog\/#website","url":"https:\/\/www.threesl.com\/blog\/","name":"3SL Blog","description":"From concept to creation","publisher":{"@id":"https:\/\/www.threesl.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.threesl.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.threesl.com\/blog\/#organization","name":"3SL","url":"https:\/\/www.threesl.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.threesl.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/02\/3SL_Logo_Medium.png","contentUrl":"https:\/\/www.threesl.com\/blog\/wp-content\/uploads\/2017\/02\/3SL_Logo_Medium.png","width":152,"height":80,"caption":"3SL"},"image":{"@id":"https:\/\/www.threesl.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/facebook.com\/3SLCradle","https:\/\/x.com\/threesl"]},{"@type":"Person","@id":"https:\/\/www.threesl.com\/blog\/#\/schema\/person\/749ccd9b2d74303fa8927e06c2af8b0b","name":"3SL","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/cee8089745b3e7d79c57d621cc634da71def3561fcf40d4932a3e38743e23af0?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/cee8089745b3e7d79c57d621cc634da71def3561fcf40d4932a3e38743e23af0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cee8089745b3e7d79c57d621cc634da71def3561fcf40d4932a3e38743e23af0?s=96&d=mm&r=g","caption":"3SL"},"sameAs":["http:\/\/www.threesl.com\/","https:\/\/x.com\/threesl"]}]}},"modified_by":null,"_links":{"self":[{"href":"https:\/\/www.threesl.com\/blog\/wp-json\/wp\/v2\/posts\/2887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.threesl.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.threesl.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.threesl.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.threesl.com\/blog\/wp-json\/wp\/v2\/comments?post=2887"}],"version-history":[{"count":5,"href":"https:\/\/www.threesl.com\/blog\/wp-json\/wp\/v2\/posts\/2887\/revisions"}],"predecessor-version":[{"id":2892,"href":"https:\/\/www.threesl.com\/blog\/wp-json\/wp\/v2\/posts\/2887\/revisions\/2892"}],"wp:attachment":[{"href":"https:\/\/www.threesl.com\/blog\/wp-json\/wp\/v2\/media?parent=2887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.threesl.com\/blog\/wp-json\/wp\/v2\/categories?post=2887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.threesl.com\/blog\/wp-json\/wp\/v2\/tags?post=2887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}