Will Google Chrome OS support other browsers than Chrome?

It’s almost a week old news that Google plans to release an own operating system based on the Chrome browser in the next year. After thinking about it for a while I came to the point were I have to ask the following question:

Will Google Chrome OS support other browsers than Chrome?

Basically a lot of people complained about Microsoft that they are bundling their own browser Internet Explorer with their operating system. But what about an operating system which basically IS a browser? Is it different, or will it be possible e.g. to install a Firefox to Chrome OS?

I dont’t know the answer yet, but I’m very curious if Google will become a second Microsoft in terms of OS.

Tagged , ,

Bing Censorship In Germany

My friend Sascha has written in interesting article about Bing and it’s censorship on the german bing.de site.

The german translation of it (if you are german or interested in learning it ;) ) is available at BingRank.

Tagged , ,

Microsoft’s New Search Engine Bing.com

Announced a few days ago, now it is available to the public: Microsoft started their new search at Bing.com.

It looks very similar to Google and offers similar functionalities: you can search for Websites, Images, Videos, Shopping, News, Maps, etc.

Mobile

When browsing the site with my Android G1 there was no mobile version of the site available, so I had to stick with the large site on my small screen.

Search Results

I did some initial searches for obvious stuff: I searched for Krahn or Christian Krahn in order to find my blog(s). The german version was no problem but I had difficulties finding krahn.org. One reason is that Bing forces you to use search results connected to your geographic location (which is germany for me) but my english blog is hosted with an .org domain, so Bing might think it’s not relevant to me. Well, wrong in my case.

bing_christiankrahn

Another thing I searched for is “Branchenbuch” (english translation would be “industry directory” directory, but more likely “yellow pages”). Obviously Bing uses other characteristics to rank pages, as the webpage of my employe klicktel.de is only being found on page 2 on Bling while being on the top results on Google. Guess that means more work for our SEO guys to find out how to improve “Bing rank“.

Maps

First thing that was strange is Bing Maps is not working in the Chrome browser. Hopefully that will be fixed soon. Other than that the maps implementation is similar to other sites like Google Maps or klicktel.de, map material is a bit out of date as on all the other sites. I like the implementation of the eagle view perspective on their site as the images seems to be a bit more up to date and you can pan to the next area and it automatically updates the image to that area. That’s something currently not possible in the klickTel version.

bing_map

Other stuff

I will do some more checking on the other features. Currently it seems to me that Microsoft just made a copy of the current Google features (frontend) with their own backend behind it. Another thing that leads to that opinion is that Bing.com has the same spots for ads like Google (with AdWords).

bing_ads1

Let’s see how it developes…

Tagged , , ,

How to install an Ubuntu based Web Server

I recently upgraded my old VPS, which was running with Ubuntu 6.06, to a fresh new Hardy Heron version. That gave me the opportunity to make a clean installation and configuration and then transfer my websites to the new server.

Hint: I did all the install and update stuff as root user. If you have another user with sudo rights, then apply a sudo before most of the commands here.

Updating the Apt

First step I did was updating the packages.

apt-get update
apt-get upgrade

LAMP

After that i installed the primary components, like Apache, PHP5 and MySQL:

First the webserver itself:

apt-get install apache2

I installed additional Apache modules. An easy way to do that is to use a3enmod:

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

Just don’t forget to reload your apache afterwards:

/etc/init.d/apache2 force-reload

Afterwards install PHP5:

apt-get install php5
apt-get install php5-cli
apt-get install php5-dev
apt-get install php-pear

Some more PHP5 modules are following later.

PEAR is a package repository which enables you to install additional PHP package libraries.

To make sure that my link to PEAR is up to date, I use the following command:

pear channel-update pear.php.net

Installing MySQL is rather simple:

apt-get install mysql-client mysql-server libmysqlclient15-dev

Afterwards you get asked to enter a MySQL root password. Make sure to keep that one safe!

I say I need some more PHP5 modules, so here they come:

apt-get install php5-gd
apt-get install php5-mcrypt
apt-get install php5-imagick
apt-get install php5-curl
apt-get install php5-xmlrpc php5-xsl
apt-get install php5-mhash

