Saturday, September 10, 2005


The Failures of my First AJAX Application: Part 9 [OPML]

This is the 9th an Final part of my Failures of my First AJAX application series. This is titled: "It accomodated the lowest common denominator in web browsers, therefore it was not as client (as in browser) as I wanted."

Hmm, looking at that I am trying to remember exactly what it meant.

Ahh, now I remember.

I am used to developing in Internet Explorer, so whilst coding and testing the App, I didn't give much notice to Firefox. I kind of just assumed it would work.

The first time I tested in Firefox, I got a lot of security errors (Cross domain data retrieval). Once I had sorted that out by creating proxy scripts I tried it again. This time the errors revolved around the fact that XML DOM model is slightly different in both browsers and requires a little bit more effort in the Javascript to have the same code that IE and Firefox can both use to process XML nodes.

So basically the moral of the story is that you should always think about cross browser support before you start to develop, it will save you a lot of time in the long run. Think about features that one browser has that the other doesn't. If you do this correctly then you should be able to code around the missing features, much like CSS developers do.

The next version of the application will be completly cross-browser compatible, I might even consider testing it in Safari and the like [I need you, the reader to help me here :)].

That pretty much concludes the Success and Failures series, and it has been a great help to work out the requirements for my next version of the application.

Hopefully one of tomorrows entries will contain the start of formalising some requirements. :)

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


Minor Test in the AJAX Tagger [OPML]

I have just done a little experiment with the existing application. I have in the past talked about Citations and problems finding previous articles that I have written so that I can cross reference what I have been talking about. I have added in some functionality that will search, to find in articles that are related by keywords that have been selected by the tagger.

All this is using the Yahoo API and it works pretty well. For each tag that the I select from the article that is inputted in to the Ajax tagger, a link is shown for each of the posts that contain that key.

Give it a go if you want: and use this entry as an example input.

This is just a test at the moment, but some other more important aggregation features will be in the next version of the application.

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


The Failures of my First AJAX Application: Part 8 [OPML]

This is the 8th installment of my Failures of my First Ajax Applicaiton and is titled "It didn't generate much in the way of extra traffic".

There is not too much to say for this one really. I was hoping that it would generate a lot of needed interest in my web page so that potentially I might be able to earn some ad revenue, but after working on the project a little I have realised that revenue is not too important, just getting people to use it is more important.

Once I am happy with the requirements for the next version I will have to work out some sort of "marketing" campaign, which will really highlight the benefits of this application.

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


MSN are launching APIs [OPML]

Yes! Yes! Yes!

MSN are launching API's that enable developers to access their search results accoriding to the Search Engine Journal which quotes an article by the Search Engine Watch. Basically if you go to you see a holder page which tells us to come back on Tuesday 13th of September.

Expect me to investigate them and talk about them here and on I just hope they do something innovative like Yahoo's related searches, Contextual searches and Term Extraction and not just provide access to their search results [which would still be cool though].

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

Friday, September 09, 2005


The Failures of my First AJAX application: Part 7 [OPML]

This is the 7th instalment of the failures of my first AJAX application and more commonly know was "It generated no feedback from anyone at all!"

As in my previous post, when I was creating the application I had grand ideas about the people who might use this application. I had visions of thousands and thousands of people using it and having to ring up Yahoo to ask to have my 5000 daily query limit increased.

In actual fact, I was really the only person who used the application. Even though I was posting about it in my journal I didn’t receive any feedback at all from the public.

This got me thinking. Even though the application is primarily for my benefit I would dearly love other people to use it. I would also need to get people talking about it. I would also need all the information to be available in one place (regarding the AJAXTagger).

My first step to more exposure is this Blog. All my content will still be aggregated on, but this blog is designed to deliver all the information about the development and use of the application in one simple place.

My next step after this will be to promote it. I need people to start talking about it; I need people to investigate the functionality it offers; I need you to use it, break it and criticise it!

Do you have any ideas how I might do this? Email me or leave a comment. I need the feedback to make this application better for me and for you. Every comment and suggestion will be taken on board.

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


The Failures of my First AJAX application: Part 6 [OPML]

This is the 6th instalment of the failures of my first AJAX application and it is subtitled "It didn’t help anyone other than myself".

