Hello.

I am Paul Kinlan.

A Developer Advocate for Chrome and the Open Web at Google.

I love the web. The web should allow anyone to access any experience that they need without the need for native install or content walled garden.

Day 1 of the DevWeek Conference

Paul Kinlan

DevWeek Conference Day 1: Jeff Prosise's keynote covered the history of web programming, from CGI to ASP.NET AJAX and WPF/E. While I enjoyed his talk, I would've preferred more focus on the future. The "Attack and Defense" session was disappointing, lacking depth compared to available online resources. David Wheeler's "Practical Patterns" was a highlight, with clear explanations and code examples of design patterns. The vendor presence was smaller than expected. Infragistics showcased promising XAML controls, while TechExcel impressed with their enthusiasm and software demo. Other vendors, like NAG and the Enterprise Architect distributors, could have been more engaging.

Read More

DevWeek 2007

Paul Kinlan

Arrived at DevWeek 2007 last night. Looking forward to the keynote by Jeff Prosise on ASP.NET AJAX and then attending architect track sessions on securing ASP.NET 2.0 apps and practical patterns in .NET. Hoping to post summaries if internet access allows.

Read More

Got a Windows Live Writer Plugin Working

Paul Kinlan

I finally got a Windows Live Writer plugin working after starting from scratch! Stay tuned as I'm planning to integrate my Ajax Tagger into the Windows Live Writer framework soon. This will be a cool experiment combining Web 2.0 APIs with Windows Live Writer.

Read More

Integrating Google calendar in your website

Paul Kinlan

This blog post shares a method for integrating Google Calendar into a website using PHP and JavaScript, based on an article from ajax.phpmagazine.net. The author also expresses interest in syncing their Blogger blog with their calendar.

Read More

AJAX Tagger

Paul Kinlan

I've created a new tool, AJAX Tagger, to help bloggers enhance their posts. It leverages AJAX to dynamically suggest related articles, topical tags, encyclopedia definitions, and images. It even integrates with your affiliate programs to recommend relevant products. Check it out and let me know what you think!

Read More

Ajax Tagger

Paul Kinlan

I'm planning to dedicate more time to improving the Ajax Tagger, focusing on addressing some necessary bug fixes.

Read More

Ajax Tagger is Updated

Paul Kinlan

The Ajax Tagger has been updated with a number of bug fixes and improvements. Key changes include using my own Tag Directory for related tags, providing Yahoo search results as RSS in OPML output, and fixing issues with menu item classes, OPML apostrophe escaping, and image selection persistence. Planned future enhancements include a Blogger interface, Kelkoo integration, addressing a cross-domain CGI request security warning, and Del.icio.us OPML integration.

Read More

Thanks Digger

Paul Kinlan

A big thanks to the first person who Dugg my Ajax Tagger on Digg (I think it was Zoodle)! I'd love to hear your feedback on it, good or bad. Let me know what you think! :)

Read More

Malformed OPML

Paul Kinlan

My OPML files are malformed, specifically the apostrophes in attributes aren't escaped. If you use my Ajax Tagger v2, I apologize for this error, but it seems like it hasn't impacted many users so far.

Read More

Malformed OPML

Paul Kinlan

My OPML files are not correctly formatted, specifically with unescaped apostrophes in attributes. This issue affects users of my Ajax Tagger v2, but I haven't received reports of any problems so far.

Read More

Google Search: ajax definition .net for dummies

Paul Kinlan

This post explains AJAX (Asynchronous JavaScript and XML) and its use in .NET. AJAX allows web pages to update small sections without reloading the entire page, improving user experience. Traditional ASP.NET (1.x) struggles with this as it's designed to reload entire pages. However, .NET's flexible request pipeline allows plugins/HTTPHandlers to manage AJAX requests, enabling developers to execute specific methods within a page. The post lists several .NET AJAX frameworks, including AjaxPro, Arshad.NET, and AjaxAspects, and points readers to ajaxpatterns.org for more options.

Read More

Ajax Tagger Update

Paul Kinlan

I've updated the Ajax Tagger to Version 2.0! This update fixes a bug that's been present since Christmas. I've also added a Google Ad to the site.

Read More

Suggestions for finding related blogs

Paul Kinlan

I'm developing Ajax Tagger 2.0 and need ideas for displaying related blogs within the application and its output. I'm also searching for a good search engine (besides Technorati and Google) to find related blogs and feeds. Any suggestions? Please email me or leave a comment.

Read More

Update To AJAX Tagger Version 2 [New Domain]

Paul Kinlan

I've updated the AJAX Tagger and moved it to a new subdomain: ajaxtag.kinlan.co.uk. This should make it easier to access. The old location (www.kinlan.co.uk/AjaxExperiments/AjaxTag2) will still work and be updated alongside the new address.

Read More

Update to AJAX Tagger OPML Ouput

Paul Kinlan

I've updated my Ajax Tagger 2.0 tool! It now provides related search results and outputs them as OPML, including RSS feeds for search engines like MSN, Technorati, and Google Blog Search. I'm looking for more search engines that offer RSS output. If you know of any, especially for Google or Yahoo, please share!

Read More

OPML Output now working

Paul Kinlan