Additional tools

To create statistics based on my webserver’s log files, I use awstats:

apt-get install awstats

Just make sure that the folder /usr/lib/cgi-bin is password protected (or move the file awstats.pl to a more secure location.

Configuration of awstats is another topic, I don’t want to talk too much about right now. There is an example file in the folder /etc/awstats just digg through it :)

To keep the server time up to date you can install ntp:

apt-get install ntp ntpdate

Now there is always the correct time on your server.

Finally

I did some more stuff but those are the basics to install on a fresh web server. Another hint: make sure your server is able to send mails to the outside world (maybe install another MTA, but make sure only the server itself can relay mails, unless you want to use the server as SMTP server as well).

If you have anything to add to this howto, I am happy for every comment on it.

Tagged , , , , , ,

Google AdWords API 2009 – Overview and First Thoughts

Just recently Google made the new AdWords API 2009 sandbox and documentation available to the public. Some information about it is also in the AdWords API Blog.

I have started to toy around with it. I have written a mayor part of the current AdWords API integration for the company I work for, so it’s best to be prepared for the mayor overhaul Google has done with this new API implementation. Here is a quick overview and some thoughts I have about it.

Authentication

Google seems to unify the use of their APIs with a common login interface: the Account Authentication API. You can make a HTTPS Post Request to the API and use your Google credentials to get an Auth token. This token then will be used to access the functionalities of the API.

I think it is good to unify different kinds of API authentication into a single login service. I just hope that it is stable enough to endure all the load from not just one kind of service but every piece of Google API which will make use of it.

Accessing the Sandbox

I created some example codes (will publish some code in another article soon) to access the Google AdWords Sandbox. At first I had some difficulties because I don’t just use the examples from Google, I created my own kind of library to access the API. That lead to the assumption that I can always use the SOAP end url as namespace – which was wrong because the namespace for the request XML has to be

https://adwords.google.com/api/adwords/cm/v200902

while the actual xml request is being sent to

https://adwords-sandbox.google.com/api/adwords/cm/v200902/....

When sending the wrong namespace the API returns a server error, but no detailed error code about what kind of error occured. I hope Google will improve their error reporting there.

Get & Mutate – the new methods of getting data and manipulating data

Past versions of the AdWords API left the impression of a patchwork API. This time you basically have two functions:

get

Getting data is simple: just build an xml which contains all the parameters you need and send it to the API.

Example:

<get xmlns="https://adwords.google.com/api/adwords/cm/v200902">
 <selector>
  <StatsSelector>
   <campaignIds></campaignIds>
  </StatsSelector>
 </selector>
</get>

This piece of xml tells the API (assuming the header information with the AuthToken, sorry not posting that one here ;) ) to retrieve all the campaigns in the account. You can limit the campaigns by telling it to only include certain campaign IDs (filling the StatsSelecter/campaignIds node with subnodes containing the actual IDs).

mutate

Mutate is the method to create and manipulate data structures in the API.

Example:

<mutate xmlns="https://adwords.google.com/api/adwords/cm/v200902">
 <operations>
  <operator>ADD</operator>
  <operand>
   <name>Test Campaign - 1242726211</name>
   <status>PAUSED</status>
   <budget>
    <period>DAILY</period>
    <amount>
     <currencyCode>EUR</currencyCode>
     <microAmount>1000000</microAmount>
    </amount>
    <deliveryMethod>STANDARD</deliveryMethod>
   </budget>
  </operand>
 </operations>
</mutate>

It tells the API to create a new campaign in the account defined by the client email in the header (again not posted here). The additional OPERATOR tells what kind of operation (ADD, REMOVE, SET). After that all the necessary data for the operation are being added.

Final words (for now)

I think the new API is very clean and straight forward, with a new authentication method. The problems I currently see is the amount of work necessary to migrate applications based on the existing API v13 to the new v2009, but if people are using frameworks like APIlity or one of the other provided libraries, it is safe to assume that new versions will be available soon after the release to make a smooth upgrade.

I am looking forward to work closely with the new API.

Tagged , , , , , ,