. Topicala Page Index Token

A Journal about the experiences I have developing little applications in C#, Perl, Html and Javascript and talking about things new things that I use. Always Geeky; Always Nerdy; Always poor Grammer!

I am a Software Analyst Developer working in Southport, England but living in Liverpool. I develop mainly in C# and ASP.Net. I have been developing comercial software for several years now. I maintain this site (hosted at SwitchMedia UK) as a way of exploring new technologies (such as AJAX) and just generally talking about techie geek issues. This site is developed through a host of Perl scripts and a liberal use of Javascript. I enjoy experimenting with new technologies and anything that I make I host here.

Quick Search

Web www.kinlan.co.uk

Wednesday, August 31, 2005

Recumbent Cycles

This post is a link to my uncles business, my uncle deals in Recubent Cycles. For anyone who doesn't know what a is:

A recumbent bicycle is a variety of bicycle which places the rider in a seated or supine position (rarely, in a prone position). Recumbents hold the world speed record. The back of the rider is supported, and the rider's legs are extended forward to pedals that are about the same height as the seat. Steering is either above seat steering (ASS), which uses a handlebar that is located in front of the rider, or under seat steering (USS), which uses a handlebar located under the seat. The wheels are often smaller and/or further apart than on an ordinary bicycle.

To quote my uncle.

"My name is Andrew Kinlan and I love bicycles. I'm pretty much interested in just about every aspect of cycling from its history to its future, but have a particular and faithful interest in recumbent bikes. I have owned a few and ridden many different types of recumbent cycle over the years."

"I consider myself lucky that my brother and his wife live in Holland. Regular family visits and excursions to Ligfiets winkels (recumbent cycle shops) and the annual Cyclevision event has indulged and expanded my passion for recumbents."
"The Dutch and Germans admittedly have a talent for making good quality recumbent cycles and trikes."

"My ultimate goal in starting my business would be to have a largest collection of the finest recumbent cycles people can try and ultimately buy. I must confess that I'm not an expert or professional in the cycle trade but perhaps a professional enthusiast."

"It is as an enthusiast that I have chosen the Dutch manufacturer Rainbow. They are one of a group of Dutch recumbent manufacturers that provide a supreme quality product. Riding their machines and seeing at first hand who makes them and how, has lead me to wanting to introduce Rainbow recumbents to England. It's as an enthusiast that I would like to introduce people to the experience of riding a recumbent cycles and ultimately making the right choice from a selection of quality products."

"If you have any questions concerning the recumbents or would like to test ride a Rainbow please contact me to make an appointment."
Kind regards
Andrew Kinlan

