<?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>The Net Whisperer</title>
	<atom:link href="http://www.netwhisperer.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.netwhisperer.com</link>
	<description></description>
	<lastBuildDate>Wed, 16 May 2012 21:38:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Leveraging Pinterest for Engagement Marketing</title>
		<link>http://www.netwhisperer.com/2012/05/16/leveraging-pinterest-for-engagement-marketing/</link>
		<comments>http://www.netwhisperer.com/2012/05/16/leveraging-pinterest-for-engagement-marketing/#comments</comments>
		<pubDate>Wed, 16 May 2012 21:38:57 +0000</pubDate>
		<dc:creator>Dana Larson</dc:creator>
				<category><![CDATA[Marketing Strategy]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[engagement marketing]]></category>
		<category><![CDATA[Google+]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[Pinterest]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.netwhisperer.com/?p=1594</guid>
		<description><![CDATA[Yes, Pinterest is BIG, but is it right for your brand? Lately, there&#8217;s been a lot of hype around Pinterest overtaking LinkedIn to own the number three spot in the list of top social media networks. In fact, a recent report from Shareaholic states Pinterest drives more traffic than Google+, LinkedIn and YouTube combined. So,...]]></description>
			<content:encoded><![CDATA[<h2>Yes, Pinterest is BIG, but is it right for your brand?</h2>
<p>Lately, there&#8217;s been a lot of hype around Pinterest overtaking LinkedIn  to own the number three spot in the list of top social media networks.  In fact, a recent <a href="http://www.netwhisperer.com/wp-content/uploads/2012/05/1-white.png"><img class="size-full wp-image-1610 alignright" title="Pinterest drives more traffic than Google+, LinkedIn and YouTube combined" src="http://www.netwhisperer.com/wp-content/uploads/2012/05/1-white.png" alt="Pinterest drives more traffic than Google+, LinkedIn and YouTube combined" width="193" height="233" /></a>report from Shareaholic states Pinterest drives more  traffic than Google+, LinkedIn and YouTube combined. So, it&#8217;s no  surprise that brands are rushing to figure out how they can benefit from  this exploding social channel. But the reality is that Pinterest isn&#8217;t  for everyone, and it isn&#8217;t for every brand. Here, we&#8217;ll take a look at  what makes Pinterest different, who stands to get the most from using it  and how to do it right.<span id="more-1594"></span></p>
<h2>What Makes Pinterest Different</h2>
<p>Understanding what makes Pinterest different than other social platforms provides  valuable insight into its allure and provides clues on how to best  leverage it successfully.</p>
<h3>1. It&#8217;s Visually Driven</h3>
<p>The most obvious difference is that Pinterest is completely visually  driven. Pinners make immediate decisions about whether or not they are  going to view or pin something based on the visuals alone. For brands  that have products or services that shine visually, Pinterest is an  excellent choice.</p>
<p><a href="http://www.netwhisperer.com/wp-content/uploads/2012/05/2.png"><img class="aligncenter size-full wp-image-1598" title="Pinterest is a visually driven social platform" src="http://www.netwhisperer.com/wp-content/uploads/2012/05/2.png" alt="Pinterest is a visually driven social platform" width="407" height="304" /></a></p>
<h3>2. Motivation is Around Inspiration and Discovery</h3>
<p>Unlike other social networks that are focused on what you&#8217;re doing right  now, Pinterest concentrates more on what you want to be, where you want  to go, what you want to build in the future. In that vein, it&#8217;s very  inspirational and represents a real opportunity for the right brands.  Let&#8217;s say you&#8217;re building a house. Pinterest can provide a vast library  of ideas around architectural styles, color palettes, flooring and other  design features. Pinners collect ideas on boards for inspiration and  when they&#8217;re ready to buy, all they have to do is click on the image to  get to its original source and purchase.</p>
<p>To read more about what makes Pinterest different, <a href="http://www.thought-matrix.com/about/newsletter/id/10" target="_blank">read the full newsletter</a> on ThoughtMatrix.</p>
<h2>Is Pinterest Right for You?</h2>
<p>You&#8217;ve probably already started to form some ideas around whether or not  Pinterest is good for your brand. If you&#8217;re still not sure, here are  some questions to consider. If the answer is no to any of them, then  Pinterest may not be right for you.</p>
<h3>1. Do you have a unique brand personality that can be conveyed through images?</h3>
<p>This is a bit of trick question because the answer isn&#8217;t as obvious as  you might think. For example, you might not think Whole Foods would have  a brand personality that could be conveyed visually, but they  absolutely do. They do it through compelling visuals best thought of as  &#8220;food porn&#8221;—images of mouthwatering produce and recipes, ideas for  edible celebrations, food as delicious art, etc.—all of which are  designed to communicate their core values of &#8220;selling the highest  quality natural and organic products available&#8221; and &#8220;satisfying and  delighting our customers&#8221;.</p>
<p><a href="http://www.netwhisperer.com/wp-content/uploads/2012/05/3.png"><img class="aligncenter size-full wp-image-1600" title="Conveying brand personality through images on Pinterest" src="http://www.netwhisperer.com/wp-content/uploads/2012/05/3.png" alt="Conveying brand personality through images on Pinterest" width="412" height="291" /></a></p>
<h3>2. Is your product or service a source of inspiration or motivation for others?</h3>
<p>You might not think of paint as being an interesting or inspirational  subject on its own, but when it&#8217;s the paint color that completely makes  the look of a room then it certainly can be. Using the Pinterest Pins  source lookup feature (www.pinterest.com/source/yourwebsite) you can  easily see that visitors to BenjaminMoore.com are finding plenty of  inspiration.</p>
<p><a href="http://www.netwhisperer.com/wp-content/uploads/2012/05/4.png"><img class="aligncenter size-full wp-image-1601" title="Pinterest makes products and services a source of inspiration for others" src="http://www.netwhisperer.com/wp-content/uploads/2012/05/4.png" alt="Pinterest makes products and services a source of inspiration for others" width="412" height="298" /></a></p>
<p>Using this feature not only lets you see what people are pinning, it  also gives you some insight into why they&#8217;re interested in these images  by reading the comments. No other social media network provides this  level of collected, curated comments on a brand&#8217;s products or services.  It&#8217;s important to note though that Benjamin Moore clearly included  inspirational imagery as part of their content strategy.</p>
<p>To read more about if Pinterest is right for your brand, <a href="http://www.thought-matrix.com/about/newsletter/id/10" target="_blank">read the full newsletter</a> on ThoughtMatrix.</p>
<h2>Ideas for Getting Started with Pinterest</h2>
<p>So what does all this mean for you? If you&#8217;ve got an existing library of  appealing imagery, Pinterest represents a real opportunity to break out  in an exploding social channel. Some other ways you might begin to  leverage Pinterest include:</p>
<h3>Pinterest Contest</h3>
<p>For brands with good product imagery, you can easily invite users—via  email, Facebook, Twitter and your website—to create pinboards  highlighting the products you offer that they like most. Incent sharing  by giving points for the most repins, which are essentially votes. This  tactic doesn&#8217;t even require you to create your own pinboard, making it  easy for you to test the waters of Pinterest while driving awareness and  advocacy of your brand.</p>
<h3>Mood Board</h3>
<p>Don&#8217;t have products that lend themselves to pinning? Then consider  creating a pinboard of things representative of your brand&#8217;s  personality. It could include charitable causes you support, content  around the science behind your product or service or even highlights  from partner brands. You never know who may discover—and ultimately come  to respect—your brand because of a mutual interest.</p>
<p>To find more ideas on how to get started with Pinterest, <a href="http://www.thought-matrix.com/about/newsletter/id/10" target="_blank">read the full newsletter</a> on ThoughtMatrix.</p>
<h2>Pinterest Demands that You Be Interesting</h2>
<p>Ultimately your success on Pinterest will hinge on a good content  strategy, because without interesting content, no one is going to pin  it. This is good advice in general though since providing a rich,  well-rounded user experience online is the key to everything from lead  generation to search engine optimization to customer engagement.  ThoughtMatrix has a knowledgeable team of content strategists, graphic  artists and UX designers who can help you develop online experiences  that are not just worthy of being pinned but that also ensure that your  users engage with your brand on a deeper level. <a href="http://www.thought-matrix.com/contact/">Contact us</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netwhisperer.com/2012/05/16/leveraging-pinterest-for-engagement-marketing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choosing a host for your new website or application</title>
		<link>http://www.netwhisperer.com/2012/04/25/choosing-a-host-for-your-new-website-or-application/</link>
		<comments>http://www.netwhisperer.com/2012/04/25/choosing-a-host-for-your-new-website-or-application/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 18:45:55 +0000</pubDate>
		<dc:creator>Tom Motley</dc:creator>
				<category><![CDATA[Industry Trends and Legislation]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[amazon cloud]]></category>
		<category><![CDATA[elastic cloud computing]]></category>
		<category><![CDATA[PaaS]]></category>
		<category><![CDATA[virtual private server]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[website hosting]]></category>

		<guid isPermaLink="false">http://www.netwhisperer.com/?p=1516</guid>
		<description><![CDATA[I regularly advise clients as to which hosting provider to utilize for their new website or web application. The choice is wide and varied, and there is no “one-size-fits-all” solution that I point to every time. If you are currently considering your hosting options, or are looking for a place to start your research, you...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span style="font-weight: normal;">I regularly advise clients as to which hosting provider to utilize for their new website or web application. The choice is wide and varied, and there is no “one-size-fits-all” solution that I point to every time. If you are currently considering your hosting options, or are looking for a place to start your research, you may well find this brief guide helpful. I&#8217;ll start off with a definition of terms, then detail a small checklist of questions you will need to answer, and then finish up with a brief summary of my preferred hosting providers.<span id="more-1516"></span></span></p>
<h2>The Trade Lingo</h2>
<div style="text-align: justify;">If you are new to choosing a hosting provider, you will probably need to know some common terminology in the hosting world. Here are some terms you should get familiar with:</div>
<p style="text-align: justify;"><em><span style="text-decoration: underline;">VPS &#8211; Virtual Private Server</span></em>: This is a common term for a hosting server that actually lives on a shared physical server. The server acts like a &#8216;real&#8217; server, but is actually sharing the underlying physical hardware with several other virtual servers using <a href="http://en.wikipedia.org/wiki/Virtualization" target="_blank">virtualization</a> technology. Not surprisingly, this economical use of physical hardware translates into cheaper rental rates for the customer. However, using a VPS brings the increased risk of sharing the hardware with a &#8216;noisy neighbor&#8217;. That is, you need to be sure that you are not sharing the physical server with another virtual server that is resource hungry and prevents your server from getting to the CPU or other physical resources in a timely manner. Clearly, when choosing a VPS-based solution, the fine details of the offering should be examined to ensure there is fair and equitable provisioning of server resources among virtual nodes.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Dev Ops or Sys Admin</span>: Technical resources who can deploy and manage the website on the hosting provider. Sometimes these are in-house experts at your organization, or you may utilize hired resources provided at extra cost by the hosting provider. More commonly, the web developer who built the application for you is forced to serve as an ad hoc Sys Admin. This is not a good route to follow as development of a website and deployment of a website are separate disciplines with conflicting priorities.</p>
<p style="text-align: justify;"><em><span style="text-decoration: underline;">PaaS &#8211; Platform-as-a-Service</span></em>: Some hosting choices actually offer a complete Dev Ops function with them. That is, they have built the offering out to allow for auto-managed deployment of your application or site. Think of it, in very rough terms, as offering the ability to upload and deploy a site in much the same way as you would upload a batch of photographs from your local computer to an online photo browser. Sites running on a PaaS provider are often amazingly maintenance free, but PaaS does impose restrictions on what your application can or cannot do, and how often it can do it.</p>
<p style="text-align: justify;"><em><span style="text-decoration: underline;">Elasticity , or Elastic Cloud Computing</span></em>: Refers to a strategy of dynamically providing additional capacity to your hosted applications as they experience more demand. This is an approach popularized by Amazon Web Services and adopted by many others. This strategy allows you to avoid having to pay for redundant capacity, which is a traditional way of dealing with scaling issues. Elastic cloud computing is a brilliant concept, but one that only the world&#8217;s most popular and heavily trafficked sites need to consider.</p>
<h2>Issues To Consider Up Front</h2>
<p>Generally, the choice is narrowed down to a few options by answering these three questions first:</p>
<h3><span style="font-weight: normal;"> 1. Do you have a Development Operations or Systems Admin group you can lean on?</span></h3>
<div style="text-align: justify;">When a website is up and running, it will require regular maintenance much like a car or house does. It will also require somebody to keep an eye on its runtime performance, and make sure it is not performing slowly or suffering a malicious attack. Lastly, somebody will have to port fixes and updates to the code. If you have a dedicated team that can handle these &#8220;Development Operations&#8221; tasks for you, then you can focus purely on cost and performance in your hosting appraisal. However, as is normally the case, you may well have access to limited or zero Dev Ops expertise, and should be focussed on more managed hosting offerings that can handle a lot of the heavy-lifting for you.</div>
<h3><span style="font-weight: normal;">2. What is your project&#8217;s </span>technical ‘stack’?</h3>
<p style="text-align: justify;">Your website or application will be programmed in a specific language, and live on top of a specific set of complementing frameworks, such as a database and a web server. This combination of technologies is generally referred to as the &#8216;stack&#8217;. The choice of stack is important when choosing a hosting platform. Some hosts cater to a specific stack, whilst others are agnostic. For instance, Acquia is the dominant player for Drupal-based site hosting, whilst Heroku enjoys similar hegemony in the Rails world.</p>
<h3><span style="font-weight: normal;">3. What kind of regulation and compliance restrictions are you subject to?</span></h3>
<div style="text-align: justify;">This question does not apply to everyone, but if you&#8217;re in an industry with a lot of regulatory oversight (healthcare, insurance, finance, etc.) you will need to be sure the hosting provider you choose can be endorsed by your General Counsel.</div>
<h2>Recommended Hosting Providers</h2>
<p style="text-align: justify;">With these thoughts in mind, let&#8217;s move on to an assessment of the current market offerings with which I am familiar and often recommend to clients. I&#8217;ll break out the listing in to three segments: PaaS, VPS and &#8216;niche&#8217; providers. I&#8217;ve also included some basic pricing information, as well as a information on which tech stack the solution is best suited to:</p>
<h3><span style="font-weight: normal;">PaaS Options</span></h3>
<p>1. <a href="https://www.dotcloud.com/" target="_blank">DotCloud</a></p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Pros</span> : Supports a wide variety of technical stacks and features, and has a simple command-like deployment toolset that makes it trivially easy to get your application &#8216;live&#8217;.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Cons</span> : Relatively new service that has not been exstensively road tested or endorsed by major brands.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Summary</span>: Well worth serious consideration if you are looking to standardize on a PaaS offering across several projects and languages, and you have $100 or more a month to spend on hosting costs.</p>
<p>2. <a href="http://www.heroku.com" target="_blank">Heroku</a></p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Pros</span>: Has great support in the Ruby-on-Rails community, and is diversifying across other languages and frameworks very quickly. It is now part of large enterprise vendor (Salesforce.com). Offers a large ecosystem of plugins that allow developers to add specific services to their sites without having to manage those services directly (e.g. content caching to speed up site performance).</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Cons</span>: Static IP addresses are very expensive on this host, which can hamper your efforts to run a secure website or integrate with third-party systems. It also has suprisingly poor Salesforce.com integration considering they are the same company now.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Summary</span>: Should be your go-to option if your primary development language is Ruby-on-Rails and you run small-to-medium sized sites. Not recommended for an e-commerce operation or something requiring heavy security. Should also be on the shortlist if you do Java-based web development. Will run about $50 a month for a basic site, but costs grow quickly as application requirements become more sophisticated (e.g. caching, monitoring, large data storage).</p>
<p>3. <a href="http://code.google.com/appengine/" target="_blank">Google App Engine</a></p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Pros</span>: Free service tier; fairly mature offering; easy to get a very simple static site up on it.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Cons</span>: Limited to Python language, only supports a subset of Java.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Summary</span>: In general, very heavy on constraints and has a surprisingly limited auxilliary toolset (data import/export tools etc). Ideal for a light static website with limited or zero database interaction (for example, a small corporate website or a restaurant website) that you want to run for a next-to-nothing monthly cost.</p>
<p>4. <a href="http://www.acquia.com" target="_blank">Acquia</a></p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Pros</span>: De facto choice for deploying Drupal sites, with a very healthy portfolio of brands under their roof. Choose between a managed or independently managed instance.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Cons</span>: You have to run with their Drupal stack (version, plugin library, etc.) rather than the particular flavor your team developed against.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Summary</span>: Basic hosting with Acquia will cost at least $50 a month, but this is money well spent if you are building your sites on Drupal and have little or no in-house Dev-Ops support.</p>
<h3><span style="font-weight: normal;">VPS Options</span></h3>
<p>1. <a href="https://aws.amazon.com/" target="_blank">Amazon Web Services</a></p>
<p><span style="text-decoration: underline;">Pros</span>: The marquee name in website hosting that offers a plethora of add-ons and secondary services to it&#8217;s core VPS instances.</p>
<p><span style="text-decoration: underline;">Cons</span>: Complicated to administer and complicated to price. Furthermore, elastic cloud features are not needed by most sites.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Summary</span>: The go-to option for enterprise-grade website initiatives that have a need to develop an ecosystem of web &#8216;parts&#8217; in the cloud. AWS has you covered for such auxilliary technologies as elasticity, caching, content-delivery-network, workflow engine, monitoring&#8230;and the list goes on, with new services in the pipeline all the time.</p>
<p>2. <a href="http://www.rackspace.com" target="_blank">Rackspace</a></p>
<p><span style="text-decoration: underline;">Pros</span>: Offers a wide variety of hosting services for different budgets and different uses cases. Managed hosting is available, as is self-service VPS, or a hybrid model of both.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Cons</span>: Rackspace is one of the biggest hosting providers in the world, with thousands of paying customers, so don&#8217;t expect detailed personal attention to your account or focussed customer service.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Summary</span>: A very strong variety of offerings at competitive prices. Expect to pay $50 or below for a simple website, and $100 or so more a month if you want them to manage your server for you (hint, you probably want this option if you dont have a dedicated Dev Ops team).</p>
<p>3. <a href="http://rimuhosting.com/">RimuHosting</a></p>
<p><span style="text-decoration: underline;">Pros</span>: Friendly yet professional boutique hosting provider that has some excellent rates on VPS and non-shared instances. Arguably the best customer service in the industry.</p>
<p><span style="text-decoration: underline;">Cons</span>: Despite great customer service, still primarily a do-it-yourself offering that will require some familiarity with working at the command line and managing a website in production.</p>
<p><span style="text-decoration: underline;">Summary</span>: If you are new to VPS hosting, and have a limited budget, Rimu is a great place to start. A typical WordPress-style website can be up and running for about $25 a month, with stellar technical support from the provider if you run in to problems.</p>
<p>4. <a href="http://www.linode.com/" target="_blank">Linode</a></p>
<p><span style="text-decoration: underline;">Pros</span>: Affordable service with wide choice of location hosts and a good set of self-service admin tools (such as back-up servers, clone servers, etc.). Can choose to which continent to deploy your website at no extra cost.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Cons</span>: Doesn&#8217;t offer dedicated non-shared server instances. Limited technical support.</p>
<p style="text-align: justify;"><strong><span style="text-decoration: underline;">Summary</span></strong>: You can&#8217;t go too far wrong with these guys if you are looking to host a site or multiple sites for around $30 a month, and gain some light Dev Ops capability.</p>
<h3><span style="font-weight: normal;">Niche Players</span></h3>
<p>1. <a href="www.firehost.com/" target="_blank">Firehost</a></p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Pros</span>: Offers a plethora of enhanced security options for full HIPAA compliance, such as encrypted file systems for protecting &#8216;at rest&#8217; data. Ideal for healthcare and insurance providers who handle confidential medical records.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Cons</span>: Expensive option that still leaves a lot of configuration details to the end user. You will need top-notch Sys Admin support to use this service.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Summary</span>: This is a true niche option, that caters to that subset of corporations that want to store and protect medical records in the cloud.</p>
<p>2. <a href="http://www.force.com/">Force.com</a></p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Pros</span>: Salesforce.com customers, and there are lot of them out there, can build out their own custom applications on the Salesforce.com platform. You may want to use this option to build out specific websites against your Salesforce.com data (for example, a custom marketing campaign microsite that harvests lead info and siphons it directly into Salesforce.com). You can also enjoy virtually zero Dev Ops overhead as this pure-platform play allows a developer to build out web applications directly on the servers that are managed by the Salesforce.com Dev Ops team.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Cons</span>: Although simple sites are free on force.com, it will cost you to add users to your site, and this can get very costly. There are other usage constraints that should be thoroughly investigated before using this platform. Lastly, your web developer(s) will have to work with the force.com toolset, which although improving all the time, is not on a par with tools they would regularly use to build a website.</p>
<p><span style="text-decoration: underline;">Summary</span>: Good choice if you are committed to the Salesforce.com platform and want to build out additional public facing sites on top of your data there. Beware of hidden costs, however.</p>
<h2>Summary</h2>
<p style="text-align: justify;">I hope this precis of the hosting providers I normally recommend has been useful to you if you are looking to choose a host yourself, or are working with a development team that is doing so on your behalf. To recap in brief; if you have a lot of definite bleeding-edge requirements and a very commited Dev Ops team, Amazon is a clear choice, but otherwise Rackspace is your best bet&#8230;at least for generic VPS hosting. If you are looking for a more personalized service, I heartily endorse Rimu, closely followed by Linode (especially if you plan to run your site out of various global locations). On the PaaS side of things, I am very excited about DotCloud. They have executed well so far on their vision to provide a seamless platform that web developers on the most popular stacks can easily deploy to without the need to specifically engage a Dev Ops team.</p>
<p>Thanks for reading, I welcome your comments on my suggestions!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netwhisperer.com/2012/04/25/choosing-a-host-for-your-new-website-or-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One Site Fits All: What is Responsive Design? – Part 2: The Drawbacks &amp; Solutions</title>
		<link>http://www.netwhisperer.com/2012/04/23/responsive-design-drawbacks/</link>
		<comments>http://www.netwhisperer.com/2012/04/23/responsive-design-drawbacks/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 00:06:36 +0000</pubDate>
		<dc:creator>Aaron Sagray</dc:creator>
				<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Information Architecture]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[mobile design]]></category>
		<category><![CDATA[responsive design]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://www.netwhisperer.com/?p=1580</guid>
		<description><![CDATA[Responsive Design May Be Awesome, But It Isn’t a Web Design Panacea. For an introduction to responsive design, see Part One in this series. In our first article, we discussed the amazing flexibility that responsive design offers. But this flexibility comes with a price that might negatively affect your fastest-growing audiences – mobile and tablet...]]></description>
			<content:encoded><![CDATA[<h3>Responsive Design May Be Awesome, But It Isn’t a Web Design Panacea.</h3>
<p>For an <a href="http://www.netwhisperer.com/2011/12/21/what-is-responsive-design/">introduction to responsive design</a>, see <a href="http://www.netwhisperer.com/2011/12/21/what-is-responsive-design/">Part One</a> in this series.</p>
<p>In our first article, we discussed the amazing flexibility that responsive design offers. But this flexibility comes with a price that might negatively affect your fastest-growing audiences – mobile and tablet users. While offering a flexible layout, responsive design requires the latest browsers, more code, and large images. In short, responsive layouts can be bandwidth hogs and resource-intensive to render. This affects users on the move, where bandwidth is the scarcest, and where processors lack the raw power of their desktop predecessors.</p>
<p>Before diving into a responsive design workflow, we’ll explore some of responsive design’s shortcomings, and examine some of the current strategies to address them.</p>
<h3>One Image Shouldn’t Fit All</h3>
<p>The fluid resizing of images, which is one of responsive design’s hallmarks, is also its Achilles heel. Mobile networks are bandwidth constrained, and speed matters more for mobile users on cellular networks than it does for their landline-connected counterparts.</p>
<p>In many cases large desktop images, such as home page banners, are up to 80% larger than the same image optimized for a mobile display. Browser resizing of images is CPU intensive, which causes phones to slow down and consume precious battery resources.</p>
<p>Worse, mobile webkit (Safari Mobile and Android Browsers) will force-download images that were only intended for the desktop version of the site, even if media queries and CSS are used to hide or prevent those image assets from displaying.</p>
<p>Fortunately, there is work being done to solve this problem. <a href="https://github.com/filamentgroup/Responsive-Images">Responsive Images</a> is a javascript-based stopgap approach, which delivers mobile-first images as the default, then uses javascript to deliver the larger desktop images. <a href="http://adaptive-images.com/">Adaptive Images</a> is an easy to implement server-side solution that detects the visitor&#8217;s screen size, then creates, caches and delivers the appropriately sized image. It even detects retina displays, on devices like the new iPad or the iPhone, and can serve high resolution images to just those devices. If serving retina-sized images is your primary concern, check out <a href="http://retinajs.com/">retina.js</a>, a javascript progressive enhancer which scans image directories for &#8220;@2x&#8221; images and automatically swaps the low resolution images with high resolution images on the appropriate devices.</p>
<p>As devices and high resolutions screens become commonplace, a long-term, native solution will be necessary. Such a solution <a href="http://www.alistapart.com/articles/responsive-images-how-they-almost-worked-and-what-we-need/">has been proposed</a>, but it will require standards organizations and browser makers to get on board before it can be successful. Until then, designers, developers and website owners are left to work through the trade-offs on a case-by-case basis.</p>
<h3>Some Devices Don’t Support Media Queries</h3>
<p>Media queries – the technology that allowed for the creation of responsive design, in the first place, is not natively supported on <a href="http://www.quirksmode.org/m/css.html#t021">several important browsers</a>, including Internet Explorer 8 and older; IE Mobile (Windows Phone 7 and earlier); Blackberry; and some proprietary browsers from phone manufacturers such as Sony Erikson and LG.</p>
<p>As with fluid image resizing, there is a <a href="https://github.com/scottjehl/Respond">javascript polyfill fix</a> for older versions of desktop Internet Explorer, but Blackberry and IE Mobile browsers are still unsupported.</p>
<p>However, if responsive design is approached from a mobile-first design strategy, this shouldn’t be a problem, since the default stylesheet for the site would be tailored for mobile users, and media queries would then be used to progressively enhance for tablets and desktops. We will discuss the advantages of using a mobile-first design approach in part 3 of this series.</p>
<h3>Third-Party Content Often Breaks Responsive Layouts</h3>
<p>Careful planning and evaluation needs to take place if your site is heavily reliant on third-party content and widgets – social media plug-ins; iframed content such as outsourced job postings and investor relations sections; or embedded e-commerce widgets.  Most third-party widgets are not designed with fluid layouts in mind, and often lack customization options to adapt the layout to a responsive design.</p>
<p>If this is the case with your plugin or outsourced content, there is no easy answer. Solutions vary and may require serving up the iframe-specific content in a static, non-responsive template, or working with vendors to create an adaptive template for their content.</p>
<p>Your agency or content partner can help you navigate these issues as you plan your migration to a responsive design.</p>
<h3>Responsive Design Ignores Context</h3>
<p>Designing a site specifically for mobile has its advantages, particularly if your user’s context is important to your business. A good mobile site will take advantage of geolocation and a mobile layout to serve up content uniquely suited for users on the go.</p>
<p>An oft-used example is restaurateurs. Desktop visitors may want to learn more about the history and ambiance, read the wine list, view chef bios and see large photos. Mobile users often want directions, easy access to the phone number, and a simple means to read the menu or quickly make reservations.</p>
<p>When considering mobile users, starting from the ground up to build a uniquely mobile solution may be a better strategy than the “one size fits all” approach that responsive design offers.</p>
<h3>It ain’t all bad</h3>
<p>Responsive design offers a lot of advantages that mostly outweigh the disadvantages. In the next part of this series, we’ll discuss planning and implementation strategies for both new sites and existing sites. In the meantime, if you have an immediate need to discuss how responsive design might work for you, ThoughtMatrix is happy to help. Just <a title="Contact ThoughtMatrix" href="http://www.thought-matrix.com/contact/" target="_blank">contact us</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netwhisperer.com/2012/04/23/responsive-design-drawbacks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Do You Google Play?</title>
		<link>http://www.netwhisperer.com/2012/04/06/do-you-google-play/</link>
		<comments>http://www.netwhisperer.com/2012/04/06/do-you-google-play/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 17:22:38 +0000</pubDate>
		<dc:creator>Jason Bedient</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[by books]]></category>
		<category><![CDATA[google play]]></category>
		<category><![CDATA[google voice]]></category>
		<category><![CDATA[igoogle]]></category>
		<category><![CDATA[music manager]]></category>
		<category><![CDATA[my android apps]]></category>
		<category><![CDATA[my books]]></category>
		<category><![CDATA[my movies]]></category>
		<category><![CDATA[my music]]></category>

		<guid isPermaLink="false">http://www.netwhisperer.com/?p=1560</guid>
		<description><![CDATA[Users of Gmail, iGoogle, Google Voice, and the like may be familiar with Google Play, but as with the rollout of most Google offerings, this one has been flying under the radar. For the uninformed, it’s Google’s answer to competitors like Apple&#8217;s iTunes, iBooks and App Store, and Amazon’s catalog of videos, TV, music, books, apps...]]></description>
			<content:encoded><![CDATA[<p>Users of Gmail, iGoogle, Google Voice, and the like may be familiar with <a href="https://play.google.com" target="_blank">Google Play</a>, but as with the rollout of most Google offerings, this one has been flying under the radar. For the uninformed, it’s Google’s answer to competitors like Apple&#8217;s iTunes, iBooks and App Store, and Amazon’s catalog of videos, TV, music, books, apps and more. In this post, I&#8217;lll cover some pros and cons.<span id="more-1560"></span></p>
<p><a href="http://www.netwhisperer.com/wp-content/uploads/2012/03/Google-Play.png"><img class="alignnone size-full wp-image-1561" title="Google Play" src="http://www.netwhisperer.com/wp-content/uploads/2012/03/Google-Play.png" alt="Google Play Home" width="540" height="320" /></a></p>
<h3>Simplicity = Accessibility</h3>
<p>I was pleasantly surprised at the simplicity of Google Play. I think iTunes is the defacto “media outlet” these days, but there is so much content there that it’s easy to get lost. Google has done a nice job of keeping their offerings simple and easy to navigate with quick choices like; My Music, My Books, My Movies and My Android Apps, making it is very easy to dive in.</p>
<p>Going mobile with Google Play is challenging since there are different options for consuming the content of choice, depending on what type of media you want. For My Movies, you can watch via the Chrome browser or a downloadable Android app. My Books offers choices for reading with a browser, an iPhone, iPad or Android app. My Music can be accessed via the browser or by downloading Music Manager. It would be nice to have one user experience rule them all, regardless of device, similar to what Apple has done. My guess is we will see that level of accessibility grow as their store matures.</p>
<p>There are a few other kinks keep the user experience from being fully baked. For example, if you go to My Books while listening to music, the audio stops. I think it would be a big win to allow the music to keep playing in a dedicated player while the user is browsing other parts of the store. The Google Play home icon doesn’t actually take you to Google Play home page from every page. For example, when on the My Music page, it just seems to refresh that page. This is a small annoyance, but a low-hanging usability issue that, when fixed, would make a much nicer experience for the less-savvy user.</p>
<h3>Missed Opportunity for Google?</h3>
<p>Google Play doesn’t go so far as to offer TV shows like iTunes does, giving Apple the advantage by capturing engaged users who want to keep up with serial television episodes. Not getting that repeat business is a loss for Google.</p>
<p>Another area of missed opportunity is not offering discounts for users who “+1” purchases to their Google+ accounts. This seems like an obvious way to leverage their existing social network, and an area that both Facebook and iTunes have had no success in because they don&#8217;t &#8220;own&#8221; both sides of the equation. Google has the unique opportunity to deliver an instant, seamless audio/video social experience from sharing to purchasing.  Spotify has come the closest in this regard but that’s just audio. In the flip side, the social gap may be that not everyone wants to share what they watch and listen to. People don’t refer to watching trash tv as a guilty pleasure for nothing!</p>
<p>Overall, Google has done a solid job of creating enough offerings to get users interested in shopping for media content on their site, including offering both affordable and the more-pricey content. If they could  find a way to leverage Google +, this could really be groundbreaking.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netwhisperer.com/2012/04/06/do-you-google-play/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Timeline: Meeting the deadline.</title>
		<link>http://www.netwhisperer.com/2012/03/30/facebook-timeline-meeting-the-deadline/</link>
		<comments>http://www.netwhisperer.com/2012/03/30/facebook-timeline-meeting-the-deadline/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 22:29:24 +0000</pubDate>
		<dc:creator>Norville Parchment</dc:creator>
				<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://www.netwhisperer.com/?p=1567</guid>
		<description><![CDATA[As the deadline for Facebook timeline looms, we wanted to share a few tips to get your pages ready.]]></description>
			<content:encoded><![CDATA[<p>As the deadline for Facebook timeline looms, we wanted to share a few tips to get your pages ready. Facebook will soon migrate your page to the new Timeline, whether you’re ready or not. If you don’t make changes soon, you’ll be stuck with a page that looks broken. Here are three tips to get you through the deadline.<span id="more-1567"></span></p>
<p><strong> </strong></p>
<p><strong></p>
<ol>
<li>Add in some historical Milestones  to show depth.</li>
</ol>
<p></strong></p>
<p><strong> </strong></p>
<p>It can start with “The birth of the human race” if you want it to. Facebook’s timeline allows you to post before you joined Facebook, before the Internet was born, even before Mark Zuckerberg was born (way back in the mid 80s).</p>
<p>2. <strong>When loading up historical Milestones, hide them from the newsfeed</strong>.</p>
<p>Here’s a great example of what <strong>not to do</strong> when creating a timeline. Dos Equis has been updating their timeline and it’s flooding my personal wall, drawing a lot of negative comments. If they want me to stay thirsty for Dos Equis, they need to respect my personal space. When creating a timeline, and especially when loading a lot of historical entries at once, don’t forget to check the “Hide from newsfeed” option so that your users don’t get flooded with old events.</p>
<p>3. <strong>Make sure your cover photo is sized at 851 x 315 pixels</strong>.</p>
<p>It looks unprofessional and unattractive to have a pixilated, scaled-up, or improperly framed picture. If you don’t have a designer, you can use a free app like: <a href="http://timelinecoverbanner.com/">http://timelinecoverbanner.com</a> to make your cover photo look positively smashing.</p>
<p>Some other useful dimensions:</p>
<ul>
<li>Profile photo should be sized at 180 x 180 pixels (scale down to 30 X 30 pixels)</li>
<li>Custom tab image photos should be 111 x 74 pixels</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.netwhisperer.com/2012/03/30/facebook-timeline-meeting-the-deadline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine &#8211; Building a Microsite</title>
		<link>http://www.netwhisperer.com/2012/03/15/google-app-engine-building-a-microsite/</link>
		<comments>http://www.netwhisperer.com/2012/03/15/google-app-engine-building-a-microsite/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 21:47:35 +0000</pubDate>
		<dc:creator>Jeff Schenk</dc:creator>
				<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[gae]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[microsite]]></category>

		<guid isPermaLink="false">http://www.netwhisperer.com/?p=1377</guid>
		<description><![CDATA[Having the ability to quickly deploy a live microsite is becoming easier and easier.  Microsites can be great choices for supporting strategic launches, special events and limited Enterprise initiatives. Microsites allow easy inclusion into existing sites as a portal element or as a jump site. Since the lifecycle of a microsite tends to change frequently,...]]></description>
			<content:encoded><![CDATA[<p>Having the ability to quickly deploy a live microsite is becoming easier and easier.  Microsites can be great choices for supporting strategic launches, special events and limited Enterprise initiatives. Microsites allow easy inclusion into existing sites as a portal element or as a jump site. Since the lifecycle of a microsite tends to change frequently, developers need a way to ensure quick and perhaps timed deployments. In this blog post, I&#8217;ll cover how to quickly and concisely package and deploy the <strong><em>GAE (Google App Engine)</em></strong> application to create a microsite.</p>
<p><span id="more-1377"></span></p>
<p>So, why would you want to develop on GAE? For most people the answer is likely to be that GAE provides a great platform for growth. If you plan to expand or add functionality over time and need something that can easily leverage the toolset available within Google, then GAE is a good option to consider.</p>
<p>The GAE provides a framework for Java, Python and Google&#8217;s Go experimental language. For this blog entry, I will be using the Java framework. Yes, even though I may not be utilizing any Java code in favor of only HTML/CSS/Javascript, the framework provides all Java GAE components service aspects as well as providing a consistent deployment framework using Maven. And if I wish to further evolve the site, I can easily use additional frameworks on top of the Java platform.</p>
<p><em> This is just one way to skin the cat.  <a title="GAE CDN via Python" href="http://24ways.org/2008/using-google-app-engine-as-your-own-cdn" target="_blank">There is a great blog post on using GAE as your CDN via Python.</a></em></p>
<p><em> </em></p>
<p><em> </em></p>
<h2>Environment Setup</h2>
<p>There are a couple of dependencies that you will need to get your environment going:</p>
<ul>
<li>Java SE 1.6+ SDK</li>
<li>Maven 2.2.1 or 3.x+</li>
<li>Google Gmail Account</li>
</ul>
<p>Once you have acquired the above dependencies you should be ready to prepare a stubbed-out site project. Maven will pull the remaining dependencies from here on out.</p>
<p>Using the <a href="http://www.kindleit.net/maven_gae_plugin/plugin-info.html" target="_blank">Mavin GAE plugin</a>, there are a variety of Boilerplate/Archetypes available to define what type of structure will be generated.</p>
<p>Here is a list of those available:</p>
<ul>
<li>Plain JSP based example -DarchetypeArtifactId=gae-archetype-jsp</li>
<li>Wicket based example -DarchetypeArtifactId=gae-archetype-wicket</li>
<li>GWT based example -DarchetypeArtifactId=gae-archetype-gwt</li>
<li>JSF based example -DarchetypeArtifactId=gae-archetype-jsf</li>
</ul>
<p>Also, you can use <a href="http://code.google.com/p/jappstart/" target="_blank">JAppStart</a> or <a href="http://www.springsource.org/spring-roo" target="_blank">Spring Roo</a> as tools to generate various project frameworks for the Google App Engine environment within the Java platform umbrella. But for our example we will generate a plain JSP project and then modify the structure for an even simpler structure for our HTML-only environment.</p>
<p>From your command line run the following command →</p>
<p style="padding-left: 30px;"><span style="font-family: Courier,monospace;"><strong>$ mvn archetype:generate -DarchetypeGroupId=net.kindleit \</strong></span></p>
<p style="padding-left: 60px;"><span style="font-family: Courier,monospace;"><strong>-DarchetypeArtifactId=<span style="color: #0000ff;"><em>gae-archetype-jsp</em></span></strong><strong> \</strong></span></p>
<p style="padding-left: 60px;"><span style="font-family: Courier,monospace;"><strong> -DarchetypeVersion=0.9.2 \</strong></span></p>
<p style="padding-left: 60px;"><span style="font-family: Courier,monospace;"><strong>-DgroupId=com.mydomain.mysite -DartifactId=test-tmatrix-app001</strong></span></p>
<p><span style="font-family: Arial,sans-serif;"><strong>run output →</strong></span></p>
<p>You will be prompted for several items. Selecting the defaults should be fine, except for the GAE version.  This should be set to the latest and greatest of the GAE SDK.  Currently, it is 1.6.2.1</p>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Scanning for projects...</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Searching repository for plugin with prefix: 'archetype'.</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] ------------------------------------------------------------------------</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Building Maven Default Project</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO]    task-segment: [archetype:generate] (aggregator-style)</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] ------------------------------------------------------------------------</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Preparing archetype:generate</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] No goals needed for project - skipping</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] [archetype:generate {execution: default-cli}]</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Generating project in Interactive mode</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Archetype repository missing. Using the one from [net.kindleit:gae-archetype-jsp:0.9.2] found in catalog remote</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Downloading: http://repo1.maven.org/maven2/net/kindleit/gae-archetype-jsp/0.9.2/gae-archetype-jsp-0.9.2.jar</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Downloading: http://repo1.maven.org/maven2/net/kindleit/gae-archetype-jsp/0.9.2/gae-archetype-jsp-0.9.2.pom</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Using property: groupId = com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Using property: artifactId = </span></span><strong>test-tmatrix-app001</strong></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Define value for property 'version': 1.0-SNAPSHOT: </span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Using property: package = com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Using property: package = com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Define value for property 'gaeApplicationName': : </span></span><strong>test-tmatrix-app001</strong></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Using property: gaeApplicationVersion = test</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Using property: gaePluginVersion = 0.9.2</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Using property: gaeVersion = 1.5.3</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Confirm properties configuration:</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">groupId: com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">artifactId: testapp</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">version: 1.0-SNAPSHOT</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">package: com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">package: com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">gaeApplicationName: testapp</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">gaeApplicationVersion: test</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">gaePluginVersion: 0.9.2</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">gaeVersion: 1.5.3</span></span></pre>
<pre><strong><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Y: n &lt;-- Reject to override gaeVersion.</span></span></strong></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Using property: groupId = com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Using property: artifactId = testapp</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Define value for property 'version': 1.0-SNAPSHOT: </span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Define value for property 'package': com.mydomain.mysite: </span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Using property: package = com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Define value for property 'gaeApplicationName': : </span></span><strong>test-tmatrix-app001</strong></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Define value for property 'gaeApplicationVersion': test: </span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Define value for property 'gaePluginVersion': 0.9.2: </span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Define value for property 'gaeVersion': 1.5.3: <strong>1.6.2.1</strong></span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Confirm properties configuration:</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">groupId: com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">artifactId: </span></span><strong>test-tmatrix-app001</strong></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">version: 1.0-SNAPSHOT</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">package: com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">package: com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">gaeApplicationName: </span></span><strong>test-tmatrix-app001</strong></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">gaeApplicationVersion: test</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">gaePluginVersion: 0.9.2</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">gaeVersion: <strong>1.6.2.1</strong></span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Y: </span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] ----------------------------------------------------------------------------</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Using following parameters for creating project from Archetype: gae-archetype-jsp:0.9.2</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] ----------------------------------------------------------------------------</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: groupId, Value: com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: artifactId, Value: testapp</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: version, Value: 1.0-SNAPSHOT</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: package, Value: com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: packageInPathFormat, Value: com/mydomain/mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: gaePluginVersion, Value: 0.9.2</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: package, Value: com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: version, Value: 1.0-SNAPSHOT</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: gaeApplicationName, Value: </span></span><strong>test-tmatrix-app001</strong></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: groupId, Value: com.mydomain.mysite</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: gaeApplicationVersion, Value: test</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: gaeVersion, Value: 1.6.2.1</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Parameter: artifactId, Value: testapp</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] project created from Archetype in dir: ~/test-tmatrix-app001</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] ------------------------------------------------------------------------</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] BUILD SUCCESSFUL</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] ------------------------------------------------------------------------</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Total time: 1 minute 16 seconds</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Finished at: Wed Feb 22 19:57:08 PST 2012</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] Final Memory: 49M/3925M</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">[INFO] ------------------------------------------------------------------------</span></span></pre>
<pre><span style="font-family: Courier,monospace;"><span style="font-size: x-small;">Jeff-Schenks-MacBook-Pro:SANDBOX jeffschenk$ 

</span></span></pre>
<h3>Finalize Environment Setup – Directory Structure</h3>
<p>Now  you have a stubbed-out file system hierarchy for your project as well  as a new Maven POM for the project with the necessary dependencies specified.</p>
<p>Depicted below is the file system after the initial Maven generate command.  Now you need to prune and create some directories. First change to the directory of the application that you just created: cd test-tmatrix-app001. You should see a structure like this:</p>
<p style="text-align: center;"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_generated_structure.png"><img class="size-medium wp-image-1433 aligncenter" src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_generated_structure-198x300.png" alt="" width="198" height="300" /></a></p>
<p>All of the items marked in red have been removed as this microsite does not using any data or message services.</p>
<p>Your directory structure should now resemble the following:</p>
<p style="text-align: center;"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_modified_structure_1.png"><img class="size-medium wp-image-1435 aligncenter" src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_modified_structure_1-246x300.png" alt="" width="246" height="300" /></a></p>
<p>Now you need to create the following directories for serving the static HTML/CSS and Javascript:</p>
<p>webapp/public</p>
<p>webapp/public/css</p>
<p>webapp/public/fonts</p>
<p>webapp/public/images</p>
<p>webapp/public/js</p>
<p>Create your index.html under webapp/public/ and place your necessary HTML/CSS/Javascript and images in the appropriate directories you have just created. Also, create a new app.yaml file, which will contain a very simple GAE configuration. Your directory structure should now resemble the following:</p>
<p style="text-align: center;"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_modified_structure_2.png"><img class="size-medium wp-image-1437 aligncenter" src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_modified_structure_2-194x300.png" alt="Sample app.yaml file for Google App Engine" width="194" height="300" /></a></p>
<p>Edit the webapp/WEB-INF/app.yaml to contain the following:</p>
<p style="text-align: center;"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_app.yaml_.png"><img class="size-medium wp-image-1438 aligncenter" src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_app.yaml_-291x300.png" alt="Sample Google App Engine webapp/WEB-INF/app.yaml" width="291" height="300" /></a></p>
<p>You also need to edit the web.xml source file to remove the generated servlet, which is not necessary.  The web.xml should resemble the following:</p>
<div id="attachment_1436" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_web.xml_.png"><img class="size-medium wp-image-1436 " src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_web.xml_-300x53.png" alt="Sample Google App Engine web.xml" width="300" height="83" /></a><p class="wp-caption-text">Click image to enlarge</p></div>
<p>The Maven WAR Packaging plugin requires a web.xml. This one is actually overridden by using the app.yaml configuration file, which when recognized by the GAE plugin will generate the web.xml and the necessary appengine-web.xml.</p>
<h3>Finalize Environment Setup – Maven pom.xml</h3>
<p>Ok, you&#8217;re almost there. Now you need to modify the pom.xml so you can remove some dependencies that are not needed—such as data persistence and other frameworks, which are not being using at the moment. Please see the following edits to remove the JDO and other unnecessary dependencies:</p>
<div id="attachment_1448" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_pom_edit_1.png"><img class="size-medium wp-image-1448  " src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_pom_edit_1-300x195.png" alt="Sample Maven pom.xml" width="300" height="195" /></a><p class="wp-caption-text">Click image to enlarge</p></div>
<div id="attachment_1449" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_pom_edit_2.png"><img class="size-medium wp-image-1449  " src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_pom_edit_2-300x198.png" alt="Sample Maven pom.xml" width="300" height="198" /></a><p class="wp-caption-text">Click image to enlarge</p></div>
<div id="attachment_1495" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/03/gae_pom_edit_3.png"><img class="size-medium wp-image-1495 " src="http://www.netwhisperer.com/wp-content/uploads/2012/03/gae_pom_edit_3-300x183.png" alt="Sample Maven pom.xml" width="300" height="183" /></a><p class="wp-caption-text">Click image to enlarge</p></div>
<h3>Obtaining GAE SDK</h3>
<p>Now you can download the GAE SDK into this environment. From the command line within the application, run &#8211;&gt; test-tmatrix-app001 jeffschenk$mvn gae:unpack</p>
<p>After a series of downloads you should see the following messages indicating that the GAE SDK has been successfully downloaded and extracted into your local Maven repository.</p>
<p>[INFO] Extracting GAE SDK file: /Users/jeffschenk/.m2/repository/com/google/appengine/appengine-java-sdk/1.6.2.1/appengine-java-sdk-1.6.2.1.zip</p>
<p>[INFO] To path:/Users/jeffschenk/.m2/repository/com/google/appengine/appengine-java-sdk/1.6.2.1</p>
<p>[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>[INFO] BUILD SUCCESSFUL</p>
<p>Now you need to obtain access to GAE from Google before you can deploy the site.</p>
<h3>Obtaining GAE Access</h3>
<p>Go to URL: http://code.google.com/appengine/ to obtain access to the Google App Engine.</p>
<h4>Step 1</h4>
<p>Sign up for a Google App Engine account. Here is where your Gmail account will be necessary.</p>
<div id="attachment_1450" class="wp-caption aligncenter" style="width: 440px"></p>
<h3><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_1.png"><img class="size-medium wp-image-1405  " src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_1-300x159.png" alt="Google App Engine sign up - step one" width="430" height="322" /></a></h3>
<p><p class="wp-caption-text">Click image to enlarge</p></div>
<h4>Step 2</h4>
<p>Once you have verified access to the Google App Engine, go to URL: https://appengine.google.com/ to access your App Engine Dashboard. If you have multiple Google accounts, simply select the Google account for which you want to create a new application.</p>
<div id="attachment_1408" class="wp-caption aligncenter" style="width: 357px"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_2.png"><img class="size-medium wp-image-1408   " src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_2-300x144.png" alt="Google App Engine sign up - step two" width="347" height="203" /></a><p class="wp-caption-text">Click image to enlarge</p></div>
<h4><strong>Step 3</strong></h4>
<p>You will see a list of existing applications. Select the &#8220;Create Application&#8221; button to begin creating a new application.</p>
<div id="attachment_1409" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_3.png"><img class="size-medium wp-image-1409  " src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_3-300x115.png" alt="Google App Engine sign up - step three" width="300" height="115" /></a><p class="wp-caption-text">Click image to enlarge</p></div>
<h4><strong>Step 4</strong></h4>
<p>Enter the appropriate unique application identifier. For this example it is <strong>test-tmatrix-app01</strong>.</p>
<div id="attachment_1410" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_4.png"><img class="size-medium wp-image-1410 " src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_4-300x229.png" alt="Google App Engine sign up - step four" width="300" height="229" /></a><p class="wp-caption-text">Click image to enlarge</p></div>
<h4><strong>Step 5</strong></h4>
<p>Create application.</p>
<div id="attachment_1411" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_5.png"><img class="size-medium wp-image-1411 " src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_5-300x179.png" alt="Google App Engine sign up - step five" width="300" height="179" /></a><p class="wp-caption-text">Click image to enlarge</p></div>
<p><strong>Step 6</strong></p>
<p>Confirmation of application registered successfully.</p>
<div id="attachment_1412" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_6.png"><img class="size-medium wp-image-1412 " src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_6-300x93.png" alt="Google App Engine sign up - step six" width="300" height="93" /></a><p class="wp-caption-text">Click image to enlarge</p></div>
<p><strong>Step 7</strong></p>
<p>Using the application Dashboard.</p>
<div id="attachment_1413" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_7.png"><img class="size-medium wp-image-1413 " src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_setup_7-300x193.png" alt="Google App Engine sign up - step seven" width="300" height="193" /></a><p class="wp-caption-text">Click image to enlarge</p></div>
<p>Now you have your GAE instance bucket for your application defined and are ready to deploy an application version to the instance.</p>
<h3>Deploy to GAE</h3>
<p>Assuming that you have placed your HTML/CSS/Javascript in the appropriate directory structure, you can now deploy your initial version to GAE. From the command line simply enter the following:</p>
<p>$ <strong>mvn gae:deploy</strong></p>
<p>[INFO] Scanning for projects&#8230;</p>
<p>[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>[INFO] Building test-tmatrix-app001</p>
<p>[INFO]    task-segment: [<strong>gae:deploy</strong>]</p>
<p>[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>[INFO] Preparing gae:deploy</p>
<p>[INFO] [resources:resources {execution: default-resources}]</p>
<p>[INFO] Using &#8216;UTF-8&#8242; encoding to copy filtered resources.</p>
<p>[INFO] Copying 2 resources</p>
<p>[INFO] [compiler:compile {execution: default-compile}]</p>
<p>[INFO] Nothing to compile &#8211; all classes are up to date</p>
<p>[INFO] [resources:testResources {execution: default-testResources}]</p>
<p>[INFO] Using &#8216;UTF-8&#8242; encoding to copy filtered resources.</p>
<p>[INFO] skip non existing resourceDirectory /Users/jeffschenk/jas/MyWorkspaces/GOOGLE/SANDBOX/test-tmatrix-app001/src/test/resources</p>
<p>[INFO] [compiler:testCompile {execution: default-testCompile}]</p>
<p>[INFO] No sources to compile</p>
<p>[INFO] [surefire:test {execution: default-test}]</p>
<p>[INFO] No tests to run.</p>
<p>[INFO] [war:war {execution: default-war}]</p>
<p>[INFO] Packaging webapp</p>
<p>[INFO] Assembling webapp [test-tmatrix-app001] in [/Users/jeffschenk/jas/MyWorkspaces/GOOGLE/SANDBOX/test-tmatrix-app001/target/test-tmatrix-app001-1.0-SNAPSHOT]</p>
<p>[INFO] Processing war project</p>
<p>[INFO] Copying webapp webResources [/Users/jeffschenk/jas/MyWorkspaces/GOOGLE/SANDBOX/test-tmatrix-app001/src/main/webapp] to [/Users/jeffschenk/jas/MyWorkspaces/GOOGLE/SANDBOX/test-tmatrix-app001/target/test-tmatrix-app001-1.0-SNAPSHOT]</p>
<p>[INFO] Copying webapp resources [/Users/jeffschenk/jas/MyWorkspaces/GOOGLE/SANDBOX/test-tmatrix-app001/src/main/webapp]</p>
<p>[INFO] Webapp assembled in [321 msecs]</p>
<p>[INFO] Building war: /Users/jeffschenk/jas/MyWorkspaces/GOOGLE/SANDBOX/test-tmatrix-app001/target/test-tmatrix-app001-1.0-SNAPSHOT.war</p>
<p>[INFO] WEB-INF/web.xml already added, skipping</p>
<p>[INFO] [gae:deploy {execution: default-cli}]</p>
<p>[INFO] Updating Google App Engine Server&#8230;</p>
<p>Reading application configuration data&#8230;</p>
<p>Feb 27, 2012 1:04:06 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml</p>
<p>INFO: Successfully processed /Users/jeffschenk/jas/MyWorkspaces/GOOGLE/SANDBOX/test-tmatrix-app001/target/test-tmatrix-app001-1.0-SNAPSHOT/WEB-INF/appengine-web.xml</p>
<p>Feb 27, 2012 1:04:06 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml</p>
<p>INFO: Successfully processed /Users/jeffschenk/jas/MyWorkspaces/GOOGLE/SANDBOX/test-tmatrix-app001/target/test-tmatrix-app001-1.0-SNAPSHOT/WEB-INF/web.xml</p>
<p>Beginning server interaction for test-tmatrix-app001&#8230;</p>
<p><strong>Email: &lt;gmail account&gt;@gmail.com   &lt;&#8211; <em>Enter Your Gmail Account Email Address</em></strong></p>
<p><strong>Password for &lt;gmail account&gt;@gmail.com:</strong> <strong>&lt;&#8211; <em>Enter Your Gmail Account Password</em></strong></p>
<p>0% Created staging directory at: &#8216;/var/folders/p7/h7p294_j60b0gxy80_2tx0bc0000gn/T/appcfg8864957916118846892.tmp&#8217;</p>
<p>5% Scanning for jsp files.</p>
<p>20% Scanning files on local disk.</p>
<p>25% Initiating update.</p>
<p>28% Cloning 5 static files.</p>
<p>31% Cloning 23 application files.</p>
<p>40% Uploading 12 files.</p>
<p>52% Uploaded 3 files.</p>
<p>61% Uploaded 6 files.</p>
<p>68% Uploaded 9 files.</p>
<p>73% Uploaded 12 files.</p>
<p>77% Initializing precompilation&#8230;</p>
<p>80% Sending batch containing 8 file(s) totaling 20KB.</p>
<p>82% Sending batch containing 4 blob(s) totaling 15KB.</p>
<p>90% Deploying new version.</p>
<p>95% Will check again in 1 seconds.</p>
<p>98% Will check again in 2 seconds.</p>
<p>99% Will check again in 4 seconds.</p>
<p>99% Closing update: new version is ready to start serving.</p>
<p>99% Uploading index definitions.</p>
<p>Update completed successfully.</p>
<p>Success.</p>
<p>Cleaning up temporary files&#8230;</p>
<p>[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>[INFO] BUILD SUCCESSFUL</p>
<p>[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>[INFO] Total time: 51 seconds</p>
<p>[INFO] Finished at: Mon Feb 27 13:04:49 PST 2012</p>
<p>[INFO] Final Memory: 36M/3925M</p>
<p>[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Jeff-Schenks-MacBook-Pro:test-tmatrix-app001 jeffschenk$</p>
<p>Now go to the Versions tab for your GAE account and see the uploaded Version:</p>
<div id="attachment_1452" class="wp-caption aligncenter" style="width: 374px"><a href="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_versions.png"><img class="size-medium wp-image-1452  " src="http://www.netwhisperer.com/wp-content/uploads/2012/02/gae_versions-300x120.png" alt="GAE versions tab" width="364" height="146" /></a><p class="wp-caption-text">Click image to enlarge</p></div>
<p>Take advantage of the GAE version capability for easy deployment and the ability to deploy and then set the default version when ready to launch.</p>
<p>You have now successfully built out an HTML/CSS/Javascript microsite with version control, full monitoring and an efficient and continuous deployment process.</p>
<h2>Conclusion</h2>
<p>If you do not need a back end that&#8217;s rich with services and you are only serving native HTML, CSS and Javascript, your microsite has been deployed and you are done! If any changes are required, simply apply or accept those changes via the normal deployment lifecycle.  There is a little bit of work involved to create your first Google App Engine application, but after that you should be able to clone and add necessary dependencies if and where needed. Also, adding a job to your Jenkins / Hudson or continuous-build environment will allow for timed deployment, automatic release and version updates. Review the Maven GAE plugin documentation for more information on available maven goals for interacting with the Google App Engine&#8217;s versioning and release management.</p>
<p>If you are interested in using GAE back-end services to evolve the site, you can easily use Java Spring JSP, GWT, JSF or even <a title="GAElyk" href="http://gaelyk.appspot.com/" target="_blank">GAElyk, </a>a Groovy toolkit for GAE.  However, care should be taken to monitor your service usage as how your application is developed using GAE back-end service will cost based upon usage.</p>
<h4>References<em> </em></h4>
<ul>
<li><a title="Google App Engine Home" href="http://code.google.com/appengine/" target="_blank">Google App Engine Home</a></li>
<li><a title="Java GAE" href="http://code.google.com/appengine/docs/java/tools/devserver.html" target="_blank">Java Development App Engine Server</a></li>
<li><a title="Eclipse GAE Plugin" href="http://code.google.com/appengine/docs/java/tools/eclipse.html" target="_blank">Using Eclipse Plugin for App Engine</a></li>
<li><a title="GAE Maven" href="http://www.danwalmsley.com/2009/04/07/building-google-app-engine-java-projects-with-maven2/" target="_blank">Building GAE Java Projects with  Maven</a></li>
<li><em><a title="GAElyk" href="http://gaelyk.appspot.com/" target="_blank">GAElyk</a> &#8212; </em>is a lightweight <a title="Groovy" href="http://groovy.codehaus.org/" target="_blank">Groovy</a> toolkit  for <a title="Google App Engine" href="http://code.google.com/appengine/" target="_blank">Google App Engine Java</a>.</li>
<li><a title="Write GAE Apps in Groovy" href="http://blog.springsource.org/2009/04/07/write-your-google-app-engine-applications-in-groovy/" target="_blank">Write your GAE Apps in Groovy</a></li>
<li><a title="GRails and GAE" href="http://www.morkeleb.com/2009/08/12/grails-and-google-appengine-beginners-guide/" target="_blank">GRails and Google App Engine Beginners Guide</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.netwhisperer.com/2012/03/15/google-app-engine-building-a-microsite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You Don&#8217;t Understand How Big Mobile Really Is</title>
		<link>http://www.netwhisperer.com/2012/01/30/mobile-web-design-stats/</link>
		<comments>http://www.netwhisperer.com/2012/01/30/mobile-web-design-stats/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 20:35:49 +0000</pubDate>
		<dc:creator>Aaron Sagray</dc:creator>
				<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Industry Trends and Legislation]]></category>
		<category><![CDATA[Information Architecture]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[mobile development]]></category>
		<category><![CDATA[mobile growth]]></category>
		<category><![CDATA[mobile sites]]></category>

		<guid isPermaLink="false">http://www.netwhisperer.com/?p=1362</guid>
		<description><![CDATA[If you did, your company would put other web initiatives on hold and scramble to launch the best mobile experience for your industry. With mobile smartphone use growing at such an astounding pace, I&#8217;m constantly amazed that there are still so many top-tier companies that do not have a dedicated mobile website experience. I believe...]]></description>
			<content:encoded><![CDATA[<h3>If you did, your company would put other web initiatives on hold and scramble to launch the best mobile experience for your industry.</h3>
<p>With mobile smartphone use growing at such an astounding pace, I&#8217;m constantly amazed that there are still so many top-tier companies that do not have a dedicated mobile website experience. I believe that this rapid growth seems to be outpacing many  IT and marketing executives&#8217; ability to digest and grasp how mobile is going to drastically affect their business growth – particularly in the consumer space.</p>
<p>With mobile, the year 2012 will be a unique parallel to 1996-97, when many industry titans were caught with their pants down by the speed at which web use grew, and were unable to launch a compelling website faster than their competitors.<span id="more-1362"></span></p>
<p>Let me throw some facts out there that should cause pause:</p>
<ul>
<li>This past <em>quarter</em>, Apple sold 62 million iOS devices – and  over 100,000 <strong>more</strong> iPhones were sold per day <a href="https://twitter.com/lukew/statuses/161943568024469504">than people born in the world per day</a>. In December, Android activations also <a href="http://www.telegraph.co.uk/technology/ces/9013487/CES-2012-Android-activations-outpacing-baby-births.html">outpaced births</a> by around 2:1. Apple had the second most-profitable quarter in the history of the US, and was averaging $144,444.44 in <em><a href="https://twitter.com/joemccann/statuses/161925117956468736">profits per day</a>, </em>mostly from the sale of iOS devices.</li>
<li>During this past year&#8217;s holiday season, <a href="http://www.businessinsider.com/online-shopping-jumps-164-pct-on-christmas-day-2011-12">purchases made via a mobile device</a> grew by 172.9%, and 7% of online purchases were made via an iPad – a device that didn&#8217;t exist 18 months earlier.</li>
<li><a href="http://www.themediabriefing.com/article/2011-11-29/youtube-puts-money-on-mobile-content-curation-and-paid-for-movies">YouTube says</a> that the switch from primarily PC use to mobile use for online video will <em>definitely</em> happen by 2013, and may happen sooner.</li>
<li><a href="http://app.ft.com">app.ft.com</a>, the iOS only version of the <em>Financial Times, </em>has over 1 million registered users, who account for 20% of all page views and 15% of new digital subscriptions. Those who register their device are <a href="http://techcrunch.com/2011/11/18/financial-times-mobile/">2.5 times more likely to subscribe</a>, and 45% of users add the app to their home screen.</li>
<li>The Weather Channel had 1.3 billion mobile page views in October 2011, compared to 1.1 billion desktop views. They predict that <a href="http://www.usatoday.com/tech/columnist/talkingtech/story/2011-11-15/weather-channel-mobile/51220066/1" target="_blank">mobile use will outpace TV in less than two years</a>.</li>
<li><a href="http://techcrunch.com/2011/10/22/bret-taylor-facebook-mobile/">And Facebook says</a> that 350 million of their 800 million monthly active users are checking their statuses via a mobile device. CTO Bret Taylor says, “A few years from now, most every single person at Facebook who works there is going to be working on mobile almost exclusively.” and “Companies really need to redefine themselves in this world of devices rather than browsers on people’s laptops.”</li>
</ul>
<p>A great transition is happening on the web right now, as our devices redefine how we consume and use information. Due to location and context capabilities, mobile users will want different things from your site, so simply making a mobile copy of your desktop website may not be enough.</p>
<p>Luckily, the tools and knowledge are available to <a href="http://www.thought-matrix.com">help your company</a> become mobile-friendly. Building a mobile-ready site doesn&#8217;t have to be expensive and cumbersome, but it does need to be a priority… probably your top priority.</p>
<p><strong>Related: </strong> Check out our <a href="http://www.netwhisperer.com/2011/12/21/what-is-responsive-design/">What is Responsive Design?</a> series for strategies to build a site that looks great on all devices.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netwhisperer.com/2012/01/30/mobile-web-design-stats/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Content Translation on a Drupal 7 Site</title>
		<link>http://www.netwhisperer.com/2012/01/05/content-translation-on-drupal-7/</link>
		<comments>http://www.netwhisperer.com/2012/01/05/content-translation-on-drupal-7/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 21:10:57 +0000</pubDate>
		<dc:creator>Sean Hellwig</dc:creator>
				<category><![CDATA[Content Management]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[content management]]></category>
		<category><![CDATA[drupal 7]]></category>
		<category><![CDATA[translation]]></category>

		<guid isPermaLink="false">http://www.netwhisperer.com/?p=1324</guid>
		<description><![CDATA[Recently, I had the pleasure of implementing the ability to translate content on a Drupal 7 site. Here is an outline of my recent experiences that will hopefully help any developer who is having trouble getting started with content translation in Drupal 7. Our client&#8217;s requirements were as follows: Create two &#8220;site regions&#8221; (languages): North...]]></description>
			<content:encoded><![CDATA[<p>Recently, I had the pleasure of implementing the ability to translate content on a Drupal 7 site. Here is an outline of my recent experiences that will hopefully help any developer who is having trouble getting started with content translation in Drupal 7.<span id="more-1324"></span></p>
<p><img src="http://www.netwhisperer.com/wp-content/uploads/2012/01/drupal_contenttranslation_lead.jpg" alt="Drupal 7 " width="520" height="209" /></p>
<p>Our client&#8217;s requirements were as follows:</p>
<ol>
<li>Create two &#8220;site regions&#8221; (languages): North America and Europe</li>
<li>Provide the ability to translate a node for each region</li>
<li>Automatically detect location of user by IP address and redirect them to either the North American or European translated site based on a mapped list of countries</li>
</ol>
<p>In this post, I address client requirements #1 and #2 listed above, with details on #3 coming in a subsequent post down the road.</p>
<h3>Step 1: Create Two Predefined Regions—North America and Europe</h3>
<p><a href="http://www.netwhisperer.com/wp-content/uploads/2012/01/drupal7_region_config.jpg"><img class="size-medium wp-image-1329 alignright" src="http://www.netwhisperer.com/wp-content/uploads/2012/01/drupal7_region_config-300x85.jpg" alt="Drupal 7 Language / Region Config" width="300" height="85" /></a>In order to create &#8220;Regions,&#8221; the &#8220;Locale&#8221; module—part of Drupal core—must be enabled. Technically, the &#8220;Locale&#8221; module enables the ability to add &#8220;Languages,&#8221; which I used as &#8220;Regions.&#8221;</p>
<p>In the configuration of the &#8220;Locale&#8221; module <em>(/admin/config/regional/language),</em> I was able to change the default name of the &#8220;English&#8221; language to &#8220;North America&#8221; as well as add an &#8220;English, British&#8221; language that I renamed to &#8220;Europe.&#8221;</p>
<p><a href="http://www.netwhisperer.com/wp-content/uploads/2012/01/drupal7_region_detection.jpg"><img class="size-medium wp-image-1332 alignright" src="http://www.netwhisperer.com/wp-content/uploads/2012/01/drupal7_region_detection-300x165.jpg" alt="Drupal 7 Language Detection method" width="300" height="165" /></a>Part of the client&#8217;s requirements were that the language be determined via a path prefix (e.g., <em>http://example.com/en/</em>, or <em>http://example.com/en-gb/</em>), accomplished by selecting the &#8220;Determine the language from the URL (Path prefix or domain)&#8221; check box in the &#8220;Detection and Selection&#8221; tab of the &#8220;Locale&#8221; configuration page.</p>
<h3>Step 2: Content Translation</h3>
<p>After reading, <a href="http://hojtsy.hu/multilingual-drupal7" target="_blank"><em>Drupal 7&#8242;s new multilingual systems compilation</em></a>, I was certain the Content Translation module (d7 core) was all that was needed to serve region- (language) specific content. After enabling and configuring the &#8220;Content Translation&#8221; module as well as editing the &#8220;Multilingual&#8221; support section of my content types so that they were translatable, it appeared that everything was working as desired. I was now able to create a node, assign a node to a particular language and create the corresponding translation.</p>
<p>To test the translations, I enabled the &#8220;Language Switcher&#8221; block that is automatically created by the &#8220;Content Translation&#8221; module. Now while viewing a node, located at <em>http://example.com/my-node</em>, if I clicked &#8220;Europe&#8221; on the &#8220;Language Switcher&#8221; block, the URL changed to <em>http://example.com/en-gb/my-node</em> and the Europe translation is displayed. <strong>WINNING</strong>, right?! Just as I was ready to mark my Bugzilla ticket as completed, I realized a show stopper. Menus&#8230;</p>
<p>Since &#8220;Content Translation&#8221; actually creates an entirely new node for each translation, there was no way for me to have one menu item that would link to the corresponding node translation depending on which region is selected. The test node I created previously had a menu item titled &#8220;My Node,&#8221; assigned to the North America language translation, and I gave both translations the same exact path alias—<em>my-node</em>—assuming the Drupal menu system would be smart enough to handle the node translations, but the results were not as I desired.</p>
<p>When on a page in my Drupal site without a language path prefix (e.g., <em>http://example.com</em>, and I click my menu item, &#8220;My Node&#8221;), I am taken to the nodes page, <em>http://example.com/my-node</em>. Now when I click the Europe link in my &#8220;Language Switcher&#8221; block, I am taken to <em>http://example.com/en-gb/my-node</em>. Here was my issue—now when I click on my &#8220;My Node&#8221; menu item, it takes me to <em>http://example.com/en-gb/node/1</em> (1 being the node ID of my North American translation). I was expecting to be taken to the same page I was currently on, or at the least taken to the North America translation for the node using the correct path: <em>http://example.com/my-node</em>.</p>
<p><img class="alignleft size-medium wp-image-1334" src="http://www.netwhisperer.com/wp-content/uploads/2012/01/365625673_3b02d217af-300x199.jpg" alt="In N Out Burger - courtesy of @brianwallace on flickr" width="300" height="199" />Up until now, I had been fairly calm and the process had been, for lack of a better word, painless. But the pain had just started. I began to research/search/scour the web in hopes of finding a similar situation and solution. Unfortunately, the only &#8220;solution&#8221; I found was to use the &#8220;i18n Menu Translation&#8221; module, which essentially requires you to duplicate EVERY menu item, child-item, etc&#8230; Now, I&#8217;m furious. Really, Drupal? While going the &#8220;Menu Translation&#8221; route may work for a site with a simple one-level main menu, the menu in this project was about three levels deep, not to mention that on some of the Panel pages, we were displaying menu segments that were path specific. Just as I was about to throw my hands in the air and surrender/purchase Joomla stock/apply for a job at In-N-Out Burger, I stumbled across a magical module called <a href="http://drupal.org/project/entity_translation" target="_blank">Entity Translation</a>!</p>
<h3>Entity Translation FTW!</h3>
<p>The difference between the &#8220;Entity Translation&#8221; module and d7&#8242;s core &#8220;Content Translation&#8221; module is that the former does NOT create additional nodes for translations, it translates on a field-able entity level. Now, this made much more sense to me.  I would have one node with translated fields as opposed to two separate nodes with the &#8220;Content Translation&#8221; module.</p>
<p>It was during this process that I also discovered the &#8220;Path Translation&#8221; module, part of the <a href="http://drupal.org/project/i18n" target="_blank">i18n collection</a>.</p>
<h3>Winning Combo: Entity Translation + i18n Path Translation</h3>
<p>After countless hours, I had finally found my winning solution. With both the &#8220;Entity Translation&#8221; and &#8220;i18n Path Translation&#8221; modules enabled, I changed the &#8220;Multilingual&#8221; support section of my content type to &#8220;Enabled with field translation.&#8221; I cleared my Drupal cache, refresh, and&#8230; boom! A single menu item per node regardless of how many translations it has. Translated content is displayed based on the URL&#8217;s path prefix, and correct path aliases are used. Success, I can mark my Bugzilla ticket as completed, sell my Joomla stock and politely decline my employment offer from In-N-Out!</p>
<p>While I am no expert on creating Multilingual Drupal 7 sites, I don&#8217;t understand why/when one would use &#8220;Content Translation&#8221; over &#8220;Entity Translation.&#8221; The whole concept of translating on an entity level rather than a node level just made more sense to me. I cannot see any benefit of creating an entirely new node just for a translation.</p>
<p>I hope somebody finds this post useful as I wish it existed when I first started on this task. For more on our thoughts about Drupal, check out our <a href="http://www.thought-matrix.com/solutions/partners/content-management/drupal" target="_blank">Drupal page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netwhisperer.com/2012/01/05/content-translation-on-drupal-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One Site Fits All: What is Responsive Design?</title>
		<link>http://www.netwhisperer.com/2011/12/21/what-is-responsive-design/</link>
		<comments>http://www.netwhisperer.com/2011/12/21/what-is-responsive-design/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 17:53:45 +0000</pubDate>
		<dc:creator>Aaron Sagray</dc:creator>
				<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[content management]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mobile devices]]></category>
		<category><![CDATA[mobile sites]]></category>
		<category><![CDATA[responsive design]]></category>
		<category><![CDATA[tablets]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.netwhisperer.com/?p=1307</guid>
		<description><![CDATA[One of the most important factors in evaluating a website design is answering the question, &#8220;What is the average screen size my visitors will use to view my site?&#8221; Over the past few years, this evaluation process has become both more complex and more confusing due to the explosion of Internet-connected devices. Website access has...]]></description>
			<content:encoded><![CDATA[<p>One of the most important factors in evaluating a website design is answering the question, &#8220;What is the average screen size my visitors will use to view my site?&#8221; Over the past few years, this evaluation process has become both more complex and more confusing due to the explosion of Internet-connected devices. Website access has shifted dramatically, and mobile/tablet browsing is expected to surpass desktop usage over the next two years.<span id="more-1307"></span></p>
<p><a href="http://earthhour.fr/"><img class="alignnone size-full wp-image-1308" title="Earth Hour" src="http://www.netwhisperer.com/wp-content/uploads/2011/12/responsive-earth-hour.jpg" alt="Earth Hour- responsive design example" width="520" height="291" /></a></p>
<p>The keyboard and mouse are no longer the predominant input tools, and we have gone from designing for three major desktop browsers to a myriad of devices ranging from touch-based tablets and phones; smartphones with tiny keyboards; video game controllers and television remotes. In the near future, high-resolution tablets and computer displays will be on the market, and this change will require that pixel-based web design be completely rethought.</p>
<p>Over the past two years, our clients have requested sites built for specific devices—a &#8220;main&#8221; site for desktops, a &#8220;mobile&#8221; version with a specific design intended for smartphones, and more recently an &#8220;iPad&#8221; version—which is really a simplified version of their desktop site. As you can imagine, this strategy introduces a lot of management complexity and cost into the web design and content management process.</p>
<p>Fortunately, there is is a solution. The recent adoption of HTML5 and CSS3 by browser makers, in addition to some JavaScript-based fallback methods, have introduced what some consider to be the holy grail of inter-device design compatibility: <strong>responsive design</strong>.</p>
<p><a href="http://www.netwhisperer.com/wp-content/uploads/2011/12/responsive-dconstruct.jpg"><img class="alignnone size-full wp-image-1311" title="responsive-dconstruct" src="http://www.netwhisperer.com/wp-content/uploads/2011/12/responsive-dconstruct.jpg" alt="DConstruct Conference Responsive Example" width="521" height="333" /></a></p>
<h2>Responsive Design: One Site Fits All (Devices)</h2>
<p>Simply put, responsive design is a flexible, device-independent technique that allows a single site layout to automatically &#8220;shift and adapt&#8221; to any size of browser window on any device, at any screen resolution.</p>
<p>In other words, your site&#8217;s design layout will readjust to best fit the screen on which it is being viewed. This is accomplished by shifting the location of navigation and content on the page, adding or removing content, and increasing or decreasing image and font sizes so the site automatically provides the best layout for any screen.</p>
<p>Responsive design isn&#8217;t a single technology; it represents a radically different strategic design approach and development workflow. We believe it to be so beneficial that we are often recommending that many of our clients consider responsive design for their content-managed sites.</p>
<p>These are some of the benefits that responsive design offers:</p>
<ul>
<li>Adapts your site to a specific range of devices without needing to create a separate device-specific site, or without having to change your content.</li>
<li>Works in every browser, with native support from IE 9 (which is now being <a href="http://www.geek.com/articles/geek-pick/microsoft-decides-to-automatically-update-internet-explorer-for-everyone-20111215/">actively pushed to users</a> by Microsoft), Firefox, Chrome, Safari, and via JavaScript-based fallback support for IE 6, 7 and 8.</li>
<li>Is a process that is compatible with content management systems.</li>
<li>It is significantly less expensive to maintain and deploy than developing and maintaining separate device-specific versions of your site (even if it does initially require more planning and work than a simple desktop site).</li>
</ul>
<p>Now that you know what responsive design is, it&#8217;s time to learn how to drive implementation within your organization. After the holidays, I&#8217;ll discuss drawbacks, introduce you to the responsive design workflow and introduce a strategy for integrating responsive design into your existing sites.</p>
<p>This post will be updated with links to the subsequent articles.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netwhisperer.com/2011/12/21/what-is-responsive-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming Trends for 2012</title>
		<link>http://www.netwhisperer.com/2011/12/13/upcoming-trends-for-2012/</link>
		<comments>http://www.netwhisperer.com/2011/12/13/upcoming-trends-for-2012/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 19:42:59 +0000</pubDate>
		<dc:creator>Nita Wang</dc:creator>
				<category><![CDATA[Industry Trends and Legislation]]></category>
		<category><![CDATA[Marketing Strategy]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.netwhisperer.com/?p=1283</guid>
		<description><![CDATA[2011 proved to be an exciting year, and we anticipate 2012 to be even better. Take a peek at the trends we&#8217;ll be watching in 2012. Happy Holidays! Mobile Payments Accelerate Wallet? What wallet? I have my phone. There is no doubt the penetration of smartphones has changed the way we communicate, inform and entertain...]]></description>
			<content:encoded><![CDATA[<p>2011 proved to be an exciting year, and we anticipate 2012 to be even better. Take a peek at the trends we&#8217;ll be watching in 2012. Happy Holidays!</p>
<h3>Mobile Payments Accelerate</h3>
<p><strong>Wallet? What wallet? I have my phone.</strong></p>
<p>There is no doubt the penetration of smartphones has changed the way we communicate, inform and entertain each other. Mobile devices have also changed the way we shop—helping us locate, evaluate and recommend every kind of product or services imaginable, but we still have to pull out the plastic (yeah, some still carry cash) to transact&#8230; Well, that final frontier of the commerce experience is also changing, and fast.<span id="more-1283"></span></p>
<p>The first step has been the easy one. With the proliferation of mobile browsers, e-commerce purveyors have been releasing mobile-friendly sites to attract customers on the go and help them make the final purchase on their devices. Some firms—like BestBuy—have mobile versions of their sites, while others—such as eBay and Amazon—offer mobile web apps and fully native mobile applications. During the next year, you can expect to see every company that is serious about their e-commerce presence, launch or improve their mobile offering.</p>
<p><a href="http://www.netwhisperer.com/wp-content/uploads/2011/12/mobile_payments1.png"><img class="size-medium wp-image-1286 alignright" title="mobile_payments" src="http://www.netwhisperer.com/wp-content/uploads/2011/12/mobile_payments1-300x171.png" alt="Mobile Payments Accelerate" width="300" height="171" /></a></p>
<p>The next step, which offers the biggest benefit to most consumers, is mobile payment at retail. Whether shopping at a large retailer, a boutique, the farmers&#8217; market or dining at your favorite restaurant, the POS terminal is becoming your phone. While mobile payments at retail have experienced slower adoption in the US, we expect to see dramatic growth in the coming year. In fact, it has already begun.</p>
<ul>
<li>The major players in the both the tech and banking industries have been fast at work to create systems that allow consumers to use their phones for payments. PayPal and Google (in conjunction with CitiCards and MasterCard) are offering services today; and we can expect American Express, VISA and others to release new mobile payment offerings soon.</li>
<li>Less than a year after Starbucks launched an app that allows customer to pay with their phone, the company had <a title="One in Four Starbucks Transactions Now Done Via Card, Including Mobile" href="http://mashable.com/2011/12/05/starbucks-26-million-mobile-transactions-in-2011/" target="_blank">hosted 26 million mobile transactions</a> on iOS, BlackBerry and Android.</li>
<li>During the recent Black Friday annual shopping bonanza, PayPal announced a 516% increase in mobile payments.</li>
<li>GSI Commerce, a company that manages the online sales and fulfillment for many retailers, announced an increase of 254%.</li>
<li>Gartner forecasted a global increase in mobile payment volume of 76% to $86 billion with much of the growth coming from North America.</li>
<li>Each of the top smartphone developers (sans the one most are waiting on) have smartphones that include Near Field Communications (NFC, a wireless technology that provides data transfer between devices in close proximity such as less that 10 centimeters).</li>
</ul>
<h3>Contextual Services Find Their Way</h3>
<p><strong>Behavioral tracking, targeted marketing and more&#8230; oh joy!</strong></p>
<p>With the proliferation of mobile Internet-enabled devices, we&#8217;ve become accustomed to instant access to information no matter where we are. The problem is that we often have to proactively search for this information.</p>
<p>Enter Contextual Services—the ability for your mobile device to be &#8220;aware&#8221; of the context around you and behave differently as your environment changes. In the next year, we believe it will become commonplace for your device to proactively change settings and notify you of relevant information based on your location and needs. For example,</p>
<ul>
<li>If you&#8217;re near an electronics store, you&#8217;ll automatically get coupons for the HDTV you were researching last night.</li>
<li>You&#8217;ll be able to transfer information between your computer screen to your tablet, simply by placing the devices in proximity to each other and gesturing.</li>
<li>As you walk into the cleverly named conference room, your phone will automatically silence itself and pull up the online meeting information from your calendar.</li>
</ul>
<p><a href="http://www.netwhisperer.com/wp-content/uploads/2011/12/contextual.png"><img class="alignright size-medium wp-image-1291" title="contextual" src="http://www.netwhisperer.com/wp-content/uploads/2011/12/contextual-300x171.png" alt="Contextual Services" width="300" height="171" /></a></p>
<p>The mobile device is one of the few electronics that is typically a single-owner object. Therefore, as your mobile device becomes more integrated in your daily routine, the more personally relevant contextual results you&#8217;ll receive. We expect to see personally relevant contextual services emerge in a convergence between mobile advertising, advanced artificial intelligence (such as Apple&#8217;s Siri), gaming, shopping, directory assistance and opportunity discovery.</p>
<p>Contextual services are already blazing trails in the marketplace. Gartner estimates contextual awareness will be a &#8220;<a title="Gartner Says Context-Aware Computing Will Be a $12 Billion Market By 2012" href="http://www.gartner.com/it/page.jsp?id=1229413" target="_blank">$12 billion market by 2012</a>&#8220;. Startups like <a title="Urban Airship - Powering Modern Mobile" href="http://urbanairship.com/" target="_blank">Urban Airship</a> and <a title="hipui" href="http://www.hipui.com/" target="_blank">hipui</a> are building advanced tools to help your business take advantage of contextual awareness. <a title="A Look at Apple's Spot-the-Shopper Technology" href="http://bits.blogs.nytimes.com/2011/11/25/a-look-at-apples-spot-the-shopper-technology/" target="_blank">Apple already uses contextual awareness</a> in their stores to help associates spot customers in need of assistance. Nokia is experimenting with highly personalized contextual awareness via <a title="Nokia Situations" href="http://betalabs.nokia.com/apps/nokia-situations" target="_blank">Nokia Situations</a>.</p>
<h3>Mobile Website As Apps</h3>
<p><strong>The lines between mobile websites and apps are blurring.</strong></p>
<p>Mobile apps are now a high priority for our clients, which is no surprise given that Morgan Stanley expects <a title="Morgan Stanley Internet Trends" href="http://www.morganstanley.com/institutional/techresearch/pdfs/Internet_Trends_041210.pdf" target="_blank">mobile Internet usage to surpass desktop</a> Internet usage by 2014. Deploying a best in class mobile solution used to mean writing separate native applications for iOS, Android, BlackBerry, Windows Phone 7 and others. But in the past year, that&#8217;s all changed.</p>
<p><a href="http://www.netwhisperer.com/wp-content/uploads/2011/12/web_apps.png"><img class="alignright size-medium wp-image-1295" title="web_apps" src="http://www.netwhisperer.com/wp-content/uploads/2011/12/web_apps-300x171.png" alt="Mobile Website As Apps" width="300" height="171" /></a></p>
<p>Recent advances in JavaScript libraries—such as <a title="jQuery" href="http://jquerymobile.com/" target="_blank">jQuery Mobile</a> and <a title="Sencha Touch" href="http://www.sencha.com/products/touch" target="_blank">Sencha Touch</a>—combined with near-universal support for HTML5 and CSS3 make cross-platform, best-in-class web applications a viable option over traditional native applications. We are counseling our clients to keep a keen eye on web apps because they provide several key advantages:</p>
<ul>
<li>Web apps are often significantly less costly to develop and maintain</li>
<li>Users can place a web app icon on the home screen, and the app will behave similarly to a native app</li>
<li>Unlike native apps, separate web apps do not need to be developed for individual platforms</li>
<li>There are no app store or marketplace restrictions on content or functionality</li>
<li>The burden to install and manually upgrade the app no longer falls on the user</li>
</ul>
<p>The <em>Financial Times</em> made a bold move this past year and eschewed the native app in favor of a sophisticated <a title="The new FT app for iPad and iPhone" href="http://apps.ft.com/ftwebapp/" target="_blank">web application</a> to deliver their daily news content. Their primary motivation was to avoid Apple&#8217;s 30% in-app subscription tax, but they also reaped the <a title="FT Web App - Technical Q&amp;A" href="http://aboutus.ft.com/2011/06/07/ft-web-app-technical-qa/#axzz1gRfb5t81" target="_blank">benefits</a> of lower maintenance costs and instant feature releases. Amazon brought their popular Kindle reading platform to Safari for the iPad with <a title="Kindle Cloud Reader" href="https://read.amazon.com/about" target="_blank">Kindle Cloud Reader</a>, with promises to support more mobile browsers shortly. Google has also put a strong emphasis on mobile web apps for all of their major products, with best in class offerings for Search, Google+, Picassa, Gmail, Google Docs and YouTube.</p>
<p>Certainly, there are still cases where a native app might make more sense than a web app, particularly in areas where rich business logic, advanced graphics or visualization is required. But for most information consumption scenarios, we predict that web apps will become the de facto choice for deployment.</p>
<p>From all of us at ThoughtMatrix, we wish you a very Happy Holiday and anticipate connecting with you again in the New Year.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.netwhisperer.com/2011/12/13/upcoming-trends-for-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