The OPML output functionality in my AJAXTagger is now fixed! There was a bug caused by Internet Explorer's lack of support for the __proto__ construct, affecting how the script determined an object's type. This fix resolves the issue, ensuring compatibility with IE6 and IE7.

Read More

Ebay API... Can't really think of much.

Paul Kinlan

I was excited about the eBay API becoming free, hoping to build programs around it. However, I'm struggling to find a compelling project idea. Integrating it into my blog isn't feasible due to eBay's dynamic nature, and static integration wouldn't benefit my SEO. A potential idea is an AJAX interface for the Amazon books I feature, but my lack of commission potential is demotivating. My programs usually serve my needs first, like my AJAX Tagger, which helps me provide more info to readers. If I come up with any good eBay API ideas, I'll share them here.

Read More

Could it all be done in XAML

Paul Kinlan

Inspired by my recent success binding XAML directly to Amazon's web service, I'm exploring the possibility of extending this approach to other RESTful services. Imagine building applications, like my AJAX Tagger, entirely in XAML, without any C# code. This hinges on WPF's capabilities. Do you think it's feasible?

Read More

Google Search: threads in javascript

Paul Kinlan

I've had people come to my blog searching for how to do threading in JavaScript. Unfortunately, I haven't found a way to do true threading in JavaScript. The closest solution I've found involves creating queues that hold work items. Every 250ms (or a developer-defined interval), the queue checks if work needs to be done and starts a task if none is already running. This approach mimics threading. Check out my AJAX Tagger 2.0 for a working example. If you have any insights on true threading in JavaScript, I'd love to hear them!

Read More

AJAX Tagger Related Images

Paul Kinlan

Just a quick update: the related images feature in AJAX Tagger 2 isn't fully functional yet. I'll be working on fixing it tonight.

Read More

Something I have noticed from the page stats

Paul Kinlan

Many visitors are trying to access the AJAX Tagger via the non-functional AJAXTag23 test page. I need to update the link, directing them to the correct URL: http://www.kinlan.co.uk/AjaxExperiments/AjaxTag2 (AJAXTag2).

Read More

Update To Ajax Tagger Verision 2

Paul Kinlan

I've updated my AJAX Tagger to Version 2! This release adds a simple but useful feature: you can now manually add your own tags in the tag list panel. This is really helpful when the Yahoo Developer Term Extraction API isn't sufficient for tagging, like when you need specific tags such as "C#" and ".Net".

Read More

AJAX Tagger Version 2 Update

Paul Kinlan

I've been working on AJAX Tagger version 2 and it's ready for everyday use! It leverages APIs from Yahoo, Amazon, Flickr, and Technorati, along with Wikipedia and even your own site's content to find related articles. It's all AJAX-based, uses a unique request queue, and outputs in both OPML and HTML. Plus, it even suggests related Amazon products. Currently, it's IE-only, so check it out at www.kinlan.co.uk/AjaxExperiments/AjaxTag2 and let me know your thoughts! The UI/UX needs some polish, but that's next on my list.

Read More

Sphere Beta: Some inital comments

Paul Kinlan

I've just started testing the Sphere Beta Program. While I appreciate the related blogs feature, I find the blog post search results less helpful. When I search for terms like "AJAX", the related blogs are more relevant than the actual posts returned. I'm not sure keyword searches within blog posts are effective for me. I'd love to see features like RSS subscriptions for results, customizable date ranges (e.g., between 2 and 4 months ago), and a "find similar blog posts" search option.

Read More

Untitled

Paul Kinlan

I've joined the Sphere Beta Program and have some initial thoughts. While I find the related blogs feature useful, the blog post search results for keywords like "AJAX" aren't quite hitting the mark. I'd love to see improvements such as RSS subscription options for results, more refined date filtering (e.g., between specific dates), and a "find similar posts" feature.

Read More

SIMPY, SHADOWS and DEL.ICIO.US all do this wrong I think

Paul Kinlan

I'm curious why social bookmarking services like Simpy, Shadows, and del.icio.us prioritize a user's tags over a global view. When clicking a tag, I'd rather see globally relevant tagged pages than just those from a single user. A single user's tagging habits aren't as useful as seeing the broader community's perspective on a topic. Ideally, these services would offer a toggle between user-specific and global tag views.

Read More

Yahoo Context Search Was down

Paul Kinlan

My Wikipedia-based AJAX Tag and AJAX Tag 2 scripts were temporarily broken due to an issue with Yahoo's service. Big thanks to the Yahoo developer team, especially Toby Elliot, for quickly resolving the problem! Of all the Web 2.0 APIs I've used, Yahoo's has the most helpful and responsive support.

Read More

What I am Doing About AJAXTag

Paul Kinlan

I'm changing the focus of AJAXTag. Instead of just giving users related information, I want to let readers explore and discover connections themselves. I'll create an interactive version of my blog, allowing users to generate an OPML file of related data. This is inspired by Memorandum, but focuses on user exploration within areas of interest. What are your thoughts?

Read More

Potential Upgrades to my Blog

Paul Kinlan

I'm planning some exciting upgrades to my blog! Soon, each post will feature a dynamically generated section at the end, pulling in related content like searches, blogs, images, and Wikipedia articles, all based on the post's context. No caching for now, but I'm considering it for the future. You'll also be able to subscribe to an OPML file containing an outline of all this related information for each post.