If you are interested in Cycling and would like to see some of my uncles selection please visit his site [http://rainbow-recumbents.co.uk]. I would much appreciate it.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

Tuesday, August 30, 2005

Google Desktop Beta 2 Again

Just thought I would say that I have removed Google Desktop Search Beta 2 from my machine. (But I kept the index - just in case)

My machine now runs back at normal speed, yeeehaaa!

Ah well, you live and learn.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Monday, August 29, 2005

The Failures of my first AJAX Application: Part 1

This is the first of my entries about the failures of my first AJAX based web application.

I have been talking about the positive successes that I achieved out of doing the little mini project. I must state though, that this has nowhere near been a complete failure, and that for each of the failures that I will talk about over the next week or so, I have still learnt from them and most of what I have learnt will go into the next project that I embark on.

Anyway, back on track now.

This entry is sub titled: It didn't help me provide search facilities to related topics.

A while ago, I thought that it would be a very good asset to provide value added data to each post that I create I need people to come to my site, but I also need people to be able to find related information about what I am talking about. Mainly for the purpose of providing further education to the readers. After all I cannot provide all the information a reader needs; only the start, or maybe an informed opinion.

This Value added information and resource citing leads me to a comment by Robert Scoble. Robert gives a nod towards Kevin Burton who is talking about an article about some big Web News Publishers not liking linking [citing] to Blogs where they got their article from. Robert pushes the attitude (and a correct one I think, but not what I believe Kevin was getting at) that people still think that the best way to get traffic to their site is that once you have a person in keep them in, provide everything that they need. I personally don't like this, the idea of a monolithic site scares me a little, just look at about.com [personal opinion, and not completely related to this entry]; okay they direct people to other sites, but man can you get lost in that site; is it very useful? I don't know really. But Robert seems to point out that some of the highest trafficed sites are ones that give the user some information and then point them off in the right direction for some more information.

Whilst I would like my readers to look at a couple of more entries and to email me more, I would also like my readers to use me as a moderator of opinion, a person who doesn't know everything but will help them learn a bit more by directing them to the information that they need to get where they are going. Other people can provide the information a lot better than I can, so why should I not let my reader know about it.

Really there are two threads, which when intertwined make a rope: one being a company not liking to show their sources and appearing to have obtained the information all themselves, which is probably classed as theft in some countries; and the other being one of trying to give their users all the information that they can to increase advert revenues. Ultimately, if you twist the two together they become the same thing. After all, I suppose they have the same goals.

Again I have gone a bit off track, but you will see why.

The AJAX application was supposed to allow me to provide the user (the blog author) with related searches for the main Search Engines, which would direct the reader of the article being written to more information. The only thing the application provided was Technorati Tag creation. If you compare one of my older entries, with this one, I do believe that the value that the extra "outward" information is a benefit over and above the Technorati tags that this entry will link to.

You can email me: paul.kinlan@gmail.com to let me know which you prefer.

The next version of the application, must include related search information. Related search information is very hard to create, hence why I have not done it in a while. But I do belief that if it did include it, my site would be a bit more useful to the readers that subscribe to my feed.

I have some plans to provide related searches [All via Yahoo, because no other search engine provides similar API's], but also some "quick links" that are related to the context of the entry.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Google Desktop Beta 2

Finally after making the decision to remove Google Desktop Beta 2 from my machine, I decided that I would try and explore just a little more. Low and Behold! I find a feature that I think that I might not now be able to live with out.

Desktop Timeline!

It shows you everything you have been working on for a given day, to a stupidly amazing amount of detail. It shows, when I looked at a page, when I opened a document etc.

It is a really good feature if you were to say "I was reading a page at about 12pm on Tuesday, now what was the address" or, "I was looking at a document in the evening, now what was the name of it". And it all accessed via a little date picker.

I must say. It is darned SWEET!!!!

I am going to toss a coin now to see if I keep it or not: Heads, Google Wins; Tails, Google Loses.


Sorry Google, I am removing it. I don't think I will try it again. I feel like I am giving away too much of myself to you! And my PC was really, really, really slow.


Technorati Tags
[feed], [feed], [feed]

Sunday, August 28, 2005

Channel 9 Re-Design

There are several Websites that I really respect on the Internet, one of them is Channel 9.

Channel 9 is a Microsoft website that is run by some of the developer/evangelist (Robert Scoble, Jeff Sands et Al [sorry if I missed anyone else out]) guys over there to let the Developer Community know what is going on in Microsoft. Over the past year, I have been watching their videos (Most of them are excellent), just to see what happens there and what runs through their heads.

I must say, Microsoft seems like an excellent place to work, a lot of creativity and some great minds work there.

Anyway, to get back on track; Channel 9 has had a major overhaul to the UI and I must say that it looks sweet. They have removed their Blog style vertical list of entries and replaced it with a much nicer "Most Recent" section, therefore a lot of the important content is on one screens worth of space, rather than about 9 screens worth of vertical real-estate. I have been touting with this idea on my site, but the feedback I have had is that most people like the "traditional" blog style.

The comment section, looks pretty funky. There is a lot going on on the page, but the design is a design that I like. One of the things I think is pretty cool, is the box with something popping out of it. [see the pics]. I don't know why I like it, maybe it appears they are not constrained by HTML tables and stuff, they are breaking out of it or something. I don't know what it is but I have always thought it looks pretty darn cool! [NOTE: I think this is an artifact from the fact that my screen is so small and the content of IE7 gets squashed]

They have also included a Tagging section, which list the most popular Topics that people are talking about. Ala Technorati (Which still doesn't consistently index my site). I really like this, even though it harks back to the old Yahoo style directory of topics system. It's an Idea that I think if used correctly can be a really cool and extra value added feature. I can see what people are talking about and what topics interest people. It kind of helps me, because, I know that I can determine if something I talk about will be interesting to people.

My General opinion of the new design is a BIG THUMBS UP. I really like what they have done. Well done guys.

Even if you don't like the design, I would still recommend the content of the site, it is truly amazing!

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

Google Desktop Beta 2 and IE7

I have been using Google Desktop Beta 2 for a couple of days, I have not really needed to use the searching functionality, but I can tell you this, it really slows my machine down.

Browsing the Web is so slow now, each page can take an absolute age to render.

I have also noticed Tabbed Browsing in IE7 (Internet Explorer 7) is pretty much useless on my machine now, if I go to one tab, type the address in that I want to go to, then move to another tab, the content will be displayed in the window I have just moved too. Arghh! I am pretty darn sure that this has to do with.

Additionally, trying to type in to the WYSIWYG editor on Blogger is a harrowing experience; 8 times so far, whilst writing this Entry has the Browser inexplicably locked up.

GoogleDesktopCrawl.exe seems to constantly take 99% of the processor utilazation up, with no sign of my Personal index being increased.

Outlook Integration is pretty darn slow on my machine too. If an email comes in, it appears google desktop will index it, however if you try to move the email to another folder it will lock Outlook up for a short while. And don't get me started about IMAP. For one reason or another, I have IMAP set up in Outlook, with GoogleDesktop tied in, I am pretty sure it downloads all the contents of my IMAP account each time an email comes in.

Additionally all the News is USA Biased, whilst I have nothing against this, I would like to see some UK news please.

The Whats Hot Widget is pretty nice, and for all my complaining it is quite handy to have the Email Tab integrate in to Gmail. However, the Email Widget doesn't seem to have any decent ordering on the email list.

Google Desktop; No Thanks! I am going to remove it in a couple of days.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Saturday, August 27, 2005

Proxy Script To Yahoo Related Searches

One of the other features that my AJAX application had was Related Searches. This API connected to the Yahoo API and performed a query. The query is a single search term; the results are searches that a User could perform to get similar results.

For instance if you were to put the keyword "Kinlan" into the API, it might bring back searches that would related to "Kinlan", so "Funky Person, Cool Dude and Amazing Geeza" might be some of the searhes that would also relate to the topic of Kinlan.

This is quite a handy little thing, because you can link it in with my previous entry to bring back all the related searches to all the keywords are provided.

The idea was to allow me to specify some searches that would allow the reader to target related topics and subjects through a search engine such as MSN, Google or Yahoo

Anyway, here is the code.


use LWP;
use CGI qw(:standard);
$CGI::POST_MAX=1024 * 100; # max 100K posts

my($qCGI) = new CGI();
my($YahooAppID) = "APPIDHERE";
my($baseUrl) = "http://api.search.yahoo.com/

my($query) = $qCGI->param('query');
my($finalUrl) = $baseUrl

$ua = LWP::UserAgent->new;
$ua->agent("YahooPassThrough/0.1 ");

# Create a request
my $req = HTTP::Request->new(POST => $finalUrl);

# Pass request to the user agent
and get a response back
my $res = $ua->request($req);

print "Content-type: text/xml\n\n";
print $res->content;

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Proxy Script To Yahoo API Term Extraction

Finally, here it is after a busy week.

What follows is a listing of the code I created to create a proxy that would allow me to access the Yahoo API from any browser with out having to worry about Cross Site Scripting.

This works in Internet Explorer (IE6, IE7) and firefox, and is used in my AJAX example.

Bascially, it retrieves a POST request from the browser and forwards the result inside another POST request to Yahoo, once I recieve the response, I pass back the XML to the web browser.

And thats it really.

Do you have any Questions, email me: Paul Kinlan [paul.kinlan@gmail.com]

use LWP;
use CGI qw(:standard);
$CGI::POST_MAX=1024 * 100; # max 100K posts
my($qCGI) = new CGI();
my($YahooAppID) = "APPIDHERE";

my($baseUrl) = "http://api.search.yahoo.com/

my($context)= $qCGI->param('context');
my($query) = $qCGI->param('query');
my($finalUrl) = $baseUrl ;

$ua = LWP::UserAgent->new;
$ua->agent("YahooPassThrough/0.1 ");

# Create a request
my $req = HTTP::Request->new(POST => $finalUrl);

# Pass request to the user agent and get a response back
my $res = $ua->request($req);
print "Content-type: text/xml\n\n";
print $res->content;

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Thursday, August 25, 2005

Image Filter Library

I have talked about it in the past, but there is an Image Filter Library for .Net available.

I highly recomend it for anyone who wants to learn about Programatic Image Manipulation.

The article is at CodeProject and it is by Andrew Krillov. The article is easy to follow and so is the code.

Here are the two links to the articles [CodeProject]

I have made a fish eye filter for the API

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Comming up to a round number

I am coming up to one hundred posts on my site now. Yay!

Anyway, I have noticed that I said I would post my Perl request forwarding on my website and then I realised that I haven't done it yet.

So my task for tonight is to put my Perl scripts up online, and start talking about all the things wrong with my first AJAX application.
Technorati Tags
[feed], [feed], [feed]

Wednesday, August 24, 2005


There is an article over on the Search Engine Journal about MSN bot hammering peoples bandwidth. I noticed this too on my Atom.xml file, it is one of the reasons that my most prominent RSS syndication link is on Feedburner.

MSN Bot, was hitting my Atom XML file once every minute or so from what I could tell, and it had used about 100 MB of my transfere limit. Not much really, but this was only 15 days into the month. My traffic this month has gone through the roof in comparison to previous months. I thouhgt I had more readers, turns out it might have been MSN bot.

Supposedly MSN Bot is a syndication search engine, (the artcile only mentions RSS, but it was getting my ATOM feed). It is searching for new data all the time, thus it hits your feed to see if it has changed. There is information here, and also at MSN about how to slow it down. Basically it involves creating a Robots.txt file in the your directory, which tells the MSN bot to come back in x minutes time.

I created a Robots.txt file, and it reduced the problem substantially.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Technorati Tags on Your Server

I was playing aroung with my server the other day, and on the off chance I noticed that www.kinlan.co.uk/AjaxExperiments/AjaxTag and www.kinlan.co.uk/AjaxExperiments/AjaxTag.html go to the same place. (These are some of my Ajax experiments)

Since when did Apache no longer worry about the file extension? it complains about the case of the file all the time.

I am not too sure if Apache is re-writing the URL's because I don't have root access or anything. It is just a Virtual Host.

This is good news for me because I can post URL's in Technorati Tag Form.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

A List Apart. Cool!

I was just searching on Technorati, and one of the Top Searches was for http://www.alistapart.org

They are using Ruby on Rails, I am not too sure what that is but it seems to be something based around the langauge Ruby. Why is Ruby good for developing Websites?

What is special about Ruby?

I have to admit it, their site looks pretty darn cool. I like the colour scheme, it is quite neutral. I like their articles too!

I wonder if they used Colour Theory? :)

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

Monday, August 22, 2005

Google Desktop Search 2.0 Beta

I have just downloaded the Google Desktop Search 2.0 Beta, I quite like it. I would like to be able to force it to index when not Idle, but thats the only complaint so far.

I am looking forward to being able to search for things amazingly quickly, I have held off from using others because they took up lots of resources on my pitifully weak machine. This one seems to be pretty good though.

I have installed an Adsense plugin to see how much revenue I don't get from this blog. ;)

I like the Gmail plugin that comes as standard, and the feed detection is really really good. It beats Internet Explorer (IE7 Beta 1) hands down. It shows a very simple outline of all the blog entries that I am interested in. It doesn't allow any aggregation of any sort, so it is more of a news bulletin system. Its pretty cool though.

I will post more opinions once I have played with it a bit more.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

OPML, What is the point?

I have been reading a bit recently been reading about OPML. I have the following questions:

How can I use it?
What can I use it for?
What is it good for?

People who are talking about OPML
Robert Scoble :

To Quote Robert:

OPML is the glue that COULD bring all these things together.

From what I have read, the article I quoted infers that in the future OPML will bring together pod casts, screen casts, photo-sharing and screen casts. I personally just can't see how it could; I don't get how it is supposed to work; I don't know who supports it or if they do support it, what they do with it.

Dave Winer


If you have any links or references that you think might help me can you email me: paul.kinlan@gmail.com

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Sunday, August 21, 2005

The Successes of my first AJAX Application: Part 9

This post is subtitled: It got me thinking about how I use Blogger.com

I am not too sure why I put this down as a success. There are too many things that I want to do with my blog that Blogger's Interface and features does not allow. The "Blogger For Microsoft Word" is not amazingly useful, the Posting WYSIWYG doesn’t work consistently. The tags that are available don’t seem to have been improved for ages.

I would like to see a bit more innovation by Blogger, I am positive they could do loads with their software. They don't offer more than one feed per blog. I would like to extend the RSS feeds and ATOM feeds (well I am not too sure about the ATOM feed). I can’t do this with Blogger. You can't configure the PING's that you would like Blogger to do for you on your behalf. You can't provide more that one link in the blog Post.

Saying that AudioBlogging.com looks pretty cool, not sure I would use it though. Seeing that I live in the UK and I would have to get down all that I want in one quick call. I tend to talk in circles.

I am not really too sure what I want, I would like more control. I would like tags that are configurable (such as the number of previous posts you want displayed) and some other tags, maybe the number of posts etc.

I can’t really complain, and now that I have started writing this entry I feel that I don’t have any ideas to put forward to them. It is a free service, and as free services go in comparison to paid services it is very, very good..

Anyway, the next set of post is about the failures of the application

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

The Successes of my first AJAX Application: Part 9

This post is subtitled: It got me thinking about how I use Blogger.com

I am not too sure why I put this down as a success. There are too many things that I want to do with my blog that Blogger's Interface and features does not allow. The "Blogger For Microsoft Word" is not amazingly useful, the Posting WYSIWYG doesn't work consistently. The tags that are available don’t seem to have been improved for ages.

I would like to see a bit more innovation by Blogger, I am positive they could do loads with their software. They don't offer more than one feed per blog. I would like to extend the RSS feeds and ATOM feeds (well I am not too sure about the ATOM feed). I can't do this with Blogger. You can't configure the PING's that you would like Blogger to do for you on your behalf. You can't provide more that one link in the blog Post.

Saying that AudioBlogging.com looks pretty cool, not sure I would use it though. Seeing that I live in the UK and I would have to get down all that I want in one quick call. I tend to talk in circles.

I am not really too sure what I want, I would like more control. I would like tags that are configurable (such as the number of previous posts you want displayed) and some other tags, maybe the number of posts etc.

I can't really complain, and now that I have started writing this entry I feel that I don't have any ideas to put forward to them. It is a free service, and as free services go in comparison to paid services it is very, very good.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Saturday, August 20, 2005

Want to make money blogging

It seems that if you want to make money blogging, you have to blog about making money blogging. The more you blog about making money the more money you make! Or so it seems.

A case in point is made here, http://www.problogger.net/ . Darren Rowse reported that he has made a Six Figure salary a month off Blogging, and what does he do (It is actually more than a blog about making money blogging) he seems to eat, sleep, dream and talk about blogging. I think the site is quite interesting, but I don't ever intend on competing with him that much.

He does have some good pointers about site design, content and the like. And a neat comment
I am sorry that you are offended by me earning money from blogging. A guy has to
support his family somehow and I figure it might as well be by helping people on
the net by providing them with the information that they are searching for.

Lucky Man! I think I should stick to my day job though.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

XML and Perl

Speaking about Perl in my Previous post, I forgot to mention that I will need to start doing some XML processing, before I start going off and investigating the wrong XML Parsers does anyone know of a good lightweight Perl XML Parser.

Some options that I need are:
  1. It has to be light weight
  2. Potentially support XPath
  3. Has to be a reader (itereates accross nodes) I think this means SAX
  4. Has to also support DOM.
  5. Allows Creation of XML documents, via DOM style methods or some other method which I don't know about.

If you have any suggestions, I really would appreciate hearing them.

Email me: paul.kinlan@gmail.com

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

The Successes of my first AJAX Application: Part 8

This is the 8th installment about my Successes and Failures of my first AJAX application: It got me thinking about Perl again!

I have been looking forward to this post, I don’t especially know why. When I was 16, I started a small company (which I left, but is now doing well – oh well), it was called PCBware (Paul, Chris and Ben)ware. Its name is now www.Switchmedia.co.uk (they host my Blog for me). One of the things that we did an amazing amount of was Perl. All our systems were written in Perl, it was fun. Anyway, as it transpires, other things have happened to me and I am heavily involved in C# and .Net application development now.

I stopped using Perl about 1 year ago and have not touched it since. That is until I did this AJAX application.

If you have ready some of my posts recently you will see that I was struggling with Cross Domain scripting, basically I needed to call a web service directly from the web page. Unfortunately, Firefox won’t allow this and IE will (if you are running in an unsecured manner), so the only thing that I could do was to proxy the request through a script on my server and pass the results back to the client. This had a couple of benefits, firstly it got the cross site scripting to work correctly and secondly it allowed me to hide my Developer Tokens, which for some API is key.

I will post my scripts in the next few posts. If you spot any problems let me know, because it is vital that I understand why I have made mistakes. paul.kinlan@gmail.com

Anyway, back to the subject. I really enjoyed my re-entrance into Perl, the libraries are numerous and really quite easy to use. The scripts are really simple, but they helped me no end. The scripts are based around LWP and CGI.

In the next version of my Web app, I will need to create more scripts, but I am hoping to provide more services, such as knitting differing blogs together to aggregate the data better. I also need to create one script for each different type of Web Service that I am going to allow the application to consume.

Controlling the access to the Web Service through a proxy script will allow me to do a couple of cool things, like I said earlier, I could join RSS feeds together better. I could also aggreagte multiple calls to a web service in one single call through the proxy. I have lots and lots of options.

I hit some problems with my understanding and some simple mistakes both with the client code and the server code. HINT, if you are performing a post operation, there are normally "content()" methods that allow you to pass in masses of data. Initially I was putting all this on the query string which is the wrong thing to do.

I am really looking forward to doing a bit more Perl for the next version of the application. Also the reason why I am not doing it in .Net is because I am hosted on a Linux Box.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

The Successes of my first AJAX Application: Part 7

This post if subtitled: "It helped me publish related topics on Technorati"

One of the reasons why I created the Technorati Tag Generator was to help me create the Topical tags at the bottom of the page. Initially I had three sections: a Technorati Tag Section, a Feedster Topical search section and an MSN search section. For each post about 10 minutes was spent creating Tags and search links, and about 10 minutes for each post thinking of Tags and related searches.

I am a big proponent of Value Added Data, but what really got my goat was the fact that I had to spend about an hour creating a post, 10 minutes of which would be creating the post, and the other 50 creating the data around the post.

With the Technorati tagger, it takes all of 1 minute to create the associated tags for a particular blog post. I am really pleased with this aspect of the program.

I am less pleased however with the fact that I have had to lose the other two boxes of Value Added Data. The next version of the application will add these back in. It really needs to because I have had feedback from people who have said they have missed those boxes. Additionally if it I can't get it in the application in the second version then I will fail at some of the goals I am setting out.

The hardest part about creating the two search boxes, was that I had to crawl the search engines trying to get the searches done correctly. The next version of my application will provide related searches and also a preview of the results so that I can quickly judge whether a particular search is any good.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

I really like parts of the design of this blog

I have been looking for a way to update my Blogs image. I like what I have, but it is quite generic.

I was looking at this site http://penandthink.com/niggle/ and I really like the way it shows the Blog post.

I am not too sure if I can really use this as a basis for my site, because I have been posting a lot recently, so it won't stay too static...... Saying that, it might work.

A quick question for anyone out there: If you went to a Blog, do you prefer one item that is shown, or a full list?

Currently my page I show the last 30 posts. So that you can browse them if you like. Would you prefer the current entry at the top, and then a summary of entries beneath?

All emails would be greatly appreciated: paul.kinlan@gmail.com

Technorati Tags
[feed], [feed]

AJAX Breaking Browser Navigation Buttons

I read a lot of people are complaining that AJAX applications are breaking the Navigation of the Web Browsers. I am sure most of these people also say that "Web Browser" Backward <-> Forward navigation is wrong anyway. I kinda like the idea that if I am in an AJAX based application I will get out of the application completly by just pressing the back button.

Its not AJAX that breaks the navigation. Its the applications that break the navigation. Its the applications that break the Bookmarking.

Google Maps seem to have sorted the bookmarking issue out. But you have to remember that some applications don't lend themselves to Web Style Navigation, some applications don't lend themselves to bookmarks.

More on this later after I have thought some more on the subject.

Have you any comments, leave me one or email me: paul.kinlan@gmail.com

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

The Successes of my first AJAX Application: Part 6 - What I include in my Blogs

I think that this is the most important part of the blog. There are really two sections to it. The content and the value added features.

Currently, I provide some content (whether it is interesting or not is a separate question) and some value added features (a list of topics that a reader might be able to find related information) which include the Technorati tag list and the related searches.

Okay, the related searches aren't back in yet, but they will be. It is the value added data that I think some people appreciate. It is also the value added data that got me in to this series of Blog posts (I created the AJAX application to help me create construct the value added data).

I would like to include more value added data, maybe a citation list, the related searches defiantly. However I think there is a tradeoff. Too much information looks like you are spamming. I will have to weigh up each of the value added data to see which I think is best to include.

I will have to get back in to my AJAX application because maintaining the Value Added sections is a nightmare. The Technorati tags are really easy to maintain now ;)

Do you have any suggestions for Value Added Data? Please email me paul.kinlan@gmail.com.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

The Successes of my first AJAX Application: Part 6 - The Length of the Entries

I will keep this chapter short. Whilst looking at many Blogs, I have noticed that nearly everyone but the most successful Blogs are either a) too short or b) too long. I feel that too shorter an entry all it really shows is that you are linking to something or don’t have too much to say. The longer Blog posts are mostly to long winded and I get bored halfway through. There is only so much I can read about a cats eating habits.

