ads

Search ContentKenya

Friday, July 31, 2009

Yahoo got Binged


Source: TechCrunch

Today, Yahoo died as a search engine. If the deal with Microsoft is approved, what will replace it will be Bing, the search engine that Microsoft launched only two months ago. Within a few months time, Microsoft will go from owning 8 percent of the U.S. search market to 28 percent (comScore). That is still less than half of Google’s 65 percent, but it could give Microsoft a fighting chance in the search wars against Google.

While the agreement was a long time coming, Bing was the cherry on top, so to speak. Earlier today, I spoke with the two executives who oversaw the negotiations for both sides, Yahoo EVP Hillary Schneider and Microsoft SVP Yusuf Mehdi. I asked how big an impact Bing’s sudden success had on bringing the deal to a close. “Seeing Bing as a live experience was a nice assurance,” says Schneider, “but did not change our rationale or timing. This was a conversation that went on over several months. Bing was introduced after we had material momentum in how we wanted to approach this partnership.”

Yet Bing was able to gain market share in its very first month, and it took it from Yahoo, not Google. And Bing is just going to get better. Yahoo faced the very real prospect of market share erosion from below as well as from above. Now in one fell swoop, Microsoft will control all of Yahoo’s search volume. In a conference call today, Steve Ballmer explained how important market share is in search:

Do we think we will have better algorithms for relevance? Yes we do. There is a feedback loop in search. the more searches you serve, the more you learn about what people click on. Scale drives knowledge. There is a return to scale from seeing that much activity [that is more] than Yahoo or MSFT see independently

Microsoft will measure the success of this deal in two ways: increased market share with advertisers and increased market share with consumers. When I asked Mehdi what success would look like a couple years out, he defines it in terms of “shares of queries and spends.” Even before mentioning gaining share with consumers, he says: “Success is a smooth transition for advertisers as they shift more share of wallet from traditional media and competitors to get the better ROI.”

Microsoft will also become the new home for Yahoo’s search technologies. That is a good thing because even before this deal was announced, the spirit of technology innovation at Yahoo which produced projects such as Yahoo Boss and Search Monkey seems to have fizzled. These efforts will now be passed on to Microsoft. The fortunate news is that Mehdi says he wants to keep those projects alive. “For Search Monkey and Boss, we will integrate that technology and determine how to take that forward. There is a lot of goodness there.” At least Microsoft knows a good developer platform when it sees one.

So the deal is good for Microsoft. It puts them in the game, and they didn’t even have to pay $1 billion upfront. But is it good for Yahoo?

Instead of that upfront payment, Yahoo is getting 88 percent of search advertising revenues on Yahoo-owned sites every year for the next five years (at which point the so-called TAC rate will be renegotiated for the last five years of the deal). “This is a materially higher TAC than any of the previous arrangements,” says Schneider. But it’s also not much higher than what big affiliates like AOL are believed to be getting from Google today. And Yahoo needs to keep paying its sales force, but can only keep 88 percent of the revenues they generate. (Although there are some revenue-per-search guarantees baked into the deal to protect Yahoo on the downside).

Investors aren’t thrilled with the deal, and it is not just because they tend to value cash over potential. This is a ten-year arrangement between two lumbering giants that is filled with execution risk. It is a very complicated deal. Yahoo’s sales team has enough trouble communicating with its own engineers. Now they have to learn how to talk to Microsoft’s.

Jason Calacanis argues that Yahoo just committed suicide, while Bill Gurley thinks the opposite, that Yahoo had to get out of Google’s way to survive.

The two companies will work hard to pull this off. Their futures depend on it. And the deal is structured in a way that makes sure both sides make more money the more searches and advertising dollars Bing generates. Getting to that ideal state, though, won’t be easy. In the meantime, as they work through all of the implementation issues, Google could strengthen its position and take even more share.

No matter what happens, Yahoo just took itself out of the search game. It got Binged.

WebMaster must-have Tools

These are free must have tools for webmasters provided by iwebtools.com

