Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

392 lines (321 sloc) 15.059 kB
<!DOCTYPE html>
<!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]-->
<!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]-->
<!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]-->
<head>
<meta charset="utf-8">
<title>TJ VanToll's Blog - Tutorials, Thoughts, and Ramblings on Front-End Development</title>
<meta name="author" content="TJ VanToll">
<meta name="description" content="I&#8217;m TJ VanToll. I&#8217;m a developer advocate for Telerik, a jQuery team member, and the author of jQuery UI in Action. I have over a decade &hellip;">
<!-- http://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="canonical" href="http://tjvantoll.com">
<link rel="author" href="https://plus.google.com/+TJVanToll">
<!--[if !lte IE 7]><!-->
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet">
<!--<![endif]-->
<!--[if lte IE 7]>
<link rel="stylesheet" href="/stylesheets/old-ie.css" media="screen, projection">
<![endif]-->
<!--Custom script concatenation
<script src="/javascripts/modernizr-2.5.3.js"></script>
<script src="/javascripts/ender.js"></script>
<script src="/javascripts/octopress.js"></script>
<script src="/javascripts/PictureCube.js"></script>
<script src="/javascripts/blog.js"></script>
-->
<script src="/javascripts/build/scripts.js"></script>
<link href="/atom.xml" rel="alternate" title="TJ VanToll's Blog" type="application/atom+xml">
<style>
/* Fonts from Google"s Web font directory at http://google.com/webfonts */
/*@import url(http://fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic);
@import url(http://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic);*/
</style>
<script type="text/javascript">
if (window.location.host.indexOf('local') == -1) {
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-29179796-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
}
</script>
</head>
<body >
<header role="banner"><hgroup>
<h1><a href="/">TJ VanToll's Blog</a></h1>
<h2>Tutorials, Thoughts, and Ramblings on Front-End Development</h2>
</hgroup>
</header>
<nav role="navigation"><ul class="subscription" data-subscription="rss">
<li><a href="/atom.xml" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li>
</ul>
<form action="http://google.com/search" method="get">
<fieldset role="search">
<input type="hidden" name="q" value="site:tjvantoll.com" />
<input class="search" type="text" name="q" results="0" placeholder="Search"/>
</fieldset>
</form>
<ul class="main-navigation">
<li><a href="/">About</a></li>
<li><a href="/blog/">Blog</a></li>
<li><a href="/blog/archives/">Archives</a></li>
<li><a href="/speaking/">Speaking</a></li>
</ul>
</nav>
<div id="main">
<div id="content">
<div>
<article role="article">
<img src="/images/me/1.jpg" alt="TJ VanToll" id="home-me">
<p>I&#8217;m TJ VanToll. I&#8217;m a developer advocate for <a href="http://telerik.com">Telerik</a>, a <a href="http://jqueryui.com/about/">jQuery team member</a>, and the author of <a href="http://tjvantoll.com/jquery-ui-in-action.html">jQuery UI in Action</a>. I have over a decade of web development experience—specializing in performance and the mobile web.</p>
<p>I <a href="/speaking">speak</a> about my research and experiences at conferences around the world, and I&#8217;ve written for publications such as <a href="http://www.smashingmagazine.com/2014/05/21/mobile-accessibility-why-care-what-can-you-do/">Smashing Magazine</a>, <a href="http://www.html5rocks.com/en/tutorials/forms/constraintvalidation/">HTML5 Rocks</a>, <a href="http://msdn.microsoft.com/en-us/magazine/dn133614.aspx">MSDN Magazine</a>, and <a href="http://modernweb.com/2014/03/10/is-jquery-too-big-for-mobile/">ModernWeb</a>.</p>
<p>You can contact me on Twitter (<a href="https://twitter.com/tjvantoll">@tjvantoll</a>), Google Plus (<a href="https://plus.google.com/+TJVanToll">+TJVanToll</a>), GitHub (<a href="https://github.com/tjvantoll">tjvantoll</a>), or <a href="mailto:tj.vantoll@gmail.com">via email</a>.</p>
<header class="home">
<h2 class="entry-title">Publications</h2>
</header>
<h3 class="home-heading"><a href="http://developer.telerik.com/">Telerik Developer Network</a></h3>
<ul>
<li>
<span>March 30th, 2015</span>
<a href="http://developer.telerik.com/featured/the-rise-of-typescript/">The Rise of TypeScript?</a>
<!-- http://javascriptweekly.com/issues/226 -->
</li>
<li>
<span>March 23rd, 2015</span>
<a href="http://developer.telerik.com/featured/building-your-own-nativescript-modules-for-npm/">Building Your Own NativeScript Modules for npm</a>
</li>
<li>
<span>February 16th, 2015</span>
<a href="http://developer.telerik.com/featured/nativescript-works/">How NativeScript Works</a>
<!-- http://javascriptweekly.com/issues/221 -->
</li>
<li>
<span>February 11th, 2015</span>
<a href="http://developer.telerik.com/featured/building-robust-cordova-apps-appbuilder-grunt/">Building Robust Cordova Apps with AppBuilder and Grunt</a>
</li>
<li>
<span>January 27th, 2015</span>
<a href="http://developer.telerik.com/featured/built-ios-android-app-week/">How I Built an iOS & Android App in a Week</a>
</li>
<li>
<span>January 6th, 2015</span>
<a href="http://developer.telerik.com/featured/300-ms-click-delay-ios-8/">The 300 ms Click Delay and iOS 8</a>
</li>
<li>
<span>November 4th, 2014</span>
<a href="http://developer.telerik.com/featured/android-5-0s-auto-updating-webview-means-mobile-apps/">What Android 5.0’s Auto-Updating WebView Means for Mobile Apps</a>
</li>
<li>
<span>October 27th, 2014</span>
<a href="http://developer.telerik.com/featured/adding-native-touches-hybrid-app/">Adding Native Touches to Your Hybrid App</a>
</li>
<li>
<span>October 9th, 2014</span>
<a href="http://developer.telerik.com/featured/building-html5-form-validation-bubble-replacements/">Building HTML5 Form Validation Bubble Replacements</a>
<!-- http://javascriptweekly.com/issues/202 -->
<!-- http://html5weekly.com/issues/159 -->
</li>
<li>
<span>September 24th, 2014</span>
<a href="http://developer.telerik.com/featured/scroll-event-change-ios-8-big-deal/">Why the Scroll Event Change in iOS 8 is a Big Deal</a>
</li>
<li>
<span>September 9th, 2014</span>
<a href="http://developer.telerik.com/featured/supercharge-app-development-ionic-appbuilder/">Supercharge Your App Development with Ionic and AppBuilder</a>
</li>
<li>
<span>August 19th, 2014</span>
<a href="http://developer.telerik.com/featured/comprehensive-guide-styling-file-inputs/">A Comprehensive Guide to Styling File Inputs</a>
<!-- http://web-design-weekly.com/2014/08/26/web-design-weekly-151/ -->
</li>
<li>
<span>August 7th, 2014</span>
<a href="http://developer.telerik.com/featured/web-components-ready-production/">Why Web Components <i>Are</i> Ready for Production</a>
<!-- http://javascriptweekly.com/issues/193 -->
<!-- http://html5weekly.com/issues/150 -->
</li>
<li>
<span>July 17th, 2014</span>
<a href="http://developer.telerik.com/featured/web-components-arent-ready-production-yet/">Why Web Components Aren’t Ready for Production… Yet</a>
<!-- http://javascriptweekly.com/issues/190 -->
<!-- http://html5weekly.com/issues/147 -->
<!-- http://appendto.com/modern-web-observer/archive/modern-web-observer-issue-39/ -->
</li>
<li>
<span>July 14th, 2014</span>
<a href="http://developer.telerik.com/featured/cordova-plugin-ecosystem-mess/">The Cordova Plugin Ecosystem Is a Mess — This Is What We’re Doing About It</a>
<!-- http://mobilewebweekly.co/issues/15 -->
</li>
<li>
<span>July 1st, 2014</span>
<a href="http://developer.telerik.com/featured/trimming-jquery-grunt/">Trimming Down jQuery With Grunt</a>
<!-- http://javascriptweekly.com/issues/188 -->
</li>
<li>
<span>June 5th, 2014</span>
<a href="http://developer.telerik.com/featured/jquery-using-only-what-you-need/">jQuery: Using Only What You Need</a>
<!-- http://javascriptweekly.com/issues/185 -->
</li>
<li>
<span>May 5th, 2014</span>
<a href="http://developer.telerik.com/featured/the-state-of-hybrid-mobile-development/">The State of Hybrid Mobile Development</a>
<!-- http://appendto.com/modern-web-observer/archive/modern-web-observer-issue-34/ -->
<!-- http://mobilewebweekly.co/issues/5 -->
</li>
<li>
<span>April 17th, 2014</span>
<a href="http://developer.telerik.com/featured/using-ui-libraries-without-the-bloat/">Using UI Libraries Without the Bloat</a>
<!-- http://html5weekly.com/issues/134 -->
</li>
<li>
<span>April 14th, 2014</span>
<a href="http://developer.telerik.com/featured/a-concise-guide-to-remote-debugging-on-ios-android-and-windows-phone/">A Concise Guide to Remote Debugging on iOS, Android, and Windows Phone</a>
<!-- http://mobilewebweekly.co/issues/3 -->
</li>
<li>
<span>November 21st, 2013</span>
<a href="http://blogs.telerik.com/appbuilder/posts/13-11-21/what-exactly-is.....-the-300ms-click-delay">What Exactly Is&#8230;.. The 300ms Click Delay</a>
</li>
<li>
<span>November 7th, 2013</span>
<a href="http://blogs.telerik.com/appbuilder/posts/13-11-07/everything-hybrid-web-apps-need-to-know-about-the-status-bar-in-ios7">Everything Hybrid Web Apps Need to Know About the Status Bar in iOS7</a>
<!-- http://html5weekly.com/archive/114.html -->
</li>
</ul>
<h3 class="home-heading"><a href="http://www.smashingmagazine.com/">Smashing Magazine</a></h3>
<ul>
<li>
<span>May 21st, 2014</span>
<a href="http://www.smashingmagazine.com/2014/05/21/mobile-accessibility-why-care-what-can-you-do/">Mobile And Accessibility: Why You Should Care And What You Can Do About It</a>
<!-- http://mobilewebweekly.co/issues/8 -->
</li>
</ul>
<h3 class="home-heading"><a href="http://modernweb.com/">ModernWeb</a></h3>
<ul>
<li>
<span>March 10th, 2014</span>
<a href="http://modernweb.com/2014/03/10/is-jquery-too-big-for-mobile/">Is jQuery Too Big For Mobile?</a>
<!-- http://javascriptweekly.com/issues/172 -->
</li>
</ul>
<h3 class="home-heading"><a href="http://www.creativebloq.com/net-magazine">net Magazine</a></h3>
<ul>
<li>
<span>February, 2014</span>
<a href="/images/magazines/netmag.jpg">Head-to-Head: HTML5 Controls vs jQuery UI</a>
</li>
</ul>
<h3 class="home-heading"><a href="http://msdn.microsoft.com/en-us/magazine/ee729207.aspx">Script Junkie</a></h3>
<ul>
<li>
<span>April 16th, 2013</span>
<a href="http://msdn.microsoft.com/en-us/magazine/dn133614.aspx">HTML5 Datalists: What They Are They and When to Use Them</a>
</li>
<li>
<span>March 6th, 2013</span>
<a href="http://msdn.microsoft.com/en-us/magazine/dn127078.aspx">Creating Custom Tooltips with jQuery UI</a>
</li>
</ul>
<h3 class="home-heading"><a href="http://www.html5rocks.com/">HTML5 Rocks</a></h3>
<ul>
<li>
<span>October 17th, 2012</span>
<a href="http://www.html5rocks.com/en/tutorials/forms/constraintvalidation/">Constraint Validation: Native Client Side Validation for Web Forms</a>
<!-- https://twitter.com/smashingmag/status/261043187383160832 -->
<!--https://twitter.com/VisualStudio/status/258982526637453312-->
<!--http://html5weekly.com/archive/60.html -->
</li>
</ul>
<header class="home">
<h2 class="entry-title">Podcasts & Interviews</h2>
</header>
<h3 class="home-heading"><a href="http://www.infoq.com/">InfoQ</a></h3>
<ul>
<li>
<span>July 19th, 2014</span>
<a href="http://www.infoq.com/interviews/vantoll-hybrid-development">Hybrid Development for Mobile Apps</a>
</li>
</ul>
<h3 class="home-heading"><a href="http://javascriptjabber.com/">JavaScript Jabber</a></h3>
<ul>
<li>
<span>July 9th, 2014</span>
<a href="http://javascriptjabber.com/116-jsj-jquery-ui-vs-kendoui-with-burke-holland-and-tj-vantoll/">jQuery UI vs KendoUI</a>
</li>
</ul>
<h3 class="home-heading"><a href="http://hallwayconversations.com">Hallway Conversations</a></h3>
<ul>
<li>
<span>March 16th, 2014</span>
<a href="http://hallwayconversations.com/podcast/episode-005-navigating-hybrid-mobile-apps-with-tj-vantoll/">Navigating Hybrid Mobile Apps</a>
</li>
</ul>
<footer>
</footer>
</article>
</div>
<aside class="sidebar">
<section class="ad-section">
<h1>Support the Site</h1>
<div class="ad-container">
<script defer async src="http://cdn.adpacks.com/adpacks.js?legacyid=1285803&zoneid=1386&key=cb7a6f705dfe7532dde49b4c2c5adf2d&serve=C6SI42Y&placement=tjvantollcom&circle=dev" id="_adpacks_js"></script>
</div>
</section><section class="ad-section">
<h1>Check Out My Book</h1>
<div id="book-section">
<a href="/jquery-ui-in-action.html" class="image-link">
<img src="/images/book.jpg" alt="My jQuery UI in Action cover">
</a>
<div>
<a href="/jquery-ui-in-action.html" class="text_link">
jQuery UI in Action<br>
</a>
<strong>Covers jQuery UI 1.11!</strong>
<p>Published by <a href="http://www.manning.com/?a_aid=tj-vantoll">Manning</a>.</p>
</div>
</div>
</section><section>
<h1>Recent Posts</h1>
<ul id="recent_posts">
<li class="post">
<a href="/2015/06/05/nativescript-showing-and-hiding-elements/">NativeScript Quick Tip: Showing and Hiding Elements</a>
</li>
<li class="post">
<a href="/2015/05/22/linting-javascript-in-nativescript-apps/">Linting JavaScript in NativeScript Apps</a>
</li>
<li class="post">
<a href="/2015/03/19/nativescript-ios-navigation-bars/">NativeScript Quick Tip: Managing iOS Navigation Bars</a>
</li>
<li class="post">
<a href="/2015/01/28/reportvalidity/">A reportValidity() Use Case and Polyfill</a>
</li>
<li class="post">
<a href="/2015/01/26/wkwebview-plugin/">Speed Up Your Cordova App with the WKWebView Plugin</a>
</li>
</ul>
</section>
</aside>
</div>
</div>
<footer role="contentinfo"><p>
Copyright &copy; 2015 - <a href="/">TJ VanToll</a> -
<span class="credit">Powered by <a href="http://octopress.org">Octopress</a></span>
</p>
</footer>
<script type="text/javascript">
(function(){
var twitterWidgets = document.createElement('script');
twitterWidgets.type = 'text/javascript';
twitterWidgets.async = true;
twitterWidgets.src = 'http://platform.twitter.com/widgets.js';
document.getElementsByTagName('head')[0].appendChild(twitterWidgets);
})();
</script>
</body>
</html>
Jump to Line
Something went wrong with that request. Please try again.