Therefore I hope to have a mixture of both, the short entries will have a bit of a critique in and the longer ones such as my "Success and failures" will be more articley, but keep on subject and hopefully be useful and interesting.

For instance, I am posting this chapter as a series of more manageable set of entries.

Technorati Tags
[feed], [feed], [feed], [feed]

The Successes of my first AJAX Application: Part 6 - The things I talk about

I have been thinking for a long time about what I want to include in this Blog. I have several concerns. Firstly the name of the Blog "C#, .Net Framework" I believe limits the scope of the blog. I shouldn’t really be talking about what I am now, technically. I think I might change the name of the blog into something a little more generic, but at the same time it will have a larger target area for audience attraction. The Blog will stay technical; I will try not to include personal entries into it, but I want to have a broader scope to the Blog. Over the past month or so, I have been Blogging about Internet Explorer 7 (IE7), AJAX, Firefox, XMLHttpRequest and much more. I still have plenty to talk about though including current technical news, image manipulation (I did a fisheye effect a while back)

I will, in the future, change the name of the blog. But rather than choosing it myself I might open it up to the masses to see if they can suggest a new name for the blog. This might in the long term be a publicity stunt, but I do need to get people visiting my blog and I would like to get a little more interaction in the blog.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

The Successes of my first AJAX Application: Part 6 - Improving my Grammar