To be brutally honest, when I had this idea for the AJAXTagger I think I thought I would solve my problems with tagging my posts and also everyone else's problems.

The idea is a simple one: to provide the user with tags that Technorati can pick up without the user having to manually handcraft each tag; additionally each tag would be auto picked based on the context of the journal entry.

There were some other features I wanted in the app based around related searches, citations but they had to get pulled.

As I was creating this as my first ever AJAX, XMLHttpRequest application I knew that it wouldn’t be great, but I still had delusions of grandeur.

In the end the only person it helped was me. Looking back, this is absolutely fine by me. It helped me not get bogged down by all the extra leg work to make my blog a little more special. It helped me enjoy Blogging.

So….. [I am trying to think why it was a failure, when in actual fact it was a very good learning experience].

I think the next version of the application will be more focused around what I need, but with an eye on what extra value it might provide other users. If it adds extra value to my readers then that is all that matters.

Keep watching.

If you have any features that you would like to see, email me or post a comment.

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


The Failures of my First AJAX application: Part 5 [OPML]

This is the 5th post about the failures of my AJAX application and it is subtitled "It wasn't visible to people other than myself what it actually achieved."

If you were to look at my application without me explaining what it did, you would not understand what it did and what it was supposed to achieve. I am a great beliver in intuitiveness and the ability to understand what an application\product is supposed to do with very little prompting from a user manual.

If you look at Google's site, you know you are supposed to use it to search the Internet and that when you try to search you know that you are about to do it….. If you get my meaning.

The AJAXTagger wasn’t in the slightest bit intuitive, it wasn't obvious what it was supposed take as input and neither was it clear what it should produce as an output. Through each stage of interaction with the application it wasn’t clear what the user was supposed to do to move on to the next stage.

I asked a couple of my friends to try it, and they got stuck at the first page (the page where you insert the text that you want tagging). They didn’t see the point (until I showed them a Demo). Once they started using it, it was quite simple for them to see how to use it.

I found it really useful. From taking about an hour to do a complete post (including Technorati Tags) it now only takes the time it takes to write the entry; about 30 minutes in total.

The next version of the application must be intuitive. It must be obvious what the program does, what it achieves and what user interaction it expects. Not only for my use, but if I wanted to promote the application and get as many people as I can to use then it must work and work well.

Some of this can be solved by some hints and tips in the application; others can be solved by better visual queues (maybe including a sample document to tag – to show the user what is expected as an initial input) and perhaps other problems can be solved by a more insightful UI. Finally, better user documentation would be needed.

If you have any recommendations about making the AJAXTagger easier to use and more insightful please email or post a comment. I will respond to every comment.

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

Thursday, September 08, 2005


Creating a Second Blog [OPML]

I am starting a new Blog alongside this blog that is completly dedicated to my AJAX Tagging HTML application.

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


OPML and BBC Radio 4 [OPML]

I was listening to ShopTalk, a BBC Radio 4 Broadcast the other day and the topic of conversation was about Web logs and the Blogosphere. There was an interesting comment by one of the guest speakers [a woman whose name I can't remember]. The comment roughly went like this: Bloggers in the US and the rest of Europe tend to link to other sites and other bloggers a lot more than UK bloggers. [Currently there is no permalink for the current issue]

So being a UK Blogger, I promise that I will upload an OPML File so that you can know who I read. :)

I think I am starting to get the point of OPML. Well, the basics of using it in an RSS Feed and Online Journal. I will just be using OPML to show a list of feeds and how I have catagorised them.

I am also tempted to provide a part of the site where I explicitly just link to other interesting articles that I read in the feeds that I subscribe to, along with a small comment.

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

Tuesday, September 06, 2005


The Failures of my First AJAX application: Part 4 [OPML]

When I first started investigating AJAX as a potential methodolgy for creating a really cool website, I thouhgt that it would solve all my problems, my bandwidth problems, my UI problems and that it would be really really really quick.

But it didn't.

This entry is entitled "It didn't work to quickly (but it did lead to success number 1, 2, 3, 4, 5 ..... :))"

The very first iteration of the application included some Technorati Stats for each tag, so you knew whether it was worth creating or not and also related searches for each of the tags provided by the TermExtraction API.