Read More

RE: Del.icio.us A Like?

Paul Kinlan

I'm searching for social bookmarking services similar to Del.icio.us for integration with my AJAX-based DeliTag. This would allow uploading tags to multiple services simultaneously. So far, I've found Shadows, Simpy, Del.icio.us, and BlinkList (though the latter seems to be down). Any other suggestions are welcome!

Read More

I am going to put DeliTag on the main page

Paul Kinlan

I'm excited to announce that DeliTag will be featured on the main page to increase visibility and usage. It will also be available on Tagger.Kinlan.co.uk. As a reminder, DeliTag is an AJAX-based mashup of Yahoo and Del.icio.us, allowing users to generate and post tags to Del.icio.us based on page content.

Read More

Del.icio.us A Like?

Paul Kinlan

I'm searching for del.icio.us alternatives to integrate into my AJAX DeliTag application. My goal is to enable simultaneous tag uploads to del.icio.us and other similar services.

Read More

Update to DeliTag

Paul Kinlan

I've just added a new feature to my website! Now, you can easily tag any page (except the main page) with relevant keywords and submit them directly to Del.icio.us. Just select the text, click "Generate Tags," choose the tags you want, enter your Del.icio.us credentials, and hit "Submit Tags." It's all AJAX-powered for a smooth experience. Currently works in IE6 and above, with Firefox compatibility coming soon. Try it out on this post!

Read More

1 hour later and I have made the Delicious Automatic Tagger

Paul Kinlan

I've created a tool called DeliTag that automatically suggests tags for any page on kinlan.co.uk and submits them to your Delicious account. It's a quick process: hit "Goto", let the page load, click "Analyze" to see tag suggestions, choose the ones you like, enter your Delicious credentials, and press "Submit". Keep in mind, this currently only works on my site and requires IE6+ with Cross Domain Data Island support. Passwords are sent as plain text, mimicking Delicious's own method. Let me know if you'd like to see this developed further!

Read More

Ajax Tagger Oops

Paul Kinlan

A quick heads-up: There's a bug in AJAX Tagger v2. I'll fix it tonight. My bad, I skipped testing a change I made yesterday.

Read More

Favorite Movies

Paul Kinlan

YMDB.com is a great site for listing your favorite movies and finding others with similar tastes. While the current interface is a bit tedious for adding and sorting films, it's still a worthwhile resource. I'd love to see an AJAX-style update to improve the user experience. Check out my profile for some examples of how I use YMDB.

Read More

Further update to my AJAX Application DeliTag

Paul Kinlan

I've updated my AJAX application, DeliTag (The Delicious Tag Poster)! Now, when you select text within the IFRAME, the application will analyze only the selected text instead of the entire page. This makes tagging much more precise.

Read More

Idea for another Program

Paul Kinlan

I have a new program idea: an automatic tag creator for Del.icio.us, similar to my Ajax Tagging Application. It would analyze a webpage's content to suggest relevant topical tags, which you could then select and use to upload the URL and tags to Del.icio.us. I believe this would be a useful tool. What are your thoughts?

Read More

RE: OPML - Please enlighten me

Paul Kinlan

I'm struggling to understand the practical uses of OPML, especially given the inconsistent use of attributes like 'type', 'url', and 'xmlurl'. While I'm developing a JavaScript OPML object model for my own projects (like a tagging system where OPML stores related links for blog posts), I haven't found a clear standard for defining outlines. It seems like the 'standard' emerges from popular usage rather than formal specification. I'm particularly interested in how to determine the file type of items within an OPML outline, as my current application only uses links for pages and images (feed support is still pending). The lack of clear semantics in OPML makes it difficult to build dynamic applications that can 'mash up' content from different sources based on the OPML structure.

Read More

RE: Ajax Framework Comparison

Paul Kinlan

I came across Matt Harrison's post discussing the challenges of choosing between various Ajax toolkits and frameworks, and it really resonated with me. He highlighted the OSA Foundation's survey of Ajax/JavaScript libraries, which covers a wide range of options like Dojo, DWR, JSON-RPC-JAVA, MochiKit, Prototype, Rico, SAJAX, Scriptaculous, Xajax, and Sack. It's fascinating to see how these libraries address different aspects of Ajax development. This makes me rethink my recent work on the backend XMLHttpRequest for Ajax Tagger Version 2, and whether leveraging existing solutions may have been more efficient. Links to the OSA Foundation, Michael Mahemoff's framework information, and my own previous blog post on Ajax layers are included for further exploration.

Read More

JavaScript OPML Object Model Update

Paul Kinlan

I'm working on a JavaScript Object Model for OPML and have found areas for improvement. I initially misunderstood the OPML spec, particularly regarding the attributes of the outline element, which are more flexible than I realized. This is important for handling things like files, links, HTML, and RSS. The current model has issues with proper quoting of characters like quotes and ampersands, but otherwise, the generated OPML XML seems good. I'll be updating the model to handle these attributes soon and will post more about the specific attributes in a future post.

Read More

Ajax Tagger Version 1 Update to Wikipedia Documents

Paul Kinlan