The way that I write sucks! That is all that I can say, I don't think I have a very good grasp on the English language (which is pretty poor since I live in England!!). My Vocabulary is limited and my punctuation is abysmal. I am prototyping this post in Microsoft Word so the spelling and vocabulary should be fine (synonym suggestion). I believe this blog has however, has allowed me to improve the way that I write. I need to do more though. I was thinking of getting the book “Eats, Shoots and Leaves” because from what I have heard it is a great introduction to grammar.

I don’t want my blog to be a palace of grammatical correctness, I still want it to be personal, but I would like it to read well.

So here goes. Learn where to put commas correctly; learn about Semi-colons (Was the previous one correct?); learn how to structure sentences and learn how to structure sentences and paragraphs.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

The Successes of my first AJAX Application: Part 6 - Introduction

This is the sixth installment of my "Success and Failures of my First AJAX application". If you would like to talk to me about AJAX or anything else email me: paul.kinlan@gmail.com

This entry is titled: "It got me thinking about how I communicate over my blog". This focuses on several areas from who I am trying to improve my grammar; the things I talk about; the length of the entries and what I include in my Blogs.

I will try to deal with each individual point, but the general gist of this post is really about how I have and I am trying to constantly evolve my blog.

Technorati Tags
[feed], [feed], [feed], [feed]

Thursday, August 18, 2005

I have just noticed this Technorati Tagger Application