Each of the above two proccesses where Sequential (thus only JAX and not AJAX). For each Tag it would perform two queries, thus meaning that the overall speed of my application was limited to:

(time of technorati request + time of yahoo related searches) * number of keywords selected by the TermExtraction API.

Yahoo was pretty quick; Technorati's performance was diabolical.

I eventually pulled the Technorati API, and stopped using the Yahoo related searches. The reason I pulled them rather than reworking the app is at the time I didn't want portions of the page to be trickle filled, I wanted the page to be fully completed before the user viewed the results. Having a fully rendered page negates the benefits of AJAX principals, I might as well have had the server generate the complete page.

The next version of the app, will be fully async, because there will be a built in request manager. Thus the results will trickle in and be parsed and displayed as they arrive. When one result is in, it may trigger other queries that will be completly managed in the background.

To see what I mean, play around with my AJAX Technorati Tagger: Simply enter some text, maybe a news article or one of your journals and see what happens.

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

Monday, September 05, 2005


The Failures of my first AJAX Application: Part 3 [OPML]

This is the third installment of my Failures of my First AJAX application and it is titled "It looked absolutly terrible!!"

If you take a look at my application you will see that it looks diabolical. I realised about five minutes into my experimentation that I really need to improve my design skills. I thouhgt initially that it might have been the tools I was using, but as the old saying goes "A bad worker blames his tools".

I then realised that whilst I am quite good at programming, I sometimes lack the designers eye; that is to say I have a vision but not the skills to implement the final vision.

I can conceptualize the code easily and the implementation, it is just the UI that lets everything down.

The reason that this was the case is that the implementation of the software was highly dependant on the UI. The UI drove the application code. The next version of the software should be highly UI agnostic. The code that calls the web services, should not rely on the HTML elements, rather it should rely on the data structures present in the application. The UI should interrogate these data structures to determine what information to display.

In essence, the next version of the application should be tierd better. The UI and the Logic (Business Logic if you like) should be loosly coupled together. I should be able to change the Logic without affecting the page and likewise, I should be able to change the UI without having to alter the AJAX logic etc.

This would allow me to concerntrate my efforts on indiviudal parts of the application at any one time. So I can develope an AJAX framework, the business logic and the UI all independantly of each other.

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


Question About Site Searches [

I am starting to have trouble finding things on my site and am in need of a search engine for the contents. I was thinking of going with Googles site search because I might be able to get Advert Revenue, but I don't think that it is really an issue.

Does anyone know any good, free site searching software. If you do drop me an email: or leave a comment.

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

Sunday, September 04, 2005


The Failures of my first AJAX Application: Part 2 [OPML]

This is the second instalment of the "Failures of my First AJAX application" and is subtitled "It didn’t help reduce bandwidth".

One of the initial goals of the application was to access all the web services directly from the page without having to pass any queries through my own server. This would mean the only data that my server sent to the client would be the HTML and JavaScript for the page. All other requests would be handled by the client and would be directed straight to the third party web service. This would greatly reduce my bandwidth demands.

The diagram shows that my server should only return the response to the initial request. And the client will handle all the other requests by use of AJAX method (JavaScript and XML) directly with the required web services.

It turned out differently however. The actual implementation suffered from lack of foresight. As soon as I created what I thought was my ideal solution [see above], I ran across problems running the AJAX code in Firefox. I also then realised in a high security environment in IE 7 and Internet Explorer 6, data binding across data sources is disabled.

To get around this I had to create proxy scripts [here and here]on my server that the client page would call (because it is on my domain name IE and Firefox would allow this). All that the client scripts do is to pass a request that the client makes onto the correct web service. [see image below]

There is an added benefit to using a proxy script; you can hide any secret information that should not be available for the client to see, things such as the developer token that Technorati requires.

The major downside that I see and the point of this entry, is that I have to handle every client request to the desired web service rather than having the client manage the request. Thus increasing my bandwidth demands.

I fully intend to support in the next version systems that allow cross domain data sources, because it will greatly help my bandwidth demand situation. But there may be some situations that I need to perform multiple calls to web services in one single call to my proxy script.
Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

This page is powered by Blogger. Isn't yours?