Friday, April 24, 2015

Mobile Web Development Building Mobile Web Experiences


In this course, you will learn how to build web experiences that adapt to the different screen sizes and capabilities that mobile devices offer, and how to scalably optimize media for mobile and desktop. We will cover programming touch interaction, as well as how to optimize form field input for mobile devices and use APIs like geolocation and the accelerometer, and ensuring your web experiences work great when network conditions are sub-optimal. Finally, you’ll gain the tools to investigate performance in mobile applications, with a strong understanding of mobile networking, battery usage patterns and optimizing paint techniques to build smooth animations on mobile.

Lesson 01: Syllabus

We’ll start with a high-level overview of the course and what to expect in it. We’ll also go into more depth on what we mean by mobile web development, and why you should care about it.

Lesson 02: Mobile Development Tools

Workflow and tooling is incredibly important for building great web apps, and this carries over to mobile web development. This lesson will show you how to use the Chrome Developer Tools to develop for the mobile web.

Lesson 03: Mobile UX and Viewport

Designing for the mobile web is all about a smooth user experience. This lesson will get you thinking about how to achieve that on mobile, and we’ll introduce the first of many tools you need to achieve this: the viewport.

Lesson 04: Fluid Design

Mobile means lots of different devices and form factors. We’ll discuss how to make your site responsive, clean, and user-friendly on multiple devices and layouts.

Lesson 05: Media Queries

Sometimes different devices call for fundamentally different layouts. This lesson will teach you how to achieve this using media queries.

Lesson 06: Responsive Images

Media requirements are different in mobile - network constraints and very high resolution screens set up a conflict that can be challenging. We’ll talk about how best to integrate media into your mobile web applications, and adaptively scaling images based on the environment.

Lesson 07: Optimizing Performance

Users expect a fast, seamless experience on mobile. We’ll go over optimizing various performance metrics to improve that experience, such as network, cpu, rendering, and battery performance.

Lesson 08: Touch

Touch input is fundamentally different from mouse input, and requires you to think about your user interactions differently. We’ll go over UX concerns with touch-based interaction, and how to design user interactions that work across devices.

Lesson 09: Input

Using a keyboard on mobile is awful. We’ll discuss ways to improve it, using semantic input for form data, and other user input options on mobile.

Lesson 10: Device Access

Mobile devices have a full array of sensors typically unavailable on desktop. We’ll talk about camera access, geolocation, and other sensors and feedback you have access to on mobile.

Lesson 11: Offline and Storage

It’s an unfortunate reality that mobile users aren’t always online. We’ll go over using the local cache as well as local storage APIs to give your users a great offline (and partially-online) experience as well.

Lesson 12: Wrap-up

We’ll finish up the class by talking briefly about other topics to consider, such as app experience, monetization, deployment and distribution. We’ll also point you to other resources to look at moving forward in your career.

Thursday, April 23, 2015

.htaccess - character conversion, https, and no www

It should be done in this order

0. Redirect upper case URLs to lower case URLs

1. Redirect http to https
1. Redirect www to non-www
If you use a proxy on the network all of this would be a lot easier to accomplish, but in the .htaccess file I think you can combine steps 2 and 3.

STEP 1 - UGLY, but the only way I know of in htaccess
RewriteEngine On
RewriteBase /

# If there are caps, set HASCAPS to true and skip next rule
RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1]

# Skip this entire section if no uppercase letters in requested URL
RewriteRule ![A-Z] - [S=28]

