Microsoft Aims Big Guns at Google, Asks Consumers to Rethink Search
Here's Why an $80M Ad Effort for a Search Engine, Bing, Makes Some Sense
Microsoft has used attack ads to go after Apple, and now it has Google in its sights.
The software giant is set to launch an $80 million to $100 million campaign for Bing, the search engine it hopes will help it grab a bigger slice of the online ad market. That's a big campaign -- big compared with consumer-product launches ($50 million is considered a sizable budget for a national rollout) and very big when you consider that Google spent about $25 million on all its advertising last year, according to TNS Media Intelligence, with about $11.6 million of that focused on recruiting. Microsoft, by comparison, spent $361 million. Certainly Google has never faced an ad assault of anything like this magnitude.
JWT has been tapped for the push, which will include online, TV, print and radio. Another sign of the campaign's size: At a time when most agencies are laying people off, JWT added creatives on the Microsoft business last week.
People with knowledge of the planned push said the ads won't go after Google, or Yahoo for that matter, by name. Instead, they'll focus on planting the idea that today's search engines don't work as well as consumers previously thought by asking them whether search (aka Google) really solves their problems. That, Microsoft is hoping, will give consumers a reason to consider switching search engines, which, of course, is one of Bing's biggest challenges.
"If you grab the average user off the street and ask them, 'Does search suck?' I think they'd say no. They don't know what else can be done," said Shashi Seth, a former Google executive who is now chief revenue officer at Cooliris. "They think search does a pretty good job, and if you could prove otherwise with a product that's differentiated, people will sit up and take notice."
Case for refinement
Indeed, data show that about 65% of people are satisfied or very satisfied with online search. But Microsoft sees an opening on its own proprietary search data: 42% of searches require refinement, and 25% of clicks are the back button.
That's why Mr. Seth likens the Bing marketing challenge to that of the Apple iPhone before it was introduced. Most people, pre-iPhone, didn't know they were missing a multi-touch screen, or an application that would enable them to detect what song was playing wherever they were. But Apple, through its ads, showed how markedly different the experience was and created a new de facto standard for phones.
Many will argue that no amount of advertising Microsoft throws at the product will make a difference -- the quality of search results is the only thing that matters. And that may have once been true; after all, Google built its brand on the back of a great user experience, results that were markedly better and zero ad support.
But that's not necessarily true anymore, as the quality of search engines has approached parity. Sure, there are no switching costs, and it's easy to simply type in a new web address should a better engine come along, but the psychological pull of the leading brand in the space overrides those factors for many consumers.
Consider that Google has conducted internal tests, according to people familiar with them, in which the company put its logo and treatment on another engine's search results. Users still prefer the results with the Google logo, even if they're not Google results. Or consider that a revamped Ask.com made its debut in 2007 to a glowing review from The Wall Street Journal's Walt Mossberg, who said it "holds its own with Google, and even beats the champ on some searches." Two years later? Ask's share of search is down 28%.
'Better mousetrap'
"I don't think they can win this game with a better mousetrap," said Allen Adamson, managing director of Landor Associates, New York. "They have to compete with Google on a brand front -- there's no other way to skin this but go head on against the Google brand."
Obviously Microsoft has not shied away from "going head on" in its Windows campaign. Its chief attack on Apple -- that it's too expensive and not worth the high price -- is showing some signs of working. Apple's value perception among 18- to 34-year-olds has dropped significantly since the campaign launched in late March, which might be a testament to the right message at the right time.
Still, advertising isn't a panacea, as even the most self-absorbed ad man knows, especially when it's not the right advertising. Ask.com famously spent $57 million in 2007 to market its engine, and another $22 million last year, according to TNS. The 2007 campaign was an oddball execution from Crispin Porter & Bogusky that touted "the algorithm" -- a concept unlikely to grab anyone not already entrenched in the world of digital marketing. What Microsoft needs to do is go after people who don't know and probably don't care what an algorithm is.
And all the advertising in the world only works if the product backs it up. People who've seen the Microsoft product suggest it's useful and has some nifty filtering tools, even though it's not a markedly different-looking interface, at least for text search (some of the multimedia search results, however, do look quite different from how Google currently displays them).
"It doesn't take a lot to switch people from one type to another and usually it's a unique feature that gets people excited," said David Karnstedt, CEO of Efficient Frontier and former head of sales for Yahoo. He reflected on his days at AltaVista, which Google supplanted. "Google got people excited because it got people and places right early on. That got people to really start to switch, and once developed the habit of using Google, it was hard to get them to switch back."
Showing posts with label Gasta ASP. Show all posts
Showing posts with label Gasta ASP. Show all posts
Monday, May 25, 2009
Friday, March 20, 2009
Gasta Tech News: Microsft technichians choose Gasta.com as ASP.NET MVC Test Site.
Gasta has been selected a test case of interest for an new innovation in Asp.net MVC Programming.
ASP.NET MVC Overview
The Model-View-Controller (MVC) architectural pattern separates an application into three main components: the model, the view, and the controller. The ASP.NET MVC framework provides an alternative to the ASP.NET Web Forms pattern for creating MVC-based Web applications. The ASP.NET MVC framework is a lightweight, highly testable presentation framework that (as with Web Forms-based applications) is integrated with existing ASP.NET features, such as master pages and membership-based authentication. The MVC framework is defined in the System.Web.Mvc namespace and is a fundamental, supported part of the System.Web namespace.
MVC is a standard design pattern that many developers are familiar with. Some types of Web applications will benefit from the MVC framework. Others will continue to use the traditional ASP.NET application pattern that is based on Web Forms and postbacks. Other types of Web applications will combine the two approaches; neither approach excludes the other.
The MVC framework includes the following components:
Invoking a controller action that expects a parameter value
Figure 01: Invoking a controller action that expects a parameter value (Click to view full-size image)
* Models. Model objects are the parts of the application that implement the logic for the application's data domain. Often, model objects retrieve and store model state in a database. For example, a Product object might retrieve information from a database, operate on it, and then write updated information back to a Products table in SQL Server.
In small applications, the model is often a conceptual separation instead of a physical one. For example, if the application only reads a data set and sends it to the view, the application does not have a physical model layer and associated classes. In that case, the data set takes on the role of a model object.
* Views. Views are the components that display the application's user interface (UI). Typically, this UI is created from the model data. An example would be an edit view of a Products table that displays text boxes, drop-down lists, and check boxes based on the current state of a Products object.
* Controllers. Controllers are the components that handle user interaction, work with the model, and ultimately select a view to render that displays UI. In an MVC application, the view only displays information; the controller handles and responds to user input and interaction. For example, the controller handles query-string values, and passes these values to the model, which in turn queries the database by using the values.
The MVC pattern helps you create applications that separate the different aspects of the application (input logic, business logic, and UI logic), while providing a loose coupling between these elements. The pattern specifies where each kind of logic should be located in the application. The UI logic belongs in the view. Input logic belongs in the controller. Business logic belongs in the model. This separation helps you manage complexity when you build an application, because it enables you to focus on one aspect of the implementation at a time. For example, you can focus on the view without depending on the business logic.
In addition to managing complexity, the MVC pattern makes it easier to test applications than it is to test a Web Forms-based ASP.NET Web application. For example, in a Web Forms-based ASP.NET Web application, a single class is used both to display output and to respond to user input. Writing automated tests for Web Forms-based ASP.NET applications can be complex, because to test an individual page, you must instantiate the page class, all its child controls, and additional dependent classes in the application. Because so many classes are instantiated to run the page, it can be hard to write tests that focus exclusively on individual parts of the application. Tests for Web Forms-based ASP.NET applications can therefore be more difficult to implement than tests in an MVC application. Moreover, tests in a Web Forms-based ASP.NET application require a Web server. The MVC framework decouples the components and makes heavy use of interfaces, which makes it possible to test individual components in isolation from the rest of the framework.
The loose coupling between the three main components of an MVC application also promotes parallel development. For instance, one developer can work on the view, a second developer can work on the controller logic, and a third developer can focus on the business logic in the model.
Deciding When to Create an MVC Application
You must consider carefully whether to implement a Web application by using either the ASP.NET MVC framework or the ASP.NET Web Forms model. The MVC framework does not replace the Web Forms model; you can use either framework for Web applications. (If you have existing Web Forms-based applications, these continue to work exactly as they always have.)
Before you decide to use the MVC framework or the Web Forms model for a specific Web site, weigh the advantages of each approach.
Advantages of an MVC-Based Web Application
The ASP.NET MVC framework offers the following advantages:
* It makes it easier to manage complexity by dividing an application into the model, the view, and the controller.
* It does not use view state or server-based forms. This makes the MVC framework ideal for developers who want full control over the behavior of an application.
* It uses a Front Controller pattern that processes Web application requests through a single controller. This enables you to design an application that supports a rich routing infrastructure. For more information, see Front Controller on the MSDN Web site.
* It provides better support for test-driven development (TDD).
* It works well for Web applications that are supported by large teams of developers and Web designers who need a high degree of control over the application behavior.
Advantages of a Web Forms-Based Web Application
The Web Forms-based framework offers the following advantages:
* It supports an event model that preserves state over HTTP, which benefits line-of-business Web application development. The Web Forms-based application provides dozens of events that are supported in hundreds of server controls.
* It uses a Page Controller pattern that adds functionality to individual pages. For more information, see Page Controller on the MSDN Web site.
* It uses view state or server-based forms, which can make managing state information easier.
* It works well for small teams of Web developers and designers who want to take advantage of the large number of components available for rapid application development.
* In general, it is less complex for application development, because the components (the Page class, controls, and so on) are tightly integrated and usually require less code than the MVC model.
Features of the ASP.NET MVC Framework
The ASP.NET MVC framework provides the following features:
* Separation of application tasks (input logic, business logic, and UI logic), testability, and test-driven development (TDD) by default. All core contracts in the MVC framework are interface-based and can be tested by using mock objects, which are simulated objects that imitate the behavior of actual objects in the application. You can unit-test the application without having to run the controllers in an ASP.NET process, which makes unit testing fast and flexible. You can use any unit-testing framework that is compatible with the .NET Framework.
* An extensible and pluggable framework. The components of the ASP.NET MVC framework are designed so that they can be easily replaced or customized. You can plug in your own view engine, URL routing policy, action-method parameter serialization, and other components. The ASP.NET MVC framework also supports the use of Dependency Injection (DI) and Inversion of Control (IOC) container models. DI allows you to inject objects into a class, instead of relying on the class to create the object itself. IOC specifies that if an object requires another object, the first objects should get the second object from an outside source such as a configuration file. This makes testing easier.
* A powerful URL-mapping component that lets you build applications that have comprehensible and searchable URLs. URLs do not have to include file-name extensions, and are designed to support URL naming patterns that work well for search engine optimization (SEO) and representational state transfer (REST) addressing.
* Support for using the markup in existing ASP.NET page (.aspx files), user control (.ascx files), and master page (.master files) markup files as view templates. You can use existing ASP.NET features with the ASP.NET MVC framework, such as nested master pages, in-line expressions (<%= %>), declarative server controls, templates, data-binding, localization, and so on.
* Support for existing ASP.NET features. ASP.NET MVC lets you use features such as forms authentication and Windows authentication, URL authorization, membership and roles, output and data caching, session and profile state management, health monitoring, the configuration system, and the provider architecture.
Featured MVC Compatible Web Hosting
www.discountasp.com
Visual C# Tutorials
(Switch to Visual Basic tutorials)
* MVC Tutorials Start Page
ASP.NET MVC Overview
* Creating a Movie Database Application
* ASP.NET MVC Overview
* Understanding the ASP.NET MVC Execution Process
* Understanding Models, Views, and Controllers
ASP.NET MVC Routing
* ASP.NET MVC Routing Overview
* Creating Custom Routes
* Creating a Route Constraint
* Creating a Custom Route Constraint
ASP.NET MVC Controllers
* ASP.NET MVC Controller Overview
* Creating a Controller
* Creating an Action
ASP.NET MVC Views
* ASP.NET MVC Views Overview
* Creating Custom HTML Helpers
* Displaying a Table of Database Data
* Using the TagBuilder Class to Build HTML Helpers
ASP.NET MVC Models
* Creating Model Classes with the Entity Framework
* Creating Model Classes with LINQ to SQL
ASP.NET MVC Validation
* Performing Simple Validation
* Validating with the IDataErrorInfo Interface
* Validating with a Service Layer
Master Pages
* Creating Page Layouts with View Master Pages
* Passing Data to View Master Pages
Action Filters and Model Binders
* Understanding Action Filters
Improving Performance with Caching
* Improving Performance with Output Caching
* Adding Dynamic Content to a Cached Page
Security
* Authenticating Users with Forms Authentication
* Authenticating Users with Windows Authentication
* Preventing JavaScript Injection Attacks
ASP.NET MVC Testing
* Creating Unit Tests for ASP.NET MVC Applications
Navigation
* Providing Website Navigation with SiteMaps
Deploying ASP.NET MVC Applications
* Using ASP.NET MVC with Different Versions of IIS
Tutorials for Contact Manager
* Iteration #1 – Create the Application
* Iteration #2 – Make the application look nice
* Iteration #3 – Add form validation
* Iteration #4 – Make the application loosely coupled
* Iteration #5 – Create unit tests
* Iteration #6 – Use test-driven development
* Iteration #7 – Add Ajax functionality
ASP.NET MVC Overview
The Model-View-Controller (MVC) architectural pattern separates an application into three main components: the model, the view, and the controller. The ASP.NET MVC framework provides an alternative to the ASP.NET Web Forms pattern for creating MVC-based Web applications. The ASP.NET MVC framework is a lightweight, highly testable presentation framework that (as with Web Forms-based applications) is integrated with existing ASP.NET features, such as master pages and membership-based authentication. The MVC framework is defined in the System.Web.Mvc namespace and is a fundamental, supported part of the System.Web namespace.
MVC is a standard design pattern that many developers are familiar with. Some types of Web applications will benefit from the MVC framework. Others will continue to use the traditional ASP.NET application pattern that is based on Web Forms and postbacks. Other types of Web applications will combine the two approaches; neither approach excludes the other.
The MVC framework includes the following components:
Invoking a controller action that expects a parameter value
Figure 01: Invoking a controller action that expects a parameter value (Click to view full-size image)
* Models. Model objects are the parts of the application that implement the logic for the application's data domain. Often, model objects retrieve and store model state in a database. For example, a Product object might retrieve information from a database, operate on it, and then write updated information back to a Products table in SQL Server.
In small applications, the model is often a conceptual separation instead of a physical one. For example, if the application only reads a data set and sends it to the view, the application does not have a physical model layer and associated classes. In that case, the data set takes on the role of a model object.
* Views. Views are the components that display the application's user interface (UI). Typically, this UI is created from the model data. An example would be an edit view of a Products table that displays text boxes, drop-down lists, and check boxes based on the current state of a Products object.
* Controllers. Controllers are the components that handle user interaction, work with the model, and ultimately select a view to render that displays UI. In an MVC application, the view only displays information; the controller handles and responds to user input and interaction. For example, the controller handles query-string values, and passes these values to the model, which in turn queries the database by using the values.
The MVC pattern helps you create applications that separate the different aspects of the application (input logic, business logic, and UI logic), while providing a loose coupling between these elements. The pattern specifies where each kind of logic should be located in the application. The UI logic belongs in the view. Input logic belongs in the controller. Business logic belongs in the model. This separation helps you manage complexity when you build an application, because it enables you to focus on one aspect of the implementation at a time. For example, you can focus on the view without depending on the business logic.
In addition to managing complexity, the MVC pattern makes it easier to test applications than it is to test a Web Forms-based ASP.NET Web application. For example, in a Web Forms-based ASP.NET Web application, a single class is used both to display output and to respond to user input. Writing automated tests for Web Forms-based ASP.NET applications can be complex, because to test an individual page, you must instantiate the page class, all its child controls, and additional dependent classes in the application. Because so many classes are instantiated to run the page, it can be hard to write tests that focus exclusively on individual parts of the application. Tests for Web Forms-based ASP.NET applications can therefore be more difficult to implement than tests in an MVC application. Moreover, tests in a Web Forms-based ASP.NET application require a Web server. The MVC framework decouples the components and makes heavy use of interfaces, which makes it possible to test individual components in isolation from the rest of the framework.
The loose coupling between the three main components of an MVC application also promotes parallel development. For instance, one developer can work on the view, a second developer can work on the controller logic, and a third developer can focus on the business logic in the model.
Deciding When to Create an MVC Application
You must consider carefully whether to implement a Web application by using either the ASP.NET MVC framework or the ASP.NET Web Forms model. The MVC framework does not replace the Web Forms model; you can use either framework for Web applications. (If you have existing Web Forms-based applications, these continue to work exactly as they always have.)
Before you decide to use the MVC framework or the Web Forms model for a specific Web site, weigh the advantages of each approach.
Advantages of an MVC-Based Web Application
The ASP.NET MVC framework offers the following advantages:
* It makes it easier to manage complexity by dividing an application into the model, the view, and the controller.
* It does not use view state or server-based forms. This makes the MVC framework ideal for developers who want full control over the behavior of an application.
* It uses a Front Controller pattern that processes Web application requests through a single controller. This enables you to design an application that supports a rich routing infrastructure. For more information, see Front Controller on the MSDN Web site.
* It provides better support for test-driven development (TDD).
* It works well for Web applications that are supported by large teams of developers and Web designers who need a high degree of control over the application behavior.
Advantages of a Web Forms-Based Web Application
The Web Forms-based framework offers the following advantages:
* It supports an event model that preserves state over HTTP, which benefits line-of-business Web application development. The Web Forms-based application provides dozens of events that are supported in hundreds of server controls.
* It uses a Page Controller pattern that adds functionality to individual pages. For more information, see Page Controller on the MSDN Web site.
* It uses view state or server-based forms, which can make managing state information easier.
* It works well for small teams of Web developers and designers who want to take advantage of the large number of components available for rapid application development.
* In general, it is less complex for application development, because the components (the Page class, controls, and so on) are tightly integrated and usually require less code than the MVC model.
Features of the ASP.NET MVC Framework
The ASP.NET MVC framework provides the following features:
* Separation of application tasks (input logic, business logic, and UI logic), testability, and test-driven development (TDD) by default. All core contracts in the MVC framework are interface-based and can be tested by using mock objects, which are simulated objects that imitate the behavior of actual objects in the application. You can unit-test the application without having to run the controllers in an ASP.NET process, which makes unit testing fast and flexible. You can use any unit-testing framework that is compatible with the .NET Framework.
* An extensible and pluggable framework. The components of the ASP.NET MVC framework are designed so that they can be easily replaced or customized. You can plug in your own view engine, URL routing policy, action-method parameter serialization, and other components. The ASP.NET MVC framework also supports the use of Dependency Injection (DI) and Inversion of Control (IOC) container models. DI allows you to inject objects into a class, instead of relying on the class to create the object itself. IOC specifies that if an object requires another object, the first objects should get the second object from an outside source such as a configuration file. This makes testing easier.
* A powerful URL-mapping component that lets you build applications that have comprehensible and searchable URLs. URLs do not have to include file-name extensions, and are designed to support URL naming patterns that work well for search engine optimization (SEO) and representational state transfer (REST) addressing.
* Support for using the markup in existing ASP.NET page (.aspx files), user control (.ascx files), and master page (.master files) markup files as view templates. You can use existing ASP.NET features with the ASP.NET MVC framework, such as nested master pages, in-line expressions (<%= %>), declarative server controls, templates, data-binding, localization, and so on.
* Support for existing ASP.NET features. ASP.NET MVC lets you use features such as forms authentication and Windows authentication, URL authorization, membership and roles, output and data caching, session and profile state management, health monitoring, the configuration system, and the provider architecture.
Featured MVC Compatible Web Hosting
www.discountasp.com
Visual C# Tutorials
(Switch to Visual Basic tutorials)
* MVC Tutorials Start Page
ASP.NET MVC Overview
* Creating a Movie Database Application
* ASP.NET MVC Overview
* Understanding the ASP.NET MVC Execution Process
* Understanding Models, Views, and Controllers
ASP.NET MVC Routing
* ASP.NET MVC Routing Overview
* Creating Custom Routes
* Creating a Route Constraint
* Creating a Custom Route Constraint
ASP.NET MVC Controllers
* ASP.NET MVC Controller Overview
* Creating a Controller
* Creating an Action
ASP.NET MVC Views
* ASP.NET MVC Views Overview
* Creating Custom HTML Helpers
* Displaying a Table of Database Data
* Using the TagBuilder Class to Build HTML Helpers
ASP.NET MVC Models
* Creating Model Classes with the Entity Framework
* Creating Model Classes with LINQ to SQL
ASP.NET MVC Validation
* Performing Simple Validation
* Validating with the IDataErrorInfo Interface
* Validating with a Service Layer
Master Pages
* Creating Page Layouts with View Master Pages
* Passing Data to View Master Pages
Action Filters and Model Binders
* Understanding Action Filters
Improving Performance with Caching
* Improving Performance with Output Caching
* Adding Dynamic Content to a Cached Page
Security
* Authenticating Users with Forms Authentication
* Authenticating Users with Windows Authentication
* Preventing JavaScript Injection Attacks
ASP.NET MVC Testing
* Creating Unit Tests for ASP.NET MVC Applications
Navigation
* Providing Website Navigation with SiteMaps
Deploying ASP.NET MVC Applications
* Using ASP.NET MVC with Different Versions of IIS
Tutorials for Contact Manager
* Iteration #1 – Create the Application
* Iteration #2 – Make the application look nice
* Iteration #3 – Add form validation
* Iteration #4 – Make the application loosely coupled
* Iteration #5 – Create unit tests
* Iteration #6 – Use test-driven development
* Iteration #7 – Add Ajax functionality
Subscribe to:
Posts (Atom)