<?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>ArtisanTalent Blog &#187; Jeff B</title>
	<atom:link href="http://www.artisantalent.com/blog/post/author/jeff-b/feed" rel="self" type="application/rss+xml" />
	<link>http://www.artisantalent.com/blog</link>
	<description>ArtisanTalent.com</description>
	<lastBuildDate>Tue, 07 Feb 2012 22:48:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Resolution Dependent Layouts, CSS @media queries, and You</title>
		<link>http://www.artisantalent.com/blog/post/resolution-dependent-layouts-css-media-queries-and-you.aspx</link>
		<comments>http://www.artisantalent.com/blog/post/resolution-dependent-layouts-css-media-queries-and-you.aspx#comments</comments>
		<pubDate>Mon, 20 Dec 2010 14:00:00 +0000</pubDate>
		<dc:creator>Jeff B</dc:creator>
				<category><![CDATA[Design Resources]]></category>
		<category><![CDATA[mobile websites]]></category>

		<guid isPermaLink="false">http://www.artisantalent.com/blog/post/resolution-dependent-layouts-css-media-queries-and-you.aspx</guid>
		<description><![CDATA[For this last one on mobile websites and web apps, we’ll take a look at a brilliant technique for making your website functional for both the desktop and the web. We’ve already seen one solution for offering a different experience: OpenMktApp’s redirect to their “install” page for first-time iOS visitors. Now we’ll look at a [...]]]></description>
			<content:encoded><![CDATA[<p>For this last one on mobile websites and web apps, we’ll take a look at a brilliant technique for making your website functional for both the desktop and the web. We’ve already seen one solution for offering a different experience: <a title="OpenMktApp" href="http://www.openmktapp.com/">OpenMktApp’s</a> redirect to their “install” page for first-time iOS visitors. Now we’ll look at a more elegant solution. And coming later this month in the mobile design series, we’ll take a look at some of the design principles behind doing this.</p>
<p>Since iOS devices all run WebKit, they’re all quite advanced when it comes to the CSS they&#8217;re able to parse. This includes, as we’ve previously seen, the <code>media</code> declaration in a <code>&lt;link&gt;</code> tag for a CSS file, but also includes CSS3’s <code>@media</code> declaration inside a CSS file. The primary purpose for this would be to adjust for the vastly different widths we have (we can even adjust for varying widths on desktop browsers, too), but we can also use it to do other fun stuff.</p>
<p>Take a peek at one example of changing the display of a site based on width on Simon Collison’s website, <a title="Simon Collison | Colly | The Celebrated Miscellany" href="http://colly.com/">Colly</a>. If your viewport is set to ~950px or greater, we have the full-width, four-column layout. However, as you shrink your viewport down, the layout changes to a two-column display, then finally to a one-column display where the single item is slightly larger in width than the single items are in the two- or four-column views. All-in-all, a rather lovely design. And the whole “Celebrated Miscellany” idea produces a fascinating aesthetic. It reminds this writer of an old science journal, like something Darwin or Audubon might have drawn.</p>
<p>So how do we do it? Well, Colly uses a series of <code>@media</code> rules at the very end of his <a href="http://colly.com/css/screen.css">stylesheet</a>. Here’s one of the bits we’re talking about (edited for brevity):<br />
<code>@media (min-device-width:1024px) and (max-width:989px), screen and (max-device-width:480px), (max-device-width:480px) and (orientation:landscape), (min-device-width:481px) and (max-device-width:1024px) and (orientation:portrait) { div#page { width:468px; } .home ul#navigation_pri, .home ul#subnav-b { padding-bottom:30px; } … div#siteinfo p { font-size:14px; } } </code><br />
So what’s happening there? well, all of the CSS rules for this particular <code>@media</code> query are encapsulated in the query itself. The query is asking a number of different questions to cover quite a few bases, but this particular set of CSS covers the “less than 950px viewport” eventuality. As for mobile devices, this view comes into play if an iPhone is in landscape mode, or if an iPad is in portrait mode.</p>
<p>The second <code>@media</code> query looks like this:<br />
<code>@media (min-device-width:1024px) and (max-width:509px), (max-device-width:480px) and (orientation:portrait) { div#page { padding:30px 0px 10px 0px; width:306px; } … } </code><br />
It’s considerably simpler, as it doesn’t have to ask as many questions about your viewport or device width. The first part of the query takes care of iPads and desktops alike, while the second handles the smaller display devices.</p>
<p>So there you have it folks, the ability to craft resolution dependent layouts and styles. Now go forth and amaze your clients!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisantalent.com/blog/post/resolution-dependent-layouts-css-media-queries-and-you.aspx/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Local Notifications</title>
		<link>http://www.artisantalent.com/blog/post/local-notifications.aspx</link>
		<comments>http://www.artisantalent.com/blog/post/local-notifications.aspx#comments</comments>
		<pubDate>Thu, 16 Dec 2010 14:00:00 +0000</pubDate>
		<dc:creator>Jeff B</dc:creator>
				<category><![CDATA[Design Resources]]></category>
		<category><![CDATA[mobile applications]]></category>

		<guid isPermaLink="false">http://www.artisantalent.com/blog/post/local-notifications.aspx</guid>
		<description><![CDATA[For the last article, we’re going to discuss a lesser-known feature of iOS 4: Local Notifications. Previously, we had Push Notifications, introduced with iPhone 3.0, which offer a way around multitasking by leaving a server at the other end performing tasks for you and notifying you via a pushed message that you should relaunch your [...]]]></description>
			<content:encoded><![CDATA[<p>For the last article, we’re going to discuss a lesser-known feature of iOS 4: Local Notifications. Previously, we had Push Notifications, introduced with iPhone 3.0, which offer a way around multitasking by leaving a server at the other end performing tasks for you and notifying you via a pushed message that you should relaunch your app to see a change. This could be an IM via the AIM service, or a message from Mint.com that you’re overbudget, to name just two of the many possibilities.</p>
<p>But what about an app that’s primarily useful locally on your device and has no real need to maintain any sort of connection to the internet? A clock, or a to-do application, or a calendar, for example. Using Push Notifications is costly for the developer, as they must maintain a server that allows for always-on connectivity from their users, and if they experience a surge in popularity, those costs could skyrocket. Thankfully, Local Notifications are here to save the day.</p>
<p>The basic principle is to write some code to display these notifications, some code that hooks into the Local Notifications service to release these notifications based on the device’s internal time, and then some code to decide what to do about the notification after it fires. That last piece will likely be dependent on whether or not the app is running.</p>
<p>So that takes you through the whole thought process, but what about examples? Head on over to the <a title="iPhone Programming Tutorial – Local Notifications" href="http://icodeblog.com/2010/07/29/iphone-programming-tutorial-local-notifications/">Local Notifications article</a> at iCodeBlog for a walkthrough, but make sure you’ve already nailed down some basics.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisantalent.com/blog/post/local-notifications.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review Time Children!</title>
		<link>http://www.artisantalent.com/blog/post/review-time-children.aspx</link>
		<comments>http://www.artisantalent.com/blog/post/review-time-children.aspx#comments</comments>
		<pubDate>Wed, 15 Dec 2010 14:00:00 +0000</pubDate>
		<dc:creator>Jeff B</dc:creator>
				<category><![CDATA[Design Resources]]></category>
		<category><![CDATA[mobile design]]></category>

		<guid isPermaLink="false">http://www.artisantalent.com/blog/post/review-time-children.aspx</guid>
		<description><![CDATA[The last post in this series won’t focus on a particular app, but instead will be a review of sorts of the things we’ve learned throughout from the examples provided previously. While no examples of bad app design were presented here, it’s not hard to find them and with little exception all of these apps [...]]]></description>
			<content:encoded><![CDATA[<p>The last post in this series won’t focus on a particular app, but instead will be a review of sorts of the things we’ve learned throughout from the examples provided previously. While no examples of bad app design were presented here, it’s not hard to find them and with little exception all of these apps take their cues from Apple’s own apps and UI guidelines when it comes to creating a useful, successful app.</p>
<p>When it comes to navigation, having that bottom “dock” of icons for your most important bits seems to be the most successful way to offer access to features. Another thing used sometimes, but not seen in this series is a “home page,” showing full screen all the navigation bits. The <a title="Facebook iTunes Preview" href="http://bit.ly/facebook-iphone">Facebook</a> app exemplifies this best. When navigating from one section to another, however, the top back and forwards arrow buttons provide the most usefulness. The iPod app offers the best example of this with its multi-colored “Now Playing” button constantly leading back to what you’re doing right now, which is listening to music, and a separate back button appearing when you drill down from the artists or albums view to the songs view.</p>
<p>The <a title="Mint.com Personal Finance iTunes Preview" href="http://bit.ly/mint-itunes">Mint.com app</a> shows what’s possible with some creative icon editing, and letting iOS do some of the work for you, as well as showcasing design evolution. For the time being, you can still see the old app design at the iTunes Preview link above and can compare it to the screenshot provided earlier in this series.</p>
<p>The <a title="Groceries iTunes Preview" href="http://bit.ly/dlGJbM">Groceries</a> app shows us that doing a seemingly simple thing, which an iOS device is almost overkill for, and doing it well is a recipe for serious success. Beautiful icons, subtle touches to tie the app into its real-world model, but offering greater organization and ease of use than even pen and paper.</p>
<p><a title="Square iTunes Preview" href="http://bit.ly/square-ios">Square</a> demonstrates that while simple, clear app design is crucial, having a physical accessory can sometimes be the killer app, especially when its something as eminently useful as a credit card reader that anyone can apply for and obtain. Their underwriting difficulties notwithstanding, all of their users have raved about Square and bright things are on the horizon for this and other portable payment gateways.</p>
<p>Finally, Tapbot&#8217;s <a title="Weightbot iTunes Preview" href="http://bit.ly/crB1vn">Weightbot</a>, <a title="Pastebot iTunes Preview" href="http://bit.ly/pastebot-ios">Pastebot</a>, <a title="Calcbot iTunes Preview" href="http://bit.ly/calcbot-ios">Calcbot</a> and <a title="Convertbot iTunes Preview" href="http://bit.ly/convertbot-ios">Convertbot</a> apps show that having a guiding theme throughout all your apps, and really creating a global brand for your products can inject some true personality into them, giving them almost a life of their own.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisantalent.com/blog/post/review-time-children.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blogging on the Go in Style</title>
		<link>http://www.artisantalent.com/blog/post/blogging-on-the-go-in-style.aspx</link>
		<comments>http://www.artisantalent.com/blog/post/blogging-on-the-go-in-style.aspx#comments</comments>
		<pubDate>Tue, 14 Dec 2010 14:00:00 +0000</pubDate>
		<dc:creator>Jeff B</dc:creator>
				<category><![CDATA[Design Resources]]></category>
		<category><![CDATA[mobile design]]></category>

		<guid isPermaLink="false">http://www.artisantalent.com/blog/post/blogging-on-the-go-in-style.aspx</guid>
		<description><![CDATA[We’re going to get a little bit “meta” in this post, and discuss WordPress for iOS. “Meta” because this is a post on a WordPress-powered blog. WordPress being the powerful platform for communication that it is, Automattic decided to craft an iPhone app (and later develop it into a universal iPhone+iPad app) that gave access [...]]]></description>
			<content:encoded><![CDATA[<p>We’re going to get a little bit “meta” in this post, and discuss <a title="WordPress for iOS" href="http://ios.wordpress.org/">WordPress for iOS</a>. “Meta” because this is a post on a WordPress-powered blog. WordPress being the powerful platform for communication that it is, Automattic decided to craft an iPhone app (and later develop it into a universal iPhone+iPad app) that gave access to the most necessary features for a WordPress site: editing posts, pages and comments.</p>
<p><img alt="" />As you can see, the main interface has three buttons, and while they are similar to the typical outline-style Apple espouses, they are actually modified versions of the icons you see within the WordPress admin interface, accompanying the top-level navigation elements there. This is quite an excellent tie-in to the main, web-based software. But let’s back up a bit. The setup screen for a WP-powered site attempts to be as simple as possible, only offering a single screen’s worth of options and only really requiring that you answer three questions: your blog URL, username and password. From there, the app can almost always connect; only in rare instances does it have difficulty and ask you for a direct link to the <code>xmlrpc.php</code> file that allows for this sort of remote access.</p>
<p>While you’re in the setup, however, you can make some changes to how many “recent items” are displayed when viewing this site’s items, whether or not geotagging is enabled and whether or not photos are resized to make posting times faster. HTTP authentication is an advanced feature, allowing you to hide your site behind basic authentication, and the WordPress app wants to ensure you can edit these sites as well.</p>
<p>Now that we’ve added our site, we can see our comments, posts and pages, and make a new post or page if we so desire. The comments list shows avatars and can be filtered for pending comments if you have WP’s review features for comments enabled. You can even delete whole swathes of comments if you like by tapping the edit button in the top right. Tapping a comment itself allows you to unapprove it or edit it.</p>
<p>The posts and pages lists are identical in all but what sort of item you’re editing, and as they’re identical in many ways as far as WordPress is concerned, this makes sense. You have access to all the usual fields (title, tags, categories, publish status), and can write plain text or HTML in the content area. There’s currently no way to do any rich text editing without HTML knowledge, but this remains one of the few limitations to content entry. They did make one particularly interesting design choice. When viewing the entry initially, the metadata remains as a header and the content scrolls in the lower half of the screen. Tapping the content, however, enlarges it to full screen, allowing for much easier editing of content.</p>
<p>Along the bottom, the navigation has shifted to offer control of the entry in questions, comments, photos and other settings (such as publish date, for scheduling or pre-dating items), and even the ability to preview the post as it would appear on your blog. The preview features depends on your theme’s compatibility, and occasionally does not work as expected, but it falls back to a basic preview to give you at least some idea of what you’ve created.</p>
<p>All in all, an excellent mobile blogging / editing app for the WordPress software. Best of all, like WordPress itself, it’s free. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisantalent.com/blog/post/blogging-on-the-go-in-style.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The App &#8220;Store&#8221; for Web Apps</title>
		<link>http://www.artisantalent.com/blog/post/the-app-store-for-web-apps.aspx</link>
		<comments>http://www.artisantalent.com/blog/post/the-app-store-for-web-apps.aspx#comments</comments>
		<pubDate>Mon, 13 Dec 2010 14:00:00 +0000</pubDate>
		<dc:creator>Jeff B</dc:creator>
				<category><![CDATA[Design Resources]]></category>
		<category><![CDATA[mobile websites]]></category>

		<guid isPermaLink="false">http://www.artisantalent.com/blog/post/the-app-store-for-web-apps.aspx</guid>
		<description><![CDATA[We’re going to take a break from JS frameworks to look at an interesting site / web app that came across the radar recently: OpenAppMkt. You’ll want to check it out both on your desktop as well as on your iOS device, as each has a completely different interface. On the desktop, you’ll immediately begin [...]]]></description>
			<content:encoded><![CDATA[<p>We’re going to take a break from <acronym title="JavaScript">JS</acronym> frameworks to look at an interesting site / web app that came across the radar recently: <a title="OpenAppMkt" href="http://openappmkt.com/">OpenAppMkt</a>. You’ll want to check it out both on your desktop as well as on your iOS device, as each has a completely different interface. On the desktop, you’ll immediately begin browsing the site’s collection of web apps, but on iPhone, you’ll be asked to add it to your home screen, and you’ll get to see a pretty decent web app first hand!</p>
<p>This is a great idea, and it really drives home the idea that web apps can augment, or even supercede, native applications in some ways. If you load it up in desktop Safari with the user agent manually set to MobileSafari (via the Developer menu), you can actually see that they’re using jQTouch, which was mentioned in a previous post.</p>
<p>It is worth noting that, true to the “β” (“beta”) character after the name, the site is still very much a work in progress. This is best exemplified by the jerky scrolling, and somewhat jerky animations. This could be due to jQTouch’s work-in-progress nature, or OpenAppMkt’s modifications to the jQTouch code (if any).</p>
<p>Moving on to what the app can do, though: they’ve utilized a very interesting mechanism to enable you to “install” the web apps directly from their interface. When you click install, a new window loads, still at OpenAppMkt, then instructs you to “add to home screen.&#8221; When you do that, OpenAppMkt grabs the home screen icon and name of the app you’re trying to “install,&#8221; and sets that. Now, when you go to load that app, it briefly heads to OpenAppMkt, then proceeds onward to the actual web app itself. While this does add a layer of abstraction, it increases the visibility of “installing” web apps, if you will, by adding them to the home screen, which is definitely a good thing.</p>
<p>Not only that, but their greater goal seems to be to build a clearinghouse for web apps, similar to Apple’s own <a title="Apple - Web apps - All Categories" href="http://www.apple.com/webapps/">Web Apps directory</a>, but with reviews and ratings. Creating this sort of community for these apps only improves their visibility and usefulness. Hopefully OpenAppMkt is here to stay!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisantalent.com/blog/post/the-app-store-for-web-apps.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Pinch of This, a Touch of That</title>
		<link>http://www.artisantalent.com/blog/post/a-pinch-of-this-a-touch-of-that.aspx</link>
		<comments>http://www.artisantalent.com/blog/post/a-pinch-of-this-a-touch-of-that.aspx#comments</comments>
		<pubDate>Thu, 09 Dec 2010 14:00:00 +0000</pubDate>
		<dc:creator>Jeff B</dc:creator>
				<category><![CDATA[Design Resources]]></category>
		<category><![CDATA[mobile applications]]></category>

		<guid isPermaLink="false">http://www.artisantalent.com/blog/post/a-pinch-of-this-a-touch-of-that.aspx</guid>
		<description><![CDATA[Let’s talk about something that has now become commonplace on mobile devices capable of having apps: touch screens. While that simulator that came with the device’s SDK can be useful, remember that it’s not a true substitute; it&#8217;s meant to test things when they’re in-progress. Once you have a working build, you need to install [...]]]></description>
			<content:encoded><![CDATA[<p>Let’s talk about something that has now become commonplace on mobile devices capable of having apps: touch screens.</p>
<p>While that simulator that came with the device’s SDK can be useful, remember that it’s not a true substitute; it&#8217;s meant to test things when they’re in-progress. Once you have a working build, you need to install it on your device and live with your (maybe not so) shiny new app. Use it with two hands, one hand, one hand while walking, in bright light, dim light, in both orientations (if your app will support that), and in any other situation you can think of.</p>
<p>Especially taking into account the one-handed thing, deciding button placement becomes a huge issue. Just a few pixels too close together can change a button from being just right to always being mistakenly triggered.</p>
<p>In addition, with a touch interface, we’ve lost a particular paradigm of mouse and cursor interfaces: hovering. There are no longer any hover states, as there is no pointer to hover. While this has a greater effect on websites and web apps, it can still create trouble if you’re trying to demonstrate to your users which elements are actually UI elements, and which elements are just content.</p>
<p>This sort of thing, of course, is where having a small army of beta testers is most useful. So crack that whip and see what they have to report!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisantalent.com/blog/post/a-pinch-of-this-a-touch-of-that.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Venerable iPod</title>
		<link>http://www.artisantalent.com/blog/post/the-venerable-ipod.aspx</link>
		<comments>http://www.artisantalent.com/blog/post/the-venerable-ipod.aspx#comments</comments>
		<pubDate>Tue, 07 Dec 2010 14:00:00 +0000</pubDate>
		<dc:creator>Jeff B</dc:creator>
				<category><![CDATA[Design Resources]]></category>
		<category><![CDATA[mobile design]]></category>

		<guid isPermaLink="false">http://www.artisantalent.com/blog/post/the-venerable-ipod.aspx</guid>
		<description><![CDATA[We are going to take a look at one of the built-in apps: iPod. To clarify, on iPod Touch this app is split into two: “Music” and “Movies.” The functionality remains the same, however. Like so many other apps, iPod features its primary navigation along the bottom in a black bar, with a series of [...]]]></description>
			<content:encoded><![CDATA[<p>We are going to take a look at one of the built-in apps: iPod. To clarify, on iPod Touch this app is split into two: “Music” and “Movies.” The functionality remains the same, however. Like so many other apps, iPod features its primary navigation along the bottom in a black bar, with a series of outline-style icons. What sets the iPod app apart, however, is that this bottom bar of icons can be customized! If you tap the “More” icon, which always remains in the bottom right corner, you’re presented with a variety of other browsing options for your audio &amp; video collection. Tapping the “Edit” button in the top left corner pulls up a sheet called “Configure,” where you can drag icons to the bottom dock/navigation bar to replace the default set, thus completely customizing your iPod app experience.</p>
<p><img alt="" />The primary interface for the iPod app, however, is the list. As always with sorted lists on iOS, full-width banners separate the letters of the alphabet and a vertical bar of the alphabet allows you to quickly zoom down to a specific letter by sliding up and down along the far-right side. We have lists of artists, albums, songs, videos, genres, each with their own slight twist. When viewing songs for example, a “Shuffle” list item appears at the top to let you quickly jump into listening to all of your music. Not only that, but each song has, beneath its title in black, bold text, a smaller subtitle informing you of the album the song belongs to. In almost every list, in fact, you can pull down to reveal a search form, letting you quickly filter for what you want. In the artist view, an “All Albums” list item allows you to drill down into the album view, and from there you can continue on by tapping “All Songs” to find yourself in the songs view.</p>
<p>If you select a particular album, you get a small preview of the album art, some metadata about the album (release date, number of songs, length), a big shuffle button and then a zebra-striped list of the songs with their track number and length in a neat table. You can see that a black “Now Playing” button, shaped like a pointer, is present. This remains throughout the app if you are playing a song, even if its been paused, as a way to quickly return to the current track and resume.</p>
<p>The “Now Playing” screen, in fact, has some great features of its own. It has the usual play, previous and next buttons and a volume slider, and in the main area displays album art primarily, but tapping said album art reveals a secondary set of controls. A progress slider appears, allowing you to scrub through the song, but most interestingly of all, once you tap and hold on that slider, an instruction appears stating “Slide your finger down to adjust the scrubbing rate.” You can get some fine-grained control of where you want to go in the song this way—a brilliant addition! These secondary controls also offer you the ability to turn on repetition (of all items in your playlist or just the current item), begin a Genius playlist from this particular item or enable shuffling. Tapping the top right “list” button flips things over to a list of songs on the album in question and allows you to change the star rating of the current song.</p>
<p>All in all, iPod has lots of clever features tucked away behind taps and buttons, but not so far away that you’d never find them, even if by accident. It’s the usual simple elegance and usefulness we’ve come to expect from Apple, but it pays to study it now and again and learn from their example.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisantalent.com/blog/post/the-venerable-ipod.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Just a Touch More</title>
		<link>http://www.artisantalent.com/blog/post/just-a-touch-more.aspx</link>
		<comments>http://www.artisantalent.com/blog/post/just-a-touch-more.aspx#comments</comments>
		<pubDate>Mon, 06 Dec 2010 14:00:00 +0000</pubDate>
		<dc:creator>Jeff B</dc:creator>
				<category><![CDATA[Design Resources]]></category>
		<category><![CDATA[mobile websites]]></category>

		<guid isPermaLink="false">http://www.artisantalent.com/blog/post/just-a-touch-more.aspx</guid>
		<description><![CDATA[Continuing on our trek through the JavaScript frameworks that can improve your web app users’ experiences, we come to jQTouch. jQTouch is a little different from the other frameworks we’ve looked at, primarily because it relies on the jQuery JavaScript library, which is one of the most popular JS libraries out there. This does, however, [...]]]></description>
			<content:encoded><![CDATA[<p>Continuing on our trek through the JavaScript frameworks that can improve your web app users’ experiences, we come to <a title="jQTouch — jQuery plugin for mobile web development" href="http://www.jqtouch.com/">jQTouch</a>. jQTouch is a little different from the other frameworks we’ve looked at, primarily because it relies on the <a title="jQuery: The Write Less, Do More, JavaScript Library" href="http://jquery.com/">jQuery</a> JavaScript library, which is one of the most popular <acronym title="JavaScript">JS</acronym> libraries out there. This does, however, add some weight to any web app using jQTouch, so be aware that this may negatively affect load times and user experience.</p>
<p>Still, the familiarity most developers have with jQuery, combined with the polish of this framework/plugin, makes it a very attractive option for any web developer. Let’s take a peek at what it can do. It uses native WebKit animations, it can preload images, has a variety of themes built in to it (and you can easily make more using <a href="http://sass-lang.com/">SASS</a>), and has not just the usual <acronym title="JavaScript">JS</acronym> CallbackEvents, but can also respond to a variety of touch events! Now that is very cool.</p>
<p>As an example, here’s how easy it is to replace a standard click with jQTouch’s custom tap event:<br />
<code>$(function(){ $('#tapme').tap( function(e){ console.log('Tapped!'); }); }); </code><br />
Now that is just brilliant. A “swipe” CallbackEvent is also under development. As of now, it appears to be hit-or-miss, but it’s in there.</p>
<p>If you want to explore some of what jQTouch can do, head on over to <a title="jQTouch β" href="http://www.jqtouch.com/preview/demos/main/">the demo</a> on your iPhone. Bear in mind that as useful as this is, its definitely still under heavy development; as it is, the most recent commit to the github repository was July 21, so things are definitely still active.</p>
<p>If you want to explore the code, head on over to the aforementioned <a title="senchalabs' jQTouch at master – GitHub" href="http://github.com/senchalabs/jQTouch">github repository</a>. Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisantalent.com/blog/post/just-a-touch-more.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memory Problems</title>
		<link>http://www.artisantalent.com/blog/post/memory-problems.aspx</link>
		<comments>http://www.artisantalent.com/blog/post/memory-problems.aspx#comments</comments>
		<pubDate>Thu, 02 Dec 2010 14:00:00 +0000</pubDate>
		<dc:creator>Jeff B</dc:creator>
				<category><![CDATA[Design Resources]]></category>
		<category><![CDATA[mobile applications]]></category>

		<guid isPermaLink="false">http://www.artisantalent.com/blog/post/memory-problems.aspx</guid>
		<description><![CDATA[Let’s take a look at one of the lesser-discussed development issues surrounding mobile devices: memory. Why is this such a problem? Well, to keep it simple we’ll focus on the iPhone, as there are only 4 versions to take into account. Let’s look at each of the four: iPhone (aka iPhone 1, iPhone 2G) &#38; [...]]]></description>
			<content:encoded><![CDATA[<p>Let’s take a look at one of the lesser-discussed development issues surrounding mobile devices: memory. Why is this such a problem? Well, to keep it simple we’ll focus on the iPhone, as there are only 4 versions to take into account. Let’s look at each of the four:</p>
<ul>
<li>iPhone (aka iPhone 1, iPhone 2G) &amp; iPhone 3G both have a grand total of 128 MB.</li>
<li>iPhone 3GS has 256 MB</li>
<li>iPhone 4 has 512 MB</li>
</ul>
<p>So you can see, we’ve returned to the days before a gigabyte of RAM was commonplace. However, this is total physical memory; once you actually turn the device on and get going, that number plummets. In the case of all of them, the system RAM usage (including the MobilePhone application, which also must always be running) is roughly 64MB. In the case of iPhone and iPhone 3G, that cuts your memory in half. Pretty brutal. Thankfully, the later two devices up the ante considerably, but they are still somewhat constraining.</p>
<p>So what does this mean programmatically? It means you’re going to implement things on an as-needed basis, and kill them off as swiftly as possible. Otherwise, SpringBoard (in the case of iOS) will quite ruthlessly kill your application with an out-of-memory error, and we all know how jarring that can be.</p>
<p>Keeping these sorts of physical / systematic limitations in mind is one of the most important concepts in mobile development. It’s akin to developing for some of the previous generation console gaming systems; you have to get it as solid as possible, using as little memory, with as few bugs as you can, at version 1.0.</p>
<p>Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisantalent.com/blog/post/memory-problems.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Very Test-y Relationship</title>
		<link>http://www.artisantalent.com/blog/post/a-very-test-y-relationship.aspx</link>
		<comments>http://www.artisantalent.com/blog/post/a-very-test-y-relationship.aspx#comments</comments>
		<pubDate>Tue, 30 Nov 2010 14:00:00 +0000</pubDate>
		<dc:creator>Jeff B</dc:creator>
				<category><![CDATA[Design Resources]]></category>
		<category><![CDATA[mobile applications]]></category>

		<guid isPermaLink="false">http://www.artisantalent.com/blog/post/a-very-test-y-relationship.aspx</guid>
		<description><![CDATA[Let’s talk about the stage of development after you’ve actually written your app: the testing stage. Conjures up all sorts of evil images from school, doesn’t it? Well relax, you get to be the test giver, and the idea now is to make the testing as painless as possible for your users, so they’ll want [...]]]></description>
			<content:encoded><![CDATA[<p>Let’s talk about the stage of development <em>after</em> you’ve actually written your app: the testing stage. Conjures up all sorts of evil images from school, doesn’t it? Well relax, you get to be the test giver, and the idea now is to make the testing as painless as possible for your users, so they’ll want to help you out and make their own experience better.</p>
<p>So how do we test our apps before we release them? In the case of Android apps, this is quite simple, as installation of non-Market apps is possible by checking the “Unknown sources” checkbox in the “Applications” area of “Settings.” For security reasons, be sure to disable this once you’ve installed the app you’re looking for.</p>
<p>In the case of iOS apps, however, the only distribution method is the App Store. So how do we get our app into testers’ hands? We need to create what’s called Ad Hoc distribution. This is a capability that came along with iPhone 2.0. You’ll need to collect the UUID for each tester’s device(s) and use the Program Portal for your app to create provisioning profiles for all of your testers. You then bundle the profiles into the test version of your app, and then build and distribute to them. You’ll need to supply each tester with a ZIP of the .app bundle and a copy of the Ad Hoc .mobileprovision file that you generated.</p>
<p>More explicit, step-by-step instructions for this can be found in Apple’s <a title="iOS Development Guide: Distributing Applications" href="http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/145-Distributing_Applications/distributing_applications.html#//apple_ref/doc/uid/TP40007959-CH10-SW1">Developer documentation</a>, but the easiest to read resource is definitely Craig Hockenberry’s <a title="furbo.org · Beta testing on iPhone 2.0" href="http://furbo.org/2008/08/06/beta-testing-on-iphone-20/">Beta testing on iPhone 2.0</a> article, which outlines the whole procedure. Things have moved around a bit in Xcode 3, and Xcode 4 promises even greater changes, but the procedure is similar enough.</p>
<p>So go forth, and test your new app with your loyal minions!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artisantalent.com/blog/post/a-very-test-y-relationship.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