I have just seen this tagger (http://www.ultraseeker.com/tagbuilder). It is okay, all it does though is take tags that you generate and create some XHTML out of it. It has half of what I want in my next AJAX application, but that half is the easy half :)

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Cool Technorati API Update

This is just a quick entry, Technorati have come up with a Cool REST API. http://developers.technorati.com/wiki/BlogPostTags

The API, lets a developer display all the tags that a particular site has created. It is pretty cool because it lets me see that some of the issues I have been having have been resolved.

Check out http://www.kinlan.co.uk/cgi-bin/SiteInfo.pl if you want to see all the tags I have used. It is a really simple API to use, and includes some basic stats about the tag (the number of times they been used). I can see how I can use this already in my next application, I am made up.

It is simple little API's like this that I like! Keep up the good work Technorati!

Technorati Tags
[feed], [feed], [feed]

Wednesday, August 17, 2005

The Successes of my first AJAX Application: Part 5

I am just over half way through talking about some of the success of my AJAX application. The fourth part is about external API's. This actually has some relation to an earlier post that I made: Retail Web Service Therapy

The Subtitle for this entry is: It got me thinking about all the other API's that I want to see.

What I mean by this really is that I want to see more feed/blog companies exposing more about the statistics. I want to see more retail companies exposing their catalogues. I want to see more News Corporations expose their news as feeds. I want to see search companies expose their results as feeds. I want to see search companies offer more interesting API's (Yahoo is about the most interesting in my opinion).

I just want to see more, I want a central list of companies that offer their services. After all, I am a consumer to them, maybe not always directly of products, but of their data.

It also got me thinking, that I don't really know of all the API's REST or SOAP that are out there. I would love to start taking advantage of them.

I would like to add a bit more dynamism to my apps. For instance, a particular blog entry that I do I might like to see the all the important keywords, for each keyword see its relative popularity, see other keywords that might help me get a better spread of the potential search results, see the relative ranking of keywords on advert revenue (so I can work out revenue potential if needs be). From this, I would like to query other sources so that I can cross reference and provide more feedback to my viewers, this information might contain the importance of a related blog, it might contain how many people link to it, who else that blog links to. It could provide a further level of service, for each keyword that might be a product I could query the retailer and provide best buy information or maybe localised product information based on where the user resides or even information about second hand items that are only 10 miles away.

Just little things like that. I am pretty sure all of what I have talked about is not revolutionary.

What I need (and I really need help from the readers) is lists of companies that offer Web API's to their software. Companies who offer RSS feeds that provide useful information.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Word Blogger, Things I would like to see

I have been playing with the Blogger Tool for Windows, and there are some features that I would like to see go into future versions:

  1. The ability to edit the HTML before uploading to the Blogger.
  2. The ability to add Images
  3. The ability to add Tables
  4. The ability to add Select styles to text that is based on a style that I define
  5. Correctly create Ordered Lists and Unordered list. Currently all lists are un-ordered
  6. If I provide a shading for an element, I would like it be applied to the element in the HTML

This tool is way off from being "feature" complete, but it is a good start. I probably won't be using it too much because I like having the control over what goes into a post. I might use it to "Save as Draft" and then edit it later. I can get through loads of text without having to worry about my Tagging system or other styling stuff.

Technorati Tags
[feed], [feed], [feed]

Tuesday, August 16, 2005

Blogger Tool First Post

This is my first post using the Blogger Word Blogging tool.  It is pretty cool, pretty easy to use.  I would like to know If I have any control of the HTML that is created.  Only because the AJAX tool that I use only outputs HTML.  It will be interesting to see what people can do with it.  At least I have a decent spell checker!

One thing I have noticed is that if you put a smiley icon in the text it only comes out as a “(“.

Edit: apostrophes don’t come out very well either.
Edit: Images and tables aren’t supported either.  Gutted.

I think I will post a blog tomorrow with the features that I would like to see.

Edit:  It is really fast at publishing the post too.  I mean I find that it is really really fast.

Bloggers New Tool

Blogger have released a new product. Just when I filled in the survey saying there weren't developing enough cool new stuff to keep me interested they come out with this:
Word Blogger, which I think I will call Worger! :)

This is a plugin for Microsoft Word that lets you post a Word document direct to your blog. I can't wait to have a go, it looks interesting. Does anyone have any reviews of it yet? Does it keep the exact format of your Word document?

This is actually quite a timely software release, I was getting really annoyed with the WSIWYG editor that I had gone back to plain mode. Why the WSYWIG editor can't do lists, paragraphs and blockelements correctly is beyond me. (it does tag links and email addresses nicely though!)

Anyway, I will give it a try and post my feed back on my blog.

Technorati Tags
[feed], [feed], [feed], [feed]

Retail Web Service Therapy

Robert Scoble talks about how Developer API's are changing the face of retailing. I think I briefly talked about this a while back now (Are there any good web services out there: http://www.kinlan.co.uk/2005/04/are-there-any-good-web-services-out.html).

I personally think if a retailer isn't planning to create API's that enable applications to be built on top of their product catalogue, ordering systems etc, then they are losing out on a massively huge potential future audience. I can't really justify it more than that, other than it is what I belief will happen.

So I think I agree with Roberts statement, just not really that it is going to change quickly. For reasons below.

One stumbling block for me to start to use API's like EBay's is that most of the ones I find charge per call. As a Full-time developer, after hours home developer; I can't afford to start using these services to see if I can start to do something "Entrepreneurial".

Additionally, I find it hard to find companies that offer API's to their data, everyone seems so, how should I say it, keeping their cards tight against their chest.

Am I missing the point here? I mean afterall Amazon provide access to their content (if only they would allow me to list Market Place Items through the same Interface) for free. It's a revenue generator to provide open access to an API.

Has Ebay changed there per call billing policy? I am finding it hard to read their site, something has gone awry with the layout.

Does anyone know of any cool retail web services (possibly in the UK).

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

The Successes of my first AJAX Application: Part 4

This is the fourth part to my successes and failures when creating an AJAX Experimental application.

Part 4: It got me thinking about how to take advantage of the Technorati API.

Because the general idea of the application that I was starting to develop was to help automate the creation of Technorati Tags and other Interesting searches, it was a logical step to start to use the Technorati Developer API (http://developers.technorati.com/wiki/).

Technorati offers about 8 different API's which allow you to create applications based around the data that they collect from their spider. The API's are easy to use, and like the Yahoo! (http://developer.yahoo.net) API's use the REST method of interacting with web services. This has the advantage of easily being able to construct simple requests through the use of a GET command.

Their basic API consist of:
  1. CosmosQuery: Queries information about who in the "Blogosphere" <- I hate that word is pointing in to the blog specified in the Query.
  2. SearchQuery: Obtains a list of blogs that contain the query that the REST query provides
  3. GetInfoQuery: Information about a user of Technorati.
  4. OutboundQuery: Who the blog you are searching for links too.
  5. BlogInfoQuery: Information about one particular blog.
  6. TagQuery: Information about the number of blogs, and post that contain a specific tag. As well as a list of the blogs.
  7. TopTags: The tags in the popularity range n,m
  8. KeyInfo: Some usage statistics, such as the number of queries that day.

I used the Tag Query, to help determine how popular certain keywords are. (Pulled back from the Yahoo API). This helped me to determine which of the tags were important, and also the tags that would help me get the most exposure for a particular entry.

One thing that this Tag doesn't do, but I think it should, is to return the ranking of the Tag. There isn't a way to find the relative posistion of this tag. All you could do is to incrementally search through the TopTags to see where the tag is positioned.

I didn't take full advantage of the API, because there are some holes in what can be done with it. One of the features that I would like to see is the "related tags". The technorati site contains this information and I think would be a real benefit to developers if we could also access this information.

Unfortuantly the TagQuery is a little slow, it is quite heavy weight, so I had to remove it from the App, however because of this I have a couple of options when I come to redevelop the AJAX application:

  1. Only as the TagQuery to return 1 blog result. This will reduce the bandwidth and I hope the response time.
  2. Develop a Asynchronus Call manager (I have talked about in Part1: It got me thinking Asynchronosly! http://www.kinlan.co.uk/2005/08/successes-of-my-first-ajax-application.html). The call manager will be a queue based priority system, it will work out the most important calls to make first. (It won't be complex).
  3. Ask Technorati to develop a light-weight MetaData interface.

My next application will have to use both of the above points.

Any Thoughts or guidance you can give me. Email me: paul.kinlan@gmail.com

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Monday, August 15, 2005

Interesting Rumor Why Scoble is Going to Google

I now think it has definitely something to do with the pidgeons that rank all the sites.

Interesting Rumor Why Scoble is Going to Google

I am only really posting this to see if I get recognised for starting a rumor.

Anyway Scoble asks:
What I find funny is no one has started any interesting rumors about what I'm doing there. Sigh. People start all sorts of interesting rumors about Technorati, what does it take to get some creative writing going on?

Well I reckon Robert is going to Google to see how they do things, only to have an NDA slapped on him so he can't let Microsoft know their plans!.

Or perhaps they want to show him some software that will create transcripts for channel 9 interviews?

erm... I can think of more.

What is Scoble Talking about? [Not an attack or anything]

I was just reading Robert Scobles Blog Article: http://radio.weblogs.com/0001011/2005/08/15.html#a10851.

And at the end he makes the following comment:
Blogging, though, gets us close -- because it increases the number of sites everyone wants to keep up on. What happens when everyone in your family has a Flickr site and a blog? How many people are in your family? At my wedding there were more than 50 family members and I don't think that's atypical. If you're trying to keep up to date on 50 people email and Web just doesn't cut it. Will you really want to visit your brother's site every few days just to see if he's posted a new picture of his kids?

What is he talking about? Is it a nod towards "the really cool thing that will change the face of blogging" that he can't talk about just yet. [Note: If anyone has the link to when he said it, I will post it. I need to make sure I am not talking guff].

If I were to read between the lines [by the way, I nearly always read in to the wrong thing]. I would say that he is implying that there is going to be more of a private social blogging tool. A system that allows everyone in the family to let everyone in the family know what is going on. Imagine a site that all your family logs into to let them know about social events, happenings and other family stuff. Each member blogs, each of the blogs are aggregated? Maybe the head of the family gets precedence over announcements? Maybe the kids in the family all see each others blogs without caring about the parents, auntie and uncles blog entries. Just one site to rule them all? To talk to anyone else you just write in your blog, referencing another family members blog and a conversation is started. Imagine the social network analysis that could be done with all this information!

Is this feasible? Has it been done before?

Any thoughts? Email me: paul.kinlan@gmail.com, or post a comment :)

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

The Successes of my first AJAX Application: Part 3

It got me thinking about how the Yahoo! API works. The Yahoo API can be found at http://developer.yahoo.net.

I have been investing a fair bit of time investigating the Yahoo! API's. I am really impressed so far. They offer so much to a developer than the Google one does.

The main areas that I have been working in are the Term Extraction API and the Related searches API. I have also been thinking a bit about the Contextual Search API too.

The Yahoo API is called via a simple RESTful HTTP call. REST is a way of interacting with a server via HTTP and getting a response (Normally an XML document) that can be processed by most systems. Wikipedia has a good article about REST

The Term Extraction API is a really cool little API you basically supply a text string to it (say an article or blog post like this one) and a query that helps it to understand the topic you are talking about. The result is an XML document listing the top 50 most important Keywords in the text. It is really smart and very simple to use. I have also learnt today that the first 2000 characters of the input are given more significance that later text.

The Related Searches API is another cool little API, you supply a keyword and in response it gives you a series of queries that a user might type into a search engine to get results relating to that keyword. For example: I supply the word AJAX into the API and in return it gives me queries that I could use in Yahoo. So it might give me results such as "Ajax Football, Ajax Bleach, AJAX Development" etc.

In the application I have combined the two together. I submit a document (such as this blog post) via my web browser (currently IE7), it returns a list of important keywords. For each of the keywords I choose that are relevant to the blog it will then select some related searches.

Yahoo offer some other APIs, such as the contextual search. I hope to use this one to incorporate some relevant pages that are associated with what I am blogging about. With this API, you provide a context to a query, so say I was talking about the failures of my AJAX application, I would supply the blog post as a context to a normal query such as "AJAX Mistakes". Hopefully this would give me a very targeted set of results (rather than AJAX Team talks in Holland;)).

There are many other services that I am yet to think about. But you can combine them quite easily. The next version of my application must make better use of these API's. At one point I did combine the results of the TermExtraction with information about Tags (blog counts etc) at Technorati, but it was a bit too slow. The next version of the App will link in with some more API's. I am yet to really think which ones, but Yahoo and Technorati are defiantly high up the list.

Do you have any ideas of webservices I can link into? If so email me: paul.kinlan@gmail.com.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Update about IE7 Feeds not working

I have not been keeping the list of feeds that don't work in IE7 up to date for several reasons. The major reason is that I was in the middle of emailing Sean Lyndersay who is a Lead Program Manager on the RSS team.

He confirmed that the sites I had listed do in fact work with Internet Explorer 7 Beta 1 and that potentially there is a bug in the RSS code that makes all the feeds not viewable. I confirmed that every single Feed I look at doesn't render correctly anymore. Anyway, after a little email he said that the RSS code (i think for the conversion of feeds in to the "pretty" form) has been looked at and has been completely re-written for Beta 2.

He also confirmed that he has seen some feeds that don't render correctly although in his experience it is intermittent. However, in my case it is permanent; none of the feeds render, but that might be a configuration issue.

Anyway, heres looking forward to Internet Explorer 7 Beta 2!. Thanks Sean!
Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

Sunday, August 14, 2005

It appears to be the case

It does seem that technorati couldn't parse the way I had done my URL's. Saying that I definatly did them wrong.
Technorati Tags
[feed], [feed], [feed]

Feedsters API

I am just sitting here reading about the , and I am wondering what is the point.

I like the idea of them providing an API, but I just don't get what it is this API is supposed to provide. Is it supposed to be a list of feeds and related data belonging to a site? I was hoping that they would provide a content search.

However syaing that, you can quickly get do a search by substituting the query paramaters in their own search on their site, like the ones I used to provide.

Perhaps I would like to see searches through an API, but I would also like to see more meta data about searches, so for instance if I did a search for Kinlan on feedster through an API it would return information like the number of blogs "Kinlan" is mentioned in. The number of pages etc. You could instantly see the popularity of certain searches then (I could have a search that provides my page users with a count of all the people talking about me - Zero at the moment).

Also cute little API's that will enable users to see the top searches every hour. Just little things like that. I could see a lot of people integrating these features into their sites. I would.

I use the technorati api and the Yahoo API to help me categorize my blog entry. I used to have links to feedster searches (which I removed because they took me too damn long to create - the query string for searching is MASSIVE). If I could rate my searches with the number of results before I check the results and other Meta data of my search I would find that quite handy .

Publishing search results as an RSS Feed is cool though! :)

Also to use the API, I have to provide my private key, this means that I have to hide it, that means that I have to provide a proxy script on my server to get to the results data. I would like a way that I could get to the API without having to proxy all the requests from my site. Yahoo make you use an Application ID, that ID doesn't have to be secret it is just for reporting.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

The Successes of my first AJAX Application: Part 2

Don't get me wrong, my application wasn't a success. I am just dealing with the easy stuff first to prepare my self for the failures!!!

The second success of this web application is that it got me thinking about how to code JavaScript for Firefox and Internet Explorer (IE6 and IE7). There are some subtle differences about the two browsers when it comes to JavaScript support. (I suppose they are not subtle if you think about it).

In the past, all my JavaScript that I have done has always been for Internet Explorer. So it came as a shock that when I tried my application in Firefox that it simply didn't work.

Here are some of the things that I have had to deal with:
  • Getting the node text from an XML Document in Firefox requires you to do something along the lines of results.item(i).firstChild.nodeValue, where as in IE results.item(i).value worked. The Firefox method works in IE so therefore I judge that to be the correct way to access nodes in an XML Document
  • xmlDocument.getElementsByTagName appears to be a facade for an XPATH query for .//[TagName]
  • Setting an event handler on XmlHttpRequests' onreadystatechanged will not trigger for a synchronous request, whereas on IE it will
  • The table object model in IE and Firefox aren't completely compatible, what works in IE will not work in Firefox, but the reverse appears to be true. An Example of this is: insertRow and insertCell do not require a parameter in IE, however Firefox must have an indexer to the row and cell to insert.

One other thing that has got me in this application is that the JavaScript is not componentized. Separating areas of functionality that are not related into separate files should allow me to mange the code better. As a side effect, browsers cache JavaScript files, so the more that it is componentized the less the bandwidth demands on your server (Hopefully!).

I have also been thinking (in my previous post) about creating an object model for my next application. This object model should be able to create other objects (and differing types if separate browsers need different functionality), it should enable me to perform all the asynchronous work that I need to be able to do without hindering the actual way the page works. I think I will have to think about it more, but a definite structure to the JavaScript (not just reams and reams of script) will help me no end.

I will be making my applications support both browsers. Unfortunately I will miss out on the other browsers (Opera, Safari, Konquerer), but I think I will have to deal with this at a later time. However there is no harm in getting people with those browsers to come by my site and let me know what they think! :)

