MashupSpy – search for all things mashup

Standard

I have played around with Googles Custom Search Engines earlier, but now I have finally used it in a live site and it turned out quite well. On MashupSpy.com I have set up a Custom Search engine that emphazises my favourite sites about mashups – in this I have included sites about Enterprise Mashups (gartner.com), sites with lots of usefull APIs (code.google.com), sites with great tutorials (developer.yahoo.com) and sites with great mashup insipirations (programmableweb.com). See the full list of sites on mashupspy.com.

Search Engine for Mashups, APIs and Enterprise Mashups

Configuring the Search Engine in Googles control panel, adding sites etc is a walk in the park. Integrating a Custom Search Engine into the site was a bit tricky though, the documentation is far from perfect. The trick is to host the search results on your own site in an iframe (set in the Custom Search Engine control panel under “code”) and knowing that this iframe is generated by Google’s javascript when it is time to show the search result. For a while I was unsuccessfull in styling things since I tried to create my own iframe, but there is no need to complicate things like that. Also good to know is that running a Custom Search Engine locally works so-so, I got a lot of “The URI you submitted has disallowed characters.” error messages when running from localhost, but things worked perfectly once I uploaded it to the production server.

For the time it took (hours, mostly spent on learning the magics of CSS) it is an impressive functionality on MashupSpy, I will definitly use Custom Search Engines more in the future. If you have ideas on how I can improve MashupSpy or if I have missed any sites (see the full list on mashupspy.com) in my Custom Search Engine then please let me know!

Google is Evil

Standard

If it was not enough that Google massacres deers with their Street View truck I now have further proof of that they are part of the Evil League of Evil. Google Reader more or less costantly giving me bad conscious by letting me know that I haven’t keept up to date with my RSS reeds. The other day this was what meet my innocent eyes in the morning when I sat down at the computer:

666 - a street address in Mountain View

Google redeem yourself quickly and give us the gift of an unlimited GDrive service (also, please do not look at the files I store there).

10 Easy Steps to use Google App Engine as your own CDN

Standard

When the big boys run websites (basically any brand name site you can think off) they use Content Delivery Networks (CDN’s) to host most of their content, especially images, stylesheets, files to download and other static content. The reason they do this is that the less they have to host themselves the less load they have on their servers, and the more content they can host closer to the end user the quicker the user can download it. The most famous CDN is probably Akamai, that almost run their own parallell internet. Akamai and other CDN providers cost big bucks though, so it is nothing for us mere mortals.

But thanks to Google anyone can now run their own CDN for free on Googles servers. It is really easy to set up and storing files for downloads, stylesheets etc on Google instead of on your own site takes the load of your servers (and consumes much less bandwidth of your hosting account) and speeds things up for the end users. It’s a win win situation, and it is also really really cool! If you are interested in more information about how to get the maximum performance from your web site then I recommend you read the excellent post Performance on a Shoe String on 24ways.

What is Google App Engine?
Using Google App Engine you can run web applications on Google’s servers. That means that you can benefit from Google’s huge world-wide server farms, it means that it is really easy to scale and to integrate with othe Google applications (for example using Google authentication in your applications). At the moment you have to write your applications in Python (don’t worry: no coding at all needed to use Google App Engine as a CDN, just keep reading), but hopefully they will expand it to other languages soon (personally I want to run PHP and CodeIgniter on Google App Engine!). The App Engine is Googles response to Amazons very successfull web services S3 (for storage) and EC2 (for computing). Amazons services are very powerful, but they do require a deeper level of technical knowledge to use than Google App Engine.

Currently Google App Engine is in a Preview Release (= beta), but it is free for anyone to join, all you need is a Google Account and a cell phone (more about this later). What you get is 500MB of free storage and around 5 million free pageviews a month, if you use more than that there is a small cost (see the Google App Engine blog for more details). The cost for these extra resources are almost the same as for Amazons Web Services, and with the freebies and ease of use thrown in Google App Engine is a bargin.