Search Engines
Backlink Checker
Find a list of backlinks linking to a specific website.
Cloaking Checker
Cloaking Checker
Google Banned Checker
Discover whether a website is banned on Google.
Google Datacenter Search
Search keywords/phrase through different Google data centres.
Google PageRank Prediction
Predict your future Google PageRank.
Index Checker
Check for the total number of pages of a specific website which are present on search engines.
Keyword Density Checker
Analyze a websites to view the optimum keyword distribution.
Keyword Suggestion
Find related keywords matching your search.
Link Popularity
Retrieve a number of backlinks of a specific website from search engines.
Multi-Rank Checker
View multiple Google PageRank and Alexa Ranking in bulk.
PageRank Checker
View Google PageRank on different Google servers.
Rank Checker
Get an overview of a website's ranking.
Search Engine Position
Check your search engine positions on Google Search Engine.
Search Listings Preview
Preview your website on Google, MSN and Yahoo! Search.
Spider View
This tool enables you to view a perpective from a search engine spider.
URL Redirect Checker
Check whether a redirect link is Search Engine Friendly.
Visual PageRank
View the PageRank of links visually rather than in text.
Miscellaneous
.htaccess URL Rewrite
Convert your dynamic URL into a short friendly link.
Anonymous Emailer
Send e-mails to users anonymously.
Google Adsense Calculator
Quickly calculate your Adsense earnings based on Page Impressions.
Google Adsense Preview
Preview what ads are targeted for your website.
Link Shortener
Make a long web address short and easy to remember.
List Cleaner
Clean and remove duplicates from a list.
md5 Encrypt
Use this simple online converter tool to encode any inputted text to md5.
Online Calculator
Use this free and easy online calculator to work out quick calculations.
Unix Time Converter
Convert UNIX internal time formats to a date or Vice versa.
Your Browser Details
Find out your IP address, hostname and your browser details
Domain Checkups
Alexa Traffic Rank
View and compare Alexa Ranking graphs.
Broken Link Checker
Use this tool to check for Broken Links on a website.
Domain Availability
Check for available domain names.
Domain Look-up
Retrieve a range of information about a domain.
Domain Whois
Retrieve a domain whois information.
Instant Domain Checker
Check the availability of domains instantly.
IP Location
Locate the country of an IP Address.
Link Price Calculator
Estimate how much to pay for a link.
Ping Test
Check the presence of an active connection.
Reciprocal Link Checker
Check your reciprocal links to see if link partners are still linking back to your site.
Reverse IP/Look-up
Searches for domain names hosted on your IP address.
Server Status
Check if a website is online or offline.
Website Speed Test
Find out how fast a specific webpage loads.

HTML
HTML Encrypt
Hide your HTML source code.
HTML Optimizer
Optimize and clean your HTML source code.
HTTP Headers
Extract the HTTP Headers of a web page.
Link Extractor
Extract links from a specific web page.
Meta-tags Extractor
Extract meta-tags information from a web page.
Meta-tags Generator
Generate and configure your meta-tags.

Creating an OpenID provider

OpenID is an open, decentralized, free framework for user-centric digital identity (I stole that from their website). But what does it mean? Well, basically OpenID is a way to authenticate yourself to various places (websites) by verifying your identity as the owner of a particular URL (say, a website of your own). Instead of giving a username and password to a login form, you just give it your URL. You're then directed to your "identity provider" to log in, and when it authenticates you, you go back to the site you were orignally trying to get into. Why this is good or bad, and what the actual implications of it are... well, that's all mostly outta scope as far as phpMyID is concerned. Suffice it to say, phpMyID acts as an "identity provider" so you can log in to OpenID enabled sites.

From a user point of view, OpenID is a neat concept, but it has a few flaws. For example, when I wanted to actually, y'know, get an OpenID thingie of my own so I could log into OpenID sites, I found there was no satisfactory way to get one. My options were:

  • Download a ready made application to handle serving up identities and create myself an account in it. - There aren't many of these, and what few there are seem to be geared towards multi-user setups. Since there's only one of me, this option seemed like overkill.
  • Download a complex set of libraries and build an application to handle serving up my identity. - Again there are not many of these, and what few there are seem a bit overcomplicated for my needs.
  • Set up an account with a third party provider. - A bad option for me because I really don't like the idea of coupling a theoretically decentralized framework to one of a handfull of third party providers (and giving them my account credentials). Sure, someone who doesn't have their own site and server technology will probably go this way, but not me.

Since I couldn't find the simple solution that I wanted, I did what any [idiot|geek] would do, and created the missing option for myself: a single user OpenID server. phpMyID.

Why Use it?

  • The whole point of OpenID is to allow you to manage your own identity, and phpMyID lets you do that without giving control to a third party.
  • It's easy to install and easy to configure. Edit just a few lines in your config file, and you're off and running!
  • Allows "Smart Mode OpenID" (more secure) transactions, even if you don't have a "big math" library available. Seriously, phpMyID comes with a pure-PHP math library which can be used if you want to demand that extra level of security.
  • Ensures secure password transmission even if you don't have SSL! By using HTTP Digest authentication, phpMyID ensures your password is never sent or stored anywhere in clear or decypherable text.

How to Use

phpMyID is a single user (though, if you were so inclined, you could easily turn it into a multi-user setup) IdP, or "Identity Provider" for the OpenID framework. It's a single PHP script with minimal dependancies. You don't need a database, you don't need to make your filesystem writable, you don't need to download any libraries, and you don't need to recompile PHP. Okay, well, you shouldn't need to do any of that.