Therefore some requirements for the next app:
  • Make it support the lowest common denominator for browser support.
  • Ensure that the JavaScript works correctly in most browsers.
  • Componentize the JavaScript so that it is more manageable.
  • Think about designing an event driven object model.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Saturday, August 13, 2005

The Successes of my first AJAX Application: Part 1

This is the first in the series about the successes and failures of my AJAX application. With me talking about this, I hope to make a better version 2. Talking about everything that I have learnt so far is good for me and I hope to also help other people so that they don't hit some of the traps and pit falls that I ran across.

Most of the successes are related to me learning something. Most of the failures are due to me not completing features that I wanted in the application. By the end of this exercise I hope to turn each of the failures into a corresponding success.

This entry is about success number 1: It got me thinking Asynchronosly!

I think it is best to first describe how the app currently works in brief.

The user enters some text into the application. This text is the data that the user wants Technorati tags to be created for. Once the text is input it can be sent to the Yahoo web service (Currently it doesn't directly talk to the Yahoo systems, instead it is reffered to an internal Perl script on my system that will forward the request on to Yahoo.) The first of the Yahoo services returns a list of "Interesting" words. For each interesting word that is found a request is sent out to the Technorati systems, the Technorati system returns a count of the number of searches that match the "Interesting" word as well as the number of blogs with the tag of the "Interesting" word. The first call is Asynchronus, the latter are Synchronus. The first call is quick, the latter locks the application because it has to make lots of synchronus calls to the Technorati system (one call per Tag)

There is a second "related searches" step which I will not go in to yet as I will deal with that in one of my failure entries.

The reason why one is asynchronus and the other is not is because the first call only involves one call to a remote procedure, the other requires multiple calls. And until I can work out a way of allowing multiple calls from one Xmlhttprequest object in an asynchronus manner (I have an idea) then I will have to keep doing it this way. The only problem is that it will completly lock the browser (IE6) and all the tabs (IE7) if I keep doing it this way.

So to get me thinking Asynchronusly I have had to contend with different ways of calling remote procedures and web services from a web page. The next version of the application should not allow the browser to be locked; It should let the user know what it is doing and it should not have to instantiate too many request objects.

My solution for the next version will be to have the Yahoo Context parser (which is only one call) populate a queue of Interesting words. Each time the queue is fed an item, any available XmlHttpRequest objects will take the next available item from the queue and start to do some work. This work will all be asynchronus so as to not lock the browser, but this means that I will have to make sure that the if a XmlHttpRequest object is currently working then it cannot be reused, otherwise some calls will be lost.

Obviously this means I will have to create a XmlHttpRequest thread manager. It will also have to be event driven. So that when an item is queued the thread manager knows that it must service the request.

The side effect is that the page will display with not all the information available right away, but rather trickle fed into the page as each of the items in the queue are dealt with.

One of the things that I need to do (which know MSN's Start.com does) is to create an Object model that I can use for my project. This object model will be re-useable through out the app and also in other projects.

Therefore the first set of requirements is as follows:
  • Everything must be asynchronus
  • More than one XMLHttpRequest object can be present at anytime so there must be a manager to control what tasks a particular object does.
  • Because tasks will come in after each request is made. There must be a generic way of queue work items, and dispatching work to do once the result comes back
  • The user must be aware that work is being carried out in the backgroud.
  • The users browser should never be locked

Do you have anymore? Do you have any insight or suggestions that would help me. If so email me: paul.kinlan@gmail.com
Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Is there a minor problem with the way technorati parses URLs

I was looking through my logs today, and I noticed that I had not had a single referal over the past day from technorati. I investigated a bit more and I noticed none of my blogs are in any of the tag searches on Technorati.... This is odd I thought.

It is my Technorati AJAX application that creates the tag information for a post now. So there must be a problem there. I checked the HTML and I noticed that a link had the following <a href='blurb' rel='tag'>. hmmm the only thing that is slightly off there is the apostrophe instead of the double quote. I changed it so now it looks like <a href="blurb" rel="tag">. Hopefully this will sort it out!.

Should Technorati be able to parse single quotes around a anchor as well as double quotes?

ps My application is fixed now too.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed]

Colour Theory

I can"t recall how I came accross this link but it is really handy. It basically describes how colors should be combined so that they are pleasing to the eye. I never actually knew that this type of stuff existed. I am going to do a bit of reading about this because I found it quite interesting.

My limit of understanding about colour theory (Color Theory for anyone outside the UK) is to use shades of the same colour. So, SteelBlue will contrast well with LightSteelBlue.

I will have a bit of a Google for more information. I have a feeling that this will all be on Wikipedia too.

I have added it too my Favorites, I don"t know why though. (My Favorites in IE7 crash everytime I try to view them)

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

IE7 Tabbed Browsing Annoyance Part 2

This is just a quick post. It concerns how IE7 (Internet Explorer 7 Beta 1) deals with XmlHttpRequest Object (commonly used for AJAX based applications) and multiple windows. If I construct a request in IE7 that is not asynchronous it naturally will stop the browser from responding until it is completed. In IE7, if you have multiple tabs open and perform a long XmlHttpRequest that is synchronous in nature, it stops all the other tabs from responding. I would expect that what it should do is to lock the current tab and nothing else? Is my thinking correct

Has anyone else experienced this? If so email me: paul.kinlan@gmail.com and I can write a bit more about it.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Things I have learn't from my first Ajax Test

My first Ajax Application was a success and a failure at the same time. I have detialed some of the points below, and hopefully I will be able to discuss them in later posts, this will give me more content in more readable bitesized chunks.


  1. It got me thinking Asynchronosly.
  2. It got me thinking about how to code Javascript for Firefox and Internet Explorer (IE6 and IE7)
  3. It got me thinking about how the Yahoo! API works
  4. It got me thinking about how to take advantage of the Technorati API
  5. It got me thinking about all the other API"s that I want to see.
  6. It got me thinking about how I communicate over my blog
  7. It helped me publish related topics on Technorati
  8. It got me thinking about Perl again!.
  9. It got me thining about how I use Blogger.com
  1. It didn"t help me provide search facilities to related topics
  2. It didn"t help reduce bandwidth
  3. It looked absolutly terrible!!
  4. It didn"t work to quickly (but it did lead to success number 1, 2, 3, 4, 5 ..... :))
  5. It wasn"t visible to people other than myself what it actually achieved.
  6. It didn"t help anyone other than myself
  7. It genereated no feedback from anyone at all!
  8. It didn"t generate much in the way of extra traffic.
  9. It accomodated the lowest common denominator in web browsers, therefore it was not as client (as in browser) as I wanted.

With each of these points, I will guide any of the readers through my designs and desires for the next application. Hopefully, it can be used by other people as a guide of what to do and not to do.

I"ll discuss some basic requirements; show how my first idea was not really a good one and show how my next idea will be better.

I think one of the first things to do after this is to publish a "What I want" requirements document. If I have that I can think about how each of the requirements will effect the design of the Application. <- I call it an application, it is actually a dynamic web page.

If anyone has any points that they would like to yell at me. Email me: paul.kinlan@gmail.com

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Thursday, August 11, 2005

IE7 Crashes when Showing list of favorites

Following on from my previous post about concerns over the way IE7 displays favorites (here).

My IE7 (Internet Explorer 7 Beta 1) is crashing (as in every instance of it closes) when I try to view my favorites, it is okay when I view the favorites in collapsed form (see picture)

When I click on the double down pointing cheveron, it completly crashes the application. If you look at my previous post about the favorites you will see that I have a lot of unsorted favorites.

Has anyone else experienced this before. Is there a work around?
Email if you can paul.kinlan@gmail.com

I will start adding searches back in soon to the sections below, because I know a fair few people found them useful.

Technorati Tags
[feed], [feed], [feed], [feed]

A Difference I think I have noticed between IE and Firefox concerning XmlHttpRequest

I am going to do a little bit more research on this but I think I have found an implementation difference between IE 6, IE 7 and Firefox, centering around XmlHttpRequest.

In both browsers, IE and Firefox, the developer can create a script that sends an HttpReqeust out via Javascript. The following code is pretty standard:

httpObj2.open("POST", url, false); // Asyn = true, Sync = false
httpObj2.onreadystatechange = parseSearchResponse;
httpObj2.send("query="+ escape(query));

The above code will send a request synchronosly (it will block at send). Now Internet Explorer will still call the function attached to the onreadystatechange event after the send has finished blocking. Firefox on the otherhand will not call it.

Which is the correct behaviour. If anyone knows email me at paul.kinlan@gmail.com

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wednesday, August 10, 2005

AJAX Application Update

This is just a quick update to let people know that I have had a little bit more success with "routing" the Yahoo request through my servers to get the results.

Check out the AJAX Application here. It is nowhere near finished and still has some Firefox bugs. But it definatly still works on Internet Explorer 6 and 7. I just hope my bandwidth isn"t hit too hard ;)

Have fun.

Email me with any comments. If you hate it let me know. I won"t be offended.

Technorati Tags
[feed], [feed], [feed], [feed]

AJAX Application Update

I was looking at how Microsofts" Start.com () pulls in data from web feeds that are not on there own servers and it seems that they have a script that forwards on the request to the remote server and passes it back as their own.

Essentially the request is tunneled through their systmen and passed back to the client.

This is done so because browsers such as Firefox and Internet Explorer (in certain configurations) will not allow a website to get data from another domain. Which, for security reasons makes sense I suppose.

It therefore seems that for my AJAX Application I will have to take the hit of the added bandwidth for the data that will returned from Yahoo and Technorati.

I don"t think I can perform a Redirect on the XMLHttpRequest, as that will probably cause many more problems.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

Tuesday, August 09, 2005

Question to BlogExplosion Users

This is a quick question to any of the visitors from BlogExlosion.

If you came across this site from anywhere other than Blog Explosion would you keep visiting? If not, why not?

I am just trying to work out if the extra traffic it generates is from people who are interested in the topics I talk about. Or if it the content is not read.

If you feel like answering drop me an email (paul.kinlan@gmail.com) I would be grateful.


Technorati Tags
[feed], [feed]

A Minor Problem with my AJAX Application

It appears that my sample AJAX Application (here). Has some minor security issues. This is a similar problem to the problems I have in Firefox, cross site data access.

The work around for this is simple in IE6 and IE7 (although not preferable). If you go to "Internet Options -> Security -> Custom Level" and select the option under "Miscellaneous" select "Enable" in the "Access data sources across domains" section.

See the image.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Monday, August 08, 2005

AJAX Technorati Tagger

My First AJAX Application is now up (here).

Some thanks must go out to Bill Bercik whos sample AJAX application I looked at and used a smidging of code from (The AJAX object factory).

The way to use the application is to as follows:
  • Enter some text into the first page. This text has to be more that a couple of words.
  • Click "Submit", this will call the yahoo web service and present the user with a list of "potential" tags for technorati. (There will be a hook in to technorati here at some point in the future).
  • Select the tags you wish to use and click next (this next step might take a while).
  • When on the next page it will give the user a list of related keywords (again from Yahoo!), [NOTE: Selecting the search results is not nesecarry because it doesn"t do anything just yet].
  • Click "Finish", to generate the link list that looks similar to mine at the bottom of this blog entry.

Anyway all comments, hate mail etc is accepted :)

ps. There are a lot of Bugs to be ironed out. :)

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