How to set up your own CDN
To use Google App Engine as your own personal CDN you need to install some things on your computer and edit a few configuration files. All this work is a one time thing though, after that all you need to do is run a simple program to upload new files to Google. Sorry to say that the scripts you download is for Windows only, if you are on a Mac or using Linux then you need to make your on script to do what deploy_digitalistic_cdn.bat does (if you do so please add this to the comments of this post for any one else to use).

  1. Since Google App Engine only works with the programming language Python you need to download and install Python on your computer. If you have a Mac or run Linux you most probably already have Python installed, so you can skip this step. Download the correct installation file for your OS from Python 2.5.2 from http://www.python.org/download/ and install it. Use the default settings, except install it under “Program Files” instead of directly on the C: drive (or install it wherever you want, but in then you need to modify the scripts below.
  2. Download Google App Engine SDKDownload the Google App Engine SDK from http://code.google.com/appengine/downloads.html and install it. During the SDK installation it will check if you have Python or not, so if you have a Python installation problem you will know it already here. The Google App Engine SDK is needed to be able to write and upload applications to Google. Just use the default settings when installing the SDK.
  3. Sign up for Google App Engine at appengine.google.com. For this you need a Google account (your GMail address for example, if you dont have one it is free to create one).
  4. GAE SMS verificationCreate Google ApplicationOnce you are signed up you need to create an application, so just click on the button “Create an Application” and give your application a name (called “application identifier”). This name needs to be unique among all users applications, so it might take a while to find a unique one. In my case I used “digitalisticcdn”. Save your new application. After you have created your first application you need to specify your cell phone number. Google will then send you a SMS with a code that you enter into their site. This confirms that you are the owner of this Google App Engine account (so don’t use it for spamming ;).
  5. Download the file http://digitalisticcdn.appspot.com/files/digitalisticcdn.zip (hosted on my private CDN!) and unzip it to your harddrive. If you want you can rename the unzipped directory from “digitalisticcdn” to whatevery you want, for example the name of your own application. It doesnt really matter, it just makes easier for you to keep track of things in the future.
  6. Use a text editor to edit the app.yaml file in the digitalisticcdn directory. Change “application: digitalisticcdn” to “application: <your application identifier” and save the file. This will tell Google App Engine what application to upload your files to.
  7. Now it is time to add all the images, stylesheets, files, videos etc you want to upload to Google to the folders in the digitalisticcdn directory. Put all images into the /images folder etc. You can create any number of subfolders inside the images, files, stylesheets etc folders (for example /images/webhostninja.com/ninja.gif). You can always add more files at a later time, so if you just want to set things up to work you can skip this step for now. There is already an image in the /images folder for you to test that all is working as it should be.
  8. Download http://digitalisticcdn.appspot.com/files/deploy_digitalistic_cdn.bat and edit it in a text editor. This file needs to point out your Python installation, your Google App Engine installation and your digitalisticcdn directory. If you installed the Google App Engine SDK in the default directory and Python in C:/Program Files/ then you don’t have to worry about those settings. Just change the last part of the file to point to your digitalisticcdn directory. Keep in mind that all paths with spaces in needs to be surrounded by quotes.
  9. Double click on the newly changed deploy_digitalistic_cdn.bat file to upload all the files in the digitalisticcdn directory to Google. The first time you do this you need to specify your Google username and password.
  10. Ninja from WebHostNinja.comYou now have your own private CDN! Go to <your-application-identifier>.appspot.com/images/ninja.gif (in my case digitalisticcdn.appspot.com/images/ninja.gif) to see that it works.

How to use your private CDN
To use the files you upload to your Google App Engine CDN you just need to use the URL to the file on your site. If you want to show an image of a cool ninja from WebHostNinja.com you would just use digitalisticcdn.appspot.com/images/ninja.gif as your image source in your HTML. The same goes for stylesheets, files to download or whatever else you want to share on your CDN.

At any time you can add new files to your digitalisticcdn subdirectories (/images, /stylesheets etc) and run the deploy_digitalistic_cdn.bat file to upload them to Google. If you remove files from your digitalisticcdn directory and then run the bat file they will be deleted from your Google application.

You can check the statistics of your Google Application at appengine.google.com. For example you can see how much bandwidth and disk space you are using. It will take quite a lot of files and usage for you to use up the resources you get for free, but if you have a super popular site then it is worth taking a look here every now and then.

If you have read so far and found all this usefull then please Digg it. Thanks!

Paranoia around Google Knol

Standard

The blogosphere and the twittersphere (is that a real word yet?) are going crazy around Google Knol, mostly it is FOG (= Fear Of Google) and paranoia. I do not see much difference between what Google have been doing for years and what they will be doing with Knol.

What is Google Knol?
Google Knol will allow you to write an article about a specific subject. Google will host the article and hightlight it when somebody search for releated keywords in their search engine. If there are several related Knol’s then the users will help rank them and in that way provide quality assurance. The writers of a Knol have the option to get a share (50% is the speculation) on all advertising revenue Google makes from the article.

Read more about Google Knol in the Official Google Blog, Read/Write Web or TechCrunch.