I've updated Ajax Tagger Version 1 to clean up how Wikipedia article titles appear in search results. It now removes the "- Wikipedia, The Free Encyclopedia" suffix. This improves the result list's readability and still adheres to Wikipedia's linking policy by referencing Wikipedia elsewhere in the implementation.

Read More

OPML JavaScript Object Model

Paul Kinlan

I've created a basic JavaScript Object Model for OPML, which you can find here: http://www.kinlan.co.uk/AjaxExperiments/opml.js. It's not entirely finished yet, but the core structure is in place. I plan to write proper documentation soon.

Read More

OPML JavaScript Object.

Paul Kinlan

I'm developing a JavaScript Object Model for OPML, a first as far as I know! This is essential for my AJAX Tagger version 2, enabling dynamic OPML creation, flexible saving options, and real-time user interaction updates.

Read More

Related Images is now in Ajax Tagger 2

Paul Kinlan

I've just released version 2 of AJAX Tagger, and it now includes a Related Images feature! It pulls images from Flickr that you can easily insert into your blog posts. While it works great, be aware that downloading many images might be slow in Internet Explorer due to its concurrent request limit. I believe this is a fantastic addition and can significantly boost traffic to your blog, especially considering images are known to attract readers.

Read More

Tags and Tagging

Paul Kinlan

I've been pondering the use of tags lately, and noticed a lack of diversity in tagging practices. Many use tags for blog promotion or linking related content. I favor the latter, as it aids in content discovery. However, popular tags on sites like Technorati are often too broad (e.g., "books","blogs") making them less useful for finding niche communities. I propose using more specific sub-tags alongside broader ones. For example, if blogging about Asimov's Foundation series, include both "Asimov" and "Foundation Series" as tags. Tools like my Ajax Tagger and tagyu.com can help suggest relevant tags. I encourage everyone to use a wider range of tags to enrich the tag space and improve content discoverability.

Read More

"Get outta my jungle."

Paul Kinlan

I just discovered that Latricia updated the XML::Feed CPAN module to merge RSS/ATOM feeds into one ATOM feed. This is awesome! I had a similar idea for AJAX Tagger 2.0, where I wanted to offer a combined feed of all tagged results. If this module works as advertised, I can use it directly instead of building my own tool. This might be a better solution than my initial plan of using OPML.

Read More

AJAX Tagger 2 Question

Paul Kinlan

I'm developing a complex new version of the AJAX Tagger (2.0) with enhanced features for adding data to journal entries. However, I'm curious if there's still interest in a simpler version like the original AJAX Tagger. Please share your thoughts and comments!

Read More

Next Avalon Experiment

Paul Kinlan

I'm planning to transform my AJAX Tagger into a WinFX application to experiment with its potential and integrate various web services.

Read More

Wikipedia Related Document Retrivla is in. But....

Paul Kinlan

I've added Wikipedia document retrieval to my application, but there's a design flaw. Tags currently operate in isolation, unaware of each other's related Wikipedia articles. This can lead to duplicate content in the "related articles" section. To fix this, I need to implement a system that allows tags to share information and avoid redundancy, ultimately improving the user experience. Check out the current version here: http://www.kinlan.co.uk/AjaxExperiments/AjaxTag2

Read More

Related Wikipedia Articles in AjaxTagger v1 is broke

Paul Kinlan

The related Wikipedia articles feature in AjaxTagger v1 is temporarily broken due to an update in one of the Yahoo Perl Proxy Scripts for AjaxTagger v2. I plan to fix it soon.

Read More

Update Status of AJAX Tagger 2

Paul Kinlan

Quick update on the AJAX Tagger 2 development. Priority queues are working well, but might need some tweaking on queue numbers and polling intervals. Querying Technorati for tag counts is proving slow (around 2 seconds per query). Any tips on speeding this up, perhaps by limiting the number of blogs returned? Currently working on improving the related documents results, which now includes counts for all selected tags, not just the last search. Need to refine this area. More updates to come!

Read More

Update to AJAX Tagger 2

Paul Kinlan

I'm working on AJAX Tagger 2 and have implemented a priority queue system for AJAX requests. This system uses 5 queues and prioritizes urgent requests by placing them in the fastest cycling queue. Less urgent requests go into slower queues. Check out the demo to see how tag requests are prioritized and tag stats are fetched on a slower queue. The whole page is asynchronous!

Read More

Finally a use for OPML

Paul Kinlan

I've figured out how to incorporate OPML into the upcoming version of the AJAX Tagger, enhancing its functionality. More details coming soon!

Read More

Update and a link

Paul Kinlan

Just a quick update on what I've been up to. I'm still working on AJAXTagger v2 whenever I can. It's coming along, but I ran into a few JavaScript issues. Big shoutout to the Dream Projections blog for a post that really helped me figure out how to call JavaScript Object methods with setInterval – super useful for the priority queueing system I'm building.

Read More

Quick Question about the Wikipedia Articles

Paul Kinlan

I'm seeking feedback on the AJAX Tagger I've implemented in my journal entries, specifically concerning the Wikipedia article links. Are they useful? Do you have any suggestions for improvement? You can email me at paul.kinlan@gmail.com or leave a comment.

Read More