The Previous Entry Worked!


The previous blog entry was created with "Kinlans Automatic Tag Generator".... I say Kinlans, I am using Yahoo!'s Web service. (http://developer.yahoo.com).

I am pretty darn chuffed! The next entry should include a link to the Ajax app. Trust me, it looks naff but it works for me. I need to do some more experimentation with this stuff, especially the Yahoo searching as well as Technorati Integration.

But other than that it is pretty cool. Should I include the tags in this post..... Yeah go on I hear you say :) The masses have spoken (well 6 are in the mass) :)

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Just a little something I am working on

I am currently working on a little AJAX application. Over the past few weeks, with each blog entry that I have written I have struggled to keep the Technorati Tags, Feedster and MSN search boxes up todate, with the AJAX application I will automatically be able to generate these information boxes with relevant tags and searches.

Basically it is a Javascript only Webservice queryer. The client side parses the results and uses these results as the input for another webservice..... It's all about integration! :)

Currently it only supports Internet Explorer (IE7, and IE6), Firefox support is lacking at the moment, purely because I cannot import datasources from sites other than the current domain. I think this is a major downer really. I am quite restriced with what I can do in Firefox, but I suppose that is part and partial of the secure nature of the project. I have read about some Javascript code signing that might work; I am yet to investigate this route though.

Currently the AJAX appliction integrates with Yahoo webservices. But it will integrate in to technorati too. I am hoping also that I can find some developer support at Feedster and see what I can do with their systems.

I need to iron out some "Key" security issues that I have, I don't particularly want to have to show the public my Yahoo! key but If I must, I must.

I hope to get I prototype up tonight so that people can break it. And I can get feed back.

More a little later. Hopefully the tags below will be generated by this tool!
Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Thursday, August 04, 2005

Important Information for web publishers about IE7 feed detection