# Replace single occurance of CAP with cap, then process next Rule.
RewriteRule ^([^A]*)A(.*)$ $1a$2
RewriteRule ^([^B]*)B(.*)$ $1b$2
RewriteRule ^([^C]*)C(.*)$ $1c$2
RewriteRule ^([^D]*)D(.*)$ $1d$2
RewriteRule ^([^E]*)E(.*)$ $1e$2
RewriteRule ^([^F]*)F(.*)$ $1f$2
RewriteRule ^([^G]*)G(.*)$ $1g$2
RewriteRule ^([^H]*)H(.*)$ $1h$2
RewriteRule ^([^I]*)I(.*)$ $1i$2
RewriteRule ^([^J]*)J(.*)$ $1j$2
RewriteRule ^([^K]*)K(.*)$ $1k$2
RewriteRule ^([^L]*)L(.*)$ $1l$2
RewriteRule ^([^M]*)M(.*)$ $1m$2
RewriteRule ^([^N]*)N(.*)$ $1n$2
RewriteRule ^([^O]*)O(.*)$ $1o$2
RewriteRule ^([^P]*)P(.*)$ $1p$2
RewriteRule ^([^Q]*)Q(.*)$ $1q$2
RewriteRule ^([^R]*)R(.*)$ $1r$2
RewriteRule ^([^S]*)S(.*)$ $1s$2
RewriteRule ^([^T]*)T(.*)$ $1t$2
RewriteRule ^([^U]*)U(.*)$ $1u$2
RewriteRule ^([^V]*)V(.*)$ $1v$2
RewriteRule ^([^W]*)W(.*)$ $1w$2
RewriteRule ^([^X]*)X(.*)$ $1x$2
RewriteRule ^([^Y]*)Y(.*)$ $1y$2
RewriteRule ^([^Z]*)Z(.*)$ $1z$2

# If there are any uppercase letters, restart at very first RewriteRule in file.
RewriteRule [A-Z] - [N]

RewriteRule ^/?(.*) /$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.example\.org[NC]
RewriteRule ^(.*)$$1 [L,R=301]

Friday, April 17, 2015

Graduating Treemaps in Google Analytics to the Acquisition section

Graduating Treemaps in Google Analytics to the Acquisition section
/by +Joan Arensman  #analytics   #treemaps