You may have noticed

Paul Kinlan

I've fixed a bug in the AJAX Tagger that caused Wikipedia article links to be incorrect. My apologies!

Read More

Minor Test with AJAX Tagger

Paul Kinlan

I've been experimenting with the AJAX Tagger and integrated it with Wikipedia to generate related article links. It's pretty quick, generating relevant links in about a minute. There's a minor issue where sometimes the links point to Yahoo search results instead of directly to Wikipedia, which I'm investigating. I'm also looking for feedback on how to order the tags and related documents, so feel free to email me or leave a comment.

Read More

AJAX Tagger Question

Paul Kinlan

I'm looking for user feedback on the next version of the AJAX Tagger. Specifically, I'd like to know if users would prefer to have the option of placing Technorati tags inline with the blog post content, or if they prefer the current method of listing them at the end. Inline placement could be problematic because the Yahoo Term Extraction API sometimes uses phrases not found in the post itself.

Read More

AJAX Tagger Second Question

Paul Kinlan

I'm developing the next version of the AJAX Tagger and need your input! Currently, it enhances blog posts by linking to related blogs on Technorati. For the next version, I'm wondering if you'd prefer it to link to other sources like IceRocket or even Wikipedia. Let me know where you'd find automatic tag links most valuable.

Read More

First Public Comment and use of AJAX Tagger

Paul Kinlan

I just got my first comment from a stranger, Gaby de Wilde, on my AJAX Tagger! He even used it on his site. I'm grateful for the feedback and plan to incorporate his suggestions in the next version. Check out his blog to see it in action, and please send me any feedback you have!

Read More

Note to self

Paul Kinlan

I'm really interested in ATLAS (AJAX), but I need to prioritize my time. I can't afford to get sidetracked by this project right now, especially since it's not .Net-based and my current work focuses on .Net.

Read More

Requirements Requirements everywhere

Paul Kinlan

I'm trying to be more diligent about documentation, but PDC distractions and the new MSN Search API have me sidetracked. The API's SOAP format and seeming redundancy with existing RSS search options make me question its value. Maybe I'll integrate it into AJAXTagger v2 if I can avoid feature creep. Check out my blog for MSN Search and Start.com developer program resources.

Read More

Start.com's Developer Centre

Paul Kinlan

Microsoft's Start.com has launched a new developer API, possibly using the ATLAS framework (precursor to ASP.NET AJAX). It seems to focus on creating JavaScript-based "Gadgets," similar to RSS consumers, that need to be hosted on a server. The API also requires enabling cross-domain data sources in Internet Explorer, a topic I've discussed previously.

Read More

Minor Test in the AJAX Tagger

Paul Kinlan

I've added a new search feature to my site that uses the Yahoo API to find related articles based on keywords. You can test it out at http://www.kinlan.co.uk/AjaxExperiments/AjaxTag. It's a work in progress, but more features are coming soon!

Read More

The Failures of my First AJAX Application: Part 8

Paul Kinlan

In part 8 of "Failures of my First AJAX Application," I discuss the lack of traffic generated by the application. Initially, I hoped for ad revenue, but I've realized that user engagement is more important. My focus now is on improving the application and planning a marketing campaign to highlight its benefits.

Read More

The Failures of my First AJAX Application: Part 9

Paul Kinlan

In this final part of "The Failures of my First AJAX Application" series, I reflect on the cross-browser compatibility issues I encountered. Focusing on Internet Explorer during development led to problems in Firefox, particularly with security errors (cross-domain data retrieval) and differences in the XML DOM model. The key takeaway is to consider cross-browser support from the outset, anticipating discrepancies between browsers and coding around missing features, similar to CSS development. The next version will prioritize cross-browser compatibility, potentially including Safari. This series has been invaluable for shaping the requirements of the upcoming version.

Read More

The Failures of my First AJAX application: Part 5

Paul Kinlan

This is the fifth installment in my series on the AJAXTagger's failures. A major issue is its lack of intuitiveness. Users couldn't understand its purpose or how to use it without a demo. While it significantly reduced my tagging time, the next version needs improvements. I'm looking for feedback on how to make it more user-friendly, including better visual cues, a clearer UI, and improved documentation. Email me or comment with your suggestions!

Read More

The Failures of my First AJAX application: Part 6

Paul Kinlan

This is the sixth part of my series on the failures of my first AJAX application, AJAXTagger. While I initially hoped it would be useful for everyone, it mainly ended up benefiting just me by simplifying the tagging process for my blog posts. Although it didn't meet my initial grand expectations, it was a valuable learning experience. The next version will prioritize my needs but also consider features that could benefit other users, ultimately adding value for my readers.

Read More

The Failures of my First AJAX application: Part 7

Paul Kinlan

This is the seventh post in my series about the failures of my first AJAX application. My biggest failure? No one used it! I had these grand visions of tons of users, but it turned out I was the only one. So, I'm changing my strategy. I've started this blog to centralize all information about the AJAXTagger. My next step is promotion! I need users to try it, break it, and give me feedback. Email me or leave a comment with your suggestions!

Read More

Creating a Second Blog

Paul Kinlan

I'm launching a second blog dedicated to my AJAX Tagging HTML application, which you can find here: http://www.kinlan.co.uk/AjaxExperiments/AjaxTag