Installing phpMyID requires an MD5 hashing utility. Why? Because you have to authenticate to it using a password. phpMyID uses HTTP Digest authentication for security and your password must be encrypted when you enter it during installation. Say it with me: "passwords should never be stored or transmitted in plain text" (one of the advantages of phpMyID and OpenID is that they never are).

For Linux or OSX (or any other Unix-like OS), I suggest using OpenSSL to encrypt your password. For Windows, there are a number of utilities available, but I recommend this one by Colin Plumb. It's public domain code, and it will do exactly what you need (yes, the hash it create is all upper-case - don't worry, phpMyID will convert it for you). You can use PHP's md5 function to generate your hash for you on the fly, but I must discourage doing so. Not only does it take all the fun out, but you have to store your password in plain text to make it go.

Complete installation instructions, including examples of how to encrypt your password, are available in the provided README file (here's the svn version).

** Important ** phpMyID is not compatible with hardened PHP installations. In particular, Suhosin is known to cause problems.

Change Log

0.9
  • Bugfix: A weakness in the digest authentication method has been addressed. Thanks to forum user 'MAILER-DAEMON' for noticing.
  • Bugfix: A few PHP "Notices" have been corrected. Thanks to forum users 'thomas.leplus', and 'laplix' for the patches.
  • Bugfix: Paranoid mode ancestry checks did not work correctly in PHP4. Thanks to forum user 'sehrgut' for the patch.
  • Bugfix: Cancel URL did not have 'openid.mode=cancel' appended to it. Thanks to forum user 'zstoichev' for noticing.
  • Bugfix: Paranoid mode will not be invoked on checkid_immediate.
  • The Suhosin incompatibility warning can now by bypassed.
  • HTML META refreshes have been replaced with HTTP 302 refreshes.
0.8
  • Paranoid mode was added. Users may now see and approve "trust_root" URLs that they are logging in to.
  • Support was added for embedding a MicroID.
  • Support was added for embedding a Pavatar.
0.7
  • Bugfix: Non default query argument separators are now corrected.
  • Bugfix: Internal req_url key is (again) generated using HTTP_HOST instead of SERVER_NAME
  • Session validation was removed from the self_check routine. It's still conducted in the test mode. Some PHP setups had a problem with the way this check was conducted, but anything more complex would require too much logic for a lightweight self check.
  • Config file now 'requires' instead of 'includes' the program file.
0.6
  • Bugfix: client supplied non-default dh_gen and dh_modulus values were not being properly decoded.
  • Bugfix: build_query urlencoding bug corrected.
  • All references to the _GET and _POST superglobals were converted to reference _REQUEST.
  • GMP is now supported as an alternative to bcmath.
  • An internal pure-PHP big math library was added as a fallback for systems lacking either bcmath or GMP support.
  • Default charset is now universally defined as 'iso-8859-1'.
  • A 'test' mode was added to support big math library validation.
  • A "robots" meta tag is now included in the default html output.
  • Support for phpdoc documentation was added.
  • README/FAQ docs were updated.
0.5
  • Enhancements have been made to allow authorization under PHP running in CGI mode.
  • Authorization/Authentication function names have been cleaned up.
  • Various warning messages have been removed.
0.4
  • Created and documented a mechanism to correctly identify and use your "modified" authentication realm when PHP is running under "safe mode."
  • Fixed a bug where check_immediate was not correctly called.
  • Configuration can now be de-coupled from the main script file.
  • Documentation has been extended.
  • The debug log location is no longer hard coded.
  • Debugging output is now cleaner and more intelligent.
0.3
  • The project has been renamed to phpMyID (formerly myOpenID) to avoid confusion with www.myOpenId.com, with which it is unrelated.
  • Fixed a bug related to the use of the 'auth-int' Digest qop. This would have only affected Opera users (as it's the only browser which supports auth-int).
0.2
  • Added support for PHP4, including a better mechanism for getting Digest authentication headers which should work with non-Apache servers
  • Added a (hidden) logout mode, usable by calling MyID.php?openid.mode=logout
  • Fixed a bug which occurred when associate mode was called and was unable to produce a secure key. Future queries from that handle would then fail check_authentication mode queries
  • The lifetime for a smart-mode client is now same as the default cache life of the session minus ten seconds, which should be just under three hours
  • Renamed the 'sha20' function to 'sha1_20' (to designate using 'sha1' to get a 20 byte hash)
  • Some code and debug cleanup
0.1
  • Initial version

Thursday, July 30, 2009

Difference between the internet and the world wide web

Many people use the terms Internet and World Wide Web (aka. the Web) interchangeably, but in fact the two terms are not synonymous. The Internet and the Web are two separate but related things.

The Internet is a massive network of networks, a networking infrastructure. It connects millions of computers together globally, forming a network in which any computer can communicate with any other computer as long as they are both connected to the Internet. Information that travels over the Internet does so via a variety of languages known as protocols.

The World Wide Web, or simply Web, is a way of accessing information over the medium of the Internet. It is an information-sharing model that is built on top of the Internet. The Web uses the HTTP protocol, only one of the languages spoken over the Internet, to transmit data. Web services, which use HTTP to allow applications to communicate in order to exchange business logic, use the the Web to share information. The Web also utilizes browsers, such as Internet Explorer or Firefox, to access Web documents called Web pages that are linked to each other via hyperlinks. Web documents also contain graphics, sounds, text and video.

The Web is just one of the ways that information can be disseminated over the Internet. The Internet, not the Web, is also used for e-mail, which relies on SMTP, Usenet news groups, instant messaging and FTP. So the Web is just a portion of the Internet, albeit a large portion, but the two terms are not synonymous and should not be confused.

What is Email?

Even with the multimedia excitement of the Web, Electronic Mail (email) is the most frequently used application of the Internet. Many people who have access to the Internet at school, home, and work, use the Internet for no other purpose than to send and receive email.

According to International Data Corporation (IDC), on an average day in the year 2000, 5.1 billion emails are sent in the US and 8.2 billion worldwide. By 2005, 11.5 billion emails will be sent each day on average in the US and 26.1 billion worldwide. (This includes emails sent by individuals for business and personal purposes, but not mass emails sent to large lists.)

It’s all very easy. You create the message, log onto the Internet, and send it. The message first goes to your Internet Service Provider’s mail server, which in turn sends it to the recipient’s mail server. On the way your message may go through several servers, each reading the domain name in order to route it to the appropriate server.

The message then remains in the recipient’s mail server until he requests it by “checking his mail.”

Each email address you send is made up of certain components that help route it to the proper recipient:

Diagram of the anatomy of an email address

The benefits of email are obvious…mostly it’s quick. Also, many people feel that the rules for regular mail don’t apply to email*, making it less formal, which in turn makes email easier to compose and send.

It’s not just friends and coworkers that are receiving email. Wherever you look, the Web is providing email addresses. This has made communication between strangers easier than ever. When you visit a Web site, click on the Web masters email address to let them know what you think. You can read an interesting article online and immediately send the author an email.

Here are the most popular email websites:

Beginner’s Guide to Effective Email
Includes a style guide and general information regarding the use of email.

Dynamoo: Email Etiquette
Offers a list of do’s and don’ts for email etiquette.

Email Disclaimers
Offering information about email disclaimers including legal aspects, sample disclaimers, software, books, and more.

EmailAddresses: Email Etiquette
Offers a guide of common email courtesies and tips for making a positive impact when sending email.

EmailReplies
Discusses why email etiquette is necessary, lists email etiquette rules,and explains how to enforce these rules by creating a company email policy.

Etiquette For Public E-mail Systems
Learn how to avoid flames, use smilies, signatures, and more.

How the internet works

ComputerFor the purpose of this example let’s say that you want to send a file to a friend who lives on the opposite side of the country. You select the file that your friend wants and you send it to him via email. Transmission Control Protocol / Internet Protocol (TCP/IP) prepares the data to be sent and received. TCP/IP ensures that a Macintosh network can exchange data with a Windows, or a Unix network, and vice-versa.

The file that you are sending does not travel to your friends computer directly, or even in a single continuous stream. The file you are sending gets broken up into separate data packets. The Internet Protocol side of TCP/IP labels each packet with the unique Internet address, or IP address of your friends computer. Since these packets will travel separate routes, some arriving sooner than others, the Transmission Control Protocol side of TCP/IP assigns a sequence number to each of packets. These sequence numbers will tell the TCP/IP in your friends computer how to reassemble the packets once he receives them. Amazingly, the complicated process of TCP/IP takes place in a matter of milliseconds.

Animated illustration of how information moves through the Internet

The packets are then sent from one “router” to the next. Each router reads the IP address of the packet and decides which path will be the fastest. Since the traffic on these paths is constantly changing each packet may be sent a different way.

It is possible to discover the paths between routers using a utility known as Traceroute. Using your favorite search engine, type in “traceroute” to find different Web sites hosting it.

Also, check out the Internet Traffic Report to find out how much global Internet traffic there is at this moment…and where the “bottlenecks” are. This information may not useful to you…but it’s interesting! The Internet Traffic Report monitors the flow of data around the world. It then displays a value between zero and 100. Higher values indicate faster and more reliable connections. This information may not useful to you…but it’s interesting! The Internet Traffic Report monitors the flow of data around the world. It then displays a value between zero and 100. Higher values indicate faster and more reliable connections.