{"id":281,"date":"2011-02-21T15:30:57","date_gmt":"2011-02-21T23:30:57","guid":{"rendered":"http:\/\/www.roastgeek.com\/wordpress\/?p=281"},"modified":"2011-02-21T16:10:54","modified_gmt":"2011-02-22T00:10:54","slug":"user-interface-work","status":"publish","type":"post","link":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/","title":{"rendered":"User interface work."},"content":{"rendered":"\r\n\t<!-- sfs forms added to the_content - adding as a comment so that it will not display, but will it fool spammers?\r\n\t<br>\r\n\t<br>\r\n\t<form action=\"https:\/\/www.roastgeek.com\/wordpress\/wp-comments-post.php\" method=\"post\" id=\"commentform1\">\r\n\t<p><input name=\"author\" id=\"author\" value=\"\" size=\"22\"  aria-required=\"true\" type=\"text\">\r\n\t<label for=\"author\"><small>Name (required)<\/small><\/label><\/p>\r\n\r\n\t<p><input name=\"email\" id=\"email\" value=\"\" size=\"22\"  aria-required=\"true\" type=\"text\">\r\n\t<label for=\"email\"><small>Mail (will not be published) (required)<\/small><\/label><\/p>\r\n\r\n\t<p><input name=\"url\" id=\"url\" value=\"\" size=\"22\" type=\"text\">\r\n\t<label for=\"url\"><small>Website<\/small><\/label><\/p>\r\n\t<p><textarea name=\"comment\" id=\"comment\" cols=\"58\" rows=\"10\" ><\/textarea><\/p>\r\n\r\n\t<p>\r\n\t<input name=\"comment_post_ID\" value=\"281\" id=\"comment_post_ID\" type=\"hidden\">\r\n\t<input name=\"comment_parent\" id=\"comment_parent\" value=\"0\" type=\"hidden\">\r\n\t<\/p>\r\n\r\n\t<p><input id=\"akismet_comment_nonce\" name=\"akismet_comment_nonce\" value=\"1f74737c40\" type=\"hidden\"><\/p>\r\n\t<\/form>\r\n\r\n\t<form id=\"setupform1\" method=\"post\" action=\"wp-signup.php\" >\r\n\r\n\t<input type=\"hidden\" name=\"stage\" value=\"validate-user-signup\"   \/>\r\n\t<p ><input id=\"akismet_comment_nonce\" name=\"akismet_comment_nonce\" value=\"1f74737c40\" type=\"hidden\"><\/p>\t\t\r\n\t<p>\r\n\t<input id=\"signupblog\" type=\"radio\" name=\"signup_for\" value=\"blog\"  checked='checked' \/>\r\n\t<label class=\"checkbox\" for=\"signupblog\">Gimme a site!<\/label>\r\n\t<br \/>\r\n\t<input id=\"signupuser\" type=\"radio\" name=\"signup_for\" value=\"user\"  \/>\r\n\t<label class=\"checkbox\" for=\"signupuser\">Just a username, please.<\/label>\r\n\t<\/p>\r\n\t<\/form>\r\n\r\n\t<form name=\"loginform1\" id=\"loginform1\" action=\"https:\/\/www.roastgeek.com\/wordpress\/wp-login.php\" method=\"post\">\r\n\t<p>\r\n\t<label for=\"user_login\">User Name<br \/>\r\n\t<input type=\"text\" name=\"log\"  value=\"\" size=\"20\"  \/><\/label>\r\n\t<\/p>\r\n\t<p>\r\n\t<label for=\"user_pass\">Password<br \/>\r\n\t<input type=\"password\" name=\"pwd\"  value=\"\" size=\"20\"  \/><\/label>\r\n\t<\/p>\r\n\t<p class=\"forgetmenot\"><label for=\"rememberme\"><input name=\"rememberme\" type=\"checkbox\" checked=\"checked\"  value=\"1f74737c40\"  \/>Remember Me<\/label><\/p>\r\n\t<p class=\"submit\">\r\n\t<input type=\"hidden\" name=\"testcookie\" value=\"1\" \/>\r\n\t<\/p>\r\n\t<input id=\"akismet_comment_nonce\" name=\"akismet_comment_nonce\" value=\"1f74737c40\" type=\"hidden\">\r\n\t<\/form>\r\n\r\n\r\n\r\n\t-->\r\n\t<p>So at this point I&#8217;ve gotten annoyed with the other temperature sensor and decided I might as well move ahead with the functional part of the roaster.\u00a0 This means the first thing I needed to do is draw a main menu for options.<\/p>\n<div id=\"attachment_278\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-29_72-e1298331498102.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-278\" class=\"size-medium wp-image-278\" title=\"Main Menu 2\/21\/11\" src=\"https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-29_72-e1298331498102-300x169.jpg?resize=300%2C169\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-29_72-e1298331498102.jpg?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-29_72-e1298331498102.jpg?w=500&amp;ssl=1 500w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-278\" class=\"wp-caption-text\">Main Menu<\/p><\/div>\n<p>As you can see this lists Manual and Auto Roast.\u00a0 My plan is to make it where the first option simply gives you a few readings and then lets you &#8220;drive&#8221; by sliding the controls around.\u00a0\u00a0 I would make it log the information of what you set things to and what you got back from the system and perhaps let you &#8220;store&#8221; the settings to play them again as a profile.\u00a0 That is where the next phase comes in, the Auto Roast.<\/p>\n<p>I expect Auto Roast to be a portion of the system that would let you choose to either A) load a previous profile, or B) let the roaster pretty much run itself using a basic model of &#8220;drying&#8221; at a lower temperature for the first few minutes at a high fan speed and then begin to lower the fan speed and raise the temperature responding based on the time into the roast vs the temperature.\u00a0 Expectations of driving first crack and the end of the roast based on a desired result would vary how it would work.\u00a0 I&#8217;d anticipate some sort of yes\/no 1\/2\/3\/4 etc sort of question and answer series immediately before the roast activates.\u00a0 While it would be mostly automatic you can step in at any time and seize control of a particular setting.<\/p>\n<div id=\"attachment_279\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-46_393-e1298331587319.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-279\" class=\"size-medium wp-image-279\" title=\"Roast Screen\" src=\"https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-46_393-e1298331587319-300x169.jpg?resize=300%2C169\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-46_393-e1298331587319.jpg?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-46_393-e1298331587319.jpg?w=500&amp;ssl=1 500w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-279\" class=\"wp-caption-text\">Main roasting screen<\/p><\/div>\n<p>At this time the roasting system only monitors.\u00a0 I have yet to work on actually connecting it directly to any of the controls on the roaster.\u00a0 This will come later when there are more and better controls implemented.\u00a0 Currently it simply shows bean temperature in Fahrenheit.\u00a0 I will add the option to switch the temperatures on the Settings option from the main menu.\u00a0 It also has a slighly inaccurate timer.\u00a0 It seems to gain a second or two over the system clock in the corner every 40-60 seconds.\u00a0 I need to work on the prioritization of the interrupts in the system and implement a series of if\/else and\/or case statements where I can service temperature, screen updates, and time tracking and use all of those checks as part of the delays required reading various sensors etc.\u00a0 For example if it takes 100ns to service one sensor telling it to read a temperature or something but I need to wait 100ns to do another function then I can initiate the read request, perform the other function, and then return at the end to pickup the temperature result.\u00a0 Some functions are more critical so they will take priority over other functions.\u00a0 Those functions will take place on a tighter schedule while the other functions will &#8220;squeeze in&#8221; anywhere they can and take place based on a &#8220;true\/false&#8221; tracking of whether they&#8217;ve run recently.\u00a0 Once everything has run then everything will reset and things will start looping again.<\/p>\n<p>The roast control system also has a series of buttons down the bottom for returning to the main menu, adding or removing time from the timer, as well as buttons for heat and fan control.\u00a0 I expect to put more sensor readings as time goes on to display on the empty space.\u00a0 I&#8217;m hoping to get the fan and heat controls to pop up over top of the roasting screen, allow adjustments, and then drop back to the bottom &#8220;tray&#8221;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So at this point I&#8217;ve gotten annoyed with the other temperature sensor and decided I might as well move ahead with the functional part of the roaster.\u00a0 This means the first thing I needed to do is draw a main menu for options. As you can see this lists Manual and Auto Roast.\u00a0 My plan is to make it where the first option simply gives you a few readings and then lets you &#8220;drive&#8221; by sliding the controls around.\u00a0\u00a0 I would make it log the information of what you set things to and what you got back from the system \u2026 <a class=\"continue-reading-link\" href=\"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/\"> Continue reading <span class=\"meta-nav\">&rarr; <\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9,7,23,22,8,32,33,48],"tags":[26,130,129,14],"class_list":["post-281","post","type-post","status-publish","format-standard","hentry","category-electronics","category-general","category-lcd","category-pic32","category-roaster","category-sensors","category-temperature-sensors-electronics-roaster","category-time","tag-electronics-2","tag-lcd","tag-pic32","tag-testing"],"wppr_data":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>User interface work. - Roast Geek<\/title>\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.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve S\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. 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.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/\"},\"author\":{\"name\":\"Steve S\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c2f0d5ff9658f24bcad79ef85aa194b6\"},\"headline\":\"User interface work.\",\"datePublished\":\"2011-02-21T23:30:57+00:00\",\"dateModified\":\"2011-02-22T00:10:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/\"},\"wordCount\":617,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2011\\\/02\\\/wpid-2011-02-21_14-40-29_72-e1298331498102-300x169.jpg\",\"keywords\":[\"electronics\",\"LCD\",\"PIC32\",\"testing\"],\"articleSection\":[\"Electronics\",\"General\",\"LCD\",\"PIC32\",\"Roaster\",\"Sensors\",\"Temperature\",\"Time\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/\",\"url\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/\",\"name\":\"User interface work. - Roast Geek\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2011\\\/02\\\/wpid-2011-02-21_14-40-29_72-e1298331498102-300x169.jpg\",\"datePublished\":\"2011-02-21T23:30:57+00:00\",\"dateModified\":\"2011-02-22T00:10:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/#primaryimage\",\"url\":\"http:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2011\\\/02\\\/wpid-2011-02-21_14-40-29_72-e1298331498102-300x169.jpg\",\"contentUrl\":\"http:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2011\\\/02\\\/wpid-2011-02-21_14-40-29_72-e1298331498102-300x169.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2011\\\/02\\\/21\\\/user-interface-work\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"User interface work.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/\",\"name\":\"Roast Geek\",\"description\":\"Roasting Geekery - Coffee Roasting, Electronics, and Mechanical DIY\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#organization\",\"name\":\"RoastGeek\",\"url\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.roastgeek.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2012\\\/03\\\/coffee_logo.png?fit=%2C&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.roastgeek.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2012\\\/03\\\/coffee_logo.png?fit=%2C&ssl=1\",\"caption\":\"RoastGeek\"},\"image\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/RoastGeek\\\/\",\"https:\\\/\\\/x.com\\\/RoastGeek\",\"https:\\\/\\\/www.instagram.com\\\/RoastGeek\\\/\",\"https:\\\/\\\/www.youtube.com\\\/RoastGeekTube\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c2f0d5ff9658f24bcad79ef85aa194b6\",\"name\":\"Steve S\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/912e138474203e46e89840ff61730e06e2331382eb53044b22db89cb87ebe4c2?s=96&d=mm&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/912e138474203e46e89840ff61730e06e2331382eb53044b22db89cb87ebe4c2?s=96&d=mm&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/912e138474203e46e89840ff61730e06e2331382eb53044b22db89cb87ebe4c2?s=96&d=mm&r=pg\",\"caption\":\"Steve S\"},\"sameAs\":[\"http:\\\/\\\/www.roastgeek.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"User interface work. - Roast Geek","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.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/","twitter_misc":{"Written by":"Steve S","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/#article","isPartOf":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/"},"author":{"name":"Steve S","@id":"https:\/\/www.roastgeek.com\/wordpress\/#\/schema\/person\/c2f0d5ff9658f24bcad79ef85aa194b6"},"headline":"User interface work.","datePublished":"2011-02-21T23:30:57+00:00","dateModified":"2011-02-22T00:10:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/"},"wordCount":617,"commentCount":0,"publisher":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/#organization"},"image":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/#primaryimage"},"thumbnailUrl":"http:\/\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-29_72-e1298331498102-300x169.jpg","keywords":["electronics","LCD","PIC32","testing"],"articleSection":["Electronics","General","LCD","PIC32","Roaster","Sensors","Temperature","Time"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/","url":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/","name":"User interface work. - Roast Geek","isPartOf":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/#primaryimage"},"image":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/#primaryimage"},"thumbnailUrl":"http:\/\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-29_72-e1298331498102-300x169.jpg","datePublished":"2011-02-21T23:30:57+00:00","dateModified":"2011-02-22T00:10:54+00:00","breadcrumb":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/#primaryimage","url":"http:\/\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-29_72-e1298331498102-300x169.jpg","contentUrl":"http:\/\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2011\/02\/wpid-2011-02-21_14-40-29_72-e1298331498102-300x169.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.roastgeek.com\/wordpress\/2011\/02\/21\/user-interface-work\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.roastgeek.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"User interface work."}]},{"@type":"WebSite","@id":"https:\/\/www.roastgeek.com\/wordpress\/#website","url":"https:\/\/www.roastgeek.com\/wordpress\/","name":"Roast Geek","description":"Roasting Geekery - Coffee Roasting, Electronics, and Mechanical DIY","publisher":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.roastgeek.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.roastgeek.com\/wordpress\/#organization","name":"RoastGeek","url":"https:\/\/www.roastgeek.com\/wordpress\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.roastgeek.com\/wordpress\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2012\/03\/coffee_logo.png?fit=%2C&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2012\/03\/coffee_logo.png?fit=%2C&ssl=1","caption":"RoastGeek"},"image":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RoastGeek\/","https:\/\/x.com\/RoastGeek","https:\/\/www.instagram.com\/RoastGeek\/","https:\/\/www.youtube.com\/RoastGeekTube\/"]},{"@type":"Person","@id":"https:\/\/www.roastgeek.com\/wordpress\/#\/schema\/person\/c2f0d5ff9658f24bcad79ef85aa194b6","name":"Steve S","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/912e138474203e46e89840ff61730e06e2331382eb53044b22db89cb87ebe4c2?s=96&d=mm&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/912e138474203e46e89840ff61730e06e2331382eb53044b22db89cb87ebe4c2?s=96&d=mm&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/912e138474203e46e89840ff61730e06e2331382eb53044b22db89cb87ebe4c2?s=96&d=mm&r=pg","caption":"Steve S"},"sameAs":["http:\/\/www.roastgeek.com"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1Rz8s-4x","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/posts\/281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/comments?post=281"}],"version-history":[{"count":2,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/posts\/281\/revisions"}],"predecessor-version":[{"id":283,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/posts\/281\/revisions\/283"}],"wp:attachment":[{"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/media?parent=281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/categories?post=281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/tags?post=281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}