<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tutorial &#8211; Tumult Company Blog</title>
	<atom:link href="https://blog.tumult.com/category/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.tumult.com</link>
	<description>Updates and News about Tumult apps</description>
	<lastBuildDate>Thu, 19 Jan 2023 16:03:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://blog.tumult.com/wp-content/uploads/2021/02/cropped-favicon_hype_180-2021-1-32x32.png</url>
	<title>Tutorial &#8211; Tumult Company Blog</title>
	<link>https://blog.tumult.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Leveraging ChatGPT for Conversions and Pair Programming</title>
		<link>https://blog.tumult.com/2022/12/09/leveraging-chatgpt-for-animations-workflow-improvements-in-tumult-hype/</link>
		
		<dc:creator><![CDATA[Daniel Morgan]]></dc:creator>
		<pubDate>Fri, 09 Dec 2022 15:27:45 +0000</pubDate>
				<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://blog.tumult.com/?p=5569</guid>

					<description><![CDATA[Over the past week, we have been experimenting with ChatGPT, a highly advanced chatbot developed by OpenAI. Some may have observed ChatGPT&#8217;s ability to generate animations and visualizations in response to prompts related to animation libraries, or its capacity to produce lengthy code snippets based on simple prompts. Given these capabilities, we&#8217;ve been considering the &#8230;<p class="read-more"> <a class="" href="https://blog.tumult.com/2022/12/09/leveraging-chatgpt-for-animations-workflow-improvements-in-tumult-hype/"> <span class="screen-reader-text">Leveraging ChatGPT for Conversions and Pair Programming</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[
<p>Over the past week, we have been experimenting with <a href="https://chat.openai.com/chat">ChatGPT</a>, a highly advanced chatbot developed by OpenAI. Some may have observed ChatGPT&#8217;s ability to generate animations and visualizations in response to prompts related to animation libraries, or its capacity to produce lengthy code snippets based on simple prompts. Given these capabilities, we&#8217;ve been considering the potential benefits ChatGPT could offer to Tumult Hype users.</p>



<h2 class="wp-block-heading">Teaching ChatGPT about Hype&#8217;s JavaScript API</h2>



<p>Max Ziebell, a Tumult Hype power user and creator of several extensions, has posted a detailed method of training the ChatGPT mind on Hype&#8217;s JavaScript API. This method allows the AI to ask difficult questions and compose code for you. Max has also provided easy-to-copy snippets for teaching the API and encouraging the use of modern JavaScript practices and correct function formatting. In addition, he has requested that the AI include comments in its code responses. <a href="https://forums.tumult.com/t/using-chatgtp-to-answer-hype-coding-questions/22574">Check it out!</a></p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="1920" height="1357" src="https://blog.tumult.com/wp-content/uploads/2023/01/Hype-Chat-GPT.jpg" alt="" class="wp-image-5632" srcset="https://blog.tumult.com/wp-content/uploads/2023/01/Hype-Chat-GPT.jpg 1920w, https://blog.tumult.com/wp-content/uploads/2023/01/Hype-Chat-GPT-280x198.jpg 280w, https://blog.tumult.com/wp-content/uploads/2023/01/Hype-Chat-GPT-610x431.jpg 610w, https://blog.tumult.com/wp-content/uploads/2023/01/Hype-Chat-GPT-768x543.jpg 768w, https://blog.tumult.com/wp-content/uploads/2023/01/Hype-Chat-GPT-1536x1086.jpg 1536w" sizes="(max-width: 1920px) 100vw, 1920px" /></figure>



<h2 class="wp-block-heading">Easing Function Conversions</h2>



<p>There are so many ways ChatGPT may improve your life as an interaction designer, animator and programmer. One thing ChatGPT excels at is conversions: as long as it understand what format you&#8217;d like your code in and can give some guidance, the system can write code with pretty high accuracy.  <strong>Let&#8217;s say I want to add a new easing function to Hype</strong>&#8230; something like <a href="https://easings.net/#easeInOutBack">EaseInOutBack</a>, but you don&#8217;t want to use the easing animation editor, or figure out the complex mathematics. Hype&#8217;s easing function uses this format: </p>



<pre class="wp-block-code"><code>function (t, start, dur) {<br>return t / dur;<br>}</code></pre>



<p>Where <code>t</code> is the current time, <code>start</code> is the beginning of the animation, and <code>dur</code> is the total time. If we check out <a href="https://easings.net">https://easings.net</a>, a great resource for finding a wide range of functions for easings, we see that the easeInOutBack function typically uses this format: </p>



<pre class="wp-block-code"><code>function easeInOutBack(x: number): number {
const c1 = 1.70158;
const c2 = c1 * 1.525;

return x &lt; 0.5
  ? (Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2)) / 2
  : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2;
}</code></pre>



<p>If you want to convert this to Hype format using ChatGPT, you would simply ask this question: </p>



<figure class="wp-block-image size-full"><img decoding="async" width="1260" height="1920" src="https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-12-at-2.53.24-PM.png" alt="" class="wp-image-5615" srcset="https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-12-at-2.53.24-PM.png 1260w, https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-12-at-2.53.24-PM-184x280.png 184w, https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-12-at-2.53.24-PM-459x700.png 459w, https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-12-at-2.53.24-PM-768x1170.png 768w, https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-12-at-2.53.24-PM-1008x1536.png 1008w" sizes="(max-width: 1260px) 100vw, 1260px" /></figure>



<p></p>



<p>If you paste this selected code into Hype&#8217;s easing function editor, we get the same <strong>easeInOutBack</strong> animation: </p>



<figure class="wp-block-image size-full"><img decoding="async" width="1020" height="896" src="https://blog.tumult.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-12-at-11.25.29-AM.png" alt="" class="wp-image-5608" srcset="https://blog.tumult.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-12-at-11.25.29-AM.png 1020w, https://blog.tumult.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-12-at-11.25.29-AM-280x246.png 280w, https://blog.tumult.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-12-at-11.25.29-AM-610x536.png 610w, https://blog.tumult.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-12-at-11.25.29-AM-768x675.png 768w" sizes="(max-width: 1020px) 100vw, 1020px" /></figure>



<p>And depending on whether you apply this to the &#8216;top&#8217; or &#8216;left&#8217;, you&#8217;ll get something like this:</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" src="https://blog.tumult.com/wp-content/uploads/2022/12/1.gif" alt="" class="wp-image-5572" width="400" height="317"/></figure>



<p>For a deeper dive into easing functions in Tumult Hype, read this post: </p>



<figure class="wp-block-embed is-type-wp-embed is-provider-tumult-company-blog wp-block-embed-tumult-company-blog"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="pWsge2OB5e"><a href="https://blog.tumult.com/2018/04/02/advanced-timing-functions-and-easing-for-web-animations-with-tumult-hype/">Advanced Timing Functions and Easing for Web Animations with Tumult Hype</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;Advanced Timing Functions and Easing for Web Animations with Tumult Hype&#8221; &#8212; Tumult Company Blog" src="https://blog.tumult.com/2018/04/02/advanced-timing-functions-and-easing-for-web-animations-with-tumult-hype/embed/#?secret=pOEhG4Jjuo#?secret=pWsge2OB5e" data-secret="pWsge2OB5e" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<h2 class="wp-block-heading">Converting from jQuery to Vanilla JavaScript</h2>



<p>This example of converting an easing function to something usable in Hype&#8217;s timing function editor can extend to other useful conversions. Let&#8217;s say you wanted to use a jQuery function to select all elements with the class &#8216;myClass&#8217; but want to avoid embedding the full jQuery library. Simply ask for a &#8216;vanilla JavaScript&#8217; version, and ChatGPT will deliver a snippet you can paste in Hype&#8217;s JavaScript editor to run on the scene: </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1460" height="1078" src="https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-09-at-2.53.33-PM.png" alt="" class="wp-image-5591" srcset="https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-09-at-2.53.33-PM.png 1460w, https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-09-at-2.53.33-PM-280x207.png 280w, https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-09-at-2.53.33-PM-610x450.png 610w, https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-09-at-2.53.33-PM-768x567.png 768w" sizes="auto, (max-width: 1460px) 100vw, 1460px" /></figure>



<p></p>



<h2 class="wp-block-heading">A learning partner</h2>



<p>Beyond converting code for you, ChatGPT can help describe parts that you may not understand by adding code comments. If you encounter a useful code snippet on the <a href="https://forums.tumult.com">forums</a> or in our <a href="https://tumult.com/hype/documentation/">documentation</a> and need help understanding and adapting it for your own purpose, ChatGPT is a great learning partner. Once you load the Hype API <a href="https://forums.tumult.com/t/using-chatgtp-to-answer-hype-coding-questions/22574">using Max&#8217;s instructions</a>, you can ask it questions like the following: </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1488" height="1004" src="https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-12-at-11.44.59-AM.png" alt="" class="wp-image-5598" srcset="https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-12-at-11.44.59-AM.png 1488w, https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-12-at-11.44.59-AM-280x189.png 280w, https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-12-at-11.44.59-AM-610x412.png 610w, https://blog.tumult.com/wp-content/uploads/2022/12/Screenshot-2022-12-12-at-11.44.59-AM-768x518.png 768w" sizes="auto, (max-width: 1488px) 100vw, 1488px" /></figure>



<p>The above explanation is absolutely perfect, and shows a correct knowledge of the Hype API. We hope ChatGPT helps take your animations to new and more interesting places as you leverage this tool. </p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>New Hosting Option: Tiiny Host</title>
		<link>https://blog.tumult.com/2022/02/02/new-hosting-option-tiiny-host/</link>
		
		<dc:creator><![CDATA[Daniel Morgan]]></dc:creator>
		<pubDate>Wed, 02 Feb 2022 14:57:20 +0000</pubDate>
				<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://blog.tumult.com/?p=5368</guid>

					<description><![CDATA[We&#8217;ve just discovered a new place to quickly host your Tumult Hype animations. It&#8217;s called https://tiiny.host, and makes uploading your Hype exports to the web super easy. Get your animations on tiiny.host by just dragging over a zip file: Select File &#62; Export as HTML5 &#62; Folder Select your exported .html document and .hyperesources folder, &#8230;<p class="read-more"> <a class="" href="https://blog.tumult.com/2022/02/02/new-hosting-option-tiiny-host/"> <span class="screen-reader-text">New Hosting Option: Tiiny Host</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-image"><figure class="alignright size-full is-resized"><img loading="lazy" decoding="async" src="https://blog.tumult.com/wp-content/uploads/2022/02/bea0932a0f5516ece9c288c6e956aded213beb7c.png" alt="" class="wp-image-5370" width="240" height="81" srcset="https://blog.tumult.com/wp-content/uploads/2022/02/bea0932a0f5516ece9c288c6e956aded213beb7c.png 592w, https://blog.tumult.com/wp-content/uploads/2022/02/bea0932a0f5516ece9c288c6e956aded213beb7c-280x94.png 280w" sizes="auto, (max-width: 240px) 100vw, 240px" /></figure></div>



<p>We&#8217;ve just discovered a new place to quickly host your Tumult Hype animations. It&#8217;s called <a href="https://tiiny.host">https://tiiny.host</a>, and makes uploading your Hype exports to the web super easy. Get your animations on tiiny.host by just dragging over a zip file:</p>



<ol class="wp-block-list"><li>Select File &gt; Export as HTML5 &gt; Folder</li><li>Select your exported .html document and .hyperesources folder, right click, and select <strong>compress</strong> to add it to a zip file</li><li>Upload your zip file to tiiny.host. </li><li>Once uploaded you can choose your custom domain name, or use the built in tiiny.host domain.</li></ol>



<p>Here&#8217;s how it works:</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
<div style="width: 640px;" class="wp-video"><!--[if lt IE 9]><script>document.createElement('video');</script><![endif]-->
<video class="wp-video-shortcode" id="video-5368-1" width="640" height="360" preload="metadata" controls="controls"><source type="video/mp4" src="https://blog.tumult.com/wp-content/uploads/2022/01/helvetica-upload.mp4?_=1" /><a href="https://blog.tumult.com/wp-content/uploads/2022/01/helvetica-upload.mp4">https://blog.tumult.com/wp-content/uploads/2022/01/helvetica-upload.mp4</a></video></div>
</div></figure>



<p>This will generate a unique HTML page (or custom domain, if you&#8217;d like). The service is hosted on Amazon&#8217;s CDN, is free to try for a week, <a href="https://tiiny.host/pricing" data-type="URL" data-id="https://tiiny.host/pricing">but is $10/month for 5 sites</a>.</p>



<p><a href="https://forums.tumult.com/t/exporting-faq-guides-for-exporting-to-websites-apps-content-management-systems-and-more/799">For additional exporting guides, visit this page</a>. </p>
]]></content:encoded>
					
		
		<enclosure url="https://blog.tumult.com/wp-content/uploads/2022/01/helvetica-upload.mp4" length="27237108" type="video/mp4" />

			</item>
		<item>
		<title>Video: Supercharge Your Digital Magazines with InDesign + Hype + in5</title>
		<link>https://blog.tumult.com/2021/03/22/supercharge-your-digital-magazines-indesign-hype-in5-on-april-7th-2021/</link>
		
		<dc:creator><![CDATA[Daniel Morgan]]></dc:creator>
		<pubDate>Mon, 22 Mar 2021 20:15:35 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://blog.tumult.com/?p=5211</guid>

					<description><![CDATA[Update: The webinar replay can be watched here from the event on April 7th, 2021. This webinar, hosted by our friends at Ajar Productions (creators of the popular in5 plugin for InDesign), is geared towards interactive publishers who want to take their digital books to the next level. It covers embedding content in InDesign, exporting &#8230;<p class="read-more"> <a class="" href="https://blog.tumult.com/2021/03/22/supercharge-your-digital-magazines-indesign-hype-in5-on-april-7th-2021/"> <span class="screen-reader-text">Video: Supercharge Your Digital Magazines with InDesign + Hype + in5</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-image"><figure class="aligncenter is-resized"><img loading="lazy" decoding="async" src="https://blog.tumult.com/wp-content/uploads/2021/03/img3-scaled.jpg" alt="" class="wp-image-5216" width="549" height="337" srcset="https://blog.tumult.com/wp-content/uploads/2021/03/img3-scaled.jpg 2560w, https://blog.tumult.com/wp-content/uploads/2021/03/img3-280x172.jpg 280w, https://blog.tumult.com/wp-content/uploads/2021/03/img3-610x375.jpg 610w, https://blog.tumult.com/wp-content/uploads/2021/03/img3-768x472.jpg 768w, https://blog.tumult.com/wp-content/uploads/2021/03/img3-1536x944.jpg 1536w, https://blog.tumult.com/wp-content/uploads/2021/03/img3-2048x1259.jpg 2048w" sizes="auto, (max-width: 549px) 100vw, 549px" /></figure></div>



<p><strong>Update:</strong> The <a href="https://forums.tumult.com/t/webinar-with-ajar-productions-april-7th-2021/20440/8?u=daniel">webinar replay can be watched here</a> from the event on April 7th, 2021. </p>



<p>This webinar, hosted by our friends at <a href="https://ajarproductions.com/">Ajar Productions</a> (creators of the popular <a href="https://ajarproductions.com/pages/products/in5/">in5 plugin</a> for InDesign), is geared towards interactive publishers who want to take their digital books to the next level. It covers embedding content in InDesign, exporting with the powerful in5 plugin, and adding interactivity to your projects with Tumult Hype.  </p>



<p>This webinar will show you how to create sophisticated animation &amp; interactivity with Tumult Hype to level up your InDesign publication.<br>​<br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Learning Tumult Hype: 15 Lessons to Kickstart your Creative Journey</title>
		<link>https://blog.tumult.com/2020/10/28/learning-tumult-hype-15-lessons-to-kickstart-your-creative-journey-with-tumult-hype/</link>
		
		<dc:creator><![CDATA[Daniel Morgan]]></dc:creator>
		<pubDate>Wed, 28 Oct 2020 17:29:11 +0000</pubDate>
				<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://blog.tumult.com/?p=5029</guid>

					<description><![CDATA[This guide, created by animation and interaction design veterans Daniel Connerth &#38; Simon Widjaja, demonstrates hundreds of Hype features in a natural progression to introduce you to Tumult Hype&#8217;s animation, interaction, typography, and vector features. The PDF &#38; Epub guide includes 15 downloadable Hype files so you can follow along within Hype. If you don&#8217;t have &#8230;<p class="read-more"> <a class="" href="https://blog.tumult.com/2020/10/28/learning-tumult-hype-15-lessons-to-kickstart-your-creative-journey-with-tumult-hype/"> <span class="screen-reader-text">Learning Tumult Hype: 15 Lessons to Kickstart your Creative Journey</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image aligncenter is-resized"><img loading="lazy" decoding="async" src="https://blog.tumult.com/wp-content/uploads/2020/10/learning-tumult-hype-cover-scaled.jpg" alt="" class="wp-image-5043" width="465" height="578" srcset="https://blog.tumult.com/wp-content/uploads/2020/10/learning-tumult-hype-cover-scaled.jpg 2055w, https://blog.tumult.com/wp-content/uploads/2020/10/learning-tumult-hype-cover-225x280.jpg 225w, https://blog.tumult.com/wp-content/uploads/2020/10/learning-tumult-hype-cover-562x700.jpg 562w, https://blog.tumult.com/wp-content/uploads/2020/10/learning-tumult-hype-cover-768x957.jpg 768w, https://blog.tumult.com/wp-content/uploads/2020/10/learning-tumult-hype-cover-1233x1536.jpg 1233w, https://blog.tumult.com/wp-content/uploads/2020/10/learning-tumult-hype-cover-1644x2048.jpg 1644w" sizes="auto, (max-width: 465px) 100vw, 465px" /></figure>



<p>This guide, created by animation and interaction design veterans Daniel Connerth &amp; Simon Widjaja, demonstrates hundreds of Hype features in a natural progression to introduce you to Tumult Hype&#8217;s animation, interaction, typography, and vector features.</p>



<p>The PDF &amp; Epub guide includes 15 downloadable Hype files so you can follow along within Hype. If you don&#8217;t have Hype, <a href="https://tumult.com/hype/download/">download the 14 day trial</a> and grab this guide!</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button aligncenter"><a class="wp-block-button__link" href="https://blog.tumult.com/wp-content/uploads/2020/10/LearningTumultHypeProjectsPDF.zip">Download Guide + Example Projects</a></div>
</div>
</div>
</div>



<br><hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="wp-block-buttons alignwide is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button aligncenter"><a class="wp-block-button__link" href="https://blog.tumult.com/wp-content/uploads/2020/10/Learning%20Tumult%20Hype%20(EPUB).epub">Download EPub for iBooks</a></div>
</div>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"></div>



<p>For more downloadable Hype projects and tutorial videos, make sure you check out their other project <a href="https://richcontentdesign.com/tumult-hype/">RichContentDesign.com</a>.</p>



<p>Below are a few pages from the book:</p>



<figure class="wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.50.38-AM.png"><img loading="lazy" decoding="async" width="1768" height="2090" data-id="5035" src="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.50.38-AM.png" alt="" class="wp-image-5035" srcset="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.50.38-AM.png 1768w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.50.38-AM-237x280.png 237w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.50.38-AM-592x700.png 592w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.50.38-AM-768x908.png 768w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.50.38-AM-1299x1536.png 1299w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.50.38-AM-1732x2048.png 1732w" sizes="auto, (max-width: 1768px) 100vw, 1768px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.52.55-AM.png"><img loading="lazy" decoding="async" width="1696" height="2204" data-id="5038" src="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.52.55-AM.png" alt="" class="wp-image-5038" srcset="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.52.55-AM.png 1696w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.52.55-AM-215x280.png 215w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.52.55-AM-539x700.png 539w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.52.55-AM-768x998.png 768w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.52.55-AM-1182x1536.png 1182w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.52.55-AM-1576x2048.png 1576w" sizes="auto, (max-width: 1696px) 100vw, 1696px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.51.13-AM.png"><img loading="lazy" decoding="async" width="1726" height="2020" data-id="5034" src="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.51.13-AM.png" alt="" class="wp-image-5034" srcset="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.51.13-AM.png 1726w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.51.13-AM-239x280.png 239w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.51.13-AM-598x700.png 598w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.51.13-AM-768x899.png 768w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.51.13-AM-1312x1536.png 1312w" sizes="auto, (max-width: 1726px) 100vw, 1726px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.53.29-AM.png"><img loading="lazy" decoding="async" width="1650" height="2058" data-id="5039" src="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.53.29-AM.png" alt="" class="wp-image-5039" srcset="https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.53.29-AM.png 1650w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.53.29-AM-224x280.png 224w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.53.29-AM-561x700.png 561w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.53.29-AM-768x958.png 768w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.53.29-AM-1231x1536.png 1231w, https://blog.tumult.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-28-at-11.53.29-AM-1642x2048.png 1642w" sizes="auto, (max-width: 1650px) 100vw, 1650px" /></a></figure>
</figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Preview all your responsive layouts at once with Hype&#8217;s new Polypane integration</title>
		<link>https://blog.tumult.com/2020/06/15/preview-all-your-responsive-layouts-at-once-with-hypes-new-polypane-integration/</link>
		
		<dc:creator><![CDATA[Daniel Morgan]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 19:54:49 +0000</pubDate>
				<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://blog.tumult.com/?p=4924</guid>

					<description><![CDATA[Tumult Hype now previews directly to Polypane, a browser built with a huge suite of tools for developing and testing responsive web designs. Polypane will appear in the Preview dropdown if you have it installed: &#8230; and Polypane will load each layout at once: Here&#8217;s a quick video showing the tool in action: Tumult Hype &#8230;<p class="read-more"> <a class="" href="https://blog.tumult.com/2020/06/15/preview-all-your-responsive-layouts-at-once-with-hypes-new-polypane-integration/"> <span class="screen-reader-text">Preview all your responsive layouts at once with Hype&#8217;s new Polypane integration</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<p>Tumult Hype now previews directly to <a href="https://polypane.app/">Polypane</a>, a browser built with a huge suite of tools for developing and testing responsive web designs. Polypane will appear in the Preview dropdown if you have it installed:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-4925" src="https://blog.tumult.com/wp-content/uploads/2020/06/Screenshot-2020-06-15-at-3.48.23-PM-610x446.png" alt="" width="377" height="276" srcset="https://blog.tumult.com/wp-content/uploads/2020/06/Screenshot-2020-06-15-at-3.48.23-PM-610x446.png 610w, https://blog.tumult.com/wp-content/uploads/2020/06/Screenshot-2020-06-15-at-3.48.23-PM-280x205.png 280w, https://blog.tumult.com/wp-content/uploads/2020/06/Screenshot-2020-06-15-at-3.48.23-PM.png 766w" sizes="auto, (max-width: 377px) 100vw, 377px" /></p>
<p>&#8230; and Polypane will load each layout at once:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-4933" src="https://blog.tumult.com/wp-content/uploads/2020/06/Screenshot-2020-06-15-at-4.11.21-PM-610x579.png" alt="" width="610" height="579" srcset="https://blog.tumult.com/wp-content/uploads/2020/06/Screenshot-2020-06-15-at-4.11.21-PM-610x579.png 610w, https://blog.tumult.com/wp-content/uploads/2020/06/Screenshot-2020-06-15-at-4.11.21-PM-280x266.png 280w, https://blog.tumult.com/wp-content/uploads/2020/06/Screenshot-2020-06-15-at-4.11.21-PM-768x729.png 768w, https://blog.tumult.com/wp-content/uploads/2020/06/Screenshot-2020-06-15-at-4.11.21-PM-1536x1458.png 1536w, https://blog.tumult.com/wp-content/uploads/2020/06/Screenshot-2020-06-15-at-4.11.21-PM.png 2044w" sizes="auto, (max-width: 610px) 100vw, 610px" /></p>
<p>Here&#8217;s a quick video showing the tool in action:</p>
<p><div class="ast-oembed-container" style="height: 100%;"><iframe loading="lazy" title="Previewing Responsive Tumult Hype Documents in Polypane" width="900" height="506" src="https://www.youtube.com/embed/Dq0NuupcG48?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div></p>


<p><strong>Tumult Hype 4.0.6 Update:</strong> Layouts in your Hype document are now used for Polypane previews and sending a new preview to Polypane will reload the page in an existing tab if a preview already exists.</p>
<p><strong>Polypane Update:</strong> Read their <a href = "https://polypane.app/blog/polypane-&#x2764;-tumult-hype-new-integration/">blog post</a> and watch the <a href ="https://www.youtube.com/watch?v=rJ3ON_oSL_g">video</a> about the new integration</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DesignLab video shows top reasons for using Tumult Hype</title>
		<link>https://blog.tumult.com/2018/11/16/designlab-video-shows-top-reasons-for-using-tumult-hype/</link>
		
		<dc:creator><![CDATA[Jonathan Deutsch]]></dc:creator>
		<pubDate>Fri, 16 Nov 2018 23:09:08 +0000</pubDate>
				<category><![CDATA[Featured Work]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://blog.tumult.com/?p=4399</guid>

					<description><![CDATA[Our friends over at the DesignLab YouTube channel just posted a video showing excellent points about why to use Hype:]]></description>
										<content:encoded><![CDATA[<p>Our friends over at the <a href="https://www.youtube.com/channel/UCcUekOfFR7-6n8D1xPihwIg" rel="noopener" target="_blank">DesignLab YouTube</a> channel just posted a video showing excellent points about why to use Hype:</p>
<div class="ast-oembed-container" style="height: 100%;"><iframe loading="lazy" title="10 Reasons for using Tumult Hype - Animation and Interactivity Series" width="900" height="506" src="https://www.youtube.com/embed/YoWI0EtnFDw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Advanced Timing Functions and Easing for Web Animations with Tumult Hype</title>
		<link>https://blog.tumult.com/2018/04/02/advanced-timing-functions-and-easing-for-web-animations-with-tumult-hype/</link>
		
		<dc:creator><![CDATA[Jonathan Deutsch]]></dc:creator>
		<pubDate>Mon, 02 Apr 2018 15:12:55 +0000</pubDate>
				<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://blog.tumult.com/?p=4245</guid>

					<description><![CDATA[Animation can roughly be defined as showing successive images or frames to give the illusion of smooth changes. Instead of producing every frame by hand, modern web animation tools like Tumult Hype let an animator create keyframes (generally start and stop points) and the computer dynamically fills in all the inbetween frames. How the computer &#8230;<p class="read-more"> <a class="" href="https://blog.tumult.com/2018/04/02/advanced-timing-functions-and-easing-for-web-animations-with-tumult-hype/"> <span class="screen-reader-text">Advanced Timing Functions and Easing for Web Animations with Tumult Hype</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<p>Animation can roughly be defined as showing successive images or <strong>frames</strong> to give the illusion of smooth changes. Instead of producing every frame by hand, modern web animation tools like <a href="http://tumult.com/hype/">Tumult Hype</a> let an animator create <strong>keyframes</strong> (generally start and stop points) and the computer dynamically fills in all the <strong>inbetween frames</strong>. How the computer decides to generate these frames can affect a viewer’s attention and emotional connection. This article explores a critical piece of generated animations, the <strong>Timing Function</strong>, and how to make best use of Tumult Hype’s advanced timing function editor for your animations.</p>
<p>Before reading, the first step is to <a href="https://tumult.com/hype/download/">download Tumult Hype</a>. The trial is fully functional for 14 days. Tumult Hype has two flavor modes: Standard and Professional. For making custom timing functions (and following along with this article!), you’ll want to use Hype Professional.</p>
<h2 id="linearandeasingtimingfunctions">Linear and Easing Timing Functions</h2>
<p>Let’s say you want to animate a box moving across the screen. Over the course of two seconds you will have it move 300 pixels to the left. In generating an animation, the computer needs to determine the position of the box in time, and this is the role of the timing function. The most basic of these is <strong>linear interpolation</strong>, which divides evenly the distance by the number of frames. Thus a 30 frames-per-second animation would have each step move the box 5 pixels, as 300px / (2s * 30fps) = 5px. This successfully creates an animation:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-163899 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519641640linear-timing-function.gif" alt="Linear Timing Function" width="450" height="80" /></p>
<p>To be subjective, this animation is bland! It moves without any natural physicality or weight. A viewer’s eyes must catch up to the speed the box is moving and then will likely overshoot their gaze when the animation abruptly ends. The most common solution is to apply a basic acceleration and deceleration to the box. This timing function is called <strong>Ease In Out</strong>:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-163900 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519641720ease-in-out.gif" alt="Ease In Out" width="450" height="80" /></p>
<p>This looks better, and is the most common choice for animations. It is the default timing function in Tumult Hype and most other animation tools for good reason.</p>
<h2 id="representationoftimingfunctions">Representation of Timing Functions</h2>
<p>To be more precise, a timing function inputs the value of time (x) and outputs a value of the animated property (y). Recalling back to middle school algebra, <code>f(x) = y</code>-style functions are a form that can be represented on a 2D graph. The basic linear timing function looks as one might expect, a line:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-163901 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519641789linear-graph.gif" alt="Linear Timing Function graph" width="280" height="280" /></p>
<p>Ease In Out is a gentle curve which shows how it will start and end at slower speeds:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-163902 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519641849ease-in-out-graph.gif" alt="Ease In Out graph" width="280" height="280" /></p>
<p>This timing function is created with the mathematics of a <a href="https://en.wikipedia.org/wiki/B%C3%A9zier_curve">cubic Bézier curve</a>. By changing the control points affecting curvature, different acceleration and decelerations can be achieved:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-163903 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519641907different-easings.png" alt="Easings graphs" width="800" height="260" /></p>
<p>The property values can even dip below the minimum value or above the maximum value, creating anticipation and overshoot timing functions:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-163904 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519641963reverse-back.gif" alt="Reverse Back graph" width="280" height="280" /><img loading="lazy" decoding="async" class="size-full wp-image-163905 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519642012back.gif" alt="Back graph" width="280" height="280" /></p>
<p>Tumult Hype offers more power yet: several bézier curves can be combined to form multi-curve paths. These can be used for a variety of effects such as bouncing or elasticity:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-163906 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519642060bounce.gif" alt="Bounce graph" width="280" height="280" /><img loading="lazy" decoding="async" class="size-full wp-image-163907 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519642101elastic.gif" alt="Elastic graph" width="280" height="280" /></p>
<h2 id="generalreasoningforfocusingontimingfunctionsinyouranimations">General Reasoning for Focusing on Timing Functions in Your Animations</h2>
<p>Nature does not move mechanically like the linear timing function above. Timing functions like easing therefore serve a critical role in humanizing the elements you are animating. This helps present information cleanly and clearly. It directs focus.</p>
<p>Good timing helps give meaning to animations. It turns lifeless shapes into reality. Some can help convey emotion which is critical to branding. Other timings can entertain and engage.</p>
<p>The movement of “inanimate” objects is governed more by physics. “Animate” objects are governed by their own thoughts and emotions. Both styles can be modeled with timing functions.</p>
<h2 id="applyingtimingfunctionsintumulthype">Applying Timing Functions in Tumult Hype</h2>
<p>Editing the timing function of an animation in Tumult Hype is easy. Step zero is making the animation, so if you’re unfamiliar check out the <a href="http://tumult.com/hype/tutorials/">tutorials</a> and <a href="http://tumult.com/hype/documentation/3.0/">documentation</a>.</p>
<p>To adjust a single animation’s timing function, you can double-click the animation indicator bar between keyframes in the per-property area:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-163908 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519642186single-animation-timing-function-pop-up.png" alt="Single Animation Timing Function Pop Upp" width="400" height="274" /></p>
<p>If multiple animations are selected, you can use the Timing Function Pop Up Button on the right side of the timeline interface:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-163909 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519642253multiple-animation-timing-function-pop-up.png" alt="Multiple Animation Timing Function Pop Up" width="588" height="298" /></p>
<p>When no animations are selected, the default timing function is shown as the title of the timing function pop up button.</p>
<p>In <a href="http://tumult.com/hype/pro/">Hype Professional</a>, this interface allows for manipulating control points and adding new points on the curve to form your own custom timing functions. Timing functions can be named so they are saved for future use in the Hype document. They can also be set as the default timing function for any new animations:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-163910 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519642319edit-timing-functions.gif" alt="Saving Timing Functions and Setting as Default" width="600" height="500" /></p>
<p>This editor is similar to other vector editing apps. Here’s the cheat sheet to manipulate control points:</p>
<ul>
<li>Click on curve: add new point</li>
<li>Delete key: remove control point</li>
<li>Option-Click: Convert to angled vertex</li>
<li>Option-Drag: drag out new control points</li>
<li>Option (while dragging control point): mirrored</li>
<li>Command (while dragging control point): disconnected</li>
<li><em>none</em> (just dragging control point): Asymmetric</li>
<li>Shift (while dragging control point): Keep at 45° angles</li>
</ul>
<h2 id="practicaltipsforusingtimingfunctions">Practical Tips for Using Timing Functions</h2>
<ul>
<li>Crafting and choosing timing functions is a skill, experience will make one better.</li>
<li>Let your animation “rest” by going a few days without looking at it, and see if you still like it when you come back. Or get feedback from peers.</li>
<li>Looped animations should generally use a Linear timing function. Ease-based timing functions would create a stop point or jump at the start of the loop cycle.</li>
<li>Avoid significant Easing In (slow acceleration) with animations that were triggered by user actions as it will feel sluggish.</li>
<li>Overshoot (Back) and Anticipation (Reverse Back) can be effects that can look glorious, but often this goes against the purpose of an animation of helping a viewer associate actions. Further, these can waste a user’s time since they tend to take longer. Use sparingly.</li>
<li>It can be good to experiment with using the same animation durations and different timing functions for more visual intrigue or to express differing weight/inertia. That said, unless animating from natural models or characters, it is better to not go overboard with too many different timing functions. Don’t forget to also experiment with staggering animation start times or slightly changing duration instead.</li>
<li>Just as visuals often have a spec controlling line weights and color palettes, it is good to come up with a design language for animations including durations and timing functions used, along with rationale for what circumstances to choose which timing function.</li>
<li>Observe nature and understand the mathematics of gravity/physics as this can help inform how to compose animations. For example, to make a bouncing object, the Y value should use the Bounce timing function. The X value should have a linear timing function because there are no forces acting on that axis. Even if well understood, sometimes it is just easier to use a <a href="http://tumult.com/hype/documentation/3.0/#physics">physics engine</a>.</li>
<li>Get inspiration from nature or from master animators:
<ul>
<li><a href="https://www.amazon.com/Timing-Animation-John-Halas/dp/0240521609">Timing for Animation</a> by John Halas and Harold Whitaker</li>
<li><a href="https://www.amazon.com/Animators-Survival-Kit-Principles-Classical/dp/086547897X">The Animator’s Survival Kit</a> by Richard Williams</li>
</ul>
</li>
</ul>
<h2 id="conclusion">Conclusion</h2>
<p>Manipulating timing functions is an advanced step in creating meaningful animations. They can help both model physics, emotion, or simply reduce keyframe construction. Tumult Hype’s custom timing function editor gives power and flexibility to help make your best animations.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Visual Ad Creation Workflow with Tumult Hype</title>
		<link>https://blog.tumult.com/2018/03/26/visual-ad-creation-workflow-with-tumult-hype/</link>
		
		<dc:creator><![CDATA[Jonathan Deutsch]]></dc:creator>
		<pubDate>Mon, 26 Mar 2018 16:58:54 +0000</pubDate>
				<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://blog.tumult.com/?p=4229</guid>

					<description><![CDATA[The goal of this article is to show how to create a rich media advertisement with Tumult Hype. It covers the basics of using the app in the context of building an ad and discusses ad-specific tips and tricks. By the end of reading you’ll be able to make HTML5 ads quickly and beautifully! The &#8230;<p class="read-more"> <a class="" href="https://blog.tumult.com/2018/03/26/visual-ad-creation-workflow-with-tumult-hype/"> <span class="screen-reader-text">Visual Ad Creation Workflow with Tumult Hype</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<p>The goal of this article is to show how to create a rich media advertisement with Tumult Hype. It covers the basics of using the app in the context of building an ad and discusses ad-specific tips and tricks. By the end of reading you’ll be able to make HTML5 ads quickly and beautifully!</p>
<h3 id="toc_0">The Rise of HTML5 Ads</h3>
<p>It is well known that adding animation and interactivity in digital advertising makes ads more effective. Beyond catching visitors’ eyes, rich media ads can better convey the product or branding as well as add engagements leading to more clicks.</p>
<p>As rich media ads are visual in nature, it makes sense to build them using visual tools. Changes are seen immediately. Adobe’s Flash reigned as king of the visual ad creation tools for years, but has been toppled by HTML5’s compatibility on mobile devices. As a technology, HTML5 ads have the additional advantage of often being more accessible while having lower power requirements. But HTML5 itself is just a markup language and has no inherently included visual tools, as Flash did with the Flash Professional app. Building ads via hand coding would be a laboriously slow process. Luckily, there are now sophisticated visual tools that can output HTML5.</p>
<h3 id="toc_1">Tumult Hype is Your Visual Design Tool</h3>
<p><a href="https://tumult.com/hype/">Tumult Hype</a> is the leading HTML5 animation and interactivity app for macOS. Hype’s raison d’etre is to be easy to use and quick to learn. Layout is similar to Keynote, and per-property animation keyframes can be automatically created with its quick “Record” functionality. Hype provides a powerful set of animation features, such as animation along curved motion paths, customizable easings/timing functions, simultaneously running timelines, and encapsulated reusable symbols. Coding is not required for most common interactivity, although JavaScript actions can extend its capabilities by integrating with other libraries and services.</p>
<p>While Tumult Hype can be used for a wide range of HTML5 content, it is especially capable for rich media ad creation. A plug-in system, called “Export Scripts”, can integrate ad platform features and help package its export output for delivery. Advanced Export functionality can further help automate export tasks. Hype’s runtime library is very small with a compressed size of 25KB, giving plenty of room for your assets. This runtime drives the animations and manages browser compatibility issues (though the app still gives warnings if a feature won’t work on specific browsers).</p>
<h3 id="toc_2">The Ad Creation Workflow with Tumult Hype</h3>
<h4 id="toc_3">Grab Tumult Hype and an Export Script</h4>
<p>Step zero is to <a href="https://tumult.com/hype/download/">download Tumult Hype</a>. The trial is fully functional for 14 days. Tumult Hype has two flavor modes: Standard and Professional. For ad creation (and following along with this article!), you’ll want to use Hype Professional.</p>
<p>You can then optionally <a href="https://tumult.com/hype/export-scripts/">grab an Export Script</a>, which will augment Hype with extra ad-related features. Currently there are scripts for Sizmek, DoubleClick Studio, and DoubleClick Campaign Manager. If you are using a different ad platform, the steps are usually straightforward to adapt the standard output.</p>
<p>You can verify an Export Script has been installed by looking within Hype’s Preferences. Export Scripts may also have options that are show in the <strong>Document Inspector</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4230" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519638900arguments.png" alt="1519638900arguments.png" width="317" height="341" srcset="https://blog.tumult.com/wp-content/uploads/2018/03/1519638900arguments.png 317w, https://blog.tumult.com/wp-content/uploads/2018/03/1519638900arguments-260x280.png 260w" sizes="auto, (max-width: 317px) 100vw, 317px" /></p>
<h4 id="toc_4">Choosing an Ad Size</h4>
<p>After launching Hype, you’ll want to set the scene size to match the ad you are creating. This can be done in the <strong>Scene Inspector</strong> by setting the width and height, or choosing one of the Preset Sizes. Hype contains presets for common ads banners and rectangles.</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4231" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519638999ad-size.png" alt="1519638999ad-size.png" width="299" height="224" srcset="https://blog.tumult.com/wp-content/uploads/2018/03/1519638999ad-size.png 299w, https://blog.tumult.com/wp-content/uploads/2018/03/1519638999ad-size-280x210.png 280w" sizes="auto, (max-width: 299px) 100vw, 299px" /><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4232" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519639046presets.png" alt="1519639046presets.png" width="139" height="220" /></p>
<p>If your ad will have different size representations, you could make use of the <a href="https://tumult.com/hype/documentation/3.0/#responsive-layouts">Responsive Layout</a> and <a href="https://tumult.com/hype/documentation/3.0/#flexible-layout">Flexible Layout</a> systems. Responsive Layout allows different content that is shown on width-based breakpoints. They can later be individually exported. The Flexible Layout system will adjust element positions and sizes based on container dimensions.</p>
<h4 id="toc_5">Importing Assets</h4>
<p>Tumult Hype has basic shape and text primitives, but it is most likely you’ll be importing image assets from another program like Photoshop, Illustrator, or Sketch. These can simply be dragged to the scene editor or added via the <strong>Insert…</strong> menu item. Hype keeps a copy of the assets but will ask to update if it notices changes on the original to help when iterating.</p>
<p>You can later find assets in the <strong>Resource Library</strong>. One of the options here is to <strong>Automatically optimize when exporting</strong>. This feature is enabled by default and automates a few tasks:</p>
<ol>
<li>Generates retina (@2x) and non-retina (@1x) variants of the images (the Hype runtime chooses which to load)</li>
<li>Reduces image sizes to the maximum dimensions used in the document</li>
<li>Attempts to compress images when feasible and if there is a file size improvement</li>
<li>Converts non web-safe image formats</li>
</ol>
<p>While this is generally useful, it may work against file size goals for your ad. For example, overall ad file size is usually measured from the zip and not actual contents downloaded — as such having both retina and non-retina variants will add weight. Also you may be able to do better at visual compression quality or size than Hype can do in an automated fashion (using a tool like <a href="https://imageoptim.com/mac">ImageOptim</a>). You may need to uncheck this box.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4233" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519639127resource-library-options.png" alt="1519639127resource-library-options.png" width="360" height="277" srcset="https://blog.tumult.com/wp-content/uploads/2018/03/1519639127resource-library-options.png 360w, https://blog.tumult.com/wp-content/uploads/2018/03/1519639127resource-library-options-280x215.png 280w" sizes="auto, (max-width: 360px) 100vw, 360px" /></p>
<p>Regardless, bitmap-based assets can add up fast. You may want to consider using SVGs, which are widely supported by browsers. Hype treats these as images, yet won’t attempt to optimize them.</p>
<p>As a side note, IAB recommends no more than 15 initially loaded assets to help keep pages lean.</p>
<h4 id="toc_6">Animating 101</h4>
<p>Once elements have been created by dragging in assets or inserting text/shapes, they can be animated easily with these steps:</p>
<ol>
<li>Hit the <strong>Record</strong> button</li>
<li>Drag the playhead to a later time</li>
<li>Change the position of the element or modify any other properties (like Opacity)</li>
</ol>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4234" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519639191animation.gif" alt="1519639191animation.gif" width="500" height="326" /></p>
<p>Recording is a UI shortcut for adding per-property keyframes. You can always manually create or edit them. This includes changing their timing functions to different easings or effects like elasticity and bounce-back. Position animations can be further refined by dragging a motion path to be shaped into curves.</p>
<p>A timeline in Hype can be thought of as a stream of animations. A scene in Hype always has at least one timeline — the Main Timeline. Multiple timelines can be created and run in parallel. This is often useful to animate specific elements in response to actions, or to maintain looping.</p>
<p>Symbols can play a similar role – they represent reusable “scenes within a scene” and contain their own elements and independently running timeline animations. Like other apps with Symbols, a change in one instance will be reflected in all other instances.</p>
<h4 id="toc_7">Adding Interactivity and Actions</h4>
<p>The beauty of choosing HTML5 over a video/animated GIF is that it allows for interactivity and engagement with users. Interactivity is a response to an event. These events could be mouse clicks, drags, swipes, scene loads, waypoint hits, or even key presses. The action response depends on the goals of the creative. You may want to kickoff animations, bind animations to a drag, change scenes, or even trigger custom code. Within the realm of ads, typical tasks would be having a button click go to an external URL (also called an “Exit”) or triggering counters that can be reported back to the ad server.</p>
<p>Interactivity can be created without the need for code in most cases. These are the basic steps for running an animation in response to a mouse click:</p>
<ol>
<li>Select an element</li>
<li>Go to the <strong>Actions Inspector</strong> and press the <strong>+</strong> next to <strong>On Mouse Click</strong></li>
<li>Choose <strong>Start Timeline…</strong> for the action and select <strong>New Timeline…</strong> in the Timeline popup button</li>
<li>Name the timeline and then create animations</li>
</ol>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4235" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519639248actions-inspector.png" alt="1519639248actions-inspector.png" width="301" height="362" srcset="https://blog.tumult.com/wp-content/uploads/2018/03/1519639248actions-inspector.png 301w, https://blog.tumult.com/wp-content/uploads/2018/03/1519639248actions-inspector-233x280.png 233w" sizes="auto, (max-width: 301px) 100vw, 301px" /></p>
<p>Export Scripts also can provide ad-specific actions that can be chosen in response to events. These will appear in the same Action popup list.</p>
<p>Additionally, the <strong>Run JavaScript…</strong> action can be used for any custom code, including invoking ad-related functions or calling the <a href="https://tumult.com/hype/documentation/3.0/#api-functions">Hype API</a>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4236" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519639301ad-actions.png" alt="1519639301ad-actions.png" width="302" height="399" srcset="https://blog.tumult.com/wp-content/uploads/2018/03/1519639301ad-actions.png 302w, https://blog.tumult.com/wp-content/uploads/2018/03/1519639301ad-actions-212x280.png 212w" sizes="auto, (max-width: 302px) 100vw, 302px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4237" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519639336exit-override.png" alt="1519639336exit-override.png" width="320" height="153" srcset="https://blog.tumult.com/wp-content/uploads/2018/03/1519639336exit-override.png 320w, https://blog.tumult.com/wp-content/uploads/2018/03/1519639336exit-override-280x134.png 280w" sizes="auto, (max-width: 320px) 100vw, 320px" /></p>
<h4 id="toc_8">Previewing</h4>
<p>It is important to preview an ad frequently while building to ensure that final animations and interactivity behave as you intend. The Preview menu allows for quickly changing between different browsers on your computer. If you hold down the option key, you can preview the specific scene/layout that is currently selected in Hype. Hype can also preview to an iOS device using the free  app.</p>
<p>If you are using an Export Script, its output can be included in the Preview as well. To do this, open the Preview menu and check a script underneath <strong>Preview Using Export Script</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4238" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519639388preview-menu.png" alt="1519639388preview-menu.png" width="394" height="383" srcset="https://blog.tumult.com/wp-content/uploads/2018/03/1519639388preview-menu.png 394w, https://blog.tumult.com/wp-content/uploads/2018/03/1519639388preview-menu-280x272.png 280w" sizes="auto, (max-width: 394px) 100vw, 394px" /></p>
<h4 id="toc_9">Exporting and Delivery</h4>
<p>Once your ad is complete, you’ll want to export for final delivery. The <strong>File &gt; Export as HTML5</strong> menu contains the <strong>Folder…</strong> option, which produced the default  .html page and corresponding folder of resources. This menu also provides any Export Script-provided options. These will automate packaging, generally stripping unnecessary resources and compressing to a single .zip file.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4239" src="https://blog.tumult.com/wp-content/uploads/2018/03/1519639446export-as-html5.png" alt="1519639446export-as-html5.png" width="656" height="515" srcset="https://blog.tumult.com/wp-content/uploads/2018/03/1519639446export-as-html5.png 656w, https://blog.tumult.com/wp-content/uploads/2018/03/1519639446export-as-html5-280x220.png 280w, https://blog.tumult.com/wp-content/uploads/2018/03/1519639446export-as-html5-610x479.png 610w" sizes="auto, (max-width: 656px) 100vw, 656px" /></p>
<p>For further automation, you may want to use the <strong>File &gt; Advanced Export…</strong> tool. This can split an ad into specific scenes or layouts, and also make use Export Scripts.  <strong>File &gt; Export as Movie</strong> provides some static image/video options if need be, too.</p>
<h3 id="toc_10">Conclusion</h3>
<p>Those are the primary steps for creating a rich media HTML5 ad with Tumult Hype! As a visual tool, Hype can significantly speed up the creation and iteration process without limiting in features or functionality. The ad-specific workflow features in Export Scripts automate many common tasks for digital ad production. These Export Scripts can be built or modified by anyone, so if there’s an ad system or automation that doesn’t exist you are free to <a href="https://github.com/tumult/hype-export-scripts/blob/master/README.md">build it</a>!</p>
<p>If you’re interested in learning more, there’s <a href="https://tumult.com/hype/documentation/">documentation</a> and <a href="https://tumult.com/hype/tutorials/">tutorials</a> on the Tumult site. Hype is available for a <a href="https://tumult.com/hype/download/">14-day fully functional trial</a> and costs $99.99 USD for the full Professional version.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Easy Embedding HTML5 Animations in WordPress with the official Hype Animations Plugin</title>
		<link>https://blog.tumult.com/2018/01/19/easy-embedding-html5-animations-in-wordpress-with-the-official-hype-animations-plugin/</link>
		
		<dc:creator><![CDATA[Daniel Morgan]]></dc:creator>
		<pubDate>Fri, 19 Jan 2018 19:06:17 +0000</pubDate>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[infographic]]></category>
		<category><![CDATA[tutorial]]></category>
		<guid isPermaLink="false">https://blog.tumult.com/?p=4191</guid>

					<description><![CDATA[In this post, I’d like to introduce a new WordPress plugin for embedding interactive and animated content in WordPress: Tumult Hype Animations for WordPress. For a quick walkthrough of how to use this plugin, watch this video. If you&#8217;re not familiar, Tumult Hype is a powerful tool for building advanced interactive and animated content that works &#8230;<p class="read-more"> <a class="" href="https://blog.tumult.com/2018/01/19/easy-embedding-html5-animations-in-wordpress-with-the-official-hype-animations-plugin/"> <span class="screen-reader-text">Easy Embedding HTML5 Animations in WordPress with the official Hype Animations Plugin</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4196" src="https://blog.tumult.com/wp-content/uploads/2018/01/wp-leading-image.jpg" alt="wp-leading-image.jpg" width="1365" height="978" srcset="https://blog.tumult.com/wp-content/uploads/2018/01/wp-leading-image.jpg 1365w, https://blog.tumult.com/wp-content/uploads/2018/01/wp-leading-image-280x201.jpg 280w, https://blog.tumult.com/wp-content/uploads/2018/01/wp-leading-image-610x437.jpg 610w" sizes="auto, (max-width: 1365px) 100vw, 1365px" /></p>
<p>In this post, I’d like to introduce a new WordPress plugin for embedding interactive and animated content in WordPress: <a href="https://wordpress.org/plugins/tumult-hype-animations/">Tumult Hype Animations for WordPress</a>. For a quick walkthrough of how to use this plugin, <a href="https://www.youtube.com/watch?v=k6nydfxsl7g">watch this video</a>.</p>
<p>If you&#8217;re not familiar, <a href="http://tumult.com/hype/">Tumult Hype</a> is a powerful tool for building advanced interactive and animated content that works on any device. When you open Tumult Hype for the first time, you&#8217;re greeted by a blank canvas with a timeline below. Content you add to your scene can easily be animated using the record button and manipulating the timeline. As you explore the program you&#8217;ll find powerful features for a range of interactive production: motion curves, custom easing transitions, touch gestures, web font support, audio actions, a powerful physics engine, and responsive layout features.</p>
<p>The Hype Animations plugin for WordPress makes integrating your HTML5 animations in your WordPress blog a painless drag &amp; drop process. The plugin can be installed and activated in a minute from the WordPress Plugin repository by searching for &#8216;<a href="https://wordpress.org/plugins/tumult-hype-animations/">Tumult Hype Animations</a>.&#8217; Installing the plugin allows you to add exported Tumult Hype animations to posts and pages using simple textual shortcodes. You can update previously-uploaded animations from the plugin&#8217;s administration page and copy the full embed code to place your animation elsewhere (outside of WordPress, even). This allows you optionally leverage your WordPress site as a simple hosting platform for your Hype animations.</p>
<p>Let’s say you’re building an interactive map you want to keep updated on a regular WordPress page. Instead of just reuploading a static PDF, you can quickly create an interactive map in Tumult Hype. To start, create a Tumult Hype document with a width as the maximum size of your blog’s width. If you have a responsive theme, you can even have your animation expand and contact with your theme. If you&#8217;d like to test this process out, download an unrestricted (<a href="http://tumult.com/hype/pro">14 day trial here</a>). In the example below, our maximum blog post width is 463 pixels wide, so our scene size is set to that number:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-4197 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/01/wp-plugin-map.png" alt="wp-plugin-map.png" width="790" height="595" srcset="https://blog.tumult.com/wp-content/uploads/2018/01/wp-plugin-map.png 790w, https://blog.tumult.com/wp-content/uploads/2018/01/wp-plugin-map-280x211.png 280w, https://blog.tumult.com/wp-content/uploads/2018/01/wp-plugin-map-610x459.png 610w" sizes="auto, (max-width: 790px) 100vw, 790px" /></p>
<p>Next, you can build out interactive features in your document: setup your document to respond to mouse hovers, update any road closures, and create any type of interactivity to make the map more interesting and useful. Once you&#8217;re happy with your document and you&#8217;ve previewed it using the built-in browser preview and the free mobile preview app <a href="http://tumult.com/hype/reflect/">Hype Reflect</a>, the next step is to prepare it for the WordPress plugin.</p>
<p>Packing up a Hype animation for the plugin is simple. The plugin requires animations are first exported in the OAM format, which creates a zipped package containing all JavaScript, media, and code required to display your animation. This is the same format for embedding in applications like Adobe Muse. To export in this format, select File &gt; Export as HTML5 &gt; Export as OAM file. Switching over to your WordPress site, start a new Page or Post. With the plugin installed, click the new &#8216;Hype Animations&#8217; button to the right of the Add Media button:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-4199 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/01/wp-plugin-button.png" alt="wp-plugin-button.png" width="1099" height="188" srcset="https://blog.tumult.com/wp-content/uploads/2018/01/wp-plugin-button.png 1099w, https://blog.tumult.com/wp-content/uploads/2018/01/wp-plugin-button-280x48.png 280w, https://blog.tumult.com/wp-content/uploads/2018/01/wp-plugin-button-610x104.png 610w" sizes="auto, (max-width: 1099px) 100vw, 1099px" /></p>
<p>Drag and drop your OAM file on the resulting overlay, and your animation will upload, and the plugin will generate a shortcode and automatically add it your post or page:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-4200 aligncenter" src="https://blog.tumult.com/wp-content/uploads/2018/01/wp-side-by-side.png" alt="wp-side-by-side.png" width="1990" height="622" srcset="https://blog.tumult.com/wp-content/uploads/2018/01/wp-side-by-side.png 1990w, https://blog.tumult.com/wp-content/uploads/2018/01/wp-side-by-side-280x88.png 280w, https://blog.tumult.com/wp-content/uploads/2018/01/wp-side-by-side-610x191.png 610w" sizes="auto, (max-width: 1990px) 100vw, 1990px" /></p>
<p><img loading="lazy" decoding="async" class=" wp-image-4202 alignright" src="https://blog.tumult.com/wp-content/uploads/2018/01/wp-map-responsive.png" alt="wp-map-responsive.png" width="257" height="342" srcset="https://blog.tumult.com/wp-content/uploads/2018/01/wp-map-responsive.png 352w, https://blog.tumult.com/wp-content/uploads/2018/01/wp-map-responsive-210x280.png 210w" sizes="auto, (max-width: 257px) 100vw, 257px" /></p>
<h2>Leveraging CSS Styles and Responsive Layouts</h2>
<p>When embedding your animation, the plugin uploads the Hype JavaScript runtime, resources, and animation data and creates a reference to it with JavaScript on the page as a standard DIV element. Since the embed is on the same page as your WordPress theme, you can access any CSS styles or fonts you currently use in your WordPress theme to seamlessly incorporate design elements in your animations. This allows you to leverage any web fonts or CSS components you&#8217;ve already setup in your site. You may need to uncheck &#8216;Protect from External Styles&#8217; in the document inspector to leverage external CSS styles.</p>
<p>For your responsive WordPress theme, you can also mirror your theme&#8217;s breakpoints in Tumult Hype so your animation adapts to all device sizes you wish to support:</p>
<p>In the Scene Inspector, you can easily set the desired breakpoint for your individual layouts. For more information about setting up responsive layouts in Hype, <a href="http://tumult.com/hype/documentation/3.0/#responsive-layouts">visit the documentation</a>.</p>
<h2>Additional Interaction and Export Features</h2>
<p><img loading="lazy" decoding="async" class=" wp-image-4203 alignright" src="https://blog.tumult.com/wp-content/uploads/2018/01/wp-actions-panel.png" alt="wp-actions-panel.png" width="249" height="429" srcset="https://blog.tumult.com/wp-content/uploads/2018/01/wp-actions-panel.png 348w, https://blog.tumult.com/wp-content/uploads/2018/01/wp-actions-panel-162x280.png 162w" sizes="auto, (max-width: 249px) 100vw, 249px" /></p>
<p>You may choose to only start your animation when visible by using an &#8216;On Enter Viewport&#8217; action. Setting this up is as easy as selecting a dropdown menu in the Action inspector:</p>
<p>Don&#8217;t limit yourself to just HTML5 exports of your projects. For social media sharing, you can easily export individual frames, animated GIFs, or even video directly from Tumult Hype. These export formats can be used for the featured images assigned to your WordPress post, as a Social Share card on Twitter &amp; Facebook, or even as a video teaser.</p>
<p>For more information about the plugin, please <a href="https://forums.tumult.com/t/tumult-hype-animations-wordpress-plugin/11074">join us on the forums</a>.</p>
<p><strong>Technical Notes:</strong></p>
<p>Below are a few technical notes on how the WordPress plugin works. For more general information about Hype, visit the <a href="http://tumult.com/hype/faq/">Hype FAQ page</a>.</p>
<ul>
<li>All uploads are kept in your <code>wp-content</code> folder on your WordPress installation, and there&#8217;s no need for any additional server infrastructure.</li>
<li>The embed code is a non-render blocking JavaScript embed. You can optionally switch from embedding the Hype animation as an iframe instead of a DIV. This might be preferable if you require access to code added to the <code></code> of your Tumult Hype document.</li>
<li>Easily track events or interactions on Google Analytics with minimal code. <a href="https://forums.tumult.com/t/tracking-visits-events-and-actions-with-google-analytics/1506">Learn more here</a>.</li>
<li>Read variables from your WordPress post and use them to control your animations: For example: <code>TolumneMeadowsRoad = closed;</code> <a href="https://blog.tumult.com/2017/06/02/visualizing-live-data-in-tumult-hype/">Learn more here</a>.</li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Visualizing Live Data in Tumult Hype</title>
		<link>https://blog.tumult.com/2017/06/02/visualizing-live-data-in-tumult-hype/</link>
					<comments>https://blog.tumult.com/2017/06/02/visualizing-live-data-in-tumult-hype/#comments</comments>
		
		<dc:creator><![CDATA[Daniel Morgan]]></dc:creator>
		<pubDate>Fri, 02 Jun 2017 19:01:40 +0000</pubDate>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[infographic]]></category>
		<guid isPermaLink="false">https://blog.tumult.com/?p=3926</guid>

					<description><![CDATA[This post is a complement to Getting Started with Infographics in Tumult Hype and shows off a few methods to work with live numbers, text, and data pulled at regular intervals for use in your visualizations. There are three examples, and sometimes a &#8216;wall of code&#8217; but I promise these techniques will come in handy if you want &#8230;<p class="read-more"> <a class="" href="https://blog.tumult.com/2017/06/02/visualizing-live-data-in-tumult-hype/"> <span class="screen-reader-text">Visualizing Live Data in Tumult Hype</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<p>This post is a complement to <a href="https://blog.tumult.com/2017/05/18/getting-started-with-infographics-in-tumult-hype/">Getting Started with Infographics in Tumult Hype</a> and shows off a few methods to work with live numbers, text, and data pulled at regular intervals for use in your visualizations. There are three examples, and sometimes a &#8216;wall of code&#8217; but I promise these techniques will come in handy if you want to make use of live data in charts, animations, or interactions.</p>
<p>Tumult Hype runs off static JavaScript, HTML, and CSS, so it doesn&#8217;t <em>out of the box </em>require or any server side technologies. You can completely avoid any server-side language and make use of the contents of a regular text file. To use the contents of a text file anywhere in your Hype document, you would use a simple XMLHttpRequest which loads a remote URL and grab its contents:</p>
<pre><code data-language="javascript">var txtFile = new XMLHttpRequest();
txtFile.open("GET", "http://tumult.com/support/examples/dynamic-javascript-content-txt-file/text.txt", true);
txtFile.onreadystatechange = function() {
if (txtFile.readyState === 4) { // Makes sure the document is ready to parse.
if (txtFile.status === 200) { // Makes sure the file exists.
//allText = txtFile.responseText;
//lines = txtFile.responseText.split("n"); // Will separate each line into an array
var customTextElement = hypeDocument.getElementById('RedRobin');
customTextElement.innerHTML = txtFile.responseText;
}
}
}
txtFile.send(null);
</code></pre>
<p>The code above will load the contents of the <code>text.txt</code> URL, and then place it within Hype Element with the ID: <strong>RedRobin</strong>.</p>
<p>Because of security restrictions, you will only be able to load this on a locally running or remote server. If you receive XML warnings, you may need to <a href="https://stackoverflow.com/a/9523871">adjust your Cross Origin Resource sharing settings</a> on the server containing the .txt file but this should work as is.</p>
<p>Some details about how this works: The above technique pulls in regular text (as a &#8216;string&#8217; in JavaScript parlance) but you could easily convert it to a number using parseInt(). You could use parseInt(txtFile.response); to ensure you have a real number. This would return &#8217;33&#8217; if the contents of the text file was: &#8220;The answer is 33.&#8221;</p>
<p>Of course, this technique can pull in data from any number of text files to load different data. To download this basic example, <a href="https://forums.tumult.com/t/importing-content-from-a-text-file-txt/2004">visit this forum post</a>.</p>
<h3>Thermometer Hype API Example</h3>
<p>For a practical example of how this type of live data can work with your Hype animations, here&#8217;s an example Fundraising Thermometer that uses a single number (representing the amount raised) to run an animation. This little guy was created to help my favorite non-profit <a href="http://globalglimpse.org/">Global Glimpse</a> to raise some dough (They quickly surpassed their goal!). This number is currently hardcoded into the JavaScript function we use, but it could easily be retrieved from another plain text file.</p>
<p>For example, you could include the &#8216;raised amount&#8217; variable within hidden text in a WordPress post. Any time you edit that value, the thermometer would reflect the change. You would use something like:</p>
<p>&nbsp;</p>
<p>Below is the file, which can also be <a href="http://blog.tumult.com/wp-content/uploads/2017/06/LiveThermometer/LiveThermometer.zip">downloaded here</a>.</p>
<p><div>	<div id="livethermometer_hype_container" class="HYPE_document" style="margin:auto;position:relative;width:360px;height:700px;overflow:hidden;">
		<script type="text/javascript" charset="utf-8" src="//blog.tumult.com/wp-content/uploads/hypeanimations/62/LiveThermometer.hyperesources/livethermometer_hype_generated_script.js?20608"></script>
	</div>
</div></p>
<p>And here is the code that controls this contraption:</p>
<pre><code data-language="javascript">    // Insert the amount raised
    var raised = 5000

    // And the goal (don't use commas)
    var goal = 40000

    // show these numbers wherever the goal or 'raised amount' is used,
    // and make sure it looks like a number with correct comma placement. 
    document.getElementById('raisedamount').innerHTML = raised.toString().replace(/B(?=(d{3})+(?!d))/g, ",");
    document.getElementById('goal').innerHTML = goal.toString().replace(/B(?=(d{3})+(?!d))/g, ",");

    // No need to edit this: 
    var difference = goal - raised
    var raisedpercentage = difference / goal
    var topflask = hypeDocument.getElementProperty(flask, 'top');
    var currentthermheight = hypeDocument.getElementProperty(flask, 'height')
    var newThermsHeight = currentthermheight * raisedpercentage

    // This is the speed and easing transition of the height of the Thermometer's red portion:
    hypeDocument.setElementProperty(flask, 'height', newThermsHeight, 2.0, 'easeout')

    // Move the arrow as well:
    var topflask = hypeDocument.getElementProperty(flask, 'top');
    var toparrow = hypeDocument.getElementProperty(arrow, 'top');
    var arrowmovement = (toparrow - topflask);
    var thisthat = arrowmovement - (raisedpercentage * arrowmovement); 
    var newpositionarrow = toparrow - thisthat;

    // You may want to edit the 'easeout' transition at the end here:
    hypeDocument.setElementProperty(arrow, 'top', newpositionarrow, 2.0, 'easeout')
</code></pre>
<p>This thermometer can easily be resized, modified, or copied into your document.</p>
<p>So far, our examples haven&#8217;t been &#8216;live&#8217; in the true sense. They are pulling static data from a potentially &#8216;live&#8217; source, but they won&#8217;t update automatically if the source of their data changes.</p>
<p><a href="http://forums.tumult.com/t/livedata-from-nrw-election/10180/8?u=daniel">This post</a> from Hans Classen on our forums demonstrates how to extract the contents of a CSV file, and display it within a Tumult Hype document. It requires some server-side code to fetch the CSV file, but then its data is handled entirely within Hype and used to control a voting map. <a href="http://www.aachener-zeitung.de/zva/karlo/regionAC_LTWNRW/">View the page here</a>.</p>
<p><a href="http://www.aachener-zeitung.de/zva/karlo/regionAC_LTWNRW/"><img decoding="async" class="alignnone size-full wp-image-3987" src="https://blog.tumult.com/wp-content/uploads/2017/06/Screen-Shot-2017-06-02-at-2.04.52-PM.png" alt="Screen Shot 2017-06-02 at 2.04.52 PM.png" width="400" height="" srcset="https://blog.tumult.com/wp-content/uploads/2017/06/Screen-Shot-2017-06-02-at-2.04.52-PM.png 684w, https://blog.tumult.com/wp-content/uploads/2017/06/Screen-Shot-2017-06-02-at-2.04.52-PM-160x280.png 160w, https://blog.tumult.com/wp-content/uploads/2017/06/Screen-Shot-2017-06-02-at-2.04.52-PM-400x700.png 400w" sizes="(max-width: 684px) 100vw, 684px" /></a></p>
<p>This document makes use of a sprinkling of jQuery and the <a href="https://inorganik.github.io/countUp.js/">CountUp.js</a> library to easily animate the increasing value of a number.</p>
<p>And <a href="https://medium.com/@mheavers/adding-dynamic-data-from-javascript-to-hype-websites-a8a9bdb16930">here&#8217;s another approach</a> by Mike Heavers which pulls in data from an external file.</p>
<p>If you&#8217;re working on Infographics or working with live data, we&#8217;d love to see your work! Please get in touch <a href="http://forums.tumult.com">on the forums</a> or <a href="http://twitter.com/hypeapp">@hypeapp</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.tumult.com/2017/06/02/visualizing-live-data-in-tumult-hype/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Minified using Disk

Served from: blog.tumult.com @ 2025-10-02 18:31:17 by W3 Total Cache
-->