Read More

The Failures of my First AJAX application: Part 4

Paul Kinlan

In this part of my series on my first AJAX application, I discuss how my initial hopes for AJAX as a solution to bandwidth and UI problems, and for speed improvements, weren't fully realized. The first version, which incorporated Technorati stats and Yahoo's TermExtraction API, was slow due to sequential queries and Technorati's performance. I removed these features because I wanted a fully rendered page, which negated AJAX benefits. The next version will be fully asynchronous, with a request manager for trickle filling and background processing. Check out my AJAX Technorati Tagger to see what I'm aiming for.

Read More

The Failures of my first AJAX Application: Part 3

Paul Kinlan

This blog post, the third in a series about my first AJAX application, focuses on the disastrous visual design. While the functionality is there, the UI is frankly terrible. I've realized my design skills are lacking, and though I have a vision, I struggle to bring it to life visually. The problem is that the application's logic is tightly coupled to the UI. Moving forward, I need to decouple these components. The next version will have a UI-agnostic data structure that the UI can interrogate. This separation will allow me to work on the AJAX framework, business logic, and UI independently.

Read More

The Failures of my first AJAX Application: Part 2

Paul Kinlan

In part two of this series on the failures of my first AJAX application, I discuss how my initial plan to reduce bandwidth by having the client directly access third-party web services didn't work out. Due to cross-domain scripting issues in Firefox and IE 6/7, I had to implement proxy scripts on my server. This means all client requests now go through my server, increasing my bandwidth demands. While using a proxy server offers benefits like hiding security information (like Technorati developer tokens) and enabling data manipulation/request merging, it comes with the major downside of increased bandwidth usage and the need to create/maintain proxy scripts. I hope to support cross-domain data sources in the next version to mitigate these issues but acknowledge there might still be scenarios where proxy scripts are necessary.

Read More

Start.com, please listen!

Paul Kinlan

Start.com's AJAX web portal, which displays web feeds in an HTML interface, has been promoted to the main site. However, a persistent issue remains: the inability to cancel the close event on RSS feed panels, a problem previously highlighted and still unresolved.

Read More

The Failures of my first AJAX Application: Part 1

Paul Kinlan

This post discusses the shortcomings of my first AJAX application. While it successfully implemented Technorati tags, it failed to provide related search functionality, which I believe is crucial for offering readers valuable external resources and further learning opportunities. I aim to address this in the next version by incorporating related searches via Yahoo's API and relevant quick links, enhancing the overall user experience and educational value of my blog.

Read More

Proxy Script To Yahoo API Term Extraction

Paul Kinlan

I've just finished creating a proxy script that allows access to the Yahoo Content Analysis API Term Extraction service from any browser, bypassing cross-site scripting issues. It works by taking a POST request, forwarding it to Yahoo, and returning the XML response. The code (Perl) is included in the post, and I've successfully tested it with IE6, IE7, and Firefox. Feel free to email me if you have any questions.

Read More

Proxy Script To Yahoo Related Searches

Paul Kinlan

This blog post introduces a Perl proxy script that leverages the Yahoo Related Suggestions API. Given a search term, the script queries Yahoo and returns a list of related search terms. This can be used to enhance search functionality by providing users with additional relevant search options. An example is given using the term "Kinlan" and the post links to a previous entry describing a proxy for the main Yahoo search API. The provided code snippet demonstrates how to construct the API call using LWP and CGI, requiring a valid Yahoo App ID.

Read More

Comming up to a round number

Paul Kinlan

I'm about to hit 100 posts! I also realized I forgot to post my Perl request forwarding scripts as promised, so I'll do that tonight. I'll also start discussing the issues with my first AJAX application.

Read More

Technorati Tags on Your Server

Paul Kinlan

I discovered my Apache server doesn't require file extensions for URLs, meaning both www.kinlan.co.uk/AjaxExperiments/AjaxTag and www.kinlan.co.uk/AjaxExperiments/AjaxTag.html lead to the same resource. This is convenient for using Technorati tags, which often omit extensions.

Read More

The Successes of my first AJAX Application: Part 9

Paul Kinlan

In this installment, I reflect on the limitations of Blogger.com as a blogging platform. Despite its user-friendliness, several features fall short of my needs. The "Blogger For Microsoft Word" integration isn't particularly helpful, the WYSIWYG editor is inconsistent, and the available tags seem outdated. I crave more innovation, especially regarding feed customization and ping configuration. While AudioBlogging.com intrigues me, its practicality for someone in the UK is questionable. Ultimately, I desire greater control and configurability, but acknowledge Blogger's value as a free service.

Read More

AJAX Breaking Browser Navigation Buttons

Paul Kinlan

Many complain AJAX breaks browser navigation, but I believe that pressing the back button should exit an AJAX application entirely. It's not AJAX itself, but poorly designed applications that break navigation and bookmarking. Google Maps has addressed bookmarking, but some applications aren't suited to web-style navigation or bookmarks. More thoughts on this to come. Comments welcome via email or the comments section.

Read More

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

Paul Kinlan

