

{"id":2406,"date":"2016-12-12T19:31:30","date_gmt":"2016-12-12T16:31:30","guid":{"rendered":"https:\/\/tubikstudio.com\/?p=2406"},"modified":"2023-08-15T08:38:22","modified_gmt":"2023-08-15T08:38:22","slug":"case-study-toonie-ui-animation-development","status":"publish","type":"post","link":"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/","title":{"rendered":"Case Study: Toonie. UI Animation Development"},"content":{"rendered":"<p><span style=\"color: #333333;\">In most cases, when users deal with animation in the interface, it takes short seconds and feels as natural as a breath. Being far from design and development routine, it&#8217;s almost impossible to imagine that these brief and simple interactions take long hours of thorough work presenting a mix of science and art.\u00a0<\/span><\/p>\n<p><span style=\"color: #333333;\">In our previous articles, we had numerous chances to show you diverse <a style=\"color: #333333;\" href=\"https:\/\/blog.tubikstudio.com\/ui-animation-eye-pleasing-problem-solving\/\">UI animations<\/a> solving users&#8217; problems and enhancing usability, still, they were mostly presented in a design perspective. Today&#8217;s case study will set the link between design and development for iOS mobile applications: it will show you a collaboration of UI designers, motion designers, and iOS developers working over animation for <a style=\"color: #333333;\" href=\"https:\/\/itunes.apple.com\/ua\/app\/toonie-alarm\/id1091330520?mt=8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Toonie Alarm<\/a>. Previous case studies already let you see the creative process for <a style=\"color: #333333;\" href=\"https:\/\/blog.tubikstudio.com\/case-study-toonie-alarm-app-ui-design\/\">user interface<\/a> and <a style=\"color: #333333;\" href=\"https:\/\/tubikstudio.com\/case-study-toonie-alarm-mascot-design-for-ui-interactions\/\" target=\"_blank\" rel=\"noopener noreferrer\">mascot design<\/a>, but this time you will come along a step-by-step guide on how animation was created for the app.\u00a0<\/span><\/p>\n<h2><span style=\"color: #333333;\">Time Picker Animation<\/span><\/h2>\n<p><span style=\"color: #333333;\">Time picker in the alarm application is actually the core part of the interaction with the app and the primary element at which motion design and development play a vital role in establishing both usability and visual harmony. Let&#8217;s see how science, calculations, and code are able to transform into beauty and style.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7768\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2017\/01\/Day_Night-animation-toonie-alarm-app.gif\" alt=\"Day Night animation toonie alarm app\" width=\"800\" height=\"600\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">All the content of animation is placed on custom subclass UIView, for this case we call it AnimatedDayView.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9338\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/layers_scheme_toonie-ui-animation-1-1.png\" alt=\"layers scheme toonie ui animation-1\" width=\"1070\" height=\"927\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/layers_scheme_toonie-ui-animation-1-1.png 1070w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/layers_scheme_toonie-ui-animation-1-1-300x260.png 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/layers_scheme_toonie-ui-animation-1-1-768x665.png 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/layers_scheme_toonie-ui-animation-1-1-1024x887.png 1024w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/layers_scheme_toonie-ui-animation-1-1-150x130.png 150w\" sizes=\"auto, (max-width: 1070px) 100vw, 1070px\" \/><\/p>\n<p><span style=\"color: #333333;\">The bottom layer is Infinite UIScrollView (1 on the scheme above). It is the endless scroll view that includes the copies of the image below.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9341\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/sky-scroll-view-toonie-alarm-design.jpg\" alt=\"sky-scroll-view toonie alarm design\" width=\"1242\" height=\"870\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/sky-scroll-view-toonie-alarm-design.jpg 1242w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/sky-scroll-view-toonie-alarm-design-300x210.jpg 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/sky-scroll-view-toonie-alarm-design-768x538.jpg 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/sky-scroll-view-toonie-alarm-design-1024x717.jpg 1024w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/sky-scroll-view-toonie-alarm-design-150x105.jpg 150w\" sizes=\"auto, (max-width: 1242px) 100vw, 1242px\" \/><\/p>\n<p><span style=\"color: #333333;\">There are numerous ways of realization for an endless scroll. The main idea of replacement in the scroll view is to recalculate the size of the scroll view and replace the invisible previous image showing the new one and adding the one for the future.<\/span><\/p>\n<p><span style=\"color: #333333;\">In the case of animated time picker for <a style=\"color: #333333;\" href=\"https:\/\/itunes.apple.com\/ua\/app\/toonie-alarm\/id1091330520?mt=8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Toonie<\/a>, we took the starting point at 6 AM, therefore the middle point is 6 PM and the ending point is 6 AM of the next day.<\/span><\/p>\n<p><span style=\"color: #333333;\">The next layer is Stars UIImageView (2).\u00a0This UIImageView is added over the scroll view and goes around its center; during this process, the Alpha of the layer is changed. It means that in the daytime it is transparent while in the evening time it gradually appears.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9340\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/stars_UI-view_scroll_animation-toonie-alarm-design.jpg\" alt=\"stars UI view_scroll_animation toonie alarm design\" width=\"1242\" height=\"870\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/stars_UI-view_scroll_animation-toonie-alarm-design.jpg 1242w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/stars_UI-view_scroll_animation-toonie-alarm-design-300x210.jpg 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/stars_UI-view_scroll_animation-toonie-alarm-design-768x538.jpg 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/stars_UI-view_scroll_animation-toonie-alarm-design-1024x717.jpg 1024w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/stars_UI-view_scroll_animation-toonie-alarm-design-150x105.jpg 150w\" sizes=\"auto, (max-width: 1242px) 100vw, 1242px\" \/><\/p>\n<p><span style=\"color: #333333;\">The next layer is CALayer for the sun and the moon\u2014 SunMoonBackgroundLayer. It isn\u2019t seen in the scheme as it has the same size as AnimatedDayView. It also rotates around its center which is below the visible frame of the screen (5).<\/span><\/p>\n<p><span style=\"color: #333333;\">On the SunMoonBackgroundLayer, there are two more layers &#8211; for the moon (3) and the sun (4). The layer of the moon rotates to the same angle as SunMoonBackgroundLayer but in the opposite direction. The sun rotates to a higher number of radians.<\/span><\/p>\n<p><span style=\"color: #333333;\">The issue of great importance here was to thoroughly calculate at which a number of degrees should each layer be rotated and how far should the scroll go on. The scroll presents the easiest part. The input variable is always time, that is the hour and minutes which the user chose on UIDatePicker. With this data, it\u2019s quite simple to calculate the scroll view shifting. Initially, it will be zero, which in our case is equal to the time of 6 AM as we set above. Imagine that the user has picked the time at 9.10 AM. We can understand which number of pixel the view has to shift down or up when we calculate the difference of the time in minutes (190 minutes) and transforming them into pixels. All the scroll ground presents 24 hours, so its height presents 24 hours, therefore <strong>1 minute=image_height\/minutes_per_day (60*24)<\/strong>. Knowing the value of 1 minute, it\u2019s not difficult to calculate how many pixels are set into 190 minutes. The only thing left to do is to move the scroll on the required number of pixels, which can be also negative in cases when the new time is less than the previous setting.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">The next important parameter is Alpha of the stars. It can be calculated with understanding at which particular place on the background image we are at the current position. It means that at 6 AM in the top part of the image the stars should have Alpha 0 value because the morning starts. And the stars are ignored, aka kept in Alpha 0, up to 6 PM, and then Alpha value should be gradually increased so that at midnight Alpha reached 1. The calculation of dynamics and intensity here can be different depending on the desired visual effect. The core thing is that we have the basic parameter which we can rely on: the current position on the background image. And it can be easily calculated knowing the time set by the user. With alteration of Alpha motion, attractive visual performance can be effectively reached.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">To calculate the angle of rotation, we take 360 degrees for 24 hours. So, 0 degree = 6 AM. We calculate the difference in minutes, find the number of degrees per minute and set the degrees required for shifting.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Another element of animation is clouds. They appear due to NSTimer. It adds one of the graphic variants for clouds (the app uses three graphic versions) with the random coordinate of Alpha (transparency) beyond the limits of the screen on the right side. After that animation of movement (changing the center) starts from right to left. The timer is launched with a random interval. \u00a0After the animation is finished, the cloud is gone.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7664\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie-app-time-picker.jpg\" alt=\"toonie app time picker\" width=\"1600\" height=\"1142\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie-app-time-picker.jpg 1600w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie-app-time-picker-300x214.jpg 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie-app-time-picker-768x548.jpg 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie-app-time-picker-1024x731.jpg 1024w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie-app-time-picker-150x107.jpg 150w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #333333;\">Sun Switch<\/span><\/h2>\n<p><span style=\"color: #333333;\">Another piece of animation that required attention and creativity was the switch on the Alarm Screen, the actual element of interaction showing that the alarm is set and active or not. Design solution supporting the general visual performance of the app was to make the toggle look like the animated sun when the alarm was in the active position.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7662\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/Switch-control-app-design.gif\" alt=\"Switch control app design\" width=\"800\" height=\"600\" \/><\/p>\n<p><span style=\"color: #333333;\">Looking over the accomplishment of the presented motion via code, we see that this is the UIView which contains several layers.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9342\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/toonie-ui-switch_animation.png\" alt=\"toonie ui switch animation\" width=\"1122\" height=\"379\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/toonie-ui-switch_animation.png 1122w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/toonie-ui-switch_animation-300x101.png 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/toonie-ui-switch_animation-768x259.png 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/toonie-ui-switch_animation-1024x346.png 1024w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2016\/12\/toonie-ui-switch_animation-150x51.png 150w\" sizes=\"auto, (max-width: 1122px) 100vw, 1122px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">The first layer is the background of the hole in the switch (1) which has a rectangular shape. Above it, there is the circle &#8211; the toggle of the switch (2) which is the center of the sun. It can move leftwards or rightwards. Another layer is the sun rays (3). They are set as separate layer because they have the endless animation of rotation. <\/span><\/p>\n<p><span style=\"color: #333333;\">When the switch is off, the rays change their Alpha to 0 and animation stops. Over all the mentioned layers, the largest layer is placed which is the background of the switch (4). This is also the rectangular layer which has a mask CAShapeLayer drawn with two UIBezierPaths.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\"><script src=\"https:\/\/gist.github.com\/MariaNaxar\/175641d0dff3b80056ac93c69358f547.js\"><\/script><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">The mask cuts off the layer of the required shape and switch gets a look of the final view. For interactive controlling, two Gesture Recognizers are added: UITapGestureRecognizer for pushing and UIPanGestureRecognized for pulling the toggle.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">This practical case shows that making animation which will realize its problem-solving potential looking attractive and natural is a demanding task requiring a thoughtful approach and collaboration of designers and developers for users&#8217; sake. If you want to test everything described above in real interaction, just set Toonie and see how it works. And don&#8217;t miss new cases telling more stories of creative process.<\/span><\/p>\n<hr \/>\n<p><span style=\"color: #333333;\"><em>Welcome to set up\u00a0<a style=\"color: #333333;\" href=\"https:\/\/itunes.apple.com\/ua\/app\/toonie-alarm\/id1091330520?mt=8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Toonie Alarm via App Store<\/a><\/em><\/span><\/p>\n<p><span style=\"color: #333333;\"><em>Welcome to read case studies about\u00a0<a style=\"color: #333333;\" href=\"https:\/\/blog.tubikstudio.com\/case-study-toonie-alarm-app-ui-design\/\">user interface design<\/a>\u00a0and <a style=\"color: #333333;\" href=\"https:\/\/blog.tubikstudio.com\/case-study-toonie-alarm-mascot-design-for-ui-interactions\/\">mascot design<\/a>\u00a0for Toonie Alarm<\/em><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Practical case study showing UI animation development for Toonie Alarm and unveiling the process how Tubik iOS developers create complex animated interactions.<\/p>\n","protected":false},"author":3,"featured_media":7663,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,4,7,9],"tags":[439,440,14,447,16,457,20,502,57,100,156,257,269,270,271,275,280,319,336],"coauthors":[],"class_list":["post-2406","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-animation","category-case_study","category-processes_and_tools","category-ui_ux","tag-toonie-alarm","tag-tubik","tag-alarm-app","tag-tubik-studio","tag-animation","tag-ui","tag-app-design","tag-ux","tag-case-study","tag-design","tag-designer","tag-interface","tag-ios-animation","tag-ios-animation-case-study","tag-ios-best-practices","tag-ios-development-case-study","tag-ios-services","tag-mobile-app","tag-motion-design"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Case Study: Toonie. UI Animation Development<\/title>\n<meta name=\"description\" content=\"Practical case study showing UI animation development for Toonie Alarm and unveiling the process how Tubik iOS developers create complex animated interactions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Case Study: Toonie. UI Animation Development\" \/>\n<meta property=\"og:description\" content=\"Practical case study showing UI animation development for Toonie Alarm and unveiling the process how Tubik iOS developers create complex animated interactions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/\" \/>\n<meta property=\"og:site_name\" content=\"Tubik Blog: Articles About Design\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-12T16:31:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-15T08:38:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie_alarm-app-design.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Marina Yalanska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marina Yalanska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/\",\"url\":\"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/\",\"name\":\"Case Study: Toonie. UI Animation Development\",\"isPartOf\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie_alarm-app-design.png\",\"datePublished\":\"2016-12-12T16:31:30+00:00\",\"dateModified\":\"2023-08-15T08:38:22+00:00\",\"author\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f\"},\"description\":\"Practical case study showing UI animation development for Toonie Alarm and unveiling the process how Tubik iOS developers create complex animated interactions.\",\"breadcrumb\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/#primaryimage\",\"url\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie_alarm-app-design.png\",\"contentUrl\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie_alarm-app-design.png\",\"width\":800,\"height\":600,\"caption\":\"toonie alarm app design\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/tubikstudio.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Case Study: Toonie. UI Animation Development\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#website\",\"url\":\"https:\/\/tubikstudio.com\/blog\/\",\"name\":\"Tubik Blog: Articles About Design\",\"description\":\"Tubik Studio\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/tubikstudio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f\",\"name\":\"Marina Yalanska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/image\/2ddde1c118fcf989ce8e73997a3909dd\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g\",\"caption\":\"Marina Yalanska\"},\"url\":\"https:\/\/tubikstudio.com\/blog\/author\/marina-yalanska\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Case Study: Toonie. UI Animation Development","description":"Practical case study showing UI animation development for Toonie Alarm and unveiling the process how Tubik iOS developers create complex animated interactions.","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:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/","og_locale":"en_US","og_type":"article","og_title":"Case Study: Toonie. UI Animation Development","og_description":"Practical case study showing UI animation development for Toonie Alarm and unveiling the process how Tubik iOS developers create complex animated interactions.","og_url":"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/","og_site_name":"Tubik Blog: Articles About Design","article_published_time":"2016-12-12T16:31:30+00:00","article_modified_time":"2023-08-15T08:38:22+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie_alarm-app-design.png","type":"image\/png"}],"author":"Marina Yalanska","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marina Yalanska","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/","url":"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/","name":"Case Study: Toonie. UI Animation Development","isPartOf":{"@id":"https:\/\/tubikstudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/#primaryimage"},"image":{"@id":"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie_alarm-app-design.png","datePublished":"2016-12-12T16:31:30+00:00","dateModified":"2023-08-15T08:38:22+00:00","author":{"@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f"},"description":"Practical case study showing UI animation development for Toonie Alarm and unveiling the process how Tubik iOS developers create complex animated interactions.","breadcrumb":{"@id":"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/#primaryimage","url":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie_alarm-app-design.png","contentUrl":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2018\/04\/toonie_alarm-app-design.png","width":800,"height":600,"caption":"toonie alarm app design"},{"@type":"BreadcrumbList","@id":"https:\/\/tubikstudio.com\/blog\/case-study-toonie-ui-animation-development\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/tubikstudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Case Study: Toonie. UI Animation Development"}]},{"@type":"WebSite","@id":"https:\/\/tubikstudio.com\/blog\/#website","url":"https:\/\/tubikstudio.com\/blog\/","name":"Tubik Blog: Articles About Design","description":"Tubik Studio","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tubikstudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/320206b0076eb11ea0c0d4d17012c36f","name":"Marina Yalanska","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/image\/2ddde1c118fcf989ce8e73997a3909dd","url":"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/630af235953a586b42ed17f9ea472b131bcde00719efc655984d63ca2078e7a2?s=96&d=mm&r=g","caption":"Marina Yalanska"},"url":"https:\/\/tubikstudio.com\/blog\/author\/marina-yalanska\/"}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/2406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/comments?post=2406"}],"version-history":[{"count":8,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/2406\/revisions"}],"predecessor-version":[{"id":14662,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/2406\/revisions\/14662"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/media\/7663"}],"wp:attachment":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/media?parent=2406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/categories?post=2406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/tags?post=2406"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/coauthors?post=2406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}