{"id":10887,"date":"2015-03-28T12:57:22","date_gmt":"2015-03-28T16:57:22","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=10887"},"modified":"2019-01-22T15:44:07","modified_gmt":"2019-01-22T20:44:07","slug":"scenery-1-0","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2015\/03\/28\/scenery-1-0\/","title":{"rendered":"Scenery 1.0"},"content":{"rendered":"<p><a href=\"https:\/\/www.getscenery.com\/support\">Scenery<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.getscenery.com\/support\"><p>Scenery is an application for the Mac that creates product mockups. Want to present your latest design work to your client or get a killer visual for your app&rsquo;s marketing website? Scenery has got you covered.<\/p>\n<p>Download our free Mac application and create an account. Browse our store of template packs, and check out the Free Starter Pack. Simply drop your screenshot or design, and you&rsquo;ll instantly see it mocked up in all device photos. Once you&rsquo;ve found the right style and scene you can purchase a pack&mdash;or simply use the free, watermarked previews.<\/p>\n<p>We sell royalty-free licences for images, sold in packs. That means that you can use the image as often as you want, without having to make further payments to the photographer.<\/p>\n<\/blockquote>\n<p>I&rsquo;m not really a fan of these type of product images, but it seems to be what people are doing these days.<\/p>\n<p>It&rsquo;s written completely <a href=\"http:\/\/chris.eidhof.nl\/posts\/scenery-launch.html\">in Swift<\/a>:<\/p>\n<blockquote cite=\"http:\/\/chris.eidhof.nl\/posts\/scenery-launch.html\">\n<p>In the beginning, we spent a lot of time waiting for the compiler, but the stability and speed of the tooling has improved a lot in recent releases, so we hardly ever have issues anymore. Even when you take the time spent waiting on the compiler into account, I think we were still writing better code at a higher speed than with Objective-C.<\/p>\n<p>The code base we ended up with makes me much happier than most Objective-C code bases I&rsquo;ve seen. Having Swift&rsquo;s type-safety greatly improves my trust in refactorings: I feel free to change a function&rsquo;s type, add parameters or change parameter types. I know that the compiler will help me catch any type-related errors. We use a lot of functional patterns: <a href=\"http:\/\/chris.eidhof.nl\/posts\/tiny-networking-in-swift.html\">tiny networking<\/a>, <a href=\"http:\/\/www.objc.io\/snippets\/16.html\">typed observers<\/a>, <a href=\"http:\/\/www.objc.io\/snippets\/20.html\">configuration values<\/a>, <a href=\"http:\/\/www.objc.io\/snippets\/8.html\">wrapper types<\/a>, and the list goes on.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Scenery: Scenery is an application for the Mac that creates product mockups. Want to present your latest design work to your client or get a killer visual for your app&rsquo;s marketing website? Scenery has got you covered. Download our free Mac application and create an account. Browse our store of template packs, and check out [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2019-01-22T20:44:11Z","apple_news_api_id":"24227a39-8d03-43b7-8792-8c6ea8a3db11","apple_news_api_modified_at":"2019-01-22T20:44:12Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/AJCJ6OY0DQ7eHkoxuqKPbEQ","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[30,32,816,282,901],"class_list":["post-10887","post","type-post","status-publish","format-standard","hentry","category-technology","tag-mac","tag-macapp","tag-refactoring","tag-screenshots","tag-swift-programming-language"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/10887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=10887"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/10887\/revisions"}],"predecessor-version":[{"id":10889,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/10887\/revisions\/10889"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=10887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=10887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=10887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}