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.

When generating apps the spec is important

Paul Kinlan

Generating web apps with AI agents like Replit is incredibly powerful, enabling rapid prototyping and deployment. My experience building tldr.express, a personalized RSS feed summarizer, highlighted the importance of a detailed specification. While initial prompts yielded impressive results, I iteratively refined the app through configuration and additional prompts to address issues like email integration, AI model selection, output formatting, spam prevention, and bot mitigation. This iterative process reinforced that while AI agents excel at rapid generation, a well-defined specification upfront is crucial for a successful outcome.

Read More

Will we care about frameworks in the future?

Paul Kinlan

Building apps with LLMs and agents like Replit has been incredibly productive. The generated code is often vanilla and repetitive, raising questions about the future of frameworks. While frameworks offer abstractions and accelerate development, LLMs seem to disregard these patterns, focusing on implementation. This shift in software development driven by agents may lead to a world where direct code manipulation is unnecessary. It remains to be seen if frameworks and existing architectural patterns will still be relevant in this LLM-driven future or if new patterns will emerge.

Read More

The disposable web

Paul Kinlan

Reflecting on my journey with computers, from the C64 and Amiga 500 to the present day, I've found a renewed excitement in software development. New tools like repl.it and websim.ai empower rapid creation of full-stack, disposable web apps – software built for personal use and easily discarded. This ease of creation removes the barrier to starting projects, making the web an ideal platform for even single-user applications. It's a shift from handcrafted software to a more ephemeral approach, allowing for quicker prototyping and experimentation.

Read More

Moving Blog

Paul Kinlan

I'm moving my blog from Blogger to Wordpress! While I've used Blogger for years, it no longer meets my needs. This blog will remain online but the new blog, covering broader software development topics (not just C#), is where I'll focus my writing. Find it at http://www.kinlan.co.uk/blog/ .

Read More

.NET Framework 3.0

Paul Kinlan

Microsoft has renamed WinFX to .NET Framework 3.0. This new version will include the existing .NET Framework 2.0 components (ASP.NET, WinForms, ADO.NET, additional base class libraries, and the CLR) along with new technologies like WPF, WCF, WF, and WCS. However, there's no mention of C# 3.0 being included, and the author finds this renaming confusing and unnecessary.

Read More

C# 3.0

Paul Kinlan

I recently commented on an old blog post about C# 3.0, expressing initial agreement with a sentiment against functional programming in the industry. However, upon reflection, I realized C# 3.0 isn't purely functional but rather integrates some academic concepts into a practical context for industry use. While still learning C# 3.0, functional programming, and LINQ, I've found my tests using these features to be clearer and more presentable. Although there's a learning curve, especially with the generic delegate syntax and translating between "SQL" and object syntax, I'm embracing the ongoing learning process.

Read More

Error Codes vs. Exceptions

Paul Kinlan

This post discusses the differences between using error codes and exceptions for error handling in application programming. It references an article by Damien Katz that explores the topic in detail, highlighting the challenges of proper error handling, even in critical systems. The article uses analogies and strong language to make its points. It also links to the original article and a Digg story about the topic.

Read More

Google Search: why use sealed classes?

Paul Kinlan

I had a comprehensive blog post on sealed classes and their benefits within Google Search, but unfortunately, it was lost. I plan to rewrite it soon.

Read More

XBox 360 and the .Net Framework

Paul Kinlan

In a previous post, I discussed using the .NET Framework on the Xbox 360. It turns out you can create Media Center applications, install them on your media server, and then control them via the Xbox 360 UI. The processing happens on the Media Center PC. More details are available in an MSDN article.

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

C# Generics 3.0

Paul Kinlan

This short, humorous post suggests the seriousness of the topic of C# Generics 3.0 despite its light-hearted tone. It hints at a deeper dive into the topic, perhaps planned for the future, while acknowledging its complexity and importance.

Read More

Visual Studio 2005 Beta 2

Paul Kinlan

Visual Studio 2005 Beta 2 is now available for download to MSDN Universal subscribers. I'm excited about this release and will be posting examples soon. Check out the product page and the uninstallation instructions for previous versions if you plan to upgrade.

Read More