Elroyjetson

Archive for October, 2012

Siri vs Google Now

Posted on: by

The tech pundits keep making comparisons between Siri and Google Now. The problem is that this is almost the same as comparing cars to planes based solely on the fact that they both get you from point A to B.

Google Now, at least for the moment, is really not a lot more than Google Voice Search with a pre-canned card metaphor for limited information display. Sure Google Now has a little more information about things like your location or upcoming events, but not a whole lot more. This will likely evolve over time, but that is about it right now.

This is all fantastic, but it isn’t the same as Siri, and I am not sure it is ever meant to be.

Siri serves up some information similar to Google Now – for instance, I am a Packers fan. If I ask both Siri and Google Now when is the next Packer game, they both return nicely formatted data in the form of cards. It’s at this point that Siri stands out a little. Now ask them both what is the current passer rating for Aaron Rogers. Siri returns a nicely formatted card with the data results. Google Now sends you to Google search results for the answer.

Okay, Siri has some enhanced sport data, no big deal.

Now ask both of them to text your wife a message. Siri, knows who my wife is, composes the message, prompts me to review the composed message and then asks if I want to send the message. Google Now sends me to Google search results for text my wife. You see, Google Now is about retrieving information. Some of that data retrieval is enhanced with information about me such as location, but it is still about information. Siri is about becoming a personal digital assistant, in part that means information retrieval, but it also means a good deal more.

Right now Siri is still pretty naive, but getting smarter with each upgrade.

The purpose of Apple with Siri is very different than that of Google Now.

It is a difference of action.

Siri is rapidly gaining new and more meaningful actions that it can perform. Whereas, at least today, Google Now has only one real action, search.

Apple, at least seems, to be attempting to take their early Knowledge Navigator concept and make it a reality, a true digital assistant.

Google appears to be furthering their goal of organizing the worlds information and then making it easily searchable.

Two wonderful goals, but not really the same thing. To be honest, they are complimentary products instead of adversarial products.

So when pundits attempt to compare them as though they are adversarial products, it simply doesn’t work.

Install Node.js on CentOS 6.2

Posted on: by

The install of Node.js is pretty straight forward, with on gotcha when it comes to installing node packages that I will detail at the end.

If you haven’t already installed developer tools, you will need to do that now.


sudo yum groupinstall 'Development Tools' 
sudo yum install openssl-devel 

Now install Node.js.


wget -O - http://nodejs.org/dist/v0.6.18/node-v0.6.18.tar.gz | tar xzvf - 
cd node-v0.6.18/ 
./configure 
make 
sudo make install 

Problem installing node packages with sudo

To install node packages you have a little problem if you are using sudo. On CentOS 6.2 (and probably versions less than this), sudo has a secure path set secure_path = /sbin:/bin:/usr/sbin:/usr/bin. This is a problem because npm is installed in /usr/local/bin by default and sudo does not have access to that location in it’s path.

This is easy to fix if you have root access on your server, WARNING: this may make sudo less secure, so make sure you understand your system and it’s security needs before changing this.

To make this change you must use visudo to change the line Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin . This will take care of the problem now you can install packages using sudo like normal.

 

Implement Responsive Images with a Polyfill

Posted on: by

Introduction

While we are waiting on a solution to the responsive images problem (current proposal), we still have to take care of the issue in our websites.

This may sound difficult, but in reality, thanks to the work of Scott Jehl, we can emulate responsive images with a simple to use polyfill today. Many other solutions have been created to solve this problem, but I recommend picturefill at the current time because it is similar in syntax to what is currently being proposed and very simple for a novice to install.

To implement picturefill you need a basic grasp of git, javascript, and plain old HTML. That’s it. This whole solution will take you about 5 minutes to get up and running.

Setup

First thing is to grab a copy of the picturefill project from GitHub.

$ git clone https://github.com/scottjehl/picturefill.git

This will create a copy of the GitHub repo on your local machine.

You will want to package this up prior to placing it on your production server. This project contains two files that you will need in your code. First is the picturefill.js file and the second is the external/matchmedia.js. Personally I like to concatenate these files together along with my site Javascript so that I only need one HTTP request to get what I need, but you should do what works in your environment.

The Images

Next you need to assemble the images that you will need. You can have as many as you want based on the breakpoints you need. Personally I like to work with a small, medium and large version of my files, but again, do what works best for your environment.

Include the Javascript

This will be based on your project and how you assembled your Javascript in the Setup portion of this post, but the important thing is that you need to include both the picturefill.js and matchmedia.js file in your page for things to work correctly.

Add the HTML

Your HTML should follow this pattern to work. It’s important that you add in the <noscript> element and keeping with good Mobile First design practice you will want to load the small image first, by doing this you add an element of Future Friendly to your web page. With this code you will now have responsive images, matching a small, medium, or large screen, but if the browser cannot handle Javascript, no problem you fall back to the <noscript> and to be safe we send the small image.

<pre>
    <div data-picture data-alt="A giant stone face at The Bayon temple in Angkor Thom, Cambodia">
        <div data-src="small.jpg"></div>
        <div data-src="medium.jpg" data-media="(min-width: 400px)"></div>
        <div data-src="large.jpg" data-media="(min-width: 800px)"></div>

        <!-- Fallback content for non-JS browsers. Same img src as the initial, unqualified source element. -->
        <noscript>
            <img src="external/imgs/small.jpg" alt="A giant stone face at The Bayon temple in Angkor Thom, Cambodia">
        </noscript>
    </div>
</pre>

You do have other options. Take a look at the documentation for more.

Offers and the Social Effect

Posted on: by

I am always on the lookout for great social marketing examples. Last night I found a great one in my own Facebook News Feed. But before I can discuss this great case study, you will need a little background information.

First let me tell you about the company in the case study, Ting. Ting is an innovative new mobile phone service that has developed a more common sense approach to how they interact with their customers. The magic is in their billing plans. In a nut shell, they charge a customer based on how much they used. If you are a heavy data user, no problem you pay for the amount of data used. For instance, I use very few minutes of my calling plan a month. On Verizon, I still pay for minutes I don’t use. With Ting, don’t use it, don’t pay for it. Novel approach. Now the tradeoff is that Ting runs on the Sprint network so if you are in an area with great Sprint coverage, then it is perfect for you, if not then Ting may not be the best solution at any price. It’s all about tradeoffs.

The next item I need to explain is Facebook Offers. Facebook Offers is a way for companies to offer discounts in the News Feed of the Facebook users that like their Fan Pages. If an offer appears in your News Feed, click the link to redeem the offer. The offer will be sent to your primary email account associated with your Facebook login. Then simply take your phone to the company that made the offer and show them on the screen or print it out and take it in. Simple. Facebook Offers are limited only by your marketing imagination.

Now back to the case study.

I have liked the Ting Fan Page at sometime in the past. I happened to pull out my mobile phone, jumped into the Facebook app to see what is new and in my News Feed was the Ting offer. So I clicked to redeem it. Immediately I got an email with instructions about the offer.

This morning, a friend of mine (who I know is looking for mobile service), sees that I redeemed the offer in his News Feed and clicks to claim the offer too.

Back in my News Feed, I can now see that he also redeemed the offer. Off course we now have the added benefit of another point in common.

This is a great interaction, but more than this it is a highly trackable interaction.

To recap, offer, social interaction with my network, company receives at least two interactions from me (mine and one from my network) and they can track how many redemptions they have had in Facebook as well as how many came to the web site to claim the offer.

This is a textbook social marketing program. Brilliant.