Sunday, May 31, 2009

Cuộc chiến của các máy tìm kiếm - Nhìn từ một góc độ khác!

Đọc bài viết trên blog thầy Duy, thấy một "chiêu" thật hay của Google làm phân tán sự chú ý vào "quảng cáo" của các đối thủ. Đúng là một tuyệt chiêu cần học hỏi.

James

http://ledduy.blogspot.com/2009/05/cuoc-chien-cua-cac-may-tim-kiem-nhin-tu.html

Như vậy là sau Cuil, Wolfram Alpha, đến lượt Microsoft Bing lại làm xôn xao cộng đồng những người dùng Internet về cuộc chiến với Google. Tại sao Google lại có nhiều "kẻ muốn tấn công" như vậy? Lí do chính đó là lợi nhuận. Thị trường quảng cáo trực tuyến hiện nay chiếm từ 10%-15% tổng giá trị của thị trường quảng cáo nói chung (bao gồm quảng cáo trực tuyến, trên tivi, báo chí, pano, ...). Trong năm 2008, theo IDC thì chi phí quảng cáo trực tuyến toàn cầu lên đến 65 tỉ USD. Theo số liệu vào tháng 03.2009, thì Google chiếm trên 63% số lượng tìm kiếm ở US, với hơn 293 triệu lượt tìm kiếm mỗi ngày. Nói một cách khác, miếng bánh béo bở của thị trường quảng cáo trực tuyến đang được Google "nuốt" phần lớn!

Với mỗi máy tìm kiếm mới ra đời, câu hỏi đầu tiên luôn được mọi người quan tâm là nó có phải là "Google killer" hay không? Trả lời câu hỏi đó, có nghĩa là phải làm nổi bật lên điểm mạnh nhất, điểm khác biệt nhất so với Google hiện tại. Và những điểm nổi bật này, thông thường sẽ được quá trình marketing, PR của các công ty thực hiện, để thu hút sự chú ý của công chúng.

Nếu bạn là Google, chắc chắn là bạn sẽ không ngồi yên để "kẻ thù" (competitor) tấn công mà không có động thái gì. Bên cạnh không ngừng cải tiến chất lượng và tính hiệu quả của hệ thống, những chiêu thức khác ngoài chuyên môn cũng có thể được triển khai.

Theo thống kê của Mark [3], những sự kiện có vẻ như rất "tình cờ" sau của Google, rất làm cho người ta tin rằng Google không ngồi yên trước những đối thủ cạnh tranh.

- Ngày 28.07.2008, Cuil ra mắt với tuyên bố đã đánh chỉ mục hơn 120 tỉ trang web, và cho rằng con số này gấp 3 lần các máy tìm kiếm hiện có. Tuy nhiên, trước đó 3 ngày, 25.07.2008, Google đã tuyên bố trên blog của họ rằng, họ đã đánh chỉ mục hơn 1,000 tỉ trang.

- Ngày 25.02.2009, Cuil giới thiệu tính năng đoạn trích (snippet) cho mỗi kết quả tìm kiếm dài hơn. Ngày 24.03.2009, Google giới thiệu hai cải tiến mới, trong đó có đoạn trích dài hơn.

- Gần đây nhất, ngay trong ngày Wolfram Alpha ra đời, nhấn mạnh tính năng tổ chức dữ liệu để trả lời cho câu hỏi của người dùng, Google cũng đưa ra tính năng tương tự.

- Và cuối cùng, ngay trong ngày 28.05.2009, khi mà Steve Ballmer giới thiệu về cỗ máy tìm kiếm mới Microsoft Bing ở San Diego thì ở gần đó, tại San Francisco, Google giới thiệu về Wave.


Đằng sau các sự tình cờ đó là gì, người ta suy đoán rằng, có hai lí do chính:

- Thứ nhất, Google muốn phân tán sự chú ý của người dùng với các đối thủ cạnh tranh. Với vị thế của Google, thì bất cứ thứ gì Google công bố, đều có sự thu hút nhất định. Đó là lí do mà trong ngày 28.05.2009 vừa qua, sự chú ý tới Bing không hoàn toàn trọn vẹn như mong đợi.

- Thứ hai, Google muốn khẳng định với người dùng rằng, họ vẫn liên tục cải tiến và những gì đối thủ của họ cho là điểm mạnh thì họ cũng có. Do đó, ko có lí do gì để chuyển từ Google sang đối thủ của họ.


Trong một bài phản biện lại các "nghi ngờ" về "động cơ của Google" trong các sự kiện trên, Matt Cutts (nhân viên Google) đã lí giải rằng mọi chuyện đều ngẫu nhiên mà thôi. Ví dụ chuyện Cuil, Matt cho rằng Google đã dự định công bố việc đánh chỉ mục được 1,000 tỉ trang web từ giữa tháng 6, nhưng sau đó công bố này bị hoãn lại hơn 1 tháng. Hay trong chuyện của Wolfram Alpha thì là lí do em bé của blogger ra đời sớm hơn dự định làm bài blog lẽ ra được dự định công bố sau nhưng lại công bố trước và trùng ngày công bố của Wolfram Alpha.