Why the Paranoia?
The paranoia around Knol is that Google will kill Squidoo (whatever) and Wikipedia (yeah, right) by rolling over them with their user base and Mr. Burns-like piles of cash. The irony is that by doing all the complaining about Knol the blogosphere are once again giving Google lot’s of free publicity. I agree that it is a bit sad that Google can kill off complete ecosystems of startups just by releasing a semi-done project to their gigantic user base, but sorry to say that is the name of the game. Microsoft did the same for years, and before that it was IBM. Even Saint Jobs at Apple does this. It is nothing specific to the internet industry either. The key is that in the Web 2.0 world it is possible for startups to move and innovate smarter and quicker than the big boys, so if Squidoo and Wikipedia do not adapt and join the deadpool because of that then all I can say is R.I.P.

Another big reason for all the writing about Knol is of course that posts about Google gets a lot of attention and traffic, and thus make more money to the writer via Google AdSense.

Knol is just an extension to what Google is doing already
Google is already based on user generated content. Even their revolutionary Page Rank algorithm is based on user generated content. Think about it – every time you make a hyperlink to a page you tell Google that this page is a little bit more important than before and that it probably has something to do with the page you link from. If you make money from your page it is very likely that you do that via Google AdSense, so Google is already paying you for your content.

For Knol Google will host the content themselves, and that is basically the only difference. The content is still user generated and you can still make money on the content via Google. The only thing you really need to be aware of when adding content to Knol is that Google and not you will own that content, but other than that I see no reason for the paranoia.

First mover advantage
While the still unreleased Knol gets hyped I suggest that you start writing some Knol articles about your area of expertise to be ready to add them to Knol ASAP when it launches. Of course you need to give the article an angle that promotes you and your site. Since you will be one of the first Knol’s out there you might use this to get more traffic. Another good SEO tool.

Update: Read this very interesting article from TechCrunch analyzing Google Knol

Is Google more evil than Wal-Mart, Microsoft and Darth Vader combined (or are they as good as ice cream)?

Standard

Googles famous motto is “don’t be evil”, but in reality it is more like an information Pacman and should have the motto “must eat all data”. There is no doubt that Google is the current leader on the internet and one of the companies that really enables the Web 2.0 explosion. At the same time it is also one of the most feared companies, and is more and more being viewed as an evil empire. This is just what happened to Microsoft in the 90s. So is Google acctually more evil than Wal-Mart, Microsoft and Darth Vader?

To be clear this is not another FOG (=Fear Of Google) post, there are more than enough of those out there in the blogosphere, it is more some thoughs about why Google is starting to get the Mr Evil image.

More evil than Wal-Mart?
Wal-Mart relies on huge scale advantages and is famous for killing of small mom-and-pop stores in the cities it invades. The Web 2.0 space has very few mom-and-pop stores, the corresponding would instead be the 2 geek startup that hacked something cool looking together in 2 months using Ruby on Rails and then gets a lot of buzz. These minor startups are very vulnerable to what the Mountain View gigant does. The addition of MyMaps to Google Maps picked of quite a few startups, as did Google Analytics. So I think that small startups that does not really have a full fledged application, but more just a hyped feature (as is the case for most Web 2.0 startups) do right in fearing Google. For them Google is the same as Wal-Mart.

More evil than Microsoft?
Microsoft ruled the desktop, Microsoft ruled the OS, Microsoft ruled the office. This is still true, but the grip is weakening more and more, and Google is the main enemy. When Microsoft was the big bad wolf that dominated every part of business it entered. It was (and is) a real threat to any big and small business. Guess what, the same is now true for Google. To not be aware of what Google does is foolish for anybody in the Internet or Computer industry. With it’s massive userbase and bottom less bank accounts it can enter and dominate almost any market it sets it’s mind to. So that would make Google the same as Microsoft version 1999.

More evil than Darth Vader?
I have never met the Google founders, but I very much doubt that they have a constant asthma attack like good old Mr Skywalker Senior has. Anyway Darth Vader is one of the coolest villans ever, to I do think that comparing Google with him is a bit unfair to both parties. Darth Vader has cool TIE-fighters, Google has a replica of SpaceShipOne in the reception of the Googleplex, but the similarities pretty much end there. Still, comparing Google to Darth Vader makes for a good subject for the post, please forgive me for that.

As good as ice-cream?
So far Google has just been compared to evil things, so let’s compare them to something good instead, like ice-cream! Acctually Google has some advantages over ice-cream – almost everything is free at Google, while most ice-cream shops insist on getting my money. Google is dominating the way they are because they are providing great products that people want. We all use Google Search, and personally I am a total Google Desktop junkie and also use Google Analytics, Speradsheets, Docs etc. So as long as they are not more evil than Wal-Mart and Microsoft combined, and as long as there are not a better alternative I will stay a loyal Google user.

The key thing is of course how Google are going to use all the data they collect, the risk is that they will really invade privacy. But hey, they are fighting Paypal with Google Checkout, so how evil can they really be?