Search form

So You Want to Be in Pictures: Creating the Comic Director App

We spoke with Avery Sawyer, a software engineer who recently worked developing Comic Director, a free Microsoft Windows 8 UI Touch app that helps users create interactive comics.

By Rich Seidner

Developers are always interested in what’s new, cool and powerful enough to advance the capabilities of their apps. Understanding the design impact of choosing any particular technology requires understanding the tradeoffs involved. In the area of presentation technologies, developers have worked with technologies such as Adobe Flash, Adobe Flex, Windows Presentation Foundation, Silverlight and, more recently, Web Standard technologies such as HTML, CSS and JavaScript.

In order to learn more about their experiences, and why some are choosing to move to Windows 8 development, we spoke with Avery Sawyer, a software engineer at Ratio Interactive. Sawyer recently worked on the development of Comic Director, a free Microsoft Windows 8 UI Touch app that helps users create interactive comics.

Can you tell us about your experience developing for Windows 8?

Avery Sawyer: More and more, app developers have been moving to hybrid combinations of cross-platform and native functionality, using HTML and CSS for presentation, remote procedure call intermediaries (such as WinRT in Windows) to access native code, and JavaScript for application presentation logic. I work primarily with Web Standards and the Windows 8 Modern UI using HTML5, JavaScript and CSS3, rather than purely proprietary and non-standard technologies. That’s because I see the potential of using JavaScript as a unified programming language for any application as long as there is a runtime to execute it.  

Windows 8 validates that potential, and I’m really excited to be working within what I see as the vanguard of modern application technology. Since the preferred technology for developing Windows 8 store applications is Web Standards, I had no trouble at all jumping right into Windows 8. I love JavaScript’s Promise paradigm for asynchronous operations, and the methodology for developing a Windows 8 application is well thought out and intuitive.  

My experience in developing for Windows 8 has been delightful. Everything simply works, and it worked right at the launch of the platform. I have found Windows 8 development to be highly productive.

What are some of the specific benefits provided by these technologies?

A.S.:

On the codec front, Windows 8 specifies the H.264 standard codec as the preferred codec for encoding video to be viewed on Windows 8. The main benefit to using H.264 as opposed to a non-standard or proprietary codec is that hardware manufacturers will likely have an H.264 decoder built into the hardware. Intel has full on-chip H.264 decoding, so applications that leverage the H.264 codec, like Comic Director, will perform much better than applications that use a proprietary, non-standard video codec to play back video. In general, you will get better performance across a wider range of devices when you use H.264 for video in Windows 8.

HTML5 has many benefits and improvements over the previous iteration of HTML. Improved semantics with more tags such as <section>, and <footer> and <article>, more powerful forms including native validation, local storage and a local lightweight database in the browser, and much better media capabilities built right into the browser with the <video>, <audio> and <canvas> tags. In Comic Director, we leverage the <canvas> tag to facilitate publishing a comic, and when the user is building their awesome comic, the text, images and pane borders are separate HTML elements.  

Javascript is the preferred language for developing Windows 8 store apps, which speaks to the power and flexibility of the language. Microsoft heavily uses the Promise paradigm for asynchronous operations in the WinRT Javascript API. Solving the same problem with some of the other languages available in WinRT, such as C# or C++, are potentially much more complex and can require management of multiple threads using their respective concurrency models. Notably, virtually any JavaScript library on the web will run happily within a JavaScript WinRT application, and that’s a huge time saver. JavaScript is everywhere!

What can you say about developing cross-platform apps using the Windows 8 platform?

A.S.:

When developing an application for Windows 8 using JavaScript, some care is needed to ensure a painless cross-platform application, if you are aiming to create one. That’s because not all browsers or runtimes have the same API available. Thus, calls to an API such as the MediaTranscoder, or any of the WinJS classes, will create dependencies on the runtime. If there isn’t a pure JavaScript option available for what you are trying to do, be careful that you factor your code so that migrating your application to another platform is as simple as possible.  

Do you have any tips for developers about working with companies like Intel and Microsoft?

A.S.:

Most developers working with Windows 8 will interact with Microsoft when it is time to submit their application to the store. The best things to do is to be intimately familiar with the application submission guidelines, and to regularly run the WACK (Windows App Certification Kit) test against your application as you are developing.

Passing the WACK test is only one part of the submission, however, because you also need to follow the UX guidelines for Windows 8 store applications, and understand how to effectively leverage the modern UI design language in your application to ensure a successfully submitted app. This comprehensive overview of UX Guidelines for Windows 8 will keep you on the right track: http://msdn.microsoft.com/en-us/library/windows/apps/hh779072.aspx.

[Disclosure: Intel is the sponsor of this content.] 

Photo: Windows App store

--

Rich Seidner is a technology veteran, an independent researcher, a writer and an editor serving technology clients. Based in Woodside, Calif., his blood type is “technology.”

randomness