{"id":2658,"date":"2020-02-21T10:55:00","date_gmt":"2020-02-21T08:55:00","guid":{"rendered":"https:\/\/buznik.net\/j\/?p=2658"},"modified":"2023-02-28T10:56:34","modified_gmt":"2023-02-28T08:56:34","slug":"repurposed-an-old-ipad-as-a-home-status-screen","status":"publish","type":"post","link":"https:\/\/buznik.net\/j\/2658-repurposed-an-old-ipad-as-a-home-status-screen\/","title":{"rendered":"Repurposed an\u00a0old iPad as\u00a0a\u00a0home status screen"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Here is my new small project&nbsp;\u2013 TableStatus\/StenGazeta (<strong>Daybook.buznik.family<\/strong>&nbsp;as&nbsp;of&nbsp;November 2020).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I have been thinking about creating some kind of&nbsp;a&nbsp;status screen for&nbsp;my home and&nbsp;family for&nbsp;a&nbsp;long time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our friends have recently donated an&nbsp;old iPad 2 to&nbsp;us. It runs iOS 9.3.5, so I can barely install a&nbsp;handful of&nbsp;apps from Appstore. That\u2019s where this idea started.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I could never gather all the\u00a0details until this Christmas, when I got some time and\u00a0slapped together a\u00a0<em>preact<\/em>\u00a0web app.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Stengazeta\/Daybook narrated demo (Feb 2020)\" width=\"620\" height=\"465\" src=\"https:\/\/www.youtube.com\/embed\/Qg4uJ6QdSJA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Demo<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Features<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s a&nbsp;web page that displays widgets:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>daily weather&nbsp;\u2013 temperature, conditions and&nbsp;humidity, and&nbsp;lunar phase<\/li>\n\n\n\n<li>agenda&nbsp;\u2013 events from our shared calendar for&nbsp;the&nbsp;day (events are also togglable, so you can use it as&nbsp;wishlist)<\/li>\n\n\n\n<li>photoslider with pictures from selected google photos albums<\/li>\n\n\n\n<li>simple notes<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Nothing particularly interesting about those&nbsp;\u2013 mostly leveraging a&nbsp;couple of&nbsp;APIs.<br>I used openweathermap.org for&nbsp;weather, and&nbsp;Google APIs to&nbsp;retrieve the&nbsp;calendar and&nbsp;photos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;notes are just a&nbsp;text area that stores value in&nbsp;localStorage, not&nbsp;synced across sessions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Usage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can just visit&nbsp;<a href=\"https:\/\/daybook.buznik.family\/\">Daybook page<\/a>&nbsp;on&nbsp;your iPad and&nbsp;it will work.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In&nbsp;order for&nbsp;Calendars and&nbsp;Photos to&nbsp;work, you need to&nbsp;login with your Google account.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Source and&nbsp;Setting Up<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Right now, I\u2019m happy with the&nbsp;result, though I\u2019m adding some ideas as&nbsp;enchancements on&nbsp;Github.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/beshur\/TableStatusWeb\">Source code on&nbsp;Github<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It has a&nbsp;readme which has some notes on&nbsp;the&nbsp;API keys that you need to&nbsp;get and&nbsp;some other vars to&nbsp;set up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;project is build with webpack and&nbsp;can be hosted on&nbsp;any kind of&nbsp;hosting. I use Netlify for&nbsp;it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can set up one for&nbsp;youself, too.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anyway, let me know if you\u2019d like to&nbsp;use it, but&nbsp;it lacks something via&nbsp;<a href=\"https:\/\/forms.gle\/waRRhUKZoH6rbMAM6\">this form<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A&nbsp;note to&nbsp;React gurus and&nbsp;beginners<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;project is definitely not&nbsp;to&nbsp;show off my React skills, rather the&nbsp;opposite&nbsp;\u2013 I wanted to&nbsp;slap some stuff together in&nbsp;a&nbsp;very limited timeframe and&nbsp;also to&nbsp;try preact.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also if you are a&nbsp;beginner and&nbsp;want to&nbsp;learn by&nbsp;its code&nbsp;\u2013 it\u2019s not&nbsp;the&nbsp;best specimen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">preact<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I wanted to&nbsp;go really minimal and&nbsp;was lured by&nbsp;preact\u2019s promise of&nbsp;3kb gzipped size.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However I ended using the&nbsp;preact CLI to&nbsp;create the&nbsp;project boilerplate together will the&nbsp;webpack and&nbsp;compilers and&nbsp;other stuff, and&nbsp;<em>260Mb node_modules<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also tried to&nbsp;start with React Native, but&nbsp;its toolchain is still not&nbsp;clear to&nbsp;me. Ran into a&nbsp;couple of&nbsp;issues with the&nbsp;suggested solutions as&nbsp;\u201creinstall all your node_modules and&nbsp;cocoa pods\u201d, not&nbsp;cool.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here is my new small project&nbsp;\u2013 TableStatus\/StenGazeta (Daybook.buznik.family&nbsp;as&nbsp;of&nbsp;November 2020). I have been thinking about creating some kind of&nbsp;a&nbsp;status screen for&nbsp;my home and&nbsp;family for&nbsp;a&nbsp;long time. Our friends have recently donated an&nbsp;old iPad 2 to&nbsp;us. It runs iOS 9.3.5, so I can barely install a&nbsp;handful of&nbsp;apps from Appstore. That\u2019s where this idea started. I could never gather [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[766,768],"tags":[776],"class_list":["post-2658","post","type-post","status-publish","format-standard","hentry","category-coding-en","category-projects-en","tag-daybook"],"acf":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/buznik.net\/j\/wp-json\/wp\/v2\/posts\/2658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buznik.net\/j\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buznik.net\/j\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buznik.net\/j\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/buznik.net\/j\/wp-json\/wp\/v2\/comments?post=2658"}],"version-history":[{"count":1,"href":"https:\/\/buznik.net\/j\/wp-json\/wp\/v2\/posts\/2658\/revisions"}],"predecessor-version":[{"id":2659,"href":"https:\/\/buznik.net\/j\/wp-json\/wp\/v2\/posts\/2658\/revisions\/2659"}],"wp:attachment":[{"href":"https:\/\/buznik.net\/j\/wp-json\/wp\/v2\/media?parent=2658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buznik.net\/j\/wp-json\/wp\/v2\/categories?post=2658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buznik.net\/j\/wp-json\/wp\/v2\/tags?post=2658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}