Just the other day, after I have been posting about how IE7 automatically detects feeds I have found a link (http://blogs.msdn.com/rssteam/archive/2005/08/03/446904.aspx) by the Longhorn RSS team at Microsoft which details some information about how IE7 detects feeds on a page.

Currently, beta 1 only supports RSS. Atom support is expected in later Beta's. For IE7 to detect a feed on your page the page must contain the a snippet of HTML similar to:

<link rel="alternate" type="application/rss+xml" title="your feed title here" href="http://www.company.com/feedurl.rss">

This will enable IE7 to auto discover the feed for the page. What IE7 will not do is to automatically show feeds that are linked to directly on a page. Furthermore, if the if the "type" attribute on the "Link" tag is "text/xml" (like it used to be on my page) IE7 Beta1 will not pick it up as a valid feed. I have no idea if this will be fixed in the next versions.

I would have liked it to display a notification of other feed links on a page, so that I can quickly subscribe to these. On my blog, related topics are given to the user via a link to an HTML page or via a link to a RSS feed. I would have liked it if some of these would be visible to the user via the feed notification button.

I have adjusted my blog to now indicate that it has a feed (thanks to the RSS teams blog article), however it still doesn't render in IE7 properly.

One thing to note about the RSS feed is that it is converted by 2RSS.com on the fly, so it will also include adverts in. Sorry about that.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Feedster Topics
Auto Discovery [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

MSN Searches
Auto Discovery [feed], Internet Expolrer [feed], IE7 [feed], IE7 RSS Feed Discovery [feed], IE7 RSS Feed Annoyances [feed], IE7 RSS Feed Suggestions [feed], IE7 RSS Feed Problems [feed]

Wednesday, August 03, 2005

RSS Feeds that don't work in IE7

I have updated this entry at (http://www.kinlan.co.uk/2005/08/update-about-ie7-feeds-not-working.html) after to speaking to the RSS Product manager at Microsoft. Seeing as this is my most popular post, I would appreciate it if you take a quick look at the link. Thanks.

Original Post
This is the blog entry of feeds that don't work with IE7. That is feeds that don't display in the IE7 Feed viewer. When I say don't display, I actually mean that they don't render in the new format that IE7 supports.

I would like to know what is special about these blogs to cause them not to render correctly.

IE7 Blog
Microsoft Developer Relations: Channel 9
Scobles blog [Excellent Blog]
Paul Kinlan [My Blog, converted automaically by 2rss.com]

Anymore? Email me paul.kinlan@gmail.com.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed],

Feedster Topics
Auto Discovery [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

MSN Searches
Auto Discovery [feed], Internet Expolrer [feed], IE7 [feed], IE7 RSS Feed Discovery [feed], IE7 RSS Feed Annoyances [feed], IE7 RSS Feed Suggestions [feed], IE7 RSS Feed Problems [feed]

Internet Explorer 7 Favorites Problem

I have a bit of an issue with IE7's favorites. If you have too many favorites to fit on one screen IE7 splits the favorites into multiple columns of favorites. I think this is a bit of a bad design. I kind of like the old IE6 method; scrolling menus.

Just take a look at this image to see what I mean.

Pretty bad huh. Okay I know that I have a lot of unorganised favorites and I should probably sort them... but still, I can't see the screen, the favorites menu even covers my my toolbar. Argh! :)

Technorati Tags
[feed], [feed], [feed], [feed], [feed]

Feedster Topics
[feed], [feed], [feed], [feed], [feed]

MSN Searches
Internet Expolrer [feed], IE7 [feed], IE7 Favorites [feed], IE7 Annoyances [feed]

What I thought was a smart Idea.

With the introduction of IE7 and the automatic RSS feed detection and the special search tags that I am now including at the footer of each blog entry, I had a thought: Why not include all the feeds specified into an RSS feed that summates the results of all the tags. This feed would be viewable by your favorite browser or feed reader. It would get the results of each RSS feed and genereate a new RSS feed, and the best bit was that it shouldn't requrie any special server or program; Just the browser/feedreader that the user used.

I quickly thought about this and thought the possiblilties would be endless (well nearly) I could provide a short feed file, that linked to the other blogs/feeds etc, my server resources would be minimal, the feed owners would see extra traffic and hits to their blog (fully credited of course) and the users would get the best of both worlds. All the processing would be done on the client.

I knew that the RSS 2.0 format could be extended with custom schema elements, so I could extend the channel element to include links to extra feeds.

I developed an extension to the RSS 2.0 format, it would extend the Channel element by including a new "Sources" element containing a collection of "Source" elements each of which simply pointed to the RSS feed that it needed to include.

<?xml version="1.0" ?>
<?xml-stylesheet href="rssFeed.xsl" type="text/xsl" ?>
<rss version="2.0" xmlns:merge="http://kinlan.co.uk/merge">
<link> </link>
<description>Kinlan RSS feed.</description>
<managingEditor>Paul Kinlan</managingEditor>
<Source id="Technorati"
href="http://feeds.technorati.com/feed/posts/tag/Styling" />

I then developed a simple XSLT that would scan this "plain" RSS feed and pull in the RSS feeds specified by the Source element. I know MSXML does this. There is the ability to import another set of nodes from an external document in MSXML's XSLT engine (it might be standard, I am not too sure).

<?xml version="1.0" ?>
version="1.0" xmlns:merge="http://kinlan.co.uk/merge">
<xsl:output method="xml"/>
<xsl:template match="channel">
<xsl:copy-of select="/." />
<xsl:element name="rss" namespace="">
select="/rss/channel/merge:Sources/Source" />
<xsl:template match="/rss/channel/merge:Sources/Source">
<!--Import Some More Documents -->
<xsl:copy-of select="document(@href)//item"/>

I tested it locally and it worked! Bonus! This is easy I thought to myself. Here in front of me, I have 3 seperate RSS feeds merged into one simple feed. I thought on, with a little more development I could provide sorting, so that the output is sorted by date and all the feeds are merged in to one list.

Then it hit me! I uploaded the xml and the xslt to my web server, I set it to so that it was pulling in two remote technorati feeds. I typed in the URL and .................... ERROR!

Pants! Why did this happen?

I quickly thought on.
  • IE has security (no jokes please ;))
  • IE has data island security
  • I was essentially pulling in data from a domain other than the one I was in.

I was stopped in my tracks, I couldn't pull in anything that wasn't on my own domain (kinlan.co.uk). I took a little more time to think about what had happened and I realaised several other things that would stop me down the line.

  • It is fine and dandy having data pulled in from different sources by the client that needs them, but there is no guarantee that the engine that pulls them in will have an XSLT Engine, let alone MSXML.

  • If I wanted it all done on the client, I can't use any fancy AJAX stuff either, nor could I use any MSXML objects in the browser for the same reason as the previous point.

Both of the above points meant that if a non Internet Explorer client, perhaps RSS Bandit etc pulled down my feed all it would see is an empty blog with my custom elements.

Oh well, if it worked it would have been cool, because it didn't work I have learnt some interesting stuff! :)

Here are the links to the XML and the XSLT.

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Feedster Topics
[feed], [feed], [feed], [feed], [feed]

MSN Searches
Internet Expolrer [feed], IE7 [feed], IE7 RSS Feed Discovery [feed], Using XSLT to display RSS [feed]

Tuesday, August 02, 2005

IE7 RSS Feed Update Part 3: The case of the found feed which doesn't display [Is it a Bug]

I was pretty sure that there are some feeds that get found by IE7 yet don't display correctly if at all in the "Feed View". If you direct Internet Explorer 7 towards channel9.msdn.com, you should see that it detects a feed is available, now if you try and view the feed all it shows is the XML.

Why doesn't it XSLT the feed correctly. I don't know? But if you do, let me know. I am thinking of starting a list of feeds that do not appear to render correctly, it might be a bug, it might not. But if anyone from Microsoft stumbles accross this site it might help them.

If anyone who reads this blog [I know there are at least three people now :)] knows any feeds that don't render drop me an email [paul.kinlan@gmail.com]

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed],

Feedster Topics
Auto Discovery [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

MSN Searches
Auto Discovery [feed], Internet Expolrer [feed], IE7 [feed], IE7 RSS Feed Discovery [feed], IE7 RSS Feed Annoyances [feed], IE7 RSS Feed Suggestions [feed], IE7 RSS Feed Problems [feed]

Note To Self. Learn to read the title of the blog

Doh, "I good test to check out the alpha transparency and I missed it!".

should have been "A good test to check out the alpha transparency and I missed it!"

Hehe, oh well :)

Monday, August 01, 2005

I good test to check out the alpha transparency and I missed it!

I missed out on the last post trying out the alpha transparency. I know its been blogged about here, but I should have really tried it out.

Well anyway, here goes!


Here is the original picture

Its garish I know, but it highlights the green fade to a white colour on the back ground (html span )of black . Eep, but cool :)

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed]

Feedster Topics
Auto Alpha Transparency [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

MSN Searches
IE7 Alpha Transparency [feed], Internet Expolrer [feed], IE7 [feed], IE7 RSS Feed Discovery [feed], IE7 RSS Feed Annoyances [feed], IE7 RSS Feed Suggestions [feed], IE7 RSS Feed Problems [feed]

IE7 RSS Feed Update Part 2

Another thing I have just noticed is that you can auto add feeds to your favorites if you click on the feed button in the tool bar. To be able to add the feed into your favorites straight away you can go to the IE 7 options, select the content tab and then select "Feeds" from the "Feeds Auto Discovery" content pane. This brings up the following dialog box:

My Opinion however is that this dialog is a little bit thin on the ground. It doesn't really provide much, other than a partial solution for my suggestion in "this post".

I would still really love to be able to have options that I can choose from on a per feed basis as IE7 finds them. Not just "view" or "auto add to favorites".

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Feedster Topics
Auto Discovery [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

MSN Searches
Auto Discovery [feed], Internet Expolrer [feed], IE7 [feed], IE7 RSS Feed Discovery [feed], IE7 RSS Feed Annoyances [feed], IE7 RSS Feed Suggestions [feed], IE7 RSS Feed Problems [feed], RSS Bandit [feed]