Không ai có thể nghi ngờ một sự thật: những gì đối thủ của họ làm được, Google cũng sẽ làm được! Thậm chí Google còn làm được sớm hơn cả đối thủ của họ (trường hợp của Cuil là một ví dụ). Nhưng nếu là bạn, bạn có tin vào những giải thích về sự "tình cờ" kia không? Tại sao việc công bố kích thước chỉ mục lại bị dời đến hơn 1 tháng, và rất gần với ngày ra đời của Cuil, nhắm đúng vào điểm mạnh mà Cuil muốn "bố cáo" với thiên hạ? Tại sao sự kiện em bé sinh sớm lại đẩy việc công bố tính năng tương tự như Wolfram Alpha đúng vào ngày Wolfram Alpha ra đời. Cũng nói thêm ở đây là tính năng tương tự đó chỉ mới thực hiện được trên 2 tập dữ liệu mà thôi, nghĩa là vẫn chưa đủ hoàn hảo như của Wolfram Alpha. Danny Sullivan thậm chí còn cho rằng, Google đã không chỉ một lần làm như vậy.

Vậy mới thấy, cuộc chiến với Google không đơn giản chút nào. Có những việc tưởng như rất nhỏ, không ai để ý đến, nhưng đều tiềm ẩn những "tuyệt chiêu" để làm yếu đối thủ.

Tham khảo:
1. Quảng cáo trực tuyến
http://vietnambranding.com/thong-tin/chuyen-de-thuong-hieu/6618/Anh-chi-phi-quang-cao-truc-tuyen-tang-manh
http://www.vnmedia.vn/newsdetail.asp?CatId=35&NewsId=135802#
http://quangbawebsitevn.wordpress.com/2007/12/29/qu%E1%BA%A3ng-cao-tr%E1%BB%B1c-tuy%E1%BA%BFn-s%E1%BA%BD-la-ngu%E1%BB%93n-thu-l%E1%BB%9Bn-c%E1%BB%A7a-microsoft/

2. Thị phần tìm kiếm của Google
http://blog.usaseopros.com/2009/04/15/google-reaches-293-million-hits-per-day-in-march-2009/

3. Thảo luận về chiêu "chơi trội" (steal other's thunder)
http://www.marksonland.com/2009/04/google_likes_to_steal_others_t_1.html
http://www.mattcutts.com/blog/stealing-thunder/
http://www.techcrunch.com/2009/05/28/what-just-happened-thursday-was-supposed-to-be-bing-day/?awesm=tcrn.ch_2oM&utm_campaign=techcrunch&utm_content=techcrunch-autopost&utm_medium=tcrn.ch-twitter&utm_source=direct-tcrn.ch
http://searchengineland.com/did-google-cleverly-upstage-microsofts-bing-20185

Lê Đình Duy

Thursday, May 7, 2009

Vài điều suy ngẫm khi viết phần mềm và tối ưu hoá code

Trong lập trình, bình thường ta viết code chủ yếu là làm sao đáp ứng được yêu cầu của khách hàng. Từ khâu phân tích những yêu cầu, có cái nhìn tổng quan. Sau đó các manager của dự án sẽ giao việc cho các thành viên viết những phần nào đó của dự án. Các thành viên sẽ nắm bắt bản thiết kế, hiểu ý nghĩa của từng class, module, để xây dựng những hàm đáp ứng yêu cầu.

Quá trình phát triển thành sản phẩm, các tester và khách hàng sẽ "duyệt" qua sản phẩm của chúng ta và đưa ra những bugs (nếu tìm thấy) cũng như họ muốn những yêu cầu khác để sản phẩm tốt hơn (mà trước đây họ chưa hình dung ra được).

Điều này đã làm các thành viên viết phần mềm phải chỉnh sữa lại code của mình để đáp ứng yêu cầu đó. Thời gian này, manager và programers nhiều lúc lo chỉnh sữa để kịp tiến độ mà quên đi theo đúng cấu trúc, ý nghĩa của mô hình đã phân tích. Cũng có thể manager đã ko lường trước hết vấn đề, nhưng thực tế cũng có nhiều thứ mà chúng ta không thể biết hết được.
Đó là một trong những trở ngại mà chúng ta hay gặp khi viết phần mềm. Nhiều lúc đã làm dự án chúng ta thất bại. Cũng có trường hơp chúng ta phải xây dựng lại và có tham khảo đến mô hình đã thất bại.

Một điều nữa là khi viết code, chúng ta không chú trong để cách viết, gây khó khăn cho những thành viên khác cùng tham gia viết một lớp, module với mình. Vì ko có standard code. Đã có nhiều bài viết về quy định chuẩn cho việc viết code rồi (nên không nói ra ở đây).

Và nếu viết những ứng dụng thời gian thực, chúng ta cũng cần để ý cách viết sao cho tối ưu. Code của lệnh if, vòng lặp, đệ quy cần phải chú ý, vì đó sẽ là những phần tốn nhiều thời gian xử lý. Đối với những compiler ngày nay, họ cũng đã chú ý nhiều đến vấn đề này, nhưng cũng có nhiều trường hợp phải có sự hỗ trợ của programmer. Có một thư viện hỗ trợ cho CPU của Intel dựa trên tập lệnh MMX, SSE, SEE2, SEE3. Có một bài nói về vấn đề này tại đây. Và tận dụng tối đa CPU bởi việc lập trình song song (VS2005 hỗ trợ lập trình song song với OpenMP)

Trên đây là vừa điều mà tôi đã gặp phải trong quá trình viết phần mềm.

James