{"id":21702,"date":"2018-03-19T17:54:18","date_gmt":"2018-03-19T17:54:18","guid":{"rendered":"http:\/\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience"},"modified":"2018-03-19T17:54:18","modified_gmt":"2018-03-19T17:54:18","slug":"imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience","title":{"rendered":"ImageCon 2018 Speaker Ryan Cooke, Pinterest on Delivering a Better Mobile Experience"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>For our first in a series of Q&amp;A posts with our <a href=\"http:\/\/www.imagecon.com\/\">ImageCon 2018<\/a> speakers, we spoke with <a href=\"https:\/\/twitter.com\/the__Ryanator\">Ryan Cooke<\/a>, a Software Engineer and Android Developer at <a href=\"https:\/\/www.pinterest.com\/\">Pinterest<\/a>, a site that serves up billions of images everyday. In the following post he discusses why improving mobile images was important for improving the user experience and offers advice on building a mobile-first site.<\/p>\n<p>Check back later this week for our next speaker post and follow all things ImageCon on Twitter at #ImageCon2018.<\/p>\n<h3>What were the issues that drove Pinterest to test different ways of delivering \u201cbetter\u201d mobile images?<\/h3>\n<p>As we expanded to international markets Android was becoming our most popular app, so we really started going above and beyond to improve its quality. One thing that stood out was when iOS users tried the Android app they immediately noticed the images looked worse, and they were right. Seeing as we serve billions of images everyday this seemed like an opportunity for improvement. We were able to be really laser-focused on how images could be better. Our first couple of changes really showed an improved user experience, so we were able to justify that image quality matters, and eventually we were able to take what we learned from Android back to other platforms.<\/p>\n<h3>What advice would you provide developers building a mobile-first site?<\/h3>\n<p>My personal take is to build as little from scratch as you can. Use the tried and tested patterns, third party libraries, etc. This will let you get moving fast and will likely give you an infrastructure that won\u2019t completely need to be rewritten. New hires may even be able to work with familiar tools. In regards to image loading specifically, I\u2019d recommend using one of the existing third party client side tools (on Android: Picasso, Glide, Fresco; on iOS: PinRemoteImage) to handle the heavy lifting. If your app is really image heavy and you expect to be doing a lot of work on making the images the best they can be it may be worth adding a wrapper around the library so you can replace it with your own or another one as the need arises.<\/p>\n<h3>Are the lessons learned from your experience applicable to other sites and if so what would those be?<\/h3>\n<p>My biggest takeaway is that good image prefetching and caching makes a big impact on how the user sees your app. On a lot of apps it is very easy for a developer to already have the images ready for the user before the user would see them. Think of something like a movie ticket app, where they show the poster for the movie. There are like 20 images total the app will display at any time and it would be easy to have those loaded before I scroll to it, but they don\u2019t. The result is even on a high quality network I see the placeholder and then the content loading over the placeholder. The content changing will often draw my eye because it is motion, but it\u2019s probably not what the developer wants the user to be looking at. Overall it gives a subconscious feeling of a slow site and something not quite done. Our users at Pinterest still sometimes see placeholder images, but through clever prefetching they see them less and less.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":21703,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[167,202],"class_list":["post-21702","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-imagecon","tag-mobile"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Pinterest on Delivering a Better Mobile Experience: ImageCon 2018<\/title>\n<meta name=\"description\" content=\"For our first in a series of Q&amp;A posts with our ImageCon 2018 speakers, we spoke with Ryan Cooke.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ImageCon 2018 Speaker Ryan Cooke, Pinterest on Delivering a Better Mobile Experience\" \/>\n<meta property=\"og:description\" content=\"For our first in a series of Q&amp;A posts with our ImageCon 2018 speakers, we spoke with Ryan Cooke.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-03-19T17:54:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649723504\/Web_Assets\/blog\/Ryan_ImageCon\/Ryan_ImageCon.jpg?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"1540\" \/>\n\t<meta property=\"og:image:height\" content=\"771\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"ImageCon 2018 Speaker Ryan Cooke, Pinterest on Delivering a Better Mobile Experience\",\"datePublished\":\"2018-03-19T17:54:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience\"},\"wordCount\":11,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649723504\/Web_Assets\/blog\/Ryan_ImageCon\/Ryan_ImageCon.jpg?_i=AA\",\"keywords\":[\"ImageCon\",\"Mobile\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2018\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience\",\"url\":\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience\",\"name\":\"Pinterest on Delivering a Better Mobile Experience: ImageCon 2018\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649723504\/Web_Assets\/blog\/Ryan_ImageCon\/Ryan_ImageCon.jpg?_i=AA\",\"datePublished\":\"2018-03-19T17:54:18+00:00\",\"description\":\"For our first in a series of Q&A posts with our ImageCon 2018 speakers, we spoke with Ryan Cooke.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649723504\/Web_Assets\/blog\/Ryan_ImageCon\/Ryan_ImageCon.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649723504\/Web_Assets\/blog\/Ryan_ImageCon\/Ryan_ImageCon.jpg?_i=AA\",\"width\":1540,\"height\":771},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ImageCon 2018 Speaker Ryan Cooke, Pinterest on Delivering a Better Mobile Experience\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Pinterest on Delivering a Better Mobile Experience: ImageCon 2018","description":"For our first in a series of Q&A posts with our ImageCon 2018 speakers, we spoke with Ryan Cooke.","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:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience","og_locale":"en_US","og_type":"article","og_title":"ImageCon 2018 Speaker Ryan Cooke, Pinterest on Delivering a Better Mobile Experience","og_description":"For our first in a series of Q&A posts with our ImageCon 2018 speakers, we spoke with Ryan Cooke.","og_url":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience","og_site_name":"Cloudinary Blog","article_published_time":"2018-03-19T17:54:18+00:00","og_image":[{"width":1540,"height":771,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649723504\/Web_Assets\/blog\/Ryan_ImageCon\/Ryan_ImageCon.jpg?_i=AA","type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience"},"author":{"name":"","@id":""},"headline":"ImageCon 2018 Speaker Ryan Cooke, Pinterest on Delivering a Better Mobile Experience","datePublished":"2018-03-19T17:54:18+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience"},"wordCount":11,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649723504\/Web_Assets\/blog\/Ryan_ImageCon\/Ryan_ImageCon.jpg?_i=AA","keywords":["ImageCon","Mobile"],"inLanguage":"en-US","copyrightYear":"2018","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience","url":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience","name":"Pinterest on Delivering a Better Mobile Experience: ImageCon 2018","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649723504\/Web_Assets\/blog\/Ryan_ImageCon\/Ryan_ImageCon.jpg?_i=AA","datePublished":"2018-03-19T17:54:18+00:00","description":"For our first in a series of Q&A posts with our ImageCon 2018 speakers, we spoke with Ryan Cooke.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649723504\/Web_Assets\/blog\/Ryan_ImageCon\/Ryan_ImageCon.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649723504\/Web_Assets\/blog\/Ryan_ImageCon\/Ryan_ImageCon.jpg?_i=AA","width":1540,"height":771},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/imagecon_2018_speaker_ryan_cooke_pinterest_on_delivering_a_better_mobile_experience#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ImageCon 2018 Speaker Ryan Cooke, Pinterest on Delivering a Better Mobile Experience"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649723504\/Web_Assets\/blog\/Ryan_ImageCon\/Ryan_ImageCon.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=21702"}],"version-history":[{"count":0,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21702\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/21703"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=21702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=21702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=21702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}