tag:blogger.com,1999:blog-60407783498117749382024-03-19T03:03:53.636-07:00Digital CompostTechnology, Media, Gardening, Politics.Unknownnoreply@blogger.comBlogger98125tag:blogger.com,1999:blog-6040778349811774938.post-74164726248226546572021-08-21T11:06:00.008-07:002021-09-03T15:37:21.988-07:00Days of Week or Month Number in Excel / Google SheetsHere are some easy ways to convert dates into the day of the week (Mon, Tue, etc.)<br /><br />
=HLOOKUP(WEEKDAY(A1),{1,2,3,4,5,6,7;"Sun","Mon","Tue","Wed","Thu","Fri","Sat"},2,FALSE)<br /><br />
=TEXT(A1,"dddd")
<div><br /></div><div>Here's how to convert Month names to numbers</div><div><br /></div><div>=HLOOKUP(A2,{"January","February","March","April","May","June","July","August","September","October","November","December";1,2,3,4,5,6,7,8,9,10,11,12},2,FALSE)</div><div><br /></div><div>Custom Formula for Conditional Formatting to Highlight Duplicate Values in Google Sheets</div><div><br /></div><div>=countif($A$1:$A$1000,A1)>1</div><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-82200683027255065952014-03-25T19:29:00.001-07:002014-03-25T20:04:45.573-07:00How to Add Twitter Card Information Previews to Your Web Site<meta name="twitter:card" content="summary" /><meta name="twitter:site" content="@bcballard" /><meta name="twitter:creator" content="@bcballard" /><meta name="twitter:image" content="http://pbs.twimg.com/profile_images/440282815611953153/OOd3gFx_.png" /><meta name="twitter:title" content="How to Add Twitter Card Information Previews to Your Web Site" /><meta name="twitter:description" content="Twitter lets you add previews of your web pages to tweets. If you or anyone else Tweets a link to your site, you can add title, description, a picture, and your Twitter account." /><meta name="twitter:url" content="http://digicompost.blogspot.com/2014/03/add-twitter-cards-information-to-your.html" /><br />
Twitter lets you add previews of your web pages to tweets. Twitter calls these previews "cards."<br />
<br />
If you or anyone else Tweets a link to your site, you can add title, description, a picture, and your Twitter account. The examples shown here are for a "summary" card type. Twitter offers other <a href="https://dev.twitter.com/docs/cards">card types</a> as well, including: summary with large image, photo, gallery, app, player, and product. Twitter claims photo cards have the highest click-through at 1.09% of Tweet impressions, and summary cards are 2nd highest at 0.95%.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcpVnWldiRFJhivyI78ZU0CIl0tC6YXGxxRVDItV_MTdTpjG3XMnxpyQtBDcAY2bTjG_fCXz_nMGRMUP3Ic_GVE3KdtxEZdqhaYQMYRpfHhRS3FdR0uY7wGPfgHyooQTDMDg-0Lqdh5JkL/s1600/Untitled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcpVnWldiRFJhivyI78ZU0CIl0tC6YXGxxRVDItV_MTdTpjG3XMnxpyQtBDcAY2bTjG_fCXz_nMGRMUP3Ic_GVE3KdtxEZdqhaYQMYRpfHhRS3FdR0uY7wGPfgHyooQTDMDg-0Lqdh5JkL/s400/Untitled.png" /></a></div><br />
To enable previews of your pages, add the following meta tags. Twitter provides a handy <a href="https://dev.twitter.com/docs/cards/validation/validator">interactive web tool</a> that lets you see how to use these tags. I divided the tags into sections based on how most sites construct pages, but you can ignore those distinctions if they do't apply to your site.<br />
<br />
<h2>Site-Level Information</h2><br />
<b>Site:</b> Use your main Twitter account's screen name. For example:<br />
<br />
<tt><meta name="twitter:site" content="@TwitterUserName" /></tt><br />
<br />
<b>Site ID:</b> This optional tag includes Twitter's unique numeric ID for your Twitter account. If you don't know your numeric Twitter ID, you can skip this tag.<br />
<br />
<tt><meta name="twitter:site:id" content="1234567890" /></tt><br />
<br />
<br />
<h2>Page Type-Level Information</h2><br />
<b>Card Type:</b> This tag lets you specify which kind of preview you want. You may want to use different cards by page type (e.g. blog posts or news vs. videos, vs. images), or a simply "summary" for your whole site.<br />
<br />
<tt><meta name="twitter:card" content="summary" /></tt><br />
<br />
<b>Image:</b> This lets you specify which logo or image to user in the previews.<br />
<br />
<tt><meta name="twitter:image" content="http://www.domain.com/path/image.png" /></tt><br />
<br />
<br />
<h2>Page Level Information</h2><br />
<b>Title:</b> This generally contains the same text as your page's title tag. However, it lets you customize the preview title that appears on Twitter.<br />
<br />
<tt><meta name="twitter:title" content="Title of Your Web Page Goes Here" /></tt><br />
<br />
<b>Description:</b> This is also generally the same text as your page's description tag. Again, you can customize it for Twitter previews if you like.<br />
<br />
<tt><meta name="twitter:description" content="Summary of your web page goes here." /></tt><br />
<br />
<b>URL:</b> This is the fully-qualified URL to your web page. I find that if this is missing or is not fully qualified (meaning including the http://www.domain.com/" part, Twitter won't display a preview.<br />
<br />
<tt><meta name="twitter:url" content="http://www.domain.com/path/file.html" /></tt><br />
<br />
<b>Creator:</b> This can be either your main Twitter account screen name, or the Twitter screen name of the page's author.<br />
<br />
<meta name="twitter:creator" content="@AuthorTwitterName" /><br />
<br />
<b>Creator ID:</b> This optional tag can be either your main Twitter account's numeric ID, or the Twitter numeric ID of the page's author.<br />
<br />
<meta name="twitter:creator:id" content="9876543210" /><br />
<br />
<br />
<h2>Approval</h2><br />
Once you have these tags set up on your pages, you must request that Twitter approve previews on links to your site. To apply for approval, run your page through the Validate & Apply tab on Twitter's <a href="https://dev.twitter.com/docs/cards/validation/validator">Card Validator</a> page.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjNYK7yWVu0iJ9zvZukAF3yumzV8QDLyzGJqkXYXMgY3Z0X_juUYBnrjLTz3yFB_Vw2AeXOWkDNTkOn1TCGKoYr3pPNpUaQ80wvsaBX9YjskPVSZJITMoDqRpbScLgdoPl5ItAIRWWB3SY/s1600/approval.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjNYK7yWVu0iJ9zvZukAF3yumzV8QDLyzGJqkXYXMgY3Z0X_juUYBnrjLTz3yFB_Vw2AeXOWkDNTkOn1TCGKoYr3pPNpUaQ80wvsaBX9YjskPVSZJITMoDqRpbScLgdoPl5ItAIRWWB3SY/s400/approval.png" /></a></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-54582620002687202262013-08-01T12:06:00.001-07:002013-08-01T13:00:26.969-07:00July Bots Are InThe July web crawler indexing bots stats are in. Here are the top bots for a small site I run.<br />
<br />
<h2>Top 20 Obvious Bots</h2><br />
These bots are nice enough to include "bot", "spider", or "crawl" in their user agent string, or access the robots.txt file. Here are the top 20, representing 89% of obvious bot hits:<br />
<br />
<ol><li>18% - Mozilla/5.0 (compatible; Ezooms/1.0; ezooms.bot@gmail.com)</li>
<li>13% - Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)</li>
<li>12% - Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)</li>
<li>7% - Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)</li>
<li>5% - Mozilla/5.0 (compatible; YandexImages/3.0; +http://yandex.com/bots)</li>
<li>5% - Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)</li>
<li>5% - Mozilla/5.0 (compatible; WBSearchBot/1.1; +http://www.warebay.com/bot.html)</li>
<li>4% - Twitterbot/1.0</li>
<li>3% - Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)</li>
<li>3% - Mozilla/5.0 (compatible; AhrefsBot/4.0; +http://ahrefs.com/robot/)</li>
<li>2% - ShowyouBot (http://showyou.com/crawler)</li>
<li>2% - Mozilla/5.0 (compatible; TweetmemeBot/3.0; +http://tweetmeme.com/)</li>
<li>2% - Aboundex/0.3 (http://www.aboundex.com/crawler/)</li>
<li>2% - Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)</li>
<li>2% - Mozilla/5.0 (compatible; SISTRIX Crawler; http://crawler.sistrix.net/)</li>
<li>2% - msnbot/2.0b (+http://search.msn.com/msnbot.htm)</li>
<li>1% - Mozilla/5.0 (compatible; PaperLiBot/2.1; http://support.paper.li/entries/20023257-what-is-paper-li)</li>
<li>1% - Mozilla/5.0 (compatible; SearchmetricsBot; http://www.searchmetrics.com/en/searchmetrics-bot/)</li>
<li>1% - Mozilla/5.0 (compatible; Dow Jones Searchbot)</li>
<li>1% - Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)</li>
</ol><br />
<h2>Top 20 Developer Packages or Proprietary Bots</h2><br />
These bots are built on developer packages, but don't specifically identify themselves as a bot. The top 20 represent 92% of hits from these bots.<br />
<br />
<ol><li>19% - checks.panopta.com</li>
<li>16% - NING/1.0</li>
<li>13% - UnwindFetchor/1.0 (+http://www.gnip.com/)</li>
<li>10% - FeedBurner/1.0 (http://www.FeedBurner.com)</li>
<li>7% - JS-Kit URL Resolver, http://js-kit.com/</li>
<li>5% - UniversalFeedParser/5.0.1 +http://feedparser.org/</li>
<li>4% - PycURL/7.19.5</li>
<li>3% - Java/1.6.0_26</li>
<li>3% - TwitterFeed 3</li>
<li>2% - HTMLParser/2.0</li>
<li>2% - Ruby</li>
<li>2% - Mozilla/5.0 (Digg/1.0; support@digg.com)</li>
<li>1% - Java/1.7.0_21</li>
<li>1% - Crowsnest/0.5 (+http://www.crowsnest.tv/)</li>
<li>1% - curl/7.24.0</li>
<li>1% - Opera/7.11 (Windows NT 5.1; U) [en]</li>
<li>1% - MetaURI API/2.0 +metauri.com</li>
<li>1% - Jakarta Commons-HttpClient/3.1</li>
<li>1% - InAGist URL Resolver (http://inagist.com)</li>
<li>1% - Mozilla/5.0</li>
</ol><br />
Plus these other notables:<br />
<br />
<ol><li>Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; subscribers; feed-id=)</li>
<li>Mozilla/5.0 (compatible; Embedly/0.2; +http://support.embed.ly/)</li>
</ol><br />
<h2>Top 20 Sneaky Bots</h2><br />
These bots either don't identify themselves, mask their identity using a common real user agent, or don't include a user agent. I identify these by hits from same or similar IP addresses, complete lack of any referring URLs, or too many hits from the same IP address.<br />
<br />
<ol><li>From IP 168.62.192.113 (Microsoft) with user agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.163 Safari/535.19".</li>
<li>More coming soon</li>
</ol><br />
<br />
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-21855078235470273692013-06-15T15:42:00.004-07:002013-07-21T08:43:35.729-07:00View Click Stats on Bitly or Goo.gl Short URLsYou may already know that you can view click stats on Bitly short URLs by adding + to the end of the URL, like this:<br /><br />
<a href="http://bitly.com/LH9pqK+">http://bitly.com/LH9pqK+</a><br /><br />
But did you know adding + also works for any other service that shortens their URLs through Bitly, like Amazon?<br /><br />
<a href="http://amzn.to/wZsYV5+">http://amzn.to/wZsYV5+</a><br /><br />
You can also view data on Google short URL clicks by inserting the shortened ID of a goo.gl URL into a longer Google URL like this (I find that I have to click this link twice to see the metrics):<br /><br />
<a href="http://goo.gl/#analytics/goo.gl/9bHF1/week">http://goo.gl/#analytics/goo.gl/<b>9bHF1</b>/week</a><br /><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYK82kYvp7lBXGjs8ykseeJ5Rk79OUR5mVVTJigjL1XYBnfh_1mAlpNU5aBgCC34NBaz0cCUVn26i5k7ovswpTnm1Q83_lTVlwipTfscfMs08hxnMSVi45L1eeFLTd2LhN98os0ABl616I/s1600/Untitled.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYK82kYvp7lBXGjs8ykseeJ5Rk79OUR5mVVTJigjL1XYBnfh_1mAlpNU5aBgCC34NBaz0cCUVn26i5k7ovswpTnm1Q83_lTVlwipTfscfMs08hxnMSVi45L1eeFLTd2LhN98os0ABl616I/s320/Untitled.png" /></a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-86767352372770674932013-01-26T21:50:00.000-08:002013-02-03T12:53:24.821-08:00How to Get More Twitter Followers LegitimatelyThe best way to get more Twitter followers is to follow more Twitter accounts. People who may not be aware of your account or who wouldn't find it any other way will be notified that you have followed them. They then become aware of your account any may choose to follow you - or block you if they suspect you are a spammer. If too many people block your account too fast, Twitter may suspend your account. The trick is to find accounts that will follow you back and not block you.<br /><br />
I tested two methods to identify Twitter accounts who are more likely to follow your account, and less likely to block you when you follow them. I call the first method Collaborative Following: accounts that follow several accounts similar to yours. This method resulted in a 49% follow back rate in a test of 495 follows. I call the second method Mutual Following: accounts that follow and are followed back by an account similar to yours. This method resulted in a 31% follow back rate in a test of 491 follows.<br /><br />
<b>Method 1: Collaborative Following</b><br /><br />
<ol><li>
Use Twitter's APIs to download list of your followers and people you follow. You can do this in Excel with data connections, or with web server scripts and a database.<br /><br />
<a href="https://dev.twitter.com/docs/api/1/get/followers/ids">Download Twitter IDs of your followers</a> (up to 5,000 IDs at a time):<br />
https://api.twitter.com/1/followers/ids.xml?screen_name=YourScreenName<br /><br />
<a href="https://dev.twitter.com/docs/api/1/get/friends/ids">Download Twitter IDs of people you follow</a> (aka friends, up to 5,000 IDs at a time):<br />
https://api.twitter.com/1/friends/ids.xml?screen_name=YourScreenName
</li><li>
Import the lists of your followers and friends into Excel or a database. Augment the IDs you get from those APIs with full information about the accounts. You can do this by pasting REST URLs in your browser, saving the results, and opening the files in Excel; of with web server scripts and a database.<br /><br />
<a href="https://dev.twitter.com/docs/api/1/get/users/lookup">Download details about accounts</a> (up to 100 at a time):<br />
https://api.twitter.com/1/users/lookup.xml?include_entities=false&user_id=1234,2345,3456
</li><li>
Identify 10 accounts you trust with between 4,000-10,000 followers each. If you don't know which accounts to choose, you can go with mutual follows (accounts you follow that follow you back), or with accounts from your competition or for similar interest groups. For example, if your account is about cats, you might use other accounts about cat lovers. These will be your targeted accounts.
</li><li>
Identify a few accounts with 4,000-10,000 followers each whose followers would not be interested in following your account. For example, if you account is about cats, you might choose accounts about dog lovers. These will be your anti-targeted accounts and will help you exclude users who are not interested in your subject area, or spammers who follow everyone.
</li><li>
Identify accounts that are willing to follow other accounts. Use the APIs described above to download IDs of accounts that follow your targeted and anti-targeted accounts. These are your prospects.
</li><li>
Generate counts of how frequently each prospect ID appears in the lists of those who follow your targeted accounts. You can do this in Excel with a pivot table, or in a database with SQL. If you identified 10 targeted accounts, this will be a number from 1-10.
</li><li>
Exclude anti-targeted account IDs from your targeted account IDs.
</li><li>
Exclude any IDs who follow fewer than 4 of your targeted accounts. These accounts have not expressed enough interest in your subject area.
</li><li>
Use the lookup API described above to augment the remaining IDs with full account details.
</li><li>
Remove IDs for any account that hasn't tweeted in the past 7-14 days. These accounts are not active enough to read your updates or follow you back.
</li><li>
Remove IDs for any account whose friends count is less than 90% of their followers count. These accounts don't show enough willingness to follow others.
</li><li>
Twitter only lets people follow up to the greater of 2,000 accounts or 10% more accounts than their own followers count. Remove IDs for any account who will be allowed to follow fewer than 10 more people. These accounts are going to be stingy with choices of whom to follow.
</li><li>
Remove IDs for any account that follows more than 10,000 accounts. These accounts get so many Tweets, yours will be lost in the noise. These accounts are more likely to be spam or brand accounts who may not really read Tweets anyway.
</li><li>
Identify a few negative words that identify accounts who would not be interested in your subject area. For example, if your account is about cats, you may want to avoid people who mention "dog" in their profile. Remove IDs of accounts who use these negative words in their descriptions.
</li><li>
These exclusions generally remove 42-48% of prospects. Of the accounts that remain, follow about 100 per day. This moderate rate of following will help keep the number of any account blocks per day at a low level.
</li></ol>
<b>Method 2: Mutual Following</b>
<ol><li>
Identify an account similar to yours with 4,000-10,000 followers that also follows 4,000-10,000 accounts. Accounts with comparable counts of followers and friends may indicate that the account owner has done some pre-filtering of follower quality for you.
</li><li>
Use the followers and friends APIs described above to download IDs of the targeted account's followers and friends.
</li><li>
Identify IDs that appear in both the followers and friends lists. These are your prospects.
</li><li>
Use The lookup API described above to augment prospect IDs with full account details.
</li><li>
Follow the same exclusion steps described above to remove anti-targeted accounts, inactive accounts, low following rates, limited following, high following counts, and negative words.
</li><li>
Of the accounts that remain, follow about 100 per day.
</li></ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-39366498113436452292012-08-11T12:45:00.000-07:002013-02-03T12:52:36.316-08:00More SEO and Social META tags for Twitter and GoogleHere are some more HTML META tags I just discovered:<br /><br />
<b>Twitter Cards</b><br /><br />
<a href="https://dev.twitter.com/docs/cards">Twitter Cards</a> (announced in June 2012) are extended tweets that can show more than just 140 characters. Here are META tags to add to your page HEAD section to help Twitter pick the right parts your site's content.<br /><br />
The twitter:card tag can be summary (for a news article, blog post, or text-based page), photo (for an image or picture), or player (for video).<br /><br />
<tt><meta name="twitter:card" content="summary" /></tt><br /><br />
The twitter:site and twitter:site:id tags let you identify your own Twitter username, and official Twitter user ID. Most people won't know their Twitter user ID. If you don't, you can omit that META tag.<br /><br />
<tt><meta name="twitter:site" content="@YourTwiterScreenName"></tt><br />
<tt><meta name="twitter:site:id" content="1234567890" /></tt><br /><br />
The twitter:url tag is for a link to your page.<br /><br />
<tt><meta name="twitter:url" content="http://www.YourSite.com/path/pagename.html" /></tt><br /><br />
Other tags are pretty self-explanatory:<br /><br />
<tt><meta name="twitter:title" content="Your Page Title" /></tt><br /><br />
<tt><meta name="twitter:description" content="Your page description." /></tt><br /><br />
<tt><meta name="twitter:image" content="http://www.YourSite.com/image.jpg" /></tt><br /><br />
<b>Google+ OpenGraph</b><br /><br />
OpenGraph (og) <a href="https://developers.google.com/+/plugins/snippet/">META tags</a> help Google Plus pull the right information from your page, in case anyone ever shares it on Google+. These are pretty self-explanatory.<br /><br />
<tt><meta property="og:title" content="Your Page Title" /></tt><br /><br />
<tt><meta property="og:image" content="http://www.YourSite.com/image.jpg" /></tt><br /><br />
<tt><meta property="og:description" content="Your page description." /></tt><br /><br />
<tt><meta property="og:site_name" content="Name of Your Site"/></tt><br /><br />
<b>Google Search Thumbnails</b><br /><br />
Google also uses a <a href="http://support.google.com/customsearch/bin/answer.py?hl=en&answer=1626955">thumbnail META</a> tag to present small images next to its search results from your site.<br /><br />
<tt><meta name="thumbnail" content="http://www.YourSite.com/image.jpg" /></tt>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-41683600244202697082012-02-26T21:44:00.002-08:002012-02-26T21:48:56.526-08:00How to add a Pinterest button to your web sitePinterest is <a href="https://twitter.com/#!/julespieri/status/173089148595482624">all the rage</a> right now, and of course they have their own <a href="http://pinterest.com/about/goodies/">sharing button</a>!<br />
<br />
If you don't want to use their preferred code (or if you don't want to put their JavaScript on your site), you can also create a simple link using this format:<br />
<br />
<tt>http://pinterest.com/pin/create/button/?url=PageURL&media=ImageURL&description=Optional+Description</tt><br />
<br />
<ul><li><b>url</b> is your HMTL page's link (not the image, but the page it's on)</li>
<li><b>media</b> is the URL of the image you want people to share</li>
<li><b>description</b> is optional text you can include so people don't have to write their own</li>
</ul><br />
If you want to put that in a pop-up, just use this link to let people click a little Pinterest icon:<br />
<br />
<tt><a href="" onclick="window.open('http://pinterest.com/pin/create/button/?url=PageURL&media=ImageURL&description=Optional+Description', 'pinterest', 'toolbar=0, resizable=1, status=0, width=626, height=430');return(false);"><img src="http://passets-cdn.pinterest.com/images/about/small-p-button.png" width="16" height="16"></a></tt>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-6040778349811774938.post-91019382031567698412011-07-09T15:14:00.000-07:002011-07-09T15:14:38.467-07:00Music Sales Leveling Off?Here's a story from <a href="http://techcrunch.com/2011/07/06/say-what-thanks-to-digital-music-album-sales-up-for-the-first-time-since-2004/">TechCrunch</a> covering SoundScan news that music sales may have finally hit bottom. My favorite part is where they call out the labels that "acted like a petulant child in the face of the digital revolution".Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-30675339753659138712011-07-09T14:38:00.000-07:002011-07-17T11:15:17.066-07:00Google+1 Button DocumentationHere's where to get the <a href="http://www.google.com/webmasters/+1/button/">Google+1</a> social sharing button for your web site.<br />
<br />
Here's a function I use in my global site JavaScript file to also track events in Google Analytics when people turn the +1 button on or off. To use this, add googlePlusOneCallback as "JS Callback function" under the "Advanced options" when you configure your button. Update the last 3 values for the way you track events on your site. (The values I used below will track a Google Analytics Event with Category "share", Action "googleplus-on" or "googleplus-off", and the Label will be the URL of the page the button was on.)<br />
<br />
function googlePlusOneCallback(obj){<br />
_gaq.push(['_trackEvent','share','googleplus-'+obj.state,obj.url]);<br />
}<br />
<br />
As more companies encourage their customers or users to share more, people are beginning to <a href="http://www.informationweek.com/news/internet/google/231001919">notice and worry</a>.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-87807113241321388862011-05-14T10:04:00.000-07:002011-05-14T10:16:10.209-07:00Twitter Advanced Search OperatorsI just noticed Twitter documents its advanced search operators. The :) and :( searches are intriguing for brand research.<br />
<br />
<table><tr><th>Operator</th><th>Finds tweets...</th></tr>
<tr><td>twitter search</td><td>containing both "twitter" and "search". This is the default operator.</td></tr>
<tr><td>"happy hour"</td><td>containing the exact phrase "happy hour".</td></tr>
<tr><td>love OR hate</td><td>containing either "love" or "hate" (or both).</td></tr>
<tr><td>beer -root</td><td>containing "beer" but not "root".</td></tr>
<tr><td>#haiku</td><td>containing the hashtag "haiku".</td></tr>
<tr><td>from:alexiskold</td><td>sent from person "alexiskold".</td></tr>
<tr><td>to:techcrunch</td><td>sent to person "techcrunch".</td></tr>
<tr><td>@mashable</td><td>referencing person "mashable".</td></tr>
<tr><td>"happy hour" near:"san francisco"</td><td>containing the exact phrase "happy hour" and sent near "san francisco".</td></tr>
<tr><td>near:NYC within:15mi</td><td>sent within 15 miles of "NYC".</td></tr>
<tr><td>superhero since:2010-12-27</td><td>containing "superhero" and sent since date "2010-12-27" (year-month-day).</td></tr>
<tr><td>ftw until:2010-12-27</td><td>containing "ftw" and sent up to date "2010-12-27".</td></tr>
<tr><td>movie -scary :)</td><td>containing "movie", but not "scary", and with a positive attitude.</td></tr>
<tr><td>flight :(</td><td>containing "flight" and with a negative attitude.</td></tr>
<tr><td>traffic ?</td><td>containing "traffic" and asking a question.</td></tr>
<tr><td>hilarious filter:links</td><td>containing "hilarious" and linking to URLs.</td></tr>
<tr><td>news source:twitterfeed</td><td>containing "news" and entered via TwitterFeed</td></tr>
</table><br />
Here's their <a href="http://twitter.com/#!/search-advanced">Advanced Search form</a>. You might also be interested in handy <a href="http://digicompost.blogspot.com/2009/08/bokmarklets-for-search.html">search bookmarklets</a> from one of my previous posts.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-32678906909352300462010-10-24T16:34:00.000-07:002013-02-03T12:53:47.576-08:00Helpful Web Page HTML Meta and Link TagsWeb pages can include extra HTML tags that your site visitors don't necessarily see, but that help search engines like Google and Bing, other web sites link Facebook, and applications like the iPhone browser know more about your page. This blog entry describes the most common and some other useful tags. All these tags, except for JavaScript, belong in the "head" HTML section of your web pages. Note that some of these are "meta" tags with "name" and "content" attributes, and some are "link" tags with "rel" and "href" attributes.<br />
<br />
<b>Basic Meta Tags</b><br />
<br />
<b>Title</b> - The Title tag contains text that shows up at the top of the browser when someone visits your page. Search engines also use your title as the main link to your page when it shows up in search results. An example Title tag looks like this:<br />
<br />
<title>This is where your page title goes</title><br />
<br />
<b>Description</b> - A description tag can contain more text about your site. Visitors don't see this information when visiting your page, but search engines generally show it just below the page title in search results. This is a good place to include additional keywords and a call to action. An example Description tag looks like this:<br />
<br />
<meta name="description" content="Click on this site for more information on what you're searching for." /><br />
<br />
<b>Keywords</b> - Though most search engines ignore contents of the Keywords tag, including it may be helpful if your site has its own search engine. Use it to include additional words not necessarily on your page that visitors might search by. Here's an example Keywords tag:<br />
<br />
<meta name="keywords" content="web page editing authoring header meta tags HTML CSS JavaScript JS" /><br />
<br />
<b>Robots</b> - This tag lets you tell search engines whether or not to index or cache your pages. If you don't want search engines to store a copy of your page, use a tag like this:<br />
<br />
<meta name="robots" content="noarchive" /> <br />
<br />
<b>Canonical</b> - If your page can be reached at several different URLs, this tag lets you tell search engines which link you prefer them to use. See my <a href="http://digicompost.blogspot.com/2010/05/seo-search-engine-canonical-tag-made.html">other blog post</a> for more information about this tag. Here's an example:<br />
<br />
<link rel="canonical" href="http://www.yourdomain.com/yourpage.html" /> <br />
<br />
<b>Including Site CSS and JavaScript Libraries</b><br />
<br />
It's good practice for your site to use a common CSS stylesheet and JavaScript file that the browser can cache and reuse. Browsers will store these files so your visitor doesn't have to download them again with every page. Moving common formatting and scripts out of each page makes your page size smaller which means they'll load faster.<br />
<br />
<b>Styleshee</b>t - This tag tells the browser where to find the general formatting for your site. Here's an example Stylesheet tag:<br />
<br />
<link rel="stylesheet" type="text/css" href="/sitestylesheet.css" /> <br />
<br />
<b>JavaScript</b> - This tag tells the browser where to get your site's general script library containing functions that are reused on several pages. This tag belongs near the top of the "body" section of your web page. Here's an example JavaScript tag:<br />
<br />
<script type="text/javascript" src="/sitejavascript.js"></script> <br />
<br />
<b>Browser Icons, and Apple iPhone and iPad Icons</b><br />
<br />
These tags let you tell browsers and other applications which icon to use to represent your site when a visitor bookmarks your page.<br />
<br />
<b>Shortcut Ico</b>n - Web browsers will show a small icon, generally 16x16 pixels, in the address bar and bookmarks. To tell the browser where to find the icon, include the "shortcut icon" tag. Here's an example:<br />
<br />
<link rel="shortcut icon" href="/favicon.ico" /> <br />
<br />
<b>Apple Touch Icon</b> - Apple iPhones and iPads will show a 57x57 icon when a visitor bookmarks your site. Here's how to tell Apple where to find your icon:<br />
<br />
<link rel="apple-touch-icon" href="/logo57x57.png" /> <br />
<br />
<b>Viewport</b> - When the iPhone browser displays your page on its small screen, it can't always figure out just how wide or narrow to show it. Use the "viewport" tag to tell the iPhone Safari browser exactly how wide to display your page.<br />
<br />
<meta name="viewport" content="width=650" /><br />
<br />
<b>Facebook</b><br />
<br />
If you've ever shared a link on Facebook, you probably noticed that Facebook sometimes shows an irrelevant image from the page. To let Facebook know which image you prefer to use, include a "medium" and "image_src" tag.<br />
<br />
<b>Medium</b> - This tag helps Facebook know how to display a shared link to your site. You can specify news, blog, image, video, audio, and mult for the "content" attribute based on your page's content. Here's an example "medium" tag for textual content.<br />
<br />
<meta name="medium" content="news" /><br />
<br />
<b>Image_Src</b> - This tag tells Facebook which image to use when someone shares a link to your page. If you would like to let the Facebook user select from more than one image, you can include this tag any number of times with different "href" image URLs. Here's an example:<br />
<br />
<link rel="image_src" href="http://www.yourdomain.com/image1.png" /> <br />
<link rel="image_src" href="http://www.yourdomain.com/image2.png" /> <br />
<br />
<b>RSS Feeds</b><br />
<br />
<b>Alternate</b> - If your site has an RSS feed, most browsers will show an RSS icon near the address bar that visitors can click to subscribe to your RSS feed. To tell the browser where your RSS feed is, include a link to it like the one below. If your site has more than one RSS feed, you can include more than one "alternate" link.<br />
<br />
<link rel="alternate" type="application/rss+xml" title="Your Feed Name" href="http://www.yourdomain.com/feed1.rss" /><br />
<link rel="alternate" type="application/rss+xml" title="Your Feed Name" href="http://www.yourdomain.com/feed2.rss" /><br />
<br />
<b>Advanced Topic: Site Search</b><br />
<br />
Modern browsers like Firefox or Microsoft Internet Explorer version 7 and higher let users add custom searches to search your site even when they're not on your site. If your site has its own search feature, you can set up a small XML file that tells the browser where to find your search.<br />
<br />
First set up an XML file, generally named "opensearch.xml", like the example below and upload it to your server.<br />
<br />
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"><br />
<ShortName>Site or Search Name</ShortName><br />
<LongName>Your Site or Search Engine Name</LongName><br />
<Description>A longer description of your site or search engine.</Description><br />
<Image type="image/vnd.microsoft.icon" height="16" width="16">http://www.yoursite.com/favicon.ico</Image><br />
<Url type="application/opensearchdescription+xml" rel="self" template="http://www.yourdomain.com/opensearch.xml" /><br />
<Url type="text/html" rel="results" template="http://www.yourdomain.com/yoursearchscript?yourquerytag={searchTerms}" /><br />
<Query role="example" searchTerms="Example" /><br />
</OpenSearchDescription><br />
<br />
If your search engine supports real-time search-as-you-type suggestions, add a line like this to your XML file:<br />
<br />
<Url type="application/x-suggestions+json" template="http://www.yourdomain.com/yoursuggestionscript?yourquerytag={searchTerms}" /><br />
<br />
Then include a "search" tag like the one below in the header of all your pages with a link to the search XML file your uploaded:<br />
<br />
<link rel="search" type="application/opensearchdescription+xml" href="http://www.yourdomain.com/opensearch.xml" title="Your Site or Search Engine Name" />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-14915666368234388162010-05-06T16:21:00.000-07:002010-06-13T10:49:05.179-07:00Make Search Engines Use Your Keywords with the Canonical TagIt used to be that search engines would index keywords listed in web page meta keywords header tags like this:<br />
<meta name="keywords" content="Schools Out Forever Maximum Ride" /><br />
<br />
However, so may sites overloaded that tag with spam that search engines started ignoring it entirely. The challenge for site owners became where else to put keywords that search engines would still see. People noticed that Google not only looked for keywords in text, but also in domain names and URLs. So the trick became how to get keywords into your URLs.<br />
<br />
Usually an URL includes a one-to-one mapping to a file name on the web server (or database-driven sites may use IDs in query strings). So webmasters could include keywords in file and directory names, but that gets tedious because generally anything between / characters is also a physical sub-directory, and it just doesn't work for database-driven sites. Using physical file and directory names would mean your web servers would have files in tons of individual sub-directories that would become impossible to maintain.<br />
<br />
The good thing is there's no law that says an URL has to exactly equal a physical file name. So one solution is to set up your web server to rewrite URLs to come up with the real file name.<br />
<br />
For example, all these URLs render the same content:<br />
<a href="http://www.amazon.com/dp/0446618896">http://www.amazon.com/dp/0446618896</a><br />
<a href="http://www.amazon.com/Schools-Out-Forever-Maximum-Ride/dp/0446618896">http://www.amazon.com/Schools-Out-Forever-Maximum-Ride/dp/0446618896</a><br />
<a href="http://www.amazon.com/asdf-asdf-asdf-asdf-asdf/dp/0446618896">http://www.amazon.com/asdf-asdf-asdf-asdf-asdf/dp/0446618896</a><br />
<br />
But how do you tell Google what your preferred URL is, since it could find any of those URLs? That's where the canonical tag comes in.<br />
<br />
If you look at the source code for the pages at any of those URLs and find the canonical tag, you'll see that they all use the same value, no matter what the actual URL was:<br />
<link rel="canonical" href="http://www.amazon.com/Schools-Out-Forever-Maximum-Ride/dp/0446618896" /><br />
<br />
So Google should generally link to http://www.amazon.com/Schools-Out-Forever-Maximum-Ride/dp/0446618896 from its index, no matter what URL its spider really found the page at.<br />
<br />
The trick Amazon does to make all those pages render the same thing probably utilizes web server URL-rewriting to ignore anything between "http://www.amazon.com/" and "/dp/0446618896" and simply serve whatever content is at location 0446618896 (or in their case, whatever's in the database with that ID). URL rewriting is an arcane topic, but should be familiar to system administrators who manages web servers.<br />
<br />
Since Amazon can then include any keywords in their URLs, the other thing they probably do is ensure consistency in how they link each product. So no matter where they have their links (sitemaps, site search, product listing pages, etc.), they always use a single preferred canonical URL.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-38773954960770720272009-08-25T20:44:00.000-07:002009-08-25T20:50:09.073-07:00In Praise of the Ugly - But UsefulWired has an article about <a href="http://www.wired.com/entertainment/theweb/magazine/17-09/ff_craigslist?currentPage=1">Why Craigslist is Such a Mess</a>. A wonderful mess. Craigslist delivers customer value without the burden of overmessaging. Serendipity plays a large part of the experience there too. You know you've missed a great deal because you didn't reload the page every hour, but you still look for deals anyway.<br /><br />The craigslist article reminds me immediately of the 37signals blog post <a href="http://37signals.com/svn/posts/1407-why-the-drudge-report-is-one-of-the-best-designed-sites-on-the-web">Why the Drudge Report is one of the best designed sites on the web</a>. It's ugly, but it's consistent and it's fearless.<br /><br />Craigslist drives the classified advertising market (and is driving local newspapers into the ground). Drudge drives the news cycle. All with minimal or no design budgets. Both with just the facts, ma'am. No baloney, no hype, just value.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-40795071001695316002009-08-25T10:14:00.000-07:002009-08-25T10:17:02.045-07:00Court Gets it RightHere's some good news: a federal appeals court ruled that <a href="http://www.mediapost.com/publications/?fa=Articles.showArticle&art_aid=112152">preference-based playlists</a> are not interactive!<br /><br />Just as anyone can tune the radio dial until he finds a station he likes, he can tell online services what music he likes and hear that kind of music - all under the US compulsory license, which means the online service doesn't have to negotiate special on-demand rights or prices.<br /><br />This is a victory not only for Yahoo and Launch, but Pandora and every other preferences-based streaming service out there!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-72375869070006865102009-08-22T13:16:00.000-07:002011-05-30T10:31:20.957-07:00Bookmarklets for SearchHere are some handy bookmarklets I use that let me <span style="background-color:gray">select text</span> on a web page, then click the bookmarklet to look it up directly on Wikipedia, Google and other places. You may find them useful.<br />
<br />
In most browsers, you can just drag these links to your Bookmarks toolbar or favorites. In Internet Explorer, you'll need to right click links and select "Add to Favorites", then add them to your "Links" or other folder of your choice. The 2nd link is the same as the first, but with a shorter name to save space on your bookmarks bar.<br />
<ul><li><a href="javascript:u='http://www.google.com/search?hl=en&q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on Google</a> | <a href="javascript:u='http://www.google.com/search?hl=en&q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Google</a></li>
<li><a href="javascript:u='http://en.wikipedia.org/wiki/';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on Wikipedia</a> | <a href="javascript:u='http://en.wikipedia.org/wiki/';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Wiki</a></li>
<li><a href="javascript:u='http://news.google.com/news?hl=en&tab=wn&ned=&q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on Google News</a> | <a href="javascript:u='http://news.google.com/news?hl=en&tab=wn&ned=&q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">GNews</a></li>
<li><a href="javascript:u='http://www.amazon.com/s/?url=search-alias%3Daps&field-keywords=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on Amazon.com</a>| <a href="javascript:u='http://www.amazon.com/s/?url=search-alias%3Daps&field-keywords=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Amazon</a></li>
<li><a href="javascript:u='http://images.google.com/images?hl=en&q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on Google Images</a> | <a href="javascript:u='http://images.google.com/images?hl=en&q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">GImages</a></li>
<li><a href="javascript:u='http://books.google.com/books?q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on Google Books</a> | <a href="javascript:u='http://books.google.com/books?q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">GBooks</a></li>
<li><a href="javascript:u='http://search.yahoo.com/search?y=Search&ei=UTF-8&p=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on Yahoo</a> | <a href="javascript:u='http://search.yahoo.com/search?y=Search&ei=UTF-8&p=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Yahoo</a></li>
<li><a href="javascript:u='http://news.search.yahoo.com/news/search?c=yahoo_news&p=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on Yahoo News</a> | <a href="javascript:u='http://news.search.yahoo.com/news/search?c=yahoo_news&p=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">YNews</a></li>
<li><a href="javascript:u='http://www.youtube.com/results?search_query=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on YouTube</a> | <a href="javascript:u='http://www.youtube.com/results?search_query=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">YouTube</a></li>
<li><a href="javascript:u='http://www.bing.com/search?q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on Bing</a> | <a href="javascript:u='http://www.bing.com/search?q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Bing</a></li>
<li><a href="javascript:u='http://www.bing.com/news/search?q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on Bing News</a> | <a href="javascript:u='http://www.bing.com/news/search?q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">BNews</a></li>
<li><a href="javascript:u='http://twitter.com/#search?q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Find on Twitter</a> | <a href="javascript:u='http://twitter.com/#search?q=';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else if(w.getSelection){s=w.getSelection();}else if(d.getSelection){s=d.getSelection();}location.href=u+encodeURIComponent(s);}catch(e){location.href=u;}">Twitter</a></li>
<li><a href="javascript:u='http://www.google.com/search?hl=en&source=hp&q=site:lyricstime.com%20';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else%20if(w.getSelection){s=w.getSelection();}else%20if(d.getSelection){s=d.getSelection();}void(window.open(u+encodeURIComponent(s)));}catch(e){void(window.open(u));}">Find on LyricsTime</a> | <a href="javascript:u='http://www.google.com/search?hl=en&source=hp&q=site:lyricstime.com%20';s='';d=document;w=window;try{if(d.selection){s=d.selection.createRange().text;}else%20if(w.getSelection){s=w.getSelection();}else%20if(d.getSelection){s=d.getSelection();}void(window.open(u+encodeURIComponent(s)));}catch(e){void(window.open(u));}">Lyrics</a>- Select an artist and/or song name, or lyrics on a web page, then use this bookbarklet. It opens in a new window so you can continue to listen to music while you read the lyrics.</li>
</ul>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-79629560492993288922009-04-08T21:57:00.001-07:002009-04-08T22:25:04.851-07:00The sound a dinosaur makes when it diesIronically the online arm of a print publication, <a href="http://www.businessweek.com/technology/content/apr2009/tc2009047_310532.htm">BusinessWeek</a>, reports that the Associated Press wants to launch its own online news portal to compete with Google News. As Time-Warner found out with AOL (or vice versa), readers don't want a single source for their news or entertainment. The AP even claims Google is essentially destroying the newspaper business because, of all things, Google makes it easy for readers to find and click through to stories they want to read. Yet the AP licenses its content to Google!<br /><br />Newspapers should be knocking down Google's door trying to get their stories posted higher on Google News, yet here they are deploying "coding to lock out Google robots" (actually nothing more technological than putting a small, commonly-used text file on your site that tells Google to ignore your pages).<br /><br />The only strategy that could possibly save the AP and its member papers from extinction is actually to stop licensing its content to online-only outlets like Google, Yahoo!, MSN, and AOL. The AP should also ban its offline subscribers from posting any AP content on their online outlets, or at least require it to be accessible only to signed-in subscribers who pay a certain minimum monthly charge. The only way the AP can save print is to boycott online. Subscriptions are a hard sell, and won't be popular. The market size is several orders of magnitude less than free.<br /><br />If the AP is not ready to make the leap to a full-fledged boycott or require paid access, and my guess is it doesn't have the guts to, it needs to stop complaining about honest sites like Google News sending readers to its stories on its member's sites.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-65694963922483001552009-02-26T22:25:00.000-08:002009-03-22T00:02:18.445-07:00Why newspapers are deadThe <a href="http://news.bbc.co.uk/2/hi/americas/7913400.stm">demise</a> of <a href="http://caps.fool.com/blogs/viewpost.aspx?bpid=152071&t=01002863924178546020">printed</a> <a href="http://www.salem-news.com/articles/february262009/old_media_db_2-26-09.php">newspapers</a> is <a href="http://money.cnn.com/news/newsfeeds/articles/djf500/200902231609DOWJONESDJONLINE000520_FORTUNE5.htm">getting</a> a lot of <a href="http://seattletimes.nwsource.com/html/opinion/2008790868_opina27ryan.html">ink</a> <a href="http://www.clevelandleader.com/node/9147">lately</a>. People's primary <a href="http://www.buyanewspaperday.com/">psychological reaction</a> to this news is nothing more than <a href="http://rolfhansson.files.wordpress.com/2008/11/grammophone1.png">nostalgia</a>. Journalism will survive the death of the medium.<br /><br />The main news wires are ironically most responsible for the wholesale migration of newspaper readership to online. You can get an <a href="http://www.ap.org/">AP</a> or <a href="http://www.reuters.com/">Reuters</a> story on <a href="http://news.yahoo.com/">Yahoo!</a> as soon as it hits the wire. Why wait until tomorrow when the story is old news?<br /><br />Newspapers' top remaining niche was local. However, their local revenue has been destroyed by <a href="http://www.craigslist.org/">Craigslist</a> and will be further eroded by effective <a href="http://musicashes.blogspot.com/2009/01/bright-future-of-location-based-mobile.html">local mobile advertising</a>.<br /><br />Another niche will be quality reporting and investigation for time-starved intellectuals that summarizes important stories and filters the online thrash and bias. Think <i><a href="http://www.economist.com/printedition/">The Economist</a></i> (though it's free online now too). Another niche will be underreported foreign news and analysis for expats and sophisticated readers. Think a more engaging <i><a href="http://www.foreignaffairs.org/">Foreign Affairs</a></i>. But these will be weeklies, not dailies.<br /><br />My personal rebellion against newsprint has 3 primary sources: the unmanageable broadsheet (they should have gone tabloid style long ago - it's even <a href="http://www.dicksonpress.com/Rates.html">cheaper to print</a>), inky fingers and <a href="http://www.justanswer.com/questions/e2jy-newspaper-ink-stains-jack">stains</a> (yes, even with modern inks), and the AP's insulting repetitive <a href="http://en.wikipedia.org/wiki/Inverted_pyramid">inverted pyramid</a> style (and single sentence paragraphs) designed to make it easier for an editor to cut a story short to fit column inches than for readability. A secondary complaint is the "continued on page 5" phenomenon. That's probably OK for the front page (get more headlines in front of the reader), but once inside, stop making me jump all over the place to finish a story.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-21197711016045105192009-02-19T18:26:00.001-08:002009-02-19T19:40:25.727-08:00Wrapping your head around Web 2.0Just as some declare that <a href="http://www.techcrunch.com/2009/02/14/the-death-of-web-20/">Web 2.0 is now passe</a>, others are still trying to figure out what it is, and how to employ it.<br /><br />For marketers, Web 2.0 means you get to have a conversation with your customers and learn more about their passions. For advertisers, it means you can no longer pitch products with one directional messages. For brand managers, it means your customers own your brand and are talking about it in ways that you might or might not like. For direct marketers, low response rates means Web 2.0 (at least the social networking and widgets part of it) hasn't lived up to the hype.<br /><br />For software engineers, Web 2.0 meant you could easily get your hands on lots of great data and make it do what you wanted, or make other things out of it - but this posting is for the marketers out there.<br /><br />I've found one of the road blocks to expanding into a Web 2.0 strategy is educating management on what exactly Web 2.0 is, and how it can help the company. Engaging directly with communities of customers is a new and scary concept for old school executives and PR agencies.<br /><br />Here are a few resources that might help you educate others on what Web 2.0 even is, and how it can be leveraged (I'll add to this list from time to time as I find more sources):<br /><br /><ul><br /><li>The book <i><a href="http://www.librarything.com/work/6634141/book/41952882">Wikinomics</a></i> by Don Tapscott is an intense introductory course on how collaboration is changing everything.</li><br /><li>A McKinsey study <a href="http://www.mckinseyquarterly.com/Business_Technology/Application_Management/Six_ways_to_make_Web_20_work_2294"><i>Six ways to make Web 2.0 work</i></a> by Michael Chui, Andy Miller, and Roger P. Roberts explains Web 1.0, Web 2.0, and covers some basic strategies to encourage participation in Web 2.0 solutions.</li><br /><li>The article <a href="http://online.wsj.com/article/SB122884677205091919.html"><i>The Secrets of Marketing in a Web 2.0 World</i></a> by Salvatore Parise , Patricia J. Guinan and Bruce D. Weinberg has rules of thumb for marketing departments, including the very scary words "Don't control, let it go."</li><br /></ul>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-40720865673035444332009-02-18T21:16:00.000-08:002009-02-23T15:39:27.751-08:00SoundExchange reaches web royalty deal with NAB, but not webcastersSoundExchange collects royalties under the US Government's compulsory licensing of music for radio stations. How much to charge for a web stream, and whether royalties for performance rights are included along with SoundExchange's traditional publisher royalties has been a point of contention for about a decade.<br /><br />From what I can find in the press (which leave some questions unanswered), the National Association of Broadcasters (NAB, which represents terrestrial radio stations) has agreed to $1.50 per song per thousand <i>online</i> listeners, ramping up to $2.50 per thousand by 2015. (No news what stations pay for their airways broadcast listeners.) That deal is for radio stations that simulcast their programming over the Internet. It's also for any online-only programming those broadcasters might also provide. That $1.50 rate will more than eat up any online advertising the stations can sell, which typically sells for less than $1.50 CPM (thousand impressions) these days - and that's assuming they can sell a display ad for every song, not a single ad for every 3-5 (or more) songs typical of terrestrial audio ads inserted into broadcasts.<br /><br />So it looks like the deal with pure online broadcasters <a href="http://www.washingtonpost.com/wp-dyn/content/article/2009/02/18/AR2009021800161_pf.html">got hung up on the question of programming interactivity</a> and what appears to be an irrational insistence by SoundExchange on a percentage of a company's revenue, rather than a simple per-song fee. <a href="http://news.cnet.com/8301-1023_3-10169355-93.html?tag=newsLeadStoriesArea.1">Some also blame RealNetworks</a> for screwing up a deal reached in November 2008 by at least twice seeming to agree to terms, then pulling out at the last minute. (Sounds like Rob is being Rob again.)<br /><br />US law grants an <a href="http://www.law.cornell.edu/uscode/17/115.html">automatic license</a> to play music as long as the broadcaster follows certain rules. The main rule is the music can't be played "on demand": a listener can't push a button and hear a specific song. Online services like Pandora skirt the on demand rule by allowing listeners to program their own stations by listing some artists they like. The listener is not guaranteed what song will be played, but it's likely something she or he wanted to hear. SoundExchange deems this outside the compulsory license law and wants extra money for that interactivity. They seem to forget that I can change my car radio from a country station to a rock station to a Latino station to an urban rap station whenever I want. Though I'm not selecting the music or affecting what an individual station plays, I'm still interacting with what I'm listening to.<br /><br />True on-demand streaming services like Rhapsody, Napster, Zune, and others must negotiate separately with recoding owners (labels) to play music as US compulsory license law was not written for on-demand performances.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-31600933498095116582009-02-13T18:11:00.000-08:002009-02-19T21:58:39.325-08:00Microsoft reorgs ZuneThis can't be good. Microsoft is <a href="http://news.cnet.com/8301-13860_3-10163257-56.html">splitting</a> the Zune hardware team from the software and programming team.<br /><br />The article also mentions Zune's device has merely cannibalized other non-iPod devices that used Microsoft's DRM under the "Plays for Sure" logo program. It's apparently made no dent in Apple's MP3 player market share.<br /><br />I subscribe to Zune, but find their marketplace useless and their software client confusing. There's never anything I want to listen to on the main Zune page, and so far I haven't figured out any way to personalize it, or to automatically "recharge" my Zune with music I will like. Zune also infuriates me by showing me music in search results that they <i>don't</i> have. What's the point of that? To tease me, or to piss me off?Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-72243485159471644542009-02-13T17:42:00.000-08:002009-02-17T14:44:10.828-08:00Google exits terrestrial radio advertising bizHere is a lost opportunity. Google is <a href="http://www.bloomberg.com/apps/news?pid=newsarchive&sid=an_av5h6Kkmo">getting out</a> of the terrestrial radio audio advertising business. They say they will continue serving <a href="http://google-tmads.blogspot.com/2009/02/google-exits-radio-but-will-explore.html">online audio ads</a>.<br /><br />The linked article mentions that total radio advertising has dropped. That seems to be a non-sequitur for Google, since they were starting from a 0% share of that market. Another article notes Google was mostly getting the low value <a href="http://www.mediapost.com/publications/?fa=Articles.showArticle&art_aid=100261">remnant</a> ad market.<br /><br />Google was smart to try to expand their advertising empire offline. The number of people in real life dwarfs the number on the Internet.<br /><br />I really thought that their democratization of advertising would lower the barrier to entry for radio advertising. However, audio ads are definitely more difficult to create than simply typing a few lines of text for an AdWords campaign.<br /><br />Hopefully their online audio advertising can eventually help independent programmers make the Internet radio model work. I won't be surprised to see Google back in offline advertising in the future.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-37001747891385631462009-02-11T12:42:00.001-08:002009-02-19T21:59:11.221-08:00Total Music Shuts Down, Taking Ruckus With ItI'm building up quite a backlog of things to write about! Here's news that Univesal and SonyBMG's Total Music and its college music download service Ruckus have given up.<br /><br />http://www.pcworld.com/article/159258/the_day_the_music_service_ruckus_died.html<br /><br />http://arstechnica.com/media/news/2009/02/universal-sony-total-music-is-a-total-dud.ars<br /><br />Matt Rosoff notes that not even free can compete with free:<br />http://news.cnet.com/8301-13526_3-10161622-27.html<br /><br />Here's Total Music's VP of Product Management practically begging for a standardized set of platform APIs for accessing music legally:<br />http://globallistic.blogspot.com/2009/02/hey-who-tripped-over-that-cord.htmlUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-33149648873559145822009-02-09T10:58:00.000-08:002009-02-17T14:59:01.776-08:00Merchandizing and Recurring Revenue OnlinePlace-holder for a note I want to write about online merchandising and subscriptions - even for offline products.<br /><br />http://www.usatoday.com/money/industries/food/2009-02-08-value-menu-starbucks_N.htm?csp=34<br /><br />http://www.mediapost.com/publications/?fa=Articles.showArticle&art_aid=99951Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-90766687373448614862009-01-21T09:49:00.000-08:002010-03-18T14:23:46.182-07:00Convergence of mobile phones and MP3 playersHere's an interesting article from Wired on mobile phone and MP3 player convergence.<br />
<br />
<a href="http://blog.wired.com/business/2009/01/six-ways-cellph.html">5 Ways the Cellphone Will Change How You Listen to Music</a><br />
<br />
Why carry two devices when you can carry just one? Just as heterogeneous component hifi stereos in the '70s gave way to same-OEM systems (as OEMs integrated the benefits of competitive manufacturer's expertise into their own systems), ubiquitous electronic devices will converge into one (camera, MP3 player, telephone, datebook, messenger, etc.)<br />
<br />
We are moving away from an era where one company's MP3 player was obviously better than a phone company's MP3 player, and a phone company's phone was much better than an MP3 player company's phone. With the introduction of the iPhone and market penetration of other smart phones, the quality of all on-board features is improving to the point where it's redundant to carry separate devices for separate purposes.<br />
<br />
Non-DRM music can also be mixed and matched from any music service to any phone, though even that functional separation will be a niche market. Integrated verticals like iTunes Music will continue to dominate the iPhone platform, and would dominate other mobile platforms if Apple were willing to support them. The difficulty here will be building a non-Apple brand with enough penetration that you're likely to have a friend who can show you how her service works. Without friend-to-friend training, any other service will fail.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6040778349811774938.post-61460461873917441662009-01-20T11:01:00.000-08:002009-02-19T21:59:48.384-08:00File under: I can't believe we're still talking about thisHere's an article about some discussions at this year's MIDEM.<br /><br /><a href="http://www.reuters.com/article/internetNews/idUSTRE50J03U20090120">Music industry urged to embrace the Internet</a><br /><br />Some quotes:<br /><br /><i>"In 2008, some 95 percent of the music downloaded from the Internet, or more than 40 billion files, was illegal, leaving the overall music market down around 7 percent on 2007... Consumers will only move to legal sites from illegal ones if the proposition is better and easier to use, critics say."</i><br /><br />Music labels still don't get it. They had an army of techies and venture capital who wanted to make music over the Internet work 8 years ago. The labels squandered this opportunity, and are still digging in their heels.<br /><br />The labels failed to learn what the shareware industry learned early on: it's better to make money from 3% of a huge market then 100% from a microscopic market. Labels are losing 95% of the money and customers that they could have reached. They still reject new technologies and business models, preferring to protect their special markets business and what I call "stupid VC" money. Huge advances are much more attractive to execs who will retire in a few years than investing in the future of the business. Meanwhile, the leaks around the edges remain a flood.Unknownnoreply@blogger.com0