This blog post, the sixth in my "Successes and Failures of my First AJAX Application" series, discusses how my blogging style is evolving. I'm focusing on improving my grammar, the topics I cover, post length, and what I include in my blogs. This self-reflection aims to improve how I communicate with my readers. More details on each area are available via the provided links.

Read More

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

Paul Kinlan

This blog post discusses the ideal length of blog entries. It argues that both too short and too long posts can be detrimental to a blog's success. Short posts can appear superficial, while overly long ones can bore readers. The author aims for a balance, using shorter entries for critiques and longer, focused articles for more in-depth topics. This particular post, part of a series on the author's first AJAX application, exemplifies this approach by being broken down into smaller, manageable segments.

Read More

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

Paul Kinlan

I've been reflecting on the direction of my blog, "C#, .Net Framework." I feel the name is too limiting, given my recent posts on topics like IE7, AJAX, Firefox, and XMLHttpRequest. I plan to broaden the scope while keeping the content technical. I also want to increase reader interaction, possibly by crowdsourcing a new name for the blog.

Read More

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

Paul Kinlan

This blog post discusses the importance of balancing valuable content with helpful features. I currently offer content and features like Technorati tags, and plan to bring back related searches. The AJAX application I built helps create this value-added data, which I believe is key for reader engagement. I'm considering adding more data like citations and related searches, but I'm cautious about information overload. Maintaining these value-added sections is challenging (except for the now-easy Technorati tags). I'd love to hear your suggestions for other valuable data to include!

Read More

The Successes of my first AJAX Application: Part 7

Paul Kinlan

In this part of my series on my first AJAX application, the Technorati Tag Generator, I discuss its success in streamlining my blogging process. The generator significantly reduces the time I spend creating Technorati tags, saving me roughly 50 minutes per post. While I'm thrilled with this improvement, the current version lacks the Feedster and MSN search boxes present in my initial design. I plan to reintroduce these features in the next version, along with related search previews, to enhance the value and usability of my application. User feedback has highlighted the importance of these features, and their inclusion is crucial to achieving my goals for the project.

Read More

The Successes of my first AJAX Application: Part 8

Paul Kinlan

This post, part 8 of a series about my first AJAX application, discusses my return to Perl programming after a year of focusing on C# and .Net. I needed to solve cross-domain scripting issues when calling a web service directly from the webpage. My solution involved proxying the request through a Perl script on my server, which also hid my developer tokens. I found Perl's libraries easy to use and effective for this task. Future plans include more Perl scripting to aggregate data from different blogs and web services, leveraging the proxy to combine multiple calls and enhance functionality. I also learned a valuable lesson about using "content()" methods for POST operations instead of the query string.

Read More

I have just noticed this Technorati Tagger Application

Paul Kinlan