We introduced Treemaps last October ( to bring you more insights into your AdWords performance, helping you visually identify trends and opportunities. If you missed +Matt Lawson's overview at the time, you can check it out here:

To bring the same quick, visual insights to all your channels, we’re now adding Treemaps to the Acquisition section. This allows you to see a graphical representation of all your incoming traffic and instantly compare the performance of different channels. You can plot any volume metric (like Sessions or Transactions) against any relative metric (like Pages/Session or Avg. Session Duration).

Look for Treemaps in the Acquisition section (Acquisition > All Traffic > Treemaps) the next time you open Google Analytics, or check out the Help Center article:

Happy analyzing!

Thursday, April 16, 2015

Book Review: Thriving on Honesty - Thrive by Arianna Huffington

The back cover of “Thrive” does an immaculate job in summing up Arianna Huffington’s message of “What does success feel like?” There is far more to life than a bigger salary and capturing a corner office. She dives into her story which starts with a major pull of a full commitment of time and mental investment that I think a lot of America can relate with:
“Arianna Huffington’s personal wake-up call came in the form of a broken cheekbone and a nasty gash over her – eye. “
To help overcome this pressure from Corporate America, she talks about the third metric which includes four pillars: well-being, wisdom, wonder, and giving. 

We are taught to work hard and not settle for anything less because we ALWAYS can do more or earn more.The Corporate America in a generalized sense doesn't care about our well being and cares about profit and efficiency. There are always exceptions to this rule, but in another book of a similar strain I heard this repeated where not 24 hours had gone by but when an employee died he was immediately replaced without a second thought. She also talks about "empty spaces" in our schedules are a necessity and not a luxury. It's easy to look at lunch as the ability to get ahead in work and not realize that doing this too often can cause harm to our mental and physical well being.

I refrain from checking my work email when I’m at home or on vacation. I’m probably in the minority, but I don’t have my work email account synced to my phone, so checking it while I’m away from the office is a very deliberate process. Of course, rules are made to be broken, and sometimes I find myself logging into my account(s). I always try to keep it as brief as possible though.
You can read more about Thrive and order the book here, and learn more about the author, Arianna Huffington, on her bio page.

Friday, April 10, 2015

WordPress JSON API to jQuery

<!DOCTYPE html>
<html lang="en">
    <meta charset="utf-8" />
    <title>JSON Sample</title>
    <script type="text/javascript" src=""></script>
    <script type="text/javascript">
    var MYBLOG_LIMIT = 5;
    var MYWRAPPER_CLASS = 'wptitle';
    var MYWRAPPER_CLASS2 = 'wpimage';
    var MYWRAPPER_CLASS3 = 'wpdescription';
    var WP={open:function(b){var a={posts:function(){var d=MYBLOG_LIMIT;var e=0;var c={all:function(g){var f=b+"/api/get_recent_posts/";f+="?count="+d+"&page="+e+"&callback=?";jQuery.getJSON(f,function(l){var k=l.posts;for(var j=0;j<k.length;j++){var h=k[j];h.createComment=function(i,m){;a.comments().create(i,m)}}g(k)})},findBySlug:function(f,h){var g=b+"/api/get_post/";g+="?slug="+f+"&callback=?";jQuery.getJSON(g,function(i){h(})},limit:function(f){d=f;return c},page:function(f){e=f;return c}};return c},pages:function(){var c={findBySlug:function(d,f){var e=b+"/api/get_page/";e+="?slug="+d+"&callback=?";jQuery.getJSON(e,function(g){f(})}};return c},categories:function(){var c={all:function(e){var d=b+"/api/get_category_index/";d+="?callback=?";jQuery.getJSON(d,function(f){e(f.categories)})}};return c},tags:function(){var c={all:function(e){var d=b+"/api/get_tag_index/";d+="?callback=?";jQuery.getJSON(d,function(f){e(f.tags)})}};return c},comments:function(){var c={create:function(f,e){var d=b+"/api/submit_comment/";d+="?post_id="+f.postId+"&name=""&email=""&content="+f.content+"&callback=?";jQuery.getJSON(d,function(g){e(g)})}};return c}};return a}};
    var blog ='');
      for(var i = 0; i < posts.length; i++){
          return (posts[i].thumbnail) ? '<a target="_blank" class="lastpost_title" href="'+posts[i].url+'"><h4>'+posts[i].title+'</h4></a>' : '<a href="'+posts[i].url+'"><h4>'+posts[i].title+'</h4></a>';
          return (posts[i].thumbnail) ? '<a href="'+posts[i].url+'"><img src="'+posts[i].attachments[0].images.full.url+'"/></a>'  : '<a href="'+posts[i].url+'"><img src="'+posts[i].attachments[0].images.full.url+'"/></a>';
          return (posts[i].thumbnail) ? posts[i].excerpt : posts[i].excerpt;
        .sociable { display:none; }
    <div class="wptitle"></div>
    <div class="wpimage"></div>
    <div class="wpdescription"></div>

WordPress with JSON and jQuery

Pull the latest blog post from WordPress with JSON and jQuery, which works great on any static HTML page, PHP page or any CMS / Ecommerce platform you can imagine.

Build a loyal user base with three new Mobile App Analytics reports

Thursday, March 05, 2015 | 10:59 AM
Successful developers understand that in order to have a popular app, focusing on retaining a loyal user base is just as important as driving new installs. Today at the Game Developer Conference in San Francisco, we introduced new reports that will help you measure how to do this in two meaningful ways. We’re happy to announce that Mobile App Analytics will now let you understand how users come back to your app day after day, and provide the rich insights you need in order to measure their value over time. Let’s take a look at how these new reports can help make your app a hit.
Active Users
The active user report displays your 1-day, 7-day, 14-day and 30-day trailing active users next to each other in one, easy-to-view dashboard. The new overview gives immediate insights into how users interact with your app over time, along with dropoff rate comparisons. With this report, an app download is only the beginning of a potentially valuable relationship with your new users.
Benchmark active users at 1-7-14-30 days by selecting the segments you want. (Click to enlarge image)
While these metrics help you monitor your active user trends, when put into context they can answer important questions about your user acquisition strategies. For example, if you are investing in different campaigns, you can compare the cost of retaining users acquired via paid traffic versus organic to understand if you are attracting the right type of users. Not only can you measure your cost effectiveness, but you can also continue to monitor whether or not the users you paid for are still coming back after the campaign is over. This is particularly important when trying to keep your loyal user base engaged and happy with your app.

Lior Romano, Founder and CEO of Gentoo Labs (the makers of  Contacts+ for iOS and Android), was one of the first customers to try out this new report during our beta test period. He found the Active Users report especially useful when managing and organizing all their information at-a-glance: “We love the new Google Analytics Active Users feature -- it's a real time-saver! We get a quick overview of the 1/7/14/30-day active user trends side by side in a snap, which helps us to easily track our main metrics.”
Cohort Analysis
After learning how many users have opened your app, the next step in driving engagement is understanding when they come back. Cohort Analysis is a user analysis technique that allows you to analyze and compare your users by looking at their customer journey. Using Cohort Analysis, you can see when users are coming back to your app and their behavior over time after the day of the first session, and lets you further filter the information by day, week or month. We’ve also added the ability to compare different segments of users based on the day of the first install. 
In order to validate your user acquisition strategies, Cohort analysis lets you compare different periods or campaigns. For example, you can compare different weeks or months to measure the retention effectiveness of a single channel to see if you continue to attract valuable users throughout a campaign. The flexibility of the report also allows you to see how much time users are spending in an app as they come back day after day. With these valuable insights, Mobile App Analytics users can tailor their acquisition campaigns or app experience, just as our partner E-Nor did: “Cohort analysis in GA made it easy for E-Nor to gauge the effectiveness of lead nurturing efforts during an app free-trial promotion campaign. The analysis clearly showed that many users responded well to email and in-app reminders, resulting in over 50% retention between the 3rd and 5th day post sign-up as opposed to 30% in the first and 2nd day.

See at a glimpse when users are coming back to your app. (Click to enlarge image)

Lifetime Value
Analyzing retention is a great way to ensure users stick with your app and come back day after day. With Lifetime Value reporting, you’ll get a full picture of these users’ value over time. To get the most out of this report, it’s important to start with a clear definition of what a user’s value means to you based on your business objectives. Once you’ve defined the value, you can access the report to measure certain variables such as revenue per user and number of screen views per user over a period of 90 days. For example, if the goal of your app is to get users to purchase virtual or material goods, you’ll want to use this report to get a clear view of when they make a purchase and how much they are spending in your app over time.

Lifetime Value is a key metric to use to measure the effectiveness of your acquisition campaigns. If your cost to acquire a new user is higher than the average value over time, you might want to optimize your campaigns to meet the lifetime revenue they generate. Lifetime Value is particularly valuable if you offer in-app purchases, but it can be applied to discovering many other useful insights, such as number of times they open your app, total number of screens and goal completions.
Session duration per users compared to goal completion over a 60 day window. (Click to enlarge image)

How to get started
Cohort Analysis report can be found under the ‘Audience’ section in your Google Analytics account, and is now available in beta. Lifetime Value and Active Users reports are coming soon to all Analytics accounts.
To get started login into your Analytics account and look for the new reports under the Audience section. 
Posted by Russell Ketchum, Lead Product Manager, Google Analytics for Mobile Apps

Friday, April 3, 2015

The Burn - Too Hot for Andy

The Burn by Haylie Pomroy can best be described as serious, effective, rigorous, intense, demanding, unrealistic.

If you are being serious about weight loss and you are looking for an alternative to try, this might be the book for you. I don't shop at specialty or organic grocery stores nor do I dive into the science behind weight loss. However the book does a great job of giving a few highlights that can help jump start weight loss at a platue such as liquid breakfasts.

Serious, rigorous, intense, and demanding can be lumped together to better articulate that this book has no real* pictures, no diagrams, and no color. It is a regimented lab manual that dictates success, but doesn't illustrate it for the casual user. She does however have some pictures and a few "chart" like pages, but that's as casual as it gets.

Every type of diet includes a smoothie, a tea, a soup, lots of water and special recipes. Some of the items that Haylie is recommending won't be found in your typical grocery store and don't fit well with everyday life.

The book wouldn't exist if it didn't have truth behind it. Her reasoning makes sense and I understand why it would be effective if I had a lot more free time and was probably single. It is extremely detailed and does a great job of usually explaining all of the benefits and why you are eating a specific food.

The description here should be emphasized in bold -it is a great summary of the book.
  • I-Burn, D-Burn, and H-Burn eating and living plans, complete with detailed grocery lists and daily menus to keep the process simple and easy-to-follow.
  • Dozens of delicious recipes for meals in a flash.
  • Simple success boosters:  foods, teas, tips, and practices that are easy to incorporate and stoke up your body’s ability to heal.  

Digital Library Hardcover from Ashgate

Might be something worth checking out if the price drops since it is from 2004

Digital Libraries: Policy, Planning and Practice brings together a wealth of international experience in the planning and implementation of digital and hybrid library projects, providing a stimulating and informative handbook and reference for library staff and information managers. It consists of chapters contributed by leading specialists from Europe, North America, South Africa and the Middle East, who offer their insight into the decision-making processes that have shaped a variety of different digitization programmes.

Beginning with introductory overviews of the digital library context, the US Digital Library Program and the UK e-lib and hybrid library programmes, Digital Libraries then divides into two main sections on policy and planning, and implementation and practice. The first explores concerns such as financial and resource planning, digitized compared to born-digital content and related service issues, open access to scholarly research archives, policies for and against preservation and their justification, and evaluating electronic information services. 

The second section is based on case studies on major European and North American digital library projects, including the Glasgow Digital Library, UCEEL (University of Central England Electronic Library), the Networked Digital Library of Theses and Dissertations (discussed in the context of five international projects), the Indiana University music Variations and Variations2 Project, and the beginnings of the Library of Congress digital program and its integration into core library services. The concluding chapter discusses the way forward for digital libraries in the context of experiences at Tilburg University library, and possible enabling or limiting factors in the future.

The result of drawing together these varied and illuminating experiences is a book that offers useful information and comparisons for all digital library project staff, institutional administrators, educators and developers of learning technology. It also provides useful pointers for researchers and project staff involved in archive and museum projects, as well as introducing students to the key ingredients of successful digital libraries.

Wednesday, April 1, 2015

Built in Help Tools Windows 7 and 8


Here's a list of the best stuff that you already have but maybe didn't realize.
  • Disk Cleanup - It's improved, built-in and  much easier to find free space in Windows
  • Reliability History - In the Windows 8 Start screen, type reliability, click Settings, and then select View Reliability History. You'll get a fantastic view into how your machine is running, what works and what doesn't. Often I'll find that it's a specific or driver that's causing my troubles, rather than Windows itself. This is a great unused tool for getting to the bottom of reliability issues.
  • Display Calibration - Another app I once had to install, now built-in. Type calibrate from Start, and get all your monitors' colors correct and clear. Crucial for those who work on the web or in PhotoShop.
  • Problem Steps Recorder - This gem was also in Windows 7. I often have my Mom use it to show me bugs or issues she runs into.
  • Hyper-V Virtual Machines - Windows 8 Pro includes Virtual Machines out of the box. Search for Features and Add "Hyper-V" to get a complete hypervisor that can run Ubuntu or older versions of Windows at near full-speed.
    • NOTE: Your processor needs SLAT to use Hyper-V
  • Task Scheduler - An oldie, to be sure, but one even I forget I have. If you have to do something often, scheduled it. From the Start screen type "Task."
  • Memory Diagnostic -  Concerned about bad RAM? Type "memory" as Windows now has a built-in diagnostic tool!
  • Resource Monitor - Type "Resource" from Start and get deep info into what Windows is doing, even beyond what Task Manager tells you. I use this to find rogue services.
  • File History - It's like Time Machine. I've got File History backing up my files hourly. More than once this has saved me when I needed a file off my desktop...that was deleted last month.
  • Storage Spaces makes a giant drive out of a bunch drives. I actually copy my File History to a number of drives added into a Storage Pool with Storage Spaces. All built in.
  • OblyTile - This quirky little app exists for one reason: to make prettier Tiles for your Windows 8 Start Screen to replace the ugly ones your regular desktop apps make. You can also pin Folders, commands like Shutdown, and generally make your Start Screen lovelier than it is now.

play Pac-Man on Google Maps

For April’s Fools Day this year Google has done something clever even by that company’s standards: They’ve given players the ability to play Pac-Man on any map anywhere in the world at the click of a button.

Welcome, Player 1!” Google writes on the game’s webpage. “You can now play the classic arcade game PAC-MAN in Google Maps with streets as your maze. Avoid Blinky, Pinky, Inky, (and Clyde!) as you swerve the streets of some famous places around the world. But eat the pac-dots fast, because this game will only be around for a little while.”

This is a feature that Google should leave baked into Maps forever because…Pac-Man on any street map anywhere in the world is just too awesome to use only as a holiday prank.

Internet Archive Resurgence

As Google abandons its past, Internet archivists step in to save our collective memory.

It’s not just about games — that’s just the hook.

It’s about preserving our digital history, which as we know now, is as easy to delete as 15 years of GeoCities.

We can’t expect for-profit corporations to care about the past, but we can support the independent, nonprofit organizations that do.