{"id":13308,"date":"2014-08-14T11:56:16","date_gmt":"2014-08-14T15:56:16","guid":{"rendered":"http:\/\/blog.xamarin.com\/?p=13308"},"modified":"2019-04-02T15:36:09","modified_gmt":"2019-04-02T22:36:09","slug":"tom-hanks-vintage-typewriter-inspired-hanx-writer-app","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/xamarin\/tom-hanks-vintage-typewriter-inspired-hanx-writer-app\/","title":{"rendered":"Tom Hanks&#8217; Vintage-Typewriter Inspired Hanx Writer App"},"content":{"rendered":"<p>The <a href=\"https:\/\/itunes.apple.com\/us\/app\/hanx-writer\/id868326899?ls=1&amp;mt=8\">Hanx Writer<\/a> app, built with Xamarin, was released today after several months of work.\u00a0I had the great pleasure to get\u00a0the scoop on what it took to build this nostalgia-inducing app from a very cool developer at Xamarin Premier Consulting Partner, <a href=\"http:\/\/www.hitcents.com\/\">Hitcents<\/a>.\n<img decoding=\"async\" class=\"aligncenter size-full wp-image-13341\" src=\"http:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2019\/04\/HanxWriterKeyboardCropped.jpg\" alt=\"HanxWriterKeyboardCropped\" width=\"434\" height=\"295\" \/><\/p>\n<p>Jonathan Peppers is a Xamarin MVP, Senior C# Developer and App Specialist at Hitcents, and will be speaking about in-app purchases, piracy protection, localization, culturalization, and more in his, &#8220;If You Can Ship Your app in China, You Can Ship it Anywhere,&#8221; talk at <a href=\"https:\/\/evolve.xamarin.com\/\">Xamarin Evolve this October<\/a>. Here are some questions from my Q&amp;A session with Jonathan:<\/p>\n<p><b>Can you please describe the\u00a0app and how you got the idea?<\/b><\/p>\n<p><img decoding=\"async\" class=\"alignright size-medium wp-image-13304\" src=\"\/wp-content\/uploads\/sites\/44\/2019\/04\/clip_image002-300x199.jpg\" alt=\"Jonathan Peppers\" width=\"300\" height=\"199\" \/><\/p>\n<p>The app is called &#8220;Hanx Writer.&#8221; That&#8217;s Hanx, with an &#8220;X&#8221;, but sounds like Hanks as in Tom Hanks. An agency that represents a lot of celebrities contacted Hitcents on behalf of Tom Hanks, who has an interest in collecting vintage typewriters, but also regularly uses an iPad.\u00a0He wanted an app that made him feel like he was using a typewriter; he wanted that nostalgic feeling, but to still have the app function as a word processor to send emails, write letters, that sort of thing. So, we built an app that feels, looks, and sounds like a real typewriter for iOS.<\/p>\n<p><b>How long did it take you to develop it?<\/b><\/p>\n<p>It&#8217;s been about 5 months. But a lot of that time was refining and I was not working full time on this. My younger brother,\u00a0Nick Peppers, also worked on the app. He did the iOS layouts and some of the UI stuff. There were\u00a02 of us that committed code, and we also have a designer, Adam Diestelkamp, to do the cool graphics and a 3D artist, Matt Lester, do some of the 3D Models.<\/p>\n<p><b>Tom Hanks basically said, &#8220;I want an app like this,&#8221; and you wrote it?<\/b><\/p>\n<p>Yes, basically. He really just had the concept for the app, but our team took the idea and had to figure out how to translate the typewriter onto a flat screen. What things do we make like a real typewriter? What things do we make like a word processor? People are used to doing a copy and paste, so we didn\u2019t want to get in the way of that. People know how to use word processing, but we still want to provide that cool vintage feel.<\/p>\n<p><a href=\"http:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2019\/04\/HanxWriterManageDocuments.jpeg\"><img decoding=\"async\" class=\"alignleft size-full wp-image-13327\" src=\"\/wp-content\/uploads\/sites\/44\/2019\/04\/HanxWriterManageDocuments.jpeg\" alt=\"HanxWriterManageDocuments\" width=\"200\" \/><\/a>\n<b>Do you see going to other platforms besides iOS?<\/b><\/p>\n<p>That was one of the reasons we chose <a href=\"http:\/\/www.xamarin.com\/\">Xamarin<\/a>. We now\u00a0have the option to share code with other platforms, so we&#8217;ll look at iPhone next and see if it makes sense there, and Android after that.<\/p>\n<p><b>What API\u2019s are you using?<\/b><\/p>\n<p>We used <a href=\"\/create-rich-text-features-in-ios-with-text-kit\">iOS TextKit<\/a> for entering text and saving. You can also go beyond the end of the page, and you can copy and paste and it splices it by page automatically and word wraps. There is a lot of text processing work going on in this app.<\/p>\n<p>There are many items in the app that move around, the page flips in and out, and the keys dip when pressed. The keys need to look just like a real typewriter key when pressed down, for example.\u00a0I use a lot of\u00a0<a href=\"http:\/\/developer.xamarin.com\/recipes\/ios\/animation\/coreanimation\">CoreAnimation<\/a>\u00a0for these effects.<\/p>\n<p>I also used <a href=\"https:\/\/developer.apple.com\/library\/mac\/documentation\/Cocoa\/Reference\/Foundation\/Classes\/NSKeyedArchiver_Class\/Reference\/Reference.html\">NSKeyedArchiver<\/a>\u00a0to save and read rich text.<\/p>\n<p><b>Did you use Shared Project or Portable Class Library (PCL)? Why?<\/b>\n<a href=\"http:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2019\/04\/HanxWriterWirelessKeyboard.jpeg\"><img decoding=\"async\" class=\"alignright size-full wp-image-13326\" src=\"\/wp-content\/uploads\/sites\/44\/2019\/04\/HanxWriterWirelessKeyboard.jpeg\" alt=\"HanxWriterWirelessKeyboard\" width=\"200\" \/><\/a>\nParts of the app are in a PCL. We are using MVVM so all of our View Model classes are in a PCL. The app does have a lot of native iOS API calls, so these are not in the PCL. I prefer PCL over Shared Projects. I just get a better feeling passing around the same DLL that I know always works. I feel #IF can easily be abused with a developer using it too freely.<\/p>\n<p><b>Anything else you want to tell us about your app and the experience?<\/b><\/p>\n<p>It was definitely a cool app to work on. In the beginning, we tried to get a solid concept. All we knew is we were trying to make a typewriter. We really re-iterated and prototyped and added some different concepts along the way. It was fun to work on and I think it was a great choice to use Xamarin because we were able to complete development quicker.<\/p>\n<p>To learn more about Hanx Writer, join @TomHanks for a live Twitter Q&amp;A online this morning:<\/p>\n<blockquote class=\"twitter-tweet\" lang=\"en\"><p>World, meet <a href=\"https:\/\/twitter.com\/hashtag\/HanxWriter?src=hash\">#HanxWriter<\/a> for iPad. Join us for a live Q&amp;A with <a href=\"https:\/\/twitter.com\/tomhanks\">@TomHanks<\/a> tomorrow at 9 am PT <a href=\"http:\/\/t.co\/Abl3u5bhvp\">http:\/\/t.co\/Abl3u5bhvp<\/a> <a href=\"http:\/\/t.co\/OXKvJslue4\">pic.twitter.com\/OXKvJslue4<\/a><\/p>\n<p>\u2014 App Store (@AppStore) <a href=\"https:\/\/twitter.com\/AppStore\/statuses\/499770874611109888\">August 14, 2014<\/a><\/p><\/blockquote>\n<p>And to learn more about building apps with Xamarin, come see Jonathan Peppers present at <a href=\"https:\/\/evolve.xamarin.com\/\">Xamarin Evolve 2014<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Hanx Writer app, built with Xamarin, was released today after several months of work.\u00a0I had the great pleasure to get\u00a0the scoop on what it took to build this nostalgia-inducing app from a very cool developer at Xamarin Premier Consulting Partner, Hitcents. Jonathan Peppers is a Xamarin MVP, Senior C# Developer and App Specialist at [&hellip;]<\/p>\n","protected":false},"author":546,"featured_media":39167,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[4],"class_list":["post-13308","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developers","tag-xamarin-platform"],"acf":[],"blog_post_summary":"<p>The Hanx Writer app, built with Xamarin, was released today after several months of work.\u00a0I had the great pleasure to get\u00a0the scoop on what it took to build this nostalgia-inducing app from a very cool developer at Xamarin Premier Consulting Partner, Hitcents. Jonathan Peppers is a Xamarin MVP, Senior C# Developer and App Specialist at [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts\/13308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/users\/546"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/comments?post=13308"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts\/13308\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/media\/39167"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/media?parent=13308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/categories?post=13308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/tags?post=13308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}