I just discovered the Technorati Tagger application (http://www.ultraseeker.com/tagbuilder). It's decent, converting user-generated tags into XHTML. This represents the simpler half of what I'm aiming to build in my upcoming AJAX application.

Read More

The Successes of my first AJAX Application: Part 5

Paul Kinlan

In this part of my series on my AJAX application, I'm discussing the impact of external APIs. My use of APIs has made me realize how much more API access I want! I'd love to see broader API availability from feed/blog companies for statistics, retail companies for catalogs, news corporations for news feeds, and search companies for both results and more interesting APIs (like Yahoo's). Essentially, I want a central directory of companies offering these services, recognizing that I'm a consumer of their data. I'm also realizing how many APIs (REST and SOAP) are out there that I could leverage. I envision adding more dynamism to my apps, like analyzing blog post keywords to see their popularity, potential ad revenue, and related keywords. I could then cross-reference this with other sources to give viewers more feedback, such as related blog importance, link counts, and other connections. I could even offer localized product information, best buy deals, or second-hand options based on keywords. This isn't revolutionary, but I need help finding lists of companies that offer web APIs and useful RSS feeds. Readers, please share your knowledge!

Read More

Blogger Tool First Post

Paul Kinlan

My first post using the new Blogger Word Blogging tool! It's easy to use and publishes really fast. I'm curious about HTML control since my AJAX tool outputs HTML. A few quirks: smiley icons show as "(", apostrophes look odd, and images/tables aren't supported. Planning a follow-up post with my feature requests.

Read More

The Successes of my first AJAX Application: Part 4

Paul Kinlan

This is the fourth installment of my AJAX application development journey. I integrated the Technorati API, focusing on the Tag Query to gauge keyword popularity and refine tag selection for better exposure. While the API was helpful, it lacked features like tag ranking and related tags, and the TagQuery's slow performance forced its removal. Future development will involve optimizing the TagQuery (limiting results or using an asynchronous call manager) and potentially requesting a lightweight metadata interface from Technorati.

Read More

The Successes of my first AJAX Application: Part 3

Paul Kinlan

In this third part of my series on my first AJAX application, I'm diving into the power of the Yahoo! API. It's been a learning experience, and I'm incredibly impressed with how much it offers compared to Google's. I've been exploring the Term Extraction and Related Searches APIs, and I'm starting to think about how to use the Contextual Search API. The Term Extraction API is great for pulling out keywords, while the Related Searches API helps me find relevant search queries. My app combines these to analyze blog posts and generate related searches. I'm hoping to use the Contextual Search API to add targeted search results. Future versions will incorporate more APIs, possibly from Technorati, to enhance functionality. Stay tuned!

Read More

The Successes of my first AJAX Application: Part 2

Paul Kinlan

In part 2 of my AJAX application journey, I'm tackling browser compatibility issues between Firefox and Internet Explorer. Key differences include handling XML node text, event triggers for synchronous XmlHttpRequests, and table object model inconsistencies. Looking ahead, I'm planning to componentize my JavaScript for better management and browser caching, and create an event-driven object model for my next application to improve structure and cross-browser functionality. My focus will be on supporting the lowest common denominator for broader browser compatibility.

Read More

IE7 Tabbed Browsing Annoyance Part 2

Paul Kinlan

IE7's synchronous XmlHttpRequest locks up all browser tabs during long requests, not just the active tab. Is this behavior expected or a bug? If you've encountered this problem, please email me so I can investigate further.

Read More

Is there a minor problem with the way technorati parses URLs

Paul Kinlan

I noticed a lack of referrals from Technorati and discovered my blogs weren't showing up in tag searches. The problem stemmed from my Technorati AJAX application, which was using single quotes instead of double quotes around the href attribute in the tag links. I've corrected the issue by changing the single quotes to double quotes in my application, and hopefully, this will resolve the problem with Technorati. While my application is now fixed, it raises the question of whether Technorati should be able to handle both single and double quotes.

Read More

The Successes of my first AJAX Application: Part 1

Paul Kinlan

In this first installment of a series about my AJAX application journey, I'm sharing my initial success: learning to think asynchronously. The current app takes user-entered text, sends it to a Yahoo web service (via a local Perl script), gets "interesting" words, and then makes synchronous calls to Technorati for tag counts. This synchronous approach locks the browser, especially with multiple tags. The next version will use a queue and multiple asynchronous XMLHttpRequest objects managed by a thread manager to avoid browser lock-up. This will create a more responsive app where results appear as they become available. Key requirements for v2 include full asynchronicity, XMLHttpRequest management, a generic work queue, background task indicators, and a non-blocking UI. I'm also planning to develop a reusable object model.

Read More

Things I have learn't from my first Ajax Test

Paul Kinlan

My first foray into Ajax was a mixed bag, yielding both valuable lessons and frustrating setbacks. On the plus side, it sparked a deeper understanding of asynchronous coding, cross-browser compatibility (especially between Firefox and IE), and the potential of APIs like Yahoo! and Technorati. It also reignited my interest in Perl and prompted reflection on my blogging practices. However, the application fell short in several areas: it lacked search functionality, didn't reduce bandwidth, had a poor visual design, and wasn't user-friendly or impactful enough to generate feedback or traffic. Moving forward, I'll share my design process and desired improvements, starting with a clear requirements document. I'm eager to learn from this experience and create a more effective application.

Read More

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

Paul Kinlan

I've noticed a difference in how Internet Explorer (versions 6 and 7) and Firefox handle synchronous XmlHttpRequests. In both browsers, you can send requests using JavaScript. However, after the synchronous send() call, Internet Explorer still triggers the onreadystatechange event, while Firefox does not. I need to research which behavior is correct and according to spec. If you happen to know, please email me!

Read More

AJAX Application Update

Paul Kinlan

I've been exploring how Microsoft's Start.com retrieves data from external web feeds. It appears they use a server-side script to tunnel requests to the remote server, effectively acting as a proxy. This workaround is necessary due to browser security restrictions that prevent cross-domain data fetching in Firefox and certain Internet Explorer configurations. Consequently, my AJAX application will need to handle the additional bandwidth required for retrieving data from Yahoo and Technorati directly, as redirecting XMLHttpRequest calls isn't a viable option.

Read More

A Minor Problem with my AJAX Application

Paul Kinlan

My AJAX application has a minor cross-site data access security issue, similar to one I've encountered in Firefox. A workaround in IE6/7 involves enabling "Access data sources across domains" in Internet Options -> Security -> Custom Level, though this isn't ideal.

Read More

AJAX Technorati Tagger

Paul Kinlan

I've created my first AJAX application, an AJAX Technorati Tagger, which can be found here. It allows users to input text, receive suggested Technorati tags (powered by Yahoo's web service), and generate a list of related keywords. It's still a work in progress with some bugs, but feedback is welcome!

Read More

Just a little something I am working on

Paul Kinlan

I'm developing an AJAX application to automatically generate Technorati, Feedster, and MSN search boxes with relevant tags for my blog posts. It's a JavaScript webservice queryer that uses results from one service as input for another. Currently, it only supports IE6/7 due to cross-domain data source import restrictions in Firefox. I'm exploring JavaScript code signing as a potential solution. The application integrates with Yahoo webservices, with plans to include Technorati and hopefully Feedster. There are security concerns regarding my Yahoo key. I aim to have a prototype available for feedback soon.

Read More

The Previous Entry Worked!

Paul Kinlan

My previous blog post was successfully created using Kinlan's Automatic Tag Generator (powered by Yahoo!'s Web service). I'm excited about this and plan to include a link to the Ajax app in the next post. I'm also experimenting with Yahoo search and Technorati integration. I decided to include tags in this post by popular demand.

Read More