<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Stark Raving Finkle</title>
    <link>https://starkravingfinkle.org/</link>
    <description>Recent content on Stark Raving Finkle</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 14 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://starkravingfinkle.org/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Writing a Field Guide to Agentic Engineering Transformation</title>
      <link>https://starkravingfinkle.org/posts/2026/05/agentic-eng-field-guide/</link>
      <pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2026/05/agentic-eng-field-guide/</guid>
      <description>&lt;p&gt;We&amp;rsquo;ve been building a more agentic engineering organization at League over the last ten months. I&amp;rsquo;ve been writing blog posts about different aspects along the way. In April, I felt like we&amp;rsquo;d crossed a threshold.&lt;/p&gt;&#xA;&lt;p&gt;A significant part of the engineering organization was not only using coding agents in daily workflows, the teams themselves had redesigned their operating models. Not all teams were doing things the exact same way, but many of them had made deep changes in their sprints, rituals, and processes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Agentic Coding Payoff: Experimentation Velocity</title>
      <link>https://starkravingfinkle.org/posts/2026/04/coding-agents-experimentation-velocity/</link>
      <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2026/04/coding-agents-experimentation-velocity/</guid>
      <description>&lt;p&gt;Most teams measure AI impact on software delivery the same way: &lt;strong&gt;before and after comparisons&lt;/strong&gt; on tasks that were already in the plan. A migration that used to take three weeks now takes two days. A bug that took a week to diagnose gets resolved in an afternoon. These are real wins.&lt;/p&gt;&#xA;&lt;p&gt;But they&amp;rsquo;re measuring the floor, not the ceiling.&lt;/p&gt;&#xA;&lt;p&gt;Speed on planned work is a productivity gain. The ability to attempt unplanned work is a strategic one. A team that ships 20% faster will be faster, sure. A team that runs ten experiments a quarter instead of two will, over time, find things the faster team never looked for. Both matter, but only one of them compounds over time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Coding Agents Don&#39;t Replace Platforms — They Make Them More Important</title>
      <link>https://starkravingfinkle.org/posts/2026/04/coding-agents-dont-replace-platforms/</link>
      <pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2026/04/coding-agents-dont-replace-platforms/</guid>
      <description>&lt;p&gt;There&amp;rsquo;s a growing belief in engineering circles that because coding agents can generate code so cheaply and quickly, we no longer need to invest in platform frameworks, services, and shared systems. The argument goes something like: code is essentially free now, so why bother with reusable building blocks? Just let agents generate what you need on the fly.&lt;/p&gt;&#xA;&lt;p&gt;I think this perspective fundamentally misunderstands both how agents work and what makes software development expensive.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Agentic Coding: Who Will Review All That Code?</title>
      <link>https://starkravingfinkle.org/posts/2026/03/coding-agents-who-will-review-all-that-code/</link>
      <pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2026/03/coding-agents-who-will-review-all-that-code/</guid>
      <description>&lt;p&gt;League (my day job) recently enabled mandatory GitHub Copilot code reviews on all pull requests. Not that long ago, I would not have supported this idea. Models, and the agent systems that use the models, have improved to the point of frequently finding non-trivial issues with code in a pull request.&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;d had Copilot and Codex reviews enabled for a while, but they were optional. Easy to ignore. For those who actually read the reviews, we watched the quality get better and better. Good enough to make mandatory and see how it works.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Rise of Hyper Local Software</title>
      <link>https://starkravingfinkle.org/posts/2026/02/the-rise-of-hyper-local-software/</link>
      <pubDate>Tue, 24 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2026/02/the-rise-of-hyper-local-software/</guid>
      <description>&lt;p&gt;For years, we&amp;rsquo;ve been told that software is eating the world. Big, cloud-hosted platforms — Salesforce, Notion, Slack, Jira, Airtable — working to solve every problem for every team, at any scale. And mostly, they delivered. SaaS transformed how businesses work.&lt;/p&gt;&#xA;&lt;p&gt;Making software and systems that support millions of people, with a variety of needs and requirements isn&amp;rsquo;t easy. Software adds complexity to deal with the hundreds use cases. It becomes a series of compromises. Software that starts small and well focused, evolves into a villain, despised by users.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrating a 20-Year WordPress Blog to Hugo and Cloudflare</title>
      <link>https://starkravingfinkle.org/posts/2026/02/migrating-wordpress-to-hugo-cloudflare/</link>
      <pubDate>Sun, 15 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2026/02/migrating-wordpress-to-hugo-cloudflare/</guid>
      <description>&lt;p&gt;I moved my 20+ year old WordPress blog off Bluehost and onto a modern static site setup with Hugo and Cloudflare Workers. What I expected to be a painful, multi-week project turned into a surprisingly smooth 4-day migration, largely thanks to working with Claude as a coding agent throughout the process.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-move-away-from-wordpress&#34;&gt;Why Move Away from WordPress?&lt;/h2&gt;&#xA;&lt;p&gt;WordPress has served me well for two decades, but it felt like overkill for what is essentially a personal blog. I&amp;rsquo;m not running e-commerce, I don&amp;rsquo;t need a database for every page load, and I definitely don&amp;rsquo;t need the constant plugin updates and security concerns. More importantly, Bluehost, while reliable, isn&amp;rsquo;t exactly a modern hosting vendor. I wanted to explore what a more current tech stack could offer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Agent Coding Update: Teaching Agents Our Primitives</title>
      <link>https://starkravingfinkle.org/posts/2025/12/agent-coding-update-teaching-agents-our-primitives/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/12/agent-coding-update-teaching-agents-our-primitives/</guid>
      <description>&lt;p&gt;A few months ago, I wrote about &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/07/vibe-coded-to-shipped-feature/&#34;&gt;vibe coding and the challenge of shipping quickly-created prototypes&lt;/a&gt;. I ended that post suggesting we could &amp;ldquo;teach&amp;rdquo; coding agents about our platform primitives through instruction files and MCP servers. At my day job (League), we&amp;rsquo;ve been putting this idea into practice, and the results have been very encouraging.&lt;/p&gt;&#xA;&lt;h3 id=&#34;building-a-knowledge-base-for-agents&#34;&gt;Building a Knowledge Base for Agents&lt;/h3&gt;&#xA;&lt;p&gt;A cross-functional team has created a structured knowledge base repository—a collection of markdown documents covering both frontend and backend aspects of the League platform. Think of it as documentation specifically designed for agent consumption. These aren&amp;rsquo;t just API references or code comments; they&amp;rsquo;re curated explanations of our patterns, primitives, and platform conventions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vibe Coded to Shipped Feature</title>
      <link>https://starkravingfinkle.org/posts/2025/07/vibe-coded-to-shipped-feature/</link>
      <pubDate>Sun, 06 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/07/vibe-coded-to-shipped-feature/</guid>
      <description>&lt;p&gt;AI-assisted coding tools and agents have unlocked an unprecedented level of functional prototyping. Not just for developers. Product managers, Designers, even the C-suite are building functional prototypes of their ideas in a matter of days, or even hours.&lt;/p&gt;&#xA;&lt;p&gt;There can be a lot of value in creating a functional prototype of an idea so people can really test out the interactions and experience in ways that are not feasible with less interactive approaches.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on AI Assisted Coding</title>
      <link>https://starkravingfinkle.org/posts/2025/07/thoughts-on-ai-assisted-coding/</link>
      <pubDate>Wed, 02 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/07/thoughts-on-ai-assisted-coding/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been using Copilot in VS Code to help build several different projects. I&amp;rsquo;ve also used Claude, Gemini, and ChatGPT to help start and evolve projects. I find the tools to be very helpful and I feel more productive using them. I also find myself having more fun when using the tools.&lt;/p&gt;&#xA;&lt;p&gt;I have no doubt that these tools are here to stay and will become a standard part of software development.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building Agents: Creating JSONLogic from Intent</title>
      <link>https://starkravingfinkle.org/posts/2025/04/building-agents-creating-jsonlogic-from-intent/</link>
      <pubDate>Sun, 27 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/04/building-agents-creating-jsonlogic-from-intent/</guid>
      <description>&lt;p&gt;I had a lot of fun working through my &amp;ldquo;Exploring LLMs as Agent&amp;rdquo; series. I&amp;rsquo;m starting to dive a little deeper into some specific Agent use cases, so I&amp;rsquo;ll move away from &amp;ldquo;exploring&amp;rdquo; and start &amp;ldquo;building&amp;rdquo; agents.&lt;/p&gt;&#xA;&lt;p&gt;At work, we&amp;rsquo;ve started configuring rules outside of code, especially for situations where a non-developer wants to create some rule-based logic. We&amp;rsquo;ve looked at &lt;a href=&#34;https://jsonlogic.com/&#34;&gt;JSONLogic&lt;/a&gt; for this use case, but there are other approaches too.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring LLMs as Agents: Google Agent Dev Kit</title>
      <link>https://starkravingfinkle.org/posts/2025/04/exploring-llms-as-agents-google-agent-dev-kit/</link>
      <pubDate>Mon, 14 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/04/exploring-llms-as-agents-google-agent-dev-kit/</guid>
      <description>&lt;p&gt;Up to this point, I have been experimenting with my own home-grown agent framework, based on Simon Willison&amp;rsquo;s great &lt;a href=&#34;https://llm.datasette.io/en/stable/&#34;&gt;LLM&lt;/a&gt; project to handle wrapping the different LLMs. Armed with some experience, I want to start looking at real frameworks. Google released an &lt;a href=&#34;https://google.github.io/adk-docs/&#34;&gt;Agent Development Kit&lt;/a&gt; at Google Next. It supports many of the features I have been playing with, including tool calling, planning, MCP, and local models. It also supports some advanced concepts like agent orchestration.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring LLMs as Agents: Local Models</title>
      <link>https://starkravingfinkle.org/posts/2025/04/exploring-llms-as-agents-local-models/</link>
      <pubDate>Sun, 13 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/04/exploring-llms-as-agents-local-models/</guid>
      <description>&lt;p&gt;I finally got around to exploring local models, which is surprisingly simple to set up. I wanted to see how well a local model would perform in &lt;code&gt;ToolAgent&lt;/code&gt; compared to the remote models (mostly Gemini) I have been using.&lt;/p&gt;&#xA;&lt;p&gt;For more context on my explorations , checkout the previous posts: &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-a-minimalist-approach/&#34;&gt;Minimalist Approach&lt;/a&gt;, &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-taking-action/&#34;&gt;Taking Action&lt;/a&gt;, &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-planning-via-prompting/&#34;&gt;Planning via Prompting&lt;/a&gt;, &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-tools-benchmarking/&#34;&gt;Tools &amp;amp; Benchmarking&lt;/a&gt;, &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-webagent-gets-a-refactor/&#34;&gt;WebAgent Gets a Refactor&lt;/a&gt;, and &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-model-context-protocol/&#34;&gt;Model Context Protocol (MCP)&lt;/a&gt;. Take a look at the &lt;a href=&#34;https://github.com/mfinkle/llm-agents&#34;&gt;repository&lt;/a&gt; to see the code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring LLMs as Agents: Model Context Protocol</title>
      <link>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-model-context-protocol/</link>
      <pubDate>Sun, 30 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-model-context-protocol/</guid>
      <description>&lt;p&gt;I will likely run out of topics to cover in the &amp;ldquo;LLMs as Agents&amp;rdquo; series, eventually. I wanted to explore creating a chat UI and what I could do with embeddings but I didn&amp;rsquo;t do that. For more context , checkout the previous posts: &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-a-minimalist-approach/&#34;&gt;Minimalist Approach&lt;/a&gt;, &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-taking-action/&#34;&gt;Taking Action&lt;/a&gt;, &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-planning-via-prompting/&#34;&gt;Planning via Prompting&lt;/a&gt;, &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-tools-benchmarking/&#34;&gt;Tools &amp;amp; Benchmarking&lt;/a&gt;, and &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-webagent-gets-a-refactor/&#34;&gt;WebAgent Gets a Refactor&lt;/a&gt;. Take a look at the &lt;a href=&#34;https://github.com/mfinkle/llm-agents&#34;&gt;repository&lt;/a&gt; to see the code.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m back to cover the new hotness in the agent space: &lt;a href=&#34;https://modelcontextprotocol.io/introduction&#34;&gt;Model Context Protocol&lt;/a&gt; (MCP) from &lt;a href=&#34;https://www.anthropic.com/news/model-context-protocol&#34;&gt;Anthropic&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Search</title>
      <link>https://starkravingfinkle.org/search/</link>
      <pubDate>Mon, 24 Mar 2025 23:00:00 -0300</pubDate>
      <guid>https://starkravingfinkle.org/search/</guid>
      <description>&lt;h1 id=&#34;search&#34;&gt;Search&lt;/h1&gt;&#xA;&lt;p&gt;Here you can search for indexable pages, like posts and alike. There&amp;rsquo;s also support for URL param &amp;ldquo;q&amp;rdquo; which then auto searches upon page load event.&lt;/p&gt;&#xA;&lt;p class=&#34;hidden&#34;&gt;It&amp;#39;s necessary to enable Javascript&lt;/p&gt;&#xA;&lt;p class=&#34;search-loading hidden&#34;&gt;Loading...&lt;/p&gt;&#xA;&#xA;&lt;form id=&#34;search-form&#34; class=&#34;search-form&#34; action=&#34;#&#34; method=&#34;post&#34; accept-charset=&#34;UTF-8&#34; role=&#34;search&#34;&gt;&#xA;  &lt;div class=&#34;search-bar&#34;&gt;&#xA;    &lt;label for=&#34;query&#34; class=&#34;hidden&#34;&gt;&lt;/label&gt;&#xA;    &lt;input id=&#34;query&#34; class=&#34;search-text&#34; type=&#34;text&#34; placeholder=&#34;Search...&#34;/&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/form&gt;&#xA;&#xA;&lt;div class=&#34;search-results&#34;&gt;&lt;/div&gt;&#xA;&#xA;&lt;template&gt;&#xA;  &lt;article class=&#34;search-result list-view&#34;&gt;&#xA;    &lt;header&gt;&#xA;      &lt;h2 class=&#34;title&#34;&gt;&lt;a href=&#34;#&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;      &lt;div class=&#34;submitted&#34;&gt;&#xA;        &lt;time class=&#34;created-date&#34;&gt;&lt;/time&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/header&gt;&#xA;    &lt;p class=&#34;content&#34;&gt;&lt;/p&gt;&#xA;  &lt;/article&gt;&#xA;&lt;/template&gt;</description>
    </item>
    <item>
      <title>Exploring LLMs as Agents: WebAgent Gets a Refactor</title>
      <link>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-webagent-gets-a-refactor/</link>
      <pubDate>Thu, 20 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-webagent-gets-a-refactor/</guid>
      <description>&lt;p&gt;My fifth post on LLMs as Agents. I just it&amp;rsquo;s a series now.&lt;/p&gt;&#xA;&lt;p&gt;After refactoring &lt;code&gt;ToolAgent&lt;/code&gt;, I decided to do the same with &lt;code&gt;WebAgent&lt;/code&gt;, building it on the &lt;code&gt;ToolAgent&lt;/code&gt; system. For more context and a refresher on &lt;code&gt;WebAgent&lt;/code&gt;, checkout the previous posts:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-a-minimalist-approach/&#34;&gt;Minimalist Approach&lt;/a&gt;: I kicked off my exploration by making two agents using the bare-minimum dependencies. I wanted to learn the concepts, before using a do-it-all framework.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-taking-action/&#34;&gt;Taking Action&lt;/a&gt;: I decided to focus on the &lt;code&gt;tool_agent&lt;/code&gt; and add some read/write tools for the agent to use. I also discovered the need to send clear and consistent context in prompts.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-planning-via-prompting/&#34;&gt;Planning via Prompting&lt;/a&gt;: I looked at ways to improve the agent outcomes by using better approaches to planning. I settled on using ReAct, with some Few-Shot prompts, and had the LLM do some Chain of Thought (CoT) output.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-tools-benchmarking/&#34;&gt;Tools &amp;amp; Benchmarking&lt;/a&gt;: I refactored the &lt;code&gt;ToolAgent&lt;/code&gt; code into a reusable base class, added some additional mock tools, and even some basic benchmarking.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Take a look at the &lt;a href=&#34;https://github.com/mfinkle/llm-agents&#34;&gt;repository&lt;/a&gt; to see the code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring LLMs as Agents: Tools &amp;amp; Benchmarking</title>
      <link>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-tools-benchmarking/</link>
      <pubDate>Sun, 16 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-tools-benchmarking/</guid>
      <description>&lt;p&gt;I spent some time refactoring the Tool Agent code, added some additional mock tools and even some basic benchmarking. For more context, checkout the previous posts:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-a-minimalist-approach/&#34;&gt;Minimalist Approach&lt;/a&gt;: I kicked off my exploration by making two agents using the bare-minimum dependencies. I wanted to learn the concepts, before using a do-it-all framework.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-taking-action/&#34;&gt;Taking Action&lt;/a&gt;: I decided to focus on the &lt;code&gt;tool_agent&lt;/code&gt; and add some read/write tools for the agent to use. I also discovered the need to send clear and consistent context in prompts.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-planning-via-prompting/&#34;&gt;Planning via Prompting&lt;/a&gt;: I looked at ways to improve the agent outcomes by using better approaches to planning. I settled on using ReAct, with some Few-Shot prompts, and had the LLM do some Chain of Thought (CoT) output.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Take a look at the &lt;a href=&#34;https://github.com/mfinkle/llm-agents&#34;&gt;repository&lt;/a&gt; to see the code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring LLMs as Agents: Planning via Prompting</title>
      <link>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-planning-via-prompting/</link>
      <pubDate>Sun, 09 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-planning-via-prompting/</guid>
      <description>&lt;p&gt;My exploration of how to use LLMs as Agents continues. In this post, I&amp;rsquo;m looking at ways to improve the outcomes by using better approaches to planning. For more context, checkout the previous posts:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-a-minimalist-approach/&#34;&gt;Minimalist Approach&lt;/a&gt;: I kicked off my exploration by making two agents using the bare-minimum dependencies. I wanted to learn the concepts, before using a do-it-all framework.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-taking-action/&#34;&gt;Taking Action&lt;/a&gt;: I decided to focus on the &lt;code&gt;tool_agent&lt;/code&gt; and add some read/write tools for the agent to use. I also discovered the need to send clear and consistent context in prompts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring LLMs as Agents: Taking Action</title>
      <link>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-taking-action/</link>
      <pubDate>Sun, 02 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-taking-action/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m still exploring how to use LLMs to build agents. In the &lt;a href=&#34;https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-a-minimalist-approach/&#34;&gt;first post&lt;/a&gt;, I described some of the motivation and approach. I started working on two agents:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;web_agent&lt;/strong&gt;: A basic agent that completes a web-based task using browser automation actions.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;tool_agent&lt;/strong&gt;: A basic agent that completes a task using a set of supplied tools or methods.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been focused more on tool_agent, trying to expand the types of tools I can provide. I had a suggestion to add some read/write type tools and scenarios, so I decided to try that out.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring LLMs as Agents: A Minimalist Approach</title>
      <link>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-a-minimalist-approach/</link>
      <pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2025/03/exploring-llms-as-agents-a-minimalist-approach/</guid>
      <description>&lt;p&gt;Large Language Models (LLMs) are powerful tools for generating text, answering questions, and coding. We&amp;rsquo;ve moved beyond generating content, and LLMs are now being used to take actions as &lt;strong&gt;agents&lt;/strong&gt; — independent entities that can act, use tools, and interact with their environment. You probably already know all of this.&lt;/p&gt;&#xA;&lt;p&gt;I wanted to explore using LLMs as agents, but I like to get an understanding of the underlying components before using high-level frameworks to hide all of the minutiae and make the process of building production-ready systems. Understanding how the different components work and interact is important to my own learning process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Work-as-Imagined vs Work-as-Done</title>
      <link>https://starkravingfinkle.org/posts/2024/04/work-as-imagined-vs-work-as-done/</link>
      <pubDate>Mon, 15 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2024/04/work-as-imagined-vs-work-as-done/</guid>
      <description>&lt;p&gt;With engineering focus on reducing incidents and improving operational reliability, I frequently come back to the realization that &lt;strong&gt;humans are fallible&lt;/strong&gt; and we should be learning ways to &lt;strong&gt;nudge people toward success rather than failure&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;There are whole industries and research machines built around the study of Human Factors, and how to improve safety, reliability, and quality. One topic that struck me as extremely useful to software engineering was the concepts of Work-as-Imagined (WAI) versus Work-as-Done (WAD). Anytime you’ve heard “&lt;em&gt;the system failed because someone executed a process differently than it was documented&lt;/em&gt;” could be a WAI vs WAD issue. This comes up a lot in healthcare, manufacturing, and transportation — where accidents can have horrible consequences.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Information Flows in Organizations</title>
      <link>https://starkravingfinkle.org/posts/2024/04/information-flows-in-organizations/</link>
      <pubDate>Wed, 10 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2024/04/information-flows-in-organizations/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve had cause to looked into research and ideas about the ways information flows within organizations. Discussions about transparency, decision making, empowering teams, and trust seem to intersect at organizational communication and information flows.&lt;/p&gt;&#xA;&lt;p&gt;One of my favorite people to follow in this space is &lt;a href=&#34;https://itrevolution.com/devops-blog/&#34;&gt;Gene Kim&lt;/a&gt; (&lt;a href=&#34;https://itrevolution.com/book/the-phoenix-project/&#34;&gt;Phoenix Project&lt;/a&gt;, &lt;a href=&#34;https://itrevolution.com/book/the-devops-handbook/&#34;&gt;DevOps Handbook&lt;/a&gt;, &lt;a href=&#34;https://itrevolution.com/book/accelerate/&#34;&gt;Accelerate&lt;/a&gt;, and &lt;a href=&#34;https://www.devops-research.com/research.html&#34;&gt;DORA Reports&lt;/a&gt;). He has done a few &lt;a href=&#34;https://itrevolution.com/the-idealcast-podcast/&#34;&gt;podcasts&lt;/a&gt; that focused on relevant topics and concluded that &lt;strong&gt;you can predict whether an organization is a high performer or a low performer&lt;/strong&gt;, just by looking at the communication paths of an organization, as well as their frequency and intensity. (&lt;a href=&#34;https://itrevolution.com/podcast/the-idealcast-episode-16/&#34;&gt;Episode 16&lt;/a&gt;, @54 min)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Project: Networked LED Pixel Display</title>
      <link>https://starkravingfinkle.org/posts/2022/04/project-networked-led-pixel-display/</link>
      <pubDate>Fri, 08 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2022/04/project-networked-led-pixel-display/</guid>
      <description>&lt;p&gt;I have been wanting to play around with an ESP32-based micro for a while. Once I became comfortable with Adafruit&amp;rsquo;s microcontrollers and &lt;a href=&#34;https://circuitpython.org/&#34;&gt;CircuitPython&lt;/a&gt;, I thought I&amp;rsquo;d try out some of their ESP32 offerings. I bought a few &lt;a href=&#34;https://www.adafruit.com/product/4264&#34;&gt;Airlift (ESP32) Featherwings&lt;/a&gt; to use with the &lt;a href=&#34;https://www.adafruit.com/feather2040&#34;&gt;Feather RP2040&lt;/a&gt; boards I was experimenting with.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve also been messing around with some WS2818 / NeoPixel LED 8×8 and 16x16 grids, so I thought it might be interesting to work on a web-based pixel display.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Project: LED Fiber Optic Lamp</title>
      <link>https://starkravingfinkle.org/posts/2022/01/project-led-fiber-optic-lamp/</link>
      <pubDate>Mon, 10 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2022/01/project-led-fiber-optic-lamp/</guid>
      <description>&lt;p&gt;Looking back at one of the first real projects I attempted which combined 3D printing and microprocessors. I received an &lt;a href=&#34;https://www.creality3dofficial.com/products/ender-3-v2-3d-printer&#34;&gt;Creality Ender 3 V2&lt;/a&gt; a year ago and after playing around with some test prints, I wanted to try building some more interesting and complex projects. I came across this &lt;a href=&#34;https://www.instructables.com/Fiber-Optic-LED-Lamp/&#34;&gt;fiber optic LED lamp&lt;/a&gt; project via &lt;a href=&#34;https://www.instructables.com&#34;&gt;Instructables&lt;/a&gt;. It was just the right amount of 3D printing, microprocessors, and coding I was looking for at the time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CircuitPython, LEDs, and Animations</title>
      <link>https://starkravingfinkle.org/posts/2021/12/circuitpython-leds-and-animations/</link>
      <pubDate>Sun, 05 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2021/12/circuitpython-leds-and-animations/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been playing around with some WS2818 / NeoPixel LED 8x8 grids and &lt;a href=&#34;https://circuitpython.org/&#34;&gt;CircuitPython&lt;/a&gt;. The CircuitPython ecosystem is really rich and &lt;a href=&#34;https://www.adafruit.com/&#34;&gt;Adafruit&lt;/a&gt; makes some very handy support libraries. I was using the &lt;a href=&#34;https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation&#34;&gt;LED Animation library&lt;/a&gt; to create some patterns on the neopixel grid, but wanted to try adding more capabilities. The time-slicing approach made it nice to add other code without blocking the program executing while the animations were happening.&lt;/p&gt;&#xA;&lt;p&gt;In particular, I wanted to add bitmap sprite animations and text scrolling. There are great libraries and examples in Adafruit&amp;rsquo;s collection of &lt;a href=&#34;https://learn.adafruit.com/&#34;&gt;Learn&lt;/a&gt; tutorials, but I didn&amp;rsquo;t see anything that played well with the time-slicing. I took a crack at building some of my own support.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tracking Work is Fundamental</title>
      <link>https://starkravingfinkle.org/posts/2021/10/tracking-work-is-fundamental/</link>
      <pubDate>Mon, 18 Oct 2021 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2021/10/tracking-work-is-fundamental/</guid>
      <description>&lt;p&gt;&amp;ldquo;Developers should only need Github Issues and Pull Requests to do their job&amp;rdquo; — Why should anyone need more than that to track work?&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/stack-of-rocks-1024x310.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Small companies and startups have small engineering teams. The amount of effort required to understand the ongoing and planned work is low due to sheer lack of ability to take on too much and succeed. Failure weeds out the companies that take on too much, too soon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Continuously Doing a Thing</title>
      <link>https://starkravingfinkle.org/posts/2021/07/continuously-doing-a-thing/</link>
      <pubDate>Sat, 03 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2021/07/continuously-doing-a-thing/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Practice makes perfect — Anonymous Parent&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A theme that keeps popping up in my world is the idea of &lt;em&gt;how&lt;/em&gt; &lt;strong&gt;&lt;em&gt;often&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;an action is done&lt;/em&gt; being correlated to &lt;em&gt;how&lt;/em&gt; &lt;strong&gt;&lt;em&gt;well&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;the action is done&lt;/em&gt;. &lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Deploying application and system code&lt;/li&gt;&#xA;&lt;li&gt;Releasing application distributions&lt;/li&gt;&#xA;&lt;li&gt;Triaging issues&lt;/li&gt;&#xA;&lt;li&gt;Testing product behavior&lt;/li&gt;&#xA;&lt;li&gt;Creating objectives&lt;/li&gt;&#xA;&lt;li&gt;Running experiments&lt;/li&gt;&#xA;&lt;li&gt;Executing migrations&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;A lot has been written about high-performing engineering teams. &lt;a href=&#34;https://www.amazon.com/Accelerate-Software-Performing-Technology-Organizations/dp/1942788339&#34;&gt;Accelerate&lt;/a&gt; is a great resource for exploring the behaviors of such teams. Frequent deploys is one of the leading indicators and was chosen by the authors as a key metric. With enough practice, deploys become low-risk and low-stress.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Being an Effective Engineering Leader</title>
      <link>https://starkravingfinkle.org/posts/2020/07/being-an-effective-engineering-leader/</link>
      <pubDate>Sat, 25 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2020/07/being-an-effective-engineering-leader/</guid>
      <description>&lt;p&gt;I often wonder if I&amp;rsquo;m being effective at my job. Might be related to my impostor syndrome, but in engineering management, the signals of effectiveness aren&amp;rsquo;t always clear. I have some basic, high level criteria I try to think about monthly, or so, to provide some insight.&lt;/p&gt;&#xA;&lt;h2 id=&#34;providing-a-clear-direction&#34;&gt;Providing a clear direction&lt;/h2&gt;&#xA;&lt;p&gt;Lack of clear direction can sometimes be seen when teams are doing medium-term/quarterly planning. If the objectives aren&amp;rsquo;t aligned with upper management, it&amp;rsquo;s probably my fault for not creating clear direction and expected outcomes. Try not to be too prescriptive, but make sure the goals are clearly defined.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stability: Smarter Monitoring Application Crashes</title>
      <link>https://starkravingfinkle.org/posts/2020/04/stability-smarter-monitoring-application-crashes/</link>
      <pubDate>Sun, 19 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2020/04/stability-smarter-monitoring-application-crashes/</guid>
      <description>&lt;p&gt;I had &lt;a href=&#34;https://starkravingfinkle.org/posts/2018/09/stability-monitoring-application-crashes/&#34;&gt;posted&lt;/a&gt; about the way Tumblr uses time-series monitoring to alert on crash spikes in the Android and iOS applications. Since then, we&amp;rsquo;ve done a lot of work to reduce the overall volume of crashes. As a result, we created a new problem: it was possible for a handful of people, caught in crash cycles, to cause our stability alerts to trigger.&lt;/p&gt;&#xA;&lt;p&gt;Once the stability alert is triggered, we typically start looking in the crash logging systems, like Crashlytics or Sentry, to find more information about the crash. We found an increasing number of occurrences where no particular crash could be easily identified as causing the spike.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Engineering Productivity: Being Actionable</title>
      <link>https://starkravingfinkle.org/posts/2020/04/engineering-productivity-being-actionable/</link>
      <pubDate>Mon, 06 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2020/04/engineering-productivity-being-actionable/</guid>
      <description>&lt;p&gt;There is a lot of information about engineering productivity out there. No one says it&amp;rsquo;s easy, but it can be downright difficult to turn the practices you hear about into plans you can put into action. What follows is an example of how we can create an actionable plan to increase our productivity.&lt;/p&gt;&#xA;&lt;p&gt;Let’s define &lt;a href=&#34;http://www.elidedbranches.com/2018/09/engineering-productivity.html&#34;&gt;engineering productivity&lt;/a&gt; as &lt;em&gt;how effectively your engineering team can get important and valuable work done&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How do you determine important and valuable work? — goals and objectives.&lt;/li&gt;&#xA;&lt;li&gt;How do you effectively get work done? — remove wasted time and effort from the delivery cycle&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;goals-planning-and-prioritizing&#34;&gt;Goals, Planning, and Prioritizing&lt;/h1&gt;&#xA;&lt;p&gt;If productivity is an organizational goal, you need to make sure people understand why and how it affects them. You need to communicate the message over and over in as many venues as possible. The more developers understand the goals and the direction, the more engaged they’ll be with the work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Integration Testing: Time to Reboot</title>
      <link>https://starkravingfinkle.org/posts/2020/01/integration-testing-time-to-reboot/</link>
      <pubDate>Mon, 27 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2020/01/integration-testing-time-to-reboot/</guid>
      <description>&lt;p&gt;I tried to push a plan for bootstrapping an automated integration test system for our Android and iOS applications. The plan was based on similar strategies I&amp;rsquo;d used, or seen used, at other companies. It didn&amp;rsquo;t fit well with the current situation and workflows. I failed to take those differences into account and the initiative failed.&lt;/p&gt;&#xA;&lt;p&gt;Developers never saw the value of using their time and workflow on the automated integration tests. Test engineers were overwhelmed by the amount of manual regression tests required for each release. Even with the manual tests, we have gaps in regression coverage leading to some severe defects shipped to users. We are wasting valuable manual testing time on hundreds of manual regression tests that rarely break, when we should be focusing those people on new feature and exploratory testing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Shipping Faster: The Hackday Mentality</title>
      <link>https://starkravingfinkle.org/posts/2019/08/shipping-faster-the-hackday-mentality/</link>
      <pubDate>Sat, 31 Aug 2019 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2019/08/shipping-faster-the-hackday-mentality/</guid>
      <description>&lt;p&gt;We recently held our Summer Hackday at Tumblr and the results were impressive. I started to think about the mentality of a Hackday and how it differs from a more traditional product feature workflow.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s amazing what can be accomplished in a day.&lt;/p&gt;&#xA;&lt;p&gt;Individuals or small groups start planning their projects in the days leading up to the event. On the day of the event, they&amp;rsquo;re off and running. They have 24 hours to get something working and demo it to the rest of the company.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on Organizational Culture</title>
      <link>https://starkravingfinkle.org/posts/2019/07/thoughts-on-organizational-culture/</link>
      <pubDate>Sun, 21 Jul 2019 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2019/07/thoughts-on-organizational-culture/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been thinking a lot about why it seems so hard to effect change in organizations. The change I&amp;rsquo;m referring to could be related to product strategy, processes, or improving engineering / operational excellence.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve come to realize that in many situations our efforts and plans don&amp;rsquo;t always align with the organization&amp;rsquo;s culture. When that happens, change is difficult.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m using &lt;em&gt;culture&lt;/em&gt; here to mean something deeper than espresso machines, foosball tables, and edgy office decor &amp;ndash; the visible parts of an organization&amp;rsquo;s culture. I&amp;rsquo;m talking about an organization&amp;rsquo;s beliefs, values, and basic assumptions &amp;ndash; the things people take for granted and guide decisions. These may have started from the founders, but they&amp;rsquo;ve evolved over time as we praise and recognize specific behavior.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on Dependency Injection</title>
      <link>https://starkravingfinkle.org/posts/2019/03/thoughts-on-dependency-injection/</link>
      <pubDate>Sun, 24 Mar 2019 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2019/03/thoughts-on-dependency-injection/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/pebbles-stones-rocks-1-1024x347.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I hear some strong opinions on &lt;a href=&#34;https://en.wikipedia.org/wiki/Dependency_injection&#34;&gt;dependency injection&lt;/a&gt; (DI). I’ve never really thought too much about DI specifically, but it is part of an &lt;a href=&#34;https://en.wikipedia.org/wiki/Inversion_of_control&#34;&gt;Inversion of Control&lt;/a&gt; strategy, which I think about a lot.&lt;/p&gt;&#xA;&lt;p&gt;Focus on the developer experience, low-friction maintenance and code health outcomes. What’s important to me:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Loosely coupled code&lt;/li&gt;&#xA;&lt;li&gt;Easy to test code&lt;/li&gt;&#xA;&lt;li&gt;Simple code&lt;/li&gt;&#xA;&lt;li&gt;Easy to maintain code&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Many folks seem to focus on constructor or method based DI. I agree the approach works great for shallow code hierarchies. I’d argue that loosely coupled, easily testable code requires constructor/method DI. Trying to inject everything across deep call stacks can get painful the deeper you go. It creates friction for developers trying to update code, possibly inhibiting code health refactors.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web ADB: Simple Web-based Access to Devices</title>
      <link>https://starkravingfinkle.org/posts/2018/11/web-adb-simple-web-based-access-to-devices/</link>
      <pubDate>Sun, 25 Nov 2018 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2018/11/web-adb-simple-web-based-access-to-devices/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve had a number of occasions where I needed direct access to an Android device that wasn&amp;rsquo;t connected to the computer in front of me. I can usually SSH into the remote host machine and use ADB to try to debug the situation. If the simple stuff doesn&amp;rsquo;t work, I eventually start using &lt;a href=&#34;https://developer.android.com/studio/command-line/adb#screencap&#34;&gt;ADB screencap&lt;/a&gt; to get a look at what&amp;rsquo;s on the device. If I&amp;rsquo;m lucky, I can remote desktop to the host. If not, I end up copying the images back to my machine to view them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stability: Monitoring Application Crashes</title>
      <link>https://starkravingfinkle.org/posts/2018/09/stability-monitoring-application-crashes/</link>
      <pubDate>Sat, 29 Sep 2018 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2018/09/stability-monitoring-application-crashes/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/crash-rate-1024x283.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Crashes are inevitable. For an application with many people actively using it, the amount of crashes is probably higher than you&amp;rsquo;d imagine. Thankfully, there are many in-house and third-party systems that allow you to track crashes with detailed meta data and crash stacks.&lt;/p&gt;&#xA;&lt;p&gt;It takes some practice and diligence, but you can get very good at managing and fixing the most relevant crashes in your application.&lt;/p&gt;&#xA;&lt;p&gt;When I started working at Tumblr, I noticed they were using an additional approach to tracking crashes: &lt;strong&gt;a real-time, low-cardinality, crash event&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Decisions, Decisions, Decisions</title>
      <link>https://starkravingfinkle.org/posts/2018/08/decisions-decisions-decisions/</link>
      <pubDate>Sun, 19 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2018/08/decisions-decisions-decisions/</guid>
      <description>&lt;p&gt;A big part of leading people and teams is making decisions. You can&amp;rsquo;t move forward without making decisions. As the lead, or manager, it&amp;rsquo;s part of your job. Don&amp;rsquo;t pass it down to someone on your team. They&amp;rsquo;re looking to you.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Get the facts:&lt;/strong&gt; Try to be well informed about the situation, the inputs effecting the decision, and the outcomes from the decision. If you&amp;rsquo;re not well informed, start asking people who are. They might have the information, or parts of it, but aren&amp;rsquo;t in the position to make the decision.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Trust your gut:&lt;/strong&gt; It&amp;rsquo;s unlikely you&amp;rsquo;ll ever have 100% of the information you need. That&amp;rsquo;s fine, the &lt;a href=&#34;https://digitalkickstart.com/the-4070-rule-and-how-it-applies-to-you/&#34;&gt;40/70 rule&lt;/a&gt; says waiting for 100% is waiting too long.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Know the risks:&lt;/strong&gt; Not all decisions will be the right decision. Mistakes happen, but the trick is trying to minimize the cost of a potential mistake by knowing and lowering the risk. People point to the &lt;a href=&#34;https://www.businessinsider.com/i-tried-the-101010-method-inspired-by-warren-buffett-and-ray-dalio-2017-10&#34;&gt;10/10/10 approach&lt;/a&gt; as a way to do this.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Be consistent:&lt;/strong&gt; Try to have a process or convention or guideline or philosophy to fall back on to help shape your decision. Exceptions can happen, but decisions are easier to make if you have a well know starting place to build from.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Don&amp;rsquo;t delay:&lt;/strong&gt; The longer it takes to make a decision, the more problematic a situation can become. In the long run, every decision is short term. Delays keep the team from moving forward. Brian Valentine, lead developer on Windows 2000, had a &lt;a href=&#34;https://news.microsoft.com/2000/02/16/the-motivator-behind-the-windows-2000-development-team/&#34;&gt;famous quote&lt;/a&gt;: &amp;ldquo;Decisions in 10 minutes or less, or the next one is free.&amp;rdquo;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;These guidelines can be useful when you&amp;rsquo;re in a period of heavy decision making. &lt;a href=&#34;https://en.wikipedia.org/wiki/Decision_fatigue&#34;&gt;Decision fatigue&lt;/a&gt; is a real condition. It can lead to a reduced ability to make trade-offs, understand risk, or even just flat out avoid making the decision altogether. If you&amp;rsquo;re not prepared, your decisions will suffer and so will your team.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Random Thoughts on Team Structure</title>
      <link>https://starkravingfinkle.org/posts/2017/08/random-thoughts-on-team-structure/</link>
      <pubDate>Mon, 07 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2017/08/random-thoughts-on-team-structure/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/bee-on-flower-1024x590.jpg&#34; alt=&#34;&#34;&gt; I&amp;rsquo;ve written &lt;a href=&#34;https://starkravingfinkle.org/posts/2013/07/patterns-of-effective-teams/&#34;&gt;previously&lt;/a&gt; about my thoughts on team structure. I&amp;rsquo;m a fan of product-centric teams &amp;ndash; multidisciplinary teams that embed members from functional groups on the same team, all working together to create and ship a software product.&lt;/p&gt;&#xA;&lt;h2 id=&#34;team-evolution&#34;&gt;Team Evolution&lt;/h2&gt;&#xA;&lt;p&gt;At some point, a team might grow large enough that you want to split into smaller groups, each with a primary focus. You&amp;rsquo;re still building a single product, but now you have a collection of product-centric teams working on specific features. How did you get here?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Performance: Design &amp; Expectations</title>
      <link>https://starkravingfinkle.org/posts/2017/07/performance-design-expectations/</link>
      <pubDate>Sun, 09 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2017/07/performance-design-expectations/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/lizard-1024x564.jpg&#34; alt=&#34;&#34;&gt; Providing a great user experience under a variety of performance situations means designing for a variety of expectations. Defining a great user experience should include &lt;a href=&#34;https://timkadlec.com/2013/01/setting-a-performance-budget/&#34;&gt;performance budgets&lt;/a&gt; for the various pieces of the experience. Some basic examples include: Application startup, Image loading, and UI responsiveness.&lt;/p&gt;&#xA;&lt;h2 id=&#34;application-startup&#34;&gt;Application Startup&lt;/h2&gt;&#xA;&lt;p&gt;First impressions are important, and startup time (page-load for web apps) is that first impression. There is a lot of information floating around that should convince you of the importance of a fast launch time. Still, we seem to cram more and more cruft into that part of the application. We initialize analytic libraries, load saved preferences, try to re-send failed or queued events and data, and maybe even send crash reports from previous sessions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Performance: The Merits of Measuring</title>
      <link>https://starkravingfinkle.org/posts/2017/07/performance-the-merits-of-measuring/</link>
      <pubDate>Mon, 03 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2017/07/performance-the-merits-of-measuring/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/pr-graffiti-1024x753.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;If you can not measure it, you can not improve it. - Lord Kelvin.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;There is so much information out there on ways to improve the performance of your mobile application or website. You probably feel you can just dive in and start making changes. But if you&amp;rsquo;re not &lt;em&gt;measuring&lt;/em&gt; your application&amp;rsquo;s performance, you don&amp;rsquo;t know if anything is really helping or hurting. How do you know what effect any changes will have on the performance? Most applications are complex enough that we can&amp;rsquo;t assume our simplistic reasoning accurately reflects the code behavior. You need to measure.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Guiding Teams to Outcomes</title>
      <link>https://starkravingfinkle.org/posts/2017/06/guiding-teams-to-outcomes/</link>
      <pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2017/06/guiding-teams-to-outcomes/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/path-in-woods-1024x419.jpeg&#34; alt=&#34;&#34;&gt; You work in an organization that sets some high-level goals. Your team might be accountable for some of those goals. However, to hit the goals, you&amp;rsquo;ll need cooperation from groups outside of your team.&lt;/p&gt;&#xA;&lt;p&gt;What do you do? How do you get everyone on the path to finishing the shared outcomes?&lt;/p&gt;&#xA;&lt;p&gt;Situations like this happen a lot. Some ideas:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Make sure the path is clearly marked.&lt;/li&gt;&#xA;&lt;li&gt;Make it easy for people to stay on the path.&lt;/li&gt;&#xA;&lt;li&gt;Make it hard for people to go off the path.&lt;/li&gt;&#xA;&lt;li&gt;Be the voice of encouragement.&lt;/li&gt;&#xA;&lt;li&gt;Be the voice of recognition.&lt;/li&gt;&#xA;&lt;li&gt;Assume people want to be on the path, but they might also be busy with other problems.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Managing &amp;ldquo;friction&amp;rdquo; can be a useful technique in getting everyone working toward the goals. Try to reduce friction on anything that positively affects getting to the outcomes, but add friction to those things that are negative.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Communicating via IRC/Slack</title>
      <link>https://starkravingfinkle.org/posts/2017/01/communicating-via-ircslack/</link>
      <pubDate>Mon, 16 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2017/01/communicating-via-ircslack/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/derailing-conversations.jpeg&#34; alt=&#34;&#34;&gt; I&amp;rsquo;ve used messaging tools like IRC and Slack at work every day for the last 11+ years. For much of that time, I was working remotely. Even my co-workers, working in offices, used messaging tools as much as I did.&lt;/p&gt;&#xA;&lt;p&gt;When I first started working for Mozilla and visited one of the main offices, it was weird to see this happening. People sitting a few desks away from each other were chatting via messaging instead of just speaking. There are many reasons why this happens, but a primary outcome was that it allowed remote workers to be included in almost all discussions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Always Be Shipping - Expect the Unexpected</title>
      <link>https://starkravingfinkle.org/posts/2016/10/always-be-shipping-expect-the-unexpected/</link>
      <pubDate>Thu, 13 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2016/10/always-be-shipping-expect-the-unexpected/</guid>
      <description>&lt;p&gt;Normal releases are consistent and predictable. &lt;a href=&#34;https://starkravingfinkle.org/posts/2016/09/always-be-shipping/&#34;&gt;Scheduled releases&lt;/a&gt; benefit developers, testers, support and PR. Unpredictable releases can cause communication problems, stress and fatigue. Those can lead to poor software quality and developer turn-over.&lt;/p&gt;&#xA;&lt;p&gt;Sometimes we need to deal with unexpected issues that can’t wait for a normal release. Some examples include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;High volume crashes&lt;/li&gt;&#xA;&lt;li&gt;Broken functionality&lt;/li&gt;&#xA;&lt;li&gt;Security issues&lt;/li&gt;&#xA;&lt;li&gt;Special date-based features&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Anyone should be able to suggest an off-cycle release, so make sure there’s a straightforward, simple process for doing it. Identify that a special release is really necessary. Maybe the issue can wait for the next normal release. Consider using an approval process to decide if the release is warranted. An approval process creates a small hurdle that forces some justification. An off-cycle release is not cheap and has potential to derail the normal release process. Don’t put the normal release cycle at risk.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Always Be Shipping</title>
      <link>https://starkravingfinkle.org/posts/2016/09/always-be-shipping/</link>
      <pubDate>Wed, 14 Sep 2016 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2016/09/always-be-shipping/</guid>
      <description>&lt;p&gt;We all want to ship as fast as possible, while making sure we can control the quality of our product. Continuous deployment means we can ship at any time, right? Well, we still need to balance the unstable and stable parts of the codebase.&lt;/p&gt;&#xA;&lt;h2 id=&#34;web-deploys-vs-application-deploys&#34;&gt;Web Deploys vs Application Deploys&lt;/h2&gt;&#xA;&lt;p&gt;The ability to control changes in your stable codebase is usually the limiting factor in how quickly and easily you can ship your product to people. For example, web products can ship frequently because it’s somewhat easy to control the state of the product people are using. When something is updated on the website, users get the update when loading the content or refreshing the page. With mobile applications, it can be harder to control the version of the product people are using. After pushing an update to the store, people need to update the application on their devices. This takes time and it&amp;rsquo;s disruptive. It’s typical for several versions of a mobile application to be active at any given time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On the Merits of Bug Tracking</title>
      <link>https://starkravingfinkle.org/posts/2016/08/on-the-merits-of-bug-tracking/</link>
      <pubDate>Mon, 29 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2016/08/on-the-merits-of-bug-tracking/</guid>
      <description>&lt;p&gt;Yes, I wrote a whole blog post about bugs. Bugs are boring and managing bugs can be mind-numbing. However, all software has bugs and managing those bugs helps you understand the health and quality of your software, helps you understand the risk associated with new features, and helps you figure out if you&amp;rsquo;re ready to ship or not.&lt;/p&gt;&#xA;&lt;p&gt;At some point in our careers, developers have a desire to fix all bugs before releasing. This might work for small projects or in situations where you don&amp;rsquo;t have a lot of testing. For larger projects, especially as projects mature, it&amp;rsquo;s just not possible to fix &lt;a href=&#34;https://www.bugzilla.org/docs/2.22/html/glossary.html#gloss-zarro&#34;&gt;all the bugs&lt;/a&gt; before releasing an new version, so it&amp;rsquo;s time to manage your backlog. Creating &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Mozilla/QA/Bug_writing_guidelines&#34;&gt;good bugs&lt;/a&gt; helps reduce the time it takes to manage and fix bugs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leaving Mozilla</title>
      <link>https://starkravingfinkle.org/posts/2016/07/leaving-mozilla/</link>
      <pubDate>Fri, 01 Jul 2016 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2016/07/leaving-mozilla/</guid>
      <description>&lt;p&gt;I &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/12/reboot/&#34;&gt;joined&lt;/a&gt; Mozilla in 2006 wanting to learn how to build &amp;amp; ship software at a large scale, to push myself to the next level, and to have an impact millions of people. Mozilla also gave me an opportunity to build teams, lead people, and focus on products. It&amp;rsquo;s been a great experience and I have definitely accomplished my original goals, but after nearly 10 years, I have decided to move on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pitching Ideas - It&#39;s Not About Perfect</title>
      <link>https://starkravingfinkle.org/posts/2016/04/pitching-ideas-its-not-about-perfect/</link>
      <pubDate>Sat, 16 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2016/04/pitching-ideas-its-not-about-perfect/</guid>
      <description>&lt;p&gt;I realized a long time ago that I was not the type of person who could create, build &amp;amp; polish ideas all by myself. I need collaboration with others to hone and build ideas. More than not, I&amp;rsquo;m not the one who starts the idea. I pick up something from someone else - bend it, twist it, and turn it into something different.&lt;/p&gt;&#xA;&lt;p&gt;Like many others, I have a problem with &amp;lsquo;fear of rejection&amp;rsquo;, which kept me from shepherding my ideas from beginning to shipped. If I couldn&amp;rsquo;t finish the idea myself or share it within my trusted circle, the idea would likely die. I had most successes when sharing ideas with others. I have been working to increase the size of the trusted circle, but it still has limits.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fun with Telemetry: Improving Our User Analytics Story</title>
      <link>https://starkravingfinkle.org/posts/2016/04/fun-with-telemetry-improving-our-user-analytics-story/</link>
      <pubDate>Wed, 06 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2016/04/fun-with-telemetry-improving-our-user-analytics-story/</guid>
      <description>&lt;p&gt;My &lt;a href=&#34;https://starkravingfinkle.org/posts/2016/02/fun-with-telemetry-diy-user-analytics-lab-in-sql/&#34;&gt;last post&lt;/a&gt; talks about the initial work to create a real user analytics system based on the UI Telemetry event data collected in Firefox on Mobile. I&amp;rsquo;m happy to report that we&amp;rsquo;ve had much forward progress since then. Most importantly, we are no longer using the DIY setup on one of my Mac Minis. Working with the Mozilla Telemetry &amp;amp; Data team, we have a system that extracts data from UI Telemetry via &lt;a href=&#34;https://analysis.telemetry.mozilla.org/&#34;&gt;Spark&lt;/a&gt;, imports the data into &lt;a href=&#34;https://prestodb.io/&#34;&gt;Presto&lt;/a&gt;-based storage, and allows SQL queries and visualization via &lt;a href=&#34;http://redash.io/&#34;&gt;Re:dash&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox on Mobile: A/B Testing and Staged Rollouts</title>
      <link>https://starkravingfinkle.org/posts/2016/02/firefox-on-mobile-abtesting-and-staged-rollouts/</link>
      <pubDate>Mon, 22 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2016/02/firefox-on-mobile-abtesting-and-staged-rollouts/</guid>
      <description>&lt;p&gt;We have decided to start running &lt;a href=&#34;https://en.wikipedia.org/wiki/A/B_testing&#34;&gt;A/B Testing&lt;/a&gt; in &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.mozilla.firefox&#34;&gt;Firefox for Android&lt;/a&gt;. These experiments are intended to optimize specific outcomes, as well as, inform our long-term design decisions. We want to create the best Firefox experience we can, and these experiments will help.&lt;/p&gt;&#xA;&lt;p&gt;The system will also allow us to throttle the release of features, called staged rollout or &lt;a href=&#34;http://martinfowler.com/bliki/FeatureToggle.html&#34;&gt;feature toggles&lt;/a&gt;, so we can monitor new features in a controlled manner across a large user base and a fragmented device ecosystem. If we need to rollback a feature for some reason, we&amp;rsquo;d have the ability to do that, quickly without needing people to update software.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fun with Telemetry: DIY User Analytics Lab in SQL</title>
      <link>https://starkravingfinkle.org/posts/2016/02/fun-with-telemetry-diy-user-analytics-lab-in-sql/</link>
      <pubDate>Mon, 22 Feb 2016 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2016/02/fun-with-telemetry-diy-user-analytics-lab-in-sql/</guid>
      <description>&lt;p&gt;Firefox on Mobile has a system to collect telemetry data from user interactions. We created a simple &lt;em&gt;event&lt;/em&gt; and &lt;em&gt;session&lt;/em&gt; &lt;a href=&#34;https://gecko.readthedocs.org/en/latest/mobile/android/fennec/uitelemetry.html&#34;&gt;UI telemetry system&lt;/a&gt;, built on top of the &lt;a href=&#34;https://gecko.readthedocs.org/en/latest/toolkit/components/telemetry/telemetry/index.html&#34;&gt;core telemetry system&lt;/a&gt;. The core telemetry system has been mainly focused on performance and stability. The UI telemetry system is really focused on how people are interacting with the application itself.&lt;/p&gt;&#xA;&lt;p&gt;Event-based data streams are commonly used to do user data analytics. We&amp;rsquo;re pretty fortunate to have streams of events coming from all of our distribution channels. I wanted to start doing different types of analyses on our data, but first I needed to build a simple system to get the data into a suitable format for hacking.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox on Mobile: Browser or App?</title>
      <link>https://starkravingfinkle.org/posts/2016/01/firefox-on-mobile-browser-or-app/</link>
      <pubDate>Tue, 05 Jan 2016 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2016/01/firefox-on-mobile-browser-or-app/</guid>
      <description>&lt;p&gt;It seems common for people have the same expectations for browsers on Mobile as they do on Desktop. Why is that? I&amp;rsquo;d rather create a set of Mobile-specific expectations for a browser. Mobile is very application-centric and those applications play a large role in how people use devices. When defining what success means for Firefox on Mobile, we should be thinking about Firefox as an &lt;em&gt;application&lt;/em&gt;, not as a &lt;em&gt;browser&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>An Engineer&#39;s Guide to App Metrics</title>
      <link>https://starkravingfinkle.org/posts/2015/11/an-engineers-guide-to-app-metrics/</link>
      <pubDate>Sun, 22 Nov 2015 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2015/11/an-engineers-guide-to-app-metrics/</guid>
      <description>&lt;p&gt;Building and shipping a successful product takes more than raw engineering. I have been posting a bit about using &lt;a href=&#34;https://starkravingfinkle.org/posts/2014/07/firefox-for-android-collecting-and-using-telemetry/&#34;&gt;Telemetry&lt;/a&gt; to learn about how people interact with your application so you can optimize use cases. There are other types of data you should consider too. Being aware of these metrics can help provide a better focus for your work and, hopefully, have a bigger impact on the success of your product.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fun With Telemetry: URL Suggestions</title>
      <link>https://starkravingfinkle.org/posts/2015/10/fun-with-telemetry-url-suggestions/</link>
      <pubDate>Fri, 02 Oct 2015 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2015/10/fun-with-telemetry-url-suggestions/</guid>
      <description>&lt;p&gt;Firefox for Android has a &lt;a href=&#34;https://starkravingfinkle.org/posts/2014/07/firefox-for-android-collecting-and-using-telemetry/&#34;&gt;UI Telemetry system&lt;/a&gt;. Here is an example of one of the ways we use it.&lt;/p&gt;&#xA;&lt;p&gt;As you type a URL into Firefox for Android, matches from your browsing history are shown. We also display search suggestions from the default search provider. We also recently added support for displaying matches to previously entered search history. If any of these are tapped, with one exception, the term is used to load a search results page via the default search provider. If the term looks like a domain or URL, Firefox skips the search results page and loads the URL directly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Is Ad Blocking Really About The Ads?</title>
      <link>https://starkravingfinkle.org/posts/2015/09/is-ad-blocking-really-about-the-ads/</link>
      <pubDate>Fri, 18 Sep 2015 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2015/09/is-ad-blocking-really-about-the-ads/</guid>
      <description>&lt;p&gt;Since Apple released iOS9 with &lt;a href=&#34;https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewInSafari/Articles/Safari_9.html#//apple_ref/doc/uid/TP40014305-CH9-SW8&#34;&gt;Content Blocking extensions for Safari&lt;/a&gt;, there has been a lot of discussion about the ramifications. On one side, you have the content providers who earn a living by monetizing the content they generate. On the other side, you have consumers who view the content on our devices, trying to focus on the wonderful content and avoid those annoying advertisements.&lt;/p&gt;&#xA;&lt;p&gt;But wait, is it really the ads? The web has had advertisements for a long time. Over the years, the way Ad Networks optimize the efficiency of ad monetization has changed. I think it happened slowly enough that we, as consumers, largely didn&amp;rsquo;t noticed some of the downsides. But other people did. They realized that Ad Networks &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/lightbeam/&#34;&gt;track us&lt;/a&gt; in ways that might feel like an invasion of privacy. So those people started &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/&#34;&gt;blocking ads&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Random Management: Unblocking Technical Leadership</title>
      <link>https://starkravingfinkle.org/posts/2015/08/random-management-unblocking-technical-leadership/</link>
      <pubDate>Sat, 15 Aug 2015 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2015/08/random-management-unblocking-technical-leadership/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been an Engineering Manager for a while now, but for many years I filled a Developer role. I have done a lot of coding over the years. I still try to do a little coding every now and then. Because of my past as a developer, I could be oppressive to senior developers on my teams. When making decisions, I found myself providing both the management viewpoint and the technical viewpoint. This usually means I was keeping a perfectly qualified technical person from participating at a higher level of responsibility. This creates an unhealthy technical organization with limited career growth opportunities.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Random Thoughts on Engineering Management</title>
      <link>https://starkravingfinkle.org/posts/2015/07/random-thoughts-on-management/</link>
      <pubDate>Thu, 02 Jul 2015 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2015/07/random-thoughts-on-management/</guid>
      <description>&lt;p&gt;I have ended up managing people at the last three places I&amp;rsquo;ve worked, over the last 18 years. I can honestly say that only in the last few years have I really started to embrace the job of managing. Here&amp;rsquo;s a collection of thoughts and observations:&lt;/p&gt;&#xA;&lt;h2 id=&#34;growth-ideas-and-opinions-and-failures&#34;&gt;Growth: Ideas and Opinions and Failures&lt;/h2&gt;&#xA;&lt;p&gt;Expose your team to new ideas and help them create their own voice. When people get bored or feel they aren&amp;rsquo;t growing, they&amp;rsquo;ll look elsewhere. Give people time to explore new concepts, while trying to keep results and outcomes relevant to the project.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: What&#39;s New in v35</title>
      <link>https://starkravingfinkle.org/posts/2015/01/firefox-for-android-whats-new-in-v35/</link>
      <pubDate>Fri, 16 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2015/01/firefox-for-android-whats-new-in-v35/</guid>
      <description>&lt;p&gt;The latest release of &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.mozilla.firefox&#34;&gt;Firefox for Android&lt;/a&gt; is filled with new features, designed to work with the way you use your mobile device.&lt;/p&gt;&#xA;&lt;h2 id=&#34;search&#34;&gt;Search&lt;/h2&gt;&#xA;&lt;p&gt;Search is the most common reason people use a browser on mobile devices. To help make it easier to search using Firefox, we created the standalone Search application. We have put the features of Firefox&amp;rsquo;s search system into an activity that can more easily be accessed. You no longer need to launch the full browser to start a search.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Collecting and Using Telemetry</title>
      <link>https://starkravingfinkle.org/posts/2014/07/firefox-for-android-collecting-and-using-telemetry/</link>
      <pubDate>Fri, 25 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2014/07/firefox-for-android-collecting-and-using-telemetry/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=org.mozilla.firefox&#34;&gt;Firefox 31 for Android&lt;/a&gt; is the first release where we collect telemetry data on user interactions. We created a simple &amp;ldquo;event&amp;rdquo; and &amp;ldquo;session&amp;rdquo; system, built on top of the current telemetry system that has been shipping in Firefox for many releases. The existing telemetry system is focused more on the platform features and tracking how various components are behaving in the wild. The new system is really focused on how people are interacting with the application itself.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Casting videos and Roku support - Ready to test in Nightly</title>
      <link>https://starkravingfinkle.org/posts/2014/06/firefox-for-android-casting-videos-and-roku-support-ready-to-test-in-nightly/</link>
      <pubDate>Fri, 06 Jun 2014 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2014/06/firefox-for-android-casting-videos-and-roku-support-ready-to-test-in-nightly/</guid>
      <description>&lt;p&gt;Firefox for Android &lt;a href=&#34;http://nightly.mozilla.org/&#34;&gt;Nightly builds&lt;/a&gt; now support casting HTML5 videos from a web page to a TV via a connected Roku streaming player. Using the system is simple, but it does require you to install a viewer application on your Roku device. Firefox support for the Roku viewer and the viewer itself are both currently pre-release. We&amp;rsquo;re excited to invite our Nightly channel users to help us test these new features, share feedback and &lt;a href=&#34;https://bugzilla.mozilla.org/enter_bug.cgi?component=Screencasting&amp;amp;product=Firefox%20for%20Android&#34;&gt;file any bugs&lt;/a&gt; so we can continue to make improvements to performance and functionality.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Your Feedback Matters!</title>
      <link>https://starkravingfinkle.org/posts/2014/05/firefox-for-android-your-feedback-matters/</link>
      <pubDate>Sat, 31 May 2014 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2014/05/firefox-for-android-your-feedback-matters/</guid>
      <description>&lt;p&gt;Millions of people use &lt;a href=&#34;https://play.google.com/store/apps/details?id=org.mozilla.firefox&#34;&gt;Firefox for Android&lt;/a&gt; every day. It&amp;rsquo;s amazing to work on a product used by so many people. Unsurprisingly, some of those people send us feedback. We even have a simple system built into the application to make it easy to do. We have various systems to scan the feedback and look for trends. Sometimes, we even manually dig through the feedback for a given day. It takes time. There is a lot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Page Load Performance</title>
      <link>https://starkravingfinkle.org/posts/2014/01/firefox-for-android-page-load-perfomance/</link>
      <pubDate>Mon, 20 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2014/01/firefox-for-android-page-load-perfomance/</guid>
      <description>&lt;p&gt;One of the common types of feedback we get about Firefox for Android is that it&amp;rsquo;s slow. Other browsers get the same feedback and it&amp;rsquo;s an ongoing struggle. I mean, is anything ever really fast enough?&lt;/p&gt;&#xA;&lt;p&gt;We tend to separate performance into three categories: Startup, Page Load and UX Responsiveness. Lately, we have been focusing on the &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=947390&#34;&gt;Page Load performance&lt;/a&gt;. We separate further into Objective (real timing) and Subjective (perceived timing). If something &amp;ldquo;feels&amp;rdquo; slow it can be just as bad as something that is measurably slow. We have a few testing frameworks that help us track objective and subjective performance. We also use Java, JavaScript and C++ profiling to look for slow code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GeckoView: Embedding Gecko in your Android Application</title>
      <link>https://starkravingfinkle.org/posts/2013/10/geckoview-embedding-gecko-in-your-android-application/</link>
      <pubDate>Thu, 17 Oct 2013 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2013/10/geckoview-embedding-gecko-in-your-android-application/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=org.mozilla.firefox&#34;&gt;Firefox for Android&lt;/a&gt; is a great browser, bringing a modern HTML rendering engine to Android 2.2 and newer. One of the things we have been hoping to do for a long time now is make it possible for other Android applications to embed the Gecko rendering engine. Over the last few months we started a side project to make this possible. We call it &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Projects/GeckoView&#34;&gt;GeckoView&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;As mentioned in the project page, we don&amp;rsquo;t intend GeckoView to be a drop-in replacement for WebView. Internally, Gecko is very different from Webkit and trying to expose the same features using the same APIs just wouldn&amp;rsquo;t be scalable or maintainable. That said, we want it to feel Android-ish and you should be comfortable with using it in your applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>We &lt;3 Interns!</title>
      <link>https://starkravingfinkle.org/posts/2013/09/we/</link>
      <pubDate>Thu, 26 Sep 2013 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2013/09/we/</guid>
      <description>&lt;p&gt;If Mozilla had secret weapons, I think our Interns would be included on the list. These hard working troops descend upon us during their school breaks and end up working on some of the hardest problems Mozilla has to offer. Our primary Intern &amp;ldquo;season&amp;rdquo; is wrapping up and I wanted to touch upon some of the work completed or in-progress.&lt;/p&gt;&#xA;&lt;h2 id=&#34;firefox-for-android&#34;&gt;Firefox for Android&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Shilpan Bhagat:&lt;/strong&gt; Shilpan ramped up quickly on Android UI work, tackling some of the tablet work for the new Home page in Firefox for Android, as well as, investigating and implementing some performance improvements. He also created a way to inject &amp;ldquo;pageactions&amp;rdquo; into the URLBar and an &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Extensions/Mobile/API/NativeWindow/pageactions&#34;&gt;add-on API&lt;/a&gt; to go along with it. Shilpan then took pageactions and added unobtrusive support in Firefox for launching native Android apps registered to handle given page URIs. [&lt;a href=&#34;https://air.mozilla.org/intern-presentation-bhagat/&#34;&gt;presentation&lt;/a&gt;]&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Shane Tully:&lt;/strong&gt; Shane did some &lt;a href=&#34;http://shanetully.com/2013/07/contacts-webapi-for-android-example/&#34;&gt;hard work&lt;/a&gt; getting the new Contacts API for webapps implemented on Android. In the process, he got to spend some time working through issues that come up with new API specs. He also picked up the work to get a &lt;a href=&#34;https://wiki.mozilla.org/Mobile/GeckoView&#34;&gt;GeckoView&lt;/a&gt; widget building and packaged, so Android applications can bundle the Gecko rendering engine instead of the system WebView. Shane really pushed the GeckoView project past a hurdle that now means we can start adding new features to the widget. [&lt;a href=&#34;https://air.mozilla.org/intern-presentation-tully/&#34;&gt;presentation&lt;/a&gt;]&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Chris Kitching:&lt;/strong&gt; Chris did the foundation work for supporting the new ActionBar when selecting text. He converted the Search Engine UI from XHTML to native Android. He also picked up work to enable ProGuard in Firefox for Android. This could yield &amp;gt;10% performance improvement in some areas. He had to write an automatic code generator that annotated parts of the code, allowing ProGuard to do its job. He stumbled into a problem with the Favicon system, which turned into a large rewrite - with significant improvements to behavior, performance and appearance. He &lt;a href=&#34;http://perplexedturnip.wordpress.com/2013/07/31/bludgeoning-intellij-idea-into-being-useful-for-mobile-firefox-development/&#34;&gt;persuaded&lt;/a&gt; me to install IntelliJ. [&lt;a href=&#34;https://air.mozilla.org/intern-presentation-kitching&#34;&gt;presentation&lt;/a&gt;]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;firefox-for-metro&#34;&gt;Firefox for Metro&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Jonathan Wilde:&lt;/strong&gt; Jonathan was the front-end team on Firefox for Metro last year, writing the first UI nearly entirely by himself. He returned this year to continue working on the new browser, including work on the Findbar, combined Appbar and autocomplete UI and the hairy UI interactions that accompanied those features. He probably has more lines of code in the UI attributed to him than any other team member. He also worked with the UX team to prototype some cool ideas around new ways to save sites that preserve the user&amp;rsquo;s context with them, including Highlighting and Clipping. [&lt;a href=&#34;https://air.mozilla.org/intern-presentation-wilde/&#34;&gt;presentation&lt;/a&gt;]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;One of the things I like about the way Mozilla utilizes interns is that it shows them exactly what happens in real software development. They learn that code reviews can take a lot of time. Your feature might not make the desired release, or even get backed out at the last minute. They learn that large software projects are painful and carry a lot of legacy baggage, and you need to deal with it. I think it&amp;rsquo;s also a great way to learn how to communicate in a team environment. They also get to ship features in Firefox, and who doesn&amp;rsquo;t love shipping stuff?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Team Meetup, Brainstorming and Hacking</title>
      <link>https://starkravingfinkle.org/posts/2013/09/firefox-for-android-team-meetup-brainstorming-and-hacking/</link>
      <pubDate>Wed, 25 Sep 2013 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2013/09/firefox-for-android-team-meetup-brainstorming-and-hacking/</guid>
      <description>&lt;p&gt;Last week, the Firefox for Android team, and some friends, had a team meetup at the Mozilla Toronto office. As is typical for Mozilla, the team is quite distributed so getting together, face to face, is refreshing. The agenda for the week was fairly simple: Brainstorm new feature ideas, discuss ways to make our workflow better, and provide some time for fun hacking.&lt;/p&gt;&#xA;&lt;p&gt;We spent most of our time brainstorming, first at a high level, then we picked a few ideas/concepts to drill into. The high level list ended up with over 150 ideas. These ranged from blue-sky features, building on existing features, performance and UX improvements, and removing technical debt. Some of the areas where we had deeper discussions included:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Patterns of Effective Teams</title>
      <link>https://starkravingfinkle.org/posts/2013/07/patterns-of-effective-teams/</link>
      <pubDate>Sat, 27 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2013/07/patterns-of-effective-teams/</guid>
      <description>&lt;p&gt;I have been lucky to build software products for a few different companies, each with a distinct culture. It&amp;rsquo;s help me form opinions about people, tools and processes that make teams effective at shipping software products.&lt;/p&gt;&#xA;&lt;p&gt;Who makes up a software product team? Mileage may vary, but I like to include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Developers&lt;/li&gt;&#xA;&lt;li&gt;Testers&lt;/li&gt;&#xA;&lt;li&gt;UX Designers&lt;/li&gt;&#xA;&lt;li&gt;Project Managers&lt;/li&gt;&#xA;&lt;li&gt;Product Managers&lt;/li&gt;&#xA;&lt;li&gt;Support&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Lots of companies organize people into functional groups: All the developers in a group, all the testers in a group, all the designers in a group&amp;hellip; and so on. This doesn’t make it easy to ship software. It can create walls and make it harder to communicate. You also lose the “team” feeling, as well as the focus and drive that comes from that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Subscribing to Feeds</title>
      <link>https://starkravingfinkle.org/posts/2013/04/firefox-for-android-subscribing-to-feeds/</link>
      <pubDate>Thu, 04 Apr 2013 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2013/04/firefox-for-android-subscribing-to-feeds/</guid>
      <description>&lt;p&gt;Firefox on desktop has nice support for previewing and subscribing to syndication feeds (RSS and Atom). There is even support for creating Live Bookmarks. Firefox for Android does not support anything related to syndication feeds&amp;hellip; &lt;strong&gt;until now&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We just landed basic support for subscribing to feeds discovered on a web page. This is only initial support, so many things are not supported.&lt;/p&gt;&#xA;&lt;h2 id=&#34;how-it-works&#34;&gt;How it works:&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If feeds are discovered on a page, Firefox will enable a menu action on the URLBar long-tap menu. Yes, we have a URLBar long-tap menu!&lt;/li&gt;&#xA;&lt;li&gt;Tap the &amp;ldquo;Subscribe to Page&amp;rdquo; menu action.&lt;/li&gt;&#xA;&lt;li&gt;If there is more than one advertised feed, choose the feed you want.&lt;/li&gt;&#xA;&lt;li&gt;Pick the online web service where you want to add the subscription. The choices really depend on the locale, but initially Google Reader (but not for long) and Yahoo are supported.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;the-limitations&#34;&gt;The limitations:&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;We only support online web services right now. We are looking into local application support too, but have not seen a universal way of listing feed reader applications. We are working on a proposal and want to get support from native feed reader apps like Feedly and Newsblur.&lt;/li&gt;&#xA;&lt;li&gt;No support for feed previews. No plan to add support&lt;/li&gt;&#xA;&lt;li&gt;No support for adding new web service handlers. We are working to add this support.&lt;/li&gt;&#xA;&lt;li&gt;No support for Live Bookmarks. No plan to add support.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;in-pictures&#34;&gt;In pictures:&lt;/h2&gt;&#xA;&lt;p&gt;Long-tap on the URLBar &lt;a href=&#34;images/fennec-feeds-a.png&#34;&gt;&lt;img src=&#34;images/fennec-feeds-a-300x250.png&#34; alt=&#34;&#34; title=&#34;fennec-feeds-a&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Following the Firefox for Android Team</title>
      <link>https://starkravingfinkle.org/posts/2013/04/following-the-firefox-for-android-team/</link>
      <pubDate>Thu, 04 Apr 2013 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2013/04/following-the-firefox-for-android-team/</guid>
      <description>&lt;h2 id=&#34;on-the-web&#34;&gt;On The Web&lt;/h2&gt;&#xA;&lt;p&gt;If you want to stay up to date on any new developments in Firefox for Android (Fennec), check out the new &lt;a href=&#34;http://fennecnightly.tumblr.com/&#34;&gt;Tumblr&lt;/a&gt; and &lt;a href=&#34;https://twitter.com/FennecNightly&#34;&gt;Twitter&lt;/a&gt; stream. Lots of updates on what&amp;rsquo;s landing in Fennec Nightly, tips and tricks and summaries of the Mobile Engineering Team meetings.&lt;/p&gt;&#xA;&lt;h2 id=&#34;mailing-list&#34;&gt;Mailing List&lt;/h2&gt;&#xA;&lt;p&gt;We have a new mailing list at &lt;a href=&#34;https://mail.mozilla.org/listinfo/mobile-firefox-dev&#34;&gt;mobile-dev-firefox@mozilla.org&lt;/a&gt;. The newsgroup at &lt;a href=&#34;https://groups.google.com/forum/?fromgroups#!forum/mozilla.dev.platforms.mobile&#34;&gt;mozilla.dev.platforms.mobile&lt;/a&gt; is being closed. Use the new mailing list to following along and give feedback on topics being discussed, or post your own ideas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Running on Android x86</title>
      <link>https://starkravingfinkle.org/posts/2012/11/firefox-for-android-running-on-android-x86/</link>
      <pubDate>Wed, 28 Nov 2012 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2012/11/firefox-for-android-running-on-android-x86/</guid>
      <description>&lt;p&gt;Intel and Lenovo &lt;a href=&#34;http://www.theverge.com/2012/1/10/2698285/lenovo-intel-medfield-phone-first-hands-on&#34;&gt;launched&lt;/a&gt; the first Android device based on the Intel Atom processor in 2012 at CES. Some of the current Android x86 devices include the Lenovo K800, the Orange San Diego, the ZTE Grand X IN, and the &lt;a href=&#34;http://www.wired.co.uk/reviews/mobile-phones/2012-10/motorola-razr-i&#34;&gt;Motorola RAZR i&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Mozilla has been internally testing Android x86 builds of Firefox. Firefox runs really well on the Motorola RAZR i. Once we get Android x86 nightly builds stood up and running automated tests, we&amp;rsquo;ll start planning for a release.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Remote Web Console is Here</title>
      <link>https://starkravingfinkle.org/posts/2012/10/firefox-for-android-remote-web-console-is-here/</link>
      <pubDate>Wed, 31 Oct 2012 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2012/10/firefox-for-android-remote-web-console-is-here/</guid>
      <description>&lt;p&gt;I already &lt;a href=&#34;https://starkravingfinkle.org/posts/2012/08/firefox-for-android-remote-debugging-is-here/&#34;&gt;blogged&lt;/a&gt; about support for remote debugging in Firefox for Android. Now we have support for remote &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Tools/Web_Console&#34;&gt;Web Console&lt;/a&gt; too!&lt;/p&gt;&#xA;&lt;p&gt;The remote console, like remote debugging, requires using Desktop Firefox to connect to Mobile Firefox over USB using ADB. Remote console is supported in Firefox 19 and newer releases. Here&amp;rsquo;s a quick guide to getting started:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;USB Connection:&lt;/strong&gt; Connect your Android device running Firefox to a host machine running desktop Firefox using USB. In a terminal, forward the TCP connection using: &lt;code&gt;adb forward tcp:6000 tcp:6000&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox Desktop:&lt;/strong&gt; Use about:config to enable remote debugging. Set the &amp;ldquo;devtools.debugger.remote-enabled&amp;rdquo; pref to &lt;strong&gt;true&lt;/strong&gt;. Restart. You should see a &amp;ldquo;Tools &amp;gt; Web Developer &amp;gt; Remote Web Console&amp;rdquo; menu.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox for Android:&lt;/strong&gt; Use about:config to enable remote debugging. Set the &amp;ldquo;devtools.debugger.remote-enabled&amp;rdquo; pref to &lt;strong&gt;true&lt;/strong&gt;. Restart.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox Desktop:&lt;/strong&gt; Choose &amp;ldquo;Tools &amp;gt; Web Developer &amp;gt; Remote Web Console&amp;rdquo; and a Remote Connection dialog should open. If you changed none of the other remote debugging preferences, just use the defaults. Press OK.&lt;br&gt;&#xA;&lt;a href=&#34;images/remote-console-start.png&#34;&gt;&lt;img src=&#34;images/remote-console-start-300x120.png&#34; alt=&#34;&#34; title=&#34;remote-console-start&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox for Android:&lt;/strong&gt; You should see a remote connection prompt appear. Press OK to initialize the connection. You have 20 seconds, by default, to accept the connection. You can retry 3 times.&lt;br&gt;&#xA;&lt;a href=&#34;images/remote-console-accept.png&#34;&gt;&lt;img src=&#34;images/remote-console-accept-180x300.png&#34; alt=&#34;&#34; title=&#34;remote-console-accept&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox Desktop:&lt;/strong&gt; Once the connection is accepted, you should see a scope prompt. The prompt is used to pick the tab, or global, scope you want to attach to the web console.&lt;br&gt;&#xA;&lt;a href=&#34;images/remote-console-select-tab.png&#34;&gt;&lt;img src=&#34;images/remote-console-select-tab-300x114.png&#34; alt=&#34;&#34; title=&#34;remote-console-select-tab&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox Desktop:&lt;/strong&gt; After picking a scope, you should see a Web Console window appear.&lt;br&gt;&#xA;&lt;a href=&#34;images/remote-console-working-small.png&#34;&gt;&lt;img src=&#34;images/remote-console-working-small-300x108.png&#34; alt=&#34;&#34; title=&#34;remote-console-working-small&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Once you have the Web Console up and running, you can do pretty much everything the desktop version can do. For example, you can load a web page and monitor the network activity, including viewing the network request details:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Remote Debugging is Here</title>
      <link>https://starkravingfinkle.org/posts/2012/08/firefox-for-android-remote-debugging-is-here/</link>
      <pubDate>Mon, 06 Aug 2012 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2012/08/firefox-for-android-remote-debugging-is-here/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://lucasr.org/2012/03/28/remote-debugging-in-firefox-mobile/&#34;&gt;Lucas&lt;/a&gt; blogged a while ago about some of the initial work on creating a remote debugging system for Firefox on Android. The desktop patches Lucas mentioned have landed, and remote debugging Firefox for Android is now possible.&lt;/p&gt;&#xA;&lt;p&gt;Remote debugging requires using Desktop Firefox to connect to Mobile Firefox over USB using ADB. Remote debugging is supported in Firefox 15 and newer releases. Here&amp;rsquo;s a quick guide to getting started:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;USB Connection:&lt;/strong&gt; Connect your Android device running Firefox to a host machine running desktop Firefox using USB. In a terminal, forward the TCP connection using: &lt;code&gt;adb forward tcp:6000 tcp:6000&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox Desktop:&lt;/strong&gt; Use about:config to enable remote debugging. Set the &amp;ldquo;devtools.debugger.remote-enabled&amp;rdquo; pref to &lt;strong&gt;true&lt;/strong&gt;. Restart. You should see a &amp;ldquo;Tools &amp;gt; Web Developer &amp;gt; Remote Debugger&amp;rdquo; menu.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox for Android:&lt;/strong&gt; Use about:config to enable remote debugging. Set the &amp;ldquo;devtools.debugger.remote-enabled&amp;rdquo; pref to &lt;strong&gt;true&lt;/strong&gt;. Restart.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox Desktop:&lt;/strong&gt; Choose &amp;ldquo;Tools &amp;gt; Web Developer &amp;gt; Remote Debugger&amp;rdquo; and a Remote Connection dialog should open. If you changed none of the other remote debugger preferences, just use the defaults. Press OK.&lt;br&gt;&#xA;&lt;a href=&#34;images/debugger-remote-connection.png&#34;&gt;&lt;img src=&#34;images/debugger-remote-connection-300x117.png&#34; alt=&#34;&#34; title=&#34;debugger-remote-connection&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox Desktop:&lt;/strong&gt; You should see an empty debugging window appear.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox for Android:&lt;/strong&gt; You should see a remote debugging connection prompt appear. Press OK to initialize the connection. You have 3 seconds, by default, to accept the connection. You can retry 3 times.&lt;br&gt;&#xA;&lt;a href=&#34;images/debugger-accept-connection.png&#34;&gt;&lt;img src=&#34;images/debugger-accept-connection-168x300.png&#34; alt=&#34;&#34; title=&#34;debugger-accept-connection&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Firefox Desktop:&lt;/strong&gt; Once the connection is accepted, the empty debugging window will fill with scripts running in the Firefox for Android web page.&lt;br&gt;&#xA;&lt;a href=&#34;images/debugger-active.png&#34;&gt;&lt;img src=&#34;images/debugger-active-300x133.png&#34; alt=&#34;&#34; title=&#34;debugger-active&#34;&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Thanks to Lucas, Panos Astithas and the rest of the DevTools team for making this happen. Happy Debugging!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Docs for Building Add-on</title>
      <link>https://starkravingfinkle.org/posts/2012/06/firefox-for-android-docs-for-building-add-on/</link>
      <pubDate>Wed, 13 Jun 2012 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2012/06/firefox-for-android-docs-for-building-add-on/</guid>
      <description>&lt;p&gt;I have talked about how &lt;a href=&#34;https://starkravingfinkle.org/posts/2011/11/firefox-android-add-ons-in-a-native-world/&#34;&gt;add-ons interact&lt;/a&gt; with the new Firefox on Android, but we didn&amp;rsquo;t have any easily accessible &lt;a href=&#34;https://developer.mozilla.org&#34;&gt;documentation&lt;/a&gt;. Now we have some guides and code snippets:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developer.mozilla.org/en/Extensions/Firefox_on_Android&#34;&gt;Landing page&lt;/a&gt; for Firefox on Android extensions&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developer.mozilla.org/en/Extensions/Mobile/Addons_developer_guide&#34;&gt;Simple guide&lt;/a&gt; for building a restartless mobile add-on&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developer.mozilla.org/en/Code_snippets/Mobile&#34;&gt;Code snippets&lt;/a&gt; for Firefox on Android&lt;/li&gt;&#xA;&lt;li&gt;Placeholder page for the &lt;a href=&#34;https://developer.mozilla.org/en/Extensions/Mobile/NativeWindow&#34;&gt;NativeWindow&lt;/a&gt; API&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Feel free to help make the MDN documents better!&lt;/p&gt;&#xA;&lt;p&gt;Remember, the basics of building an add-on for Firefox on Android is no different than building an add-on for Firefox on Desktop.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Fx &amp; Mobile Work Week</title>
      <link>https://starkravingfinkle.org/posts/2012/04/firefox-for-android-fx-mobile-work-week/</link>
      <pubDate>Sun, 29 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2012/04/firefox-for-android-fx-mobile-work-week/</guid>
      <description>&lt;p&gt;The Mobile team spent last week in not-so-sunny Toronto, pushing Firefox for Android closer to beta-level release criteria. We are getting very close. There is a lot of amazing work landing, especially in graphics. The Graphics team is working with Mobile to integrate GL support into the Gecko rendering system. It&amp;rsquo;s taken some time, but the results are really starting to look good in Nightly builds.&lt;/p&gt;&#xA;&lt;p&gt;Mobile wasn&amp;rsquo;t the only team meeting in Toronto. The Firefox team also got together, and one of main features of the week was HACKING. Pure, seat-of-the-pants hacking. A few of the Mobile team were able to take part in the hack sessions too:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: After the Reboot</title>
      <link>https://starkravingfinkle.org/posts/2012/01/firefox-for-android-after-the-reboot/</link>
      <pubDate>Mon, 23 Jan 2012 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2012/01/firefox-for-android-after-the-reboot/</guid>
      <description>&lt;p&gt;I was asked to give a presentation on the &lt;a href=&#34;https://starkravingfinkle.org/posts/2011/11/firefox-for-android-native-android-ui/&#34;&gt;recent developments&lt;/a&gt; in Firefox Mobile for the &lt;a href=&#34;http://mozilla.jp/events/vision/2012/&#34;&gt;Mozilla Vision 2012&lt;/a&gt; conference in Tokyo. It gave me a chance to reflect a bit on what we did, why we did it and how things are going. The &amp;ldquo;what&amp;rdquo; in this case is rewriting the UI for Firefox Mobile using native Android widgets. The &amp;ldquo;why&amp;rdquo; can be summed up in the following goals:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Faster start-up time&lt;/li&gt;&#xA;&lt;li&gt;Support for Flash&lt;/li&gt;&#xA;&lt;li&gt;Use less memory&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;We have been fairly &amp;ldquo;heads down&amp;rdquo; working on native Firefox for Android over the last 3 months. Re-writes are scary. It&amp;rsquo;s a race to re-implement existing functionality while adding all new bugs. We are finally to the point in the project where things are settling down. We are focused on stability issues, getting ready to release the native version to a larger audience. As for the primary goals, we have good news:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Where&#39;s the Error Console?</title>
      <link>https://starkravingfinkle.org/posts/2011/12/firefox-for-android-wheres-the-error-console/</link>
      <pubDate>Thu, 01 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/12/firefox-for-android-wheres-the-error-console/</guid>
      <description>&lt;p&gt;The new native Android UI version of Firefox does not ship with a dedicated &lt;a href=&#34;https://quality.mozilla.org/docs/mobile-firefox/firefox-mobile-enabling-the-error-console/&#34;&gt;Error Console&lt;/a&gt;. Instead, all console messages are redirected to the Android system log - also known as logcat. If you have the &lt;a href=&#34;http://developer.android.com/sdk/installing.html&#34;&gt;Android SDK installed&lt;/a&gt;, you already have a way to view the logcat:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;# show the complete log&#xA;adb logcat&#xA;&#xA;# show only Firefox log messages&#xA;adb logcat | grep &amp;#34;Gecko&amp;#34;&#xA;&#xA;# show only Firefox error console messages&#xA;adb logcat | grep &amp;#34;GeckoConsole&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The Android stock browser also does the &lt;a href=&#34;http://developer.android.com/guide/webapps/debugging.html&#34;&gt;same thing&lt;/a&gt;. If you don&amp;rsquo;t have the Android SDK installed, you can install an Android app, like &lt;a href=&#34;https://market.android.com/details?id=org.jtb.alogcat&amp;amp;hl=en&#34;&gt;aLogCat&lt;/a&gt;, to scan the log instead.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Nightly Channel Switches to Native UI Builds</title>
      <link>https://starkravingfinkle.org/posts/2011/11/firefox-for-android-nightly-channel-switches-to-native-ui-builds/</link>
      <pubDate>Wed, 23 Nov 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/11/firefox-for-android-nightly-channel-switches-to-native-ui-builds/</guid>
      <description>&lt;p&gt;We have been talking a lot recently about the new &lt;a href=&#34;https://starkravingfinkle.org/posts/2011/11/firefox-for-android-native-android-ui/&#34;&gt;native UI version of Firefox for Android&lt;/a&gt;. Built using native Android UI widgets, packed with major speed improvements and large memory reductions. We have not been working on the project very long, but we have been making solid progress. We decided it’s time to move the native builds into our nightly delivery channel.&lt;/p&gt;&#xA;&lt;p&gt;The nightly channel is a snapshot of our very latest development work, before it is ready for widespread testing. This is our least stable update channel, and is not recommended for most users. Nightly will offer to update itself automatically, once a day, with the latest changes. If you have a nightly Firefox installed on your Android device, when it updates on November 23rd, you&amp;rsquo;ll be running the new native UI build.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Using the Android Emulator</title>
      <link>https://starkravingfinkle.org/posts/2011/11/firefox-for-android-using-the-android-emulator/</link>
      <pubDate>Wed, 23 Nov 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/11/firefox-for-android-using-the-android-emulator/</guid>
      <description>&lt;p&gt;Firefox for Android, both the XUL and Native versions, currently requires an ARMv7 CPU. We are looking into &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=697205&#34;&gt;adding support for ARMv6&lt;/a&gt;, but the ARMv7 limitation had one painful drawback: We could not run Firefox on the &lt;a href=&#34;http://developer.android.com/guide/developing/devices/emulator.html&#34;&gt;Android emulator&lt;/a&gt; since it only supported ARMv6.&lt;/p&gt;&#xA;&lt;p&gt;This is no longer true! The latest version of the Android SDK ships with ARMv7 images for the emulator.&lt;/p&gt;&#xA;&lt;p&gt;Christian Holler (decoder on IRC) was kind enough to make a &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/Android/Emulator&#34;&gt;wiki page&lt;/a&gt; with instructions on setting up the emulator with ARMv7 support. As Christian points out, Firefox does not run at top speed in the emulator, but it&amp;rsquo;s a heck of a lot better than no &amp;ldquo;desktop&amp;rdquo; options at all. Oh yeah, the new native Android UI builds have no desktop counterparts, so the emulator is the only way to run those builds on a desktop machine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Android: Add-ons in a Native World</title>
      <link>https://starkravingfinkle.org/posts/2011/11/firefox-android-add-ons-in-a-native-world/</link>
      <pubDate>Sun, 20 Nov 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/11/firefox-android-add-ons-in-a-native-world/</guid>
      <description>&lt;p&gt;One of the first things I yelled about when we were debating switching to a native Android UI for Firefox was add-on support. Using a XUL-based UI meant add-ons were free. The Mozilla platform has support for add-ons baked right in. Moving to a native UI would surely kill our ability to support add-ons, right? &lt;strong&gt;Wrong!&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Add-ons are an important part of the Firefox story. Native UI builds of Firefox support add-ons. There are some things an add-on developer needs to be aware:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Android: Native Android UI</title>
      <link>https://starkravingfinkle.org/posts/2011/11/firefox-for-android-native-android-ui/</link>
      <pubDate>Fri, 18 Nov 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/11/firefox-for-android-native-android-ui/</guid>
      <description>&lt;p&gt;You have probably seen some &lt;a href=&#34;http://groups.google.com/group/mozilla.dev.platforms.mobile/browse_thread/thread/ff8d89bfa28383bb&#34;&gt;announcements&lt;/a&gt; and read some &lt;a href=&#34;http://lucasr.org/2011/11/15/native-ui-for-firefox-on-android/&#34;&gt;blog posts&lt;/a&gt; about Mozilla&amp;rsquo;s recent change in direction for Firefox Mobile on Android. We have decided to drop the XUL-based UI and re-build the application using native Android widgets. Here&amp;rsquo;s some of the rationale, from Johnathan&amp;rsquo;s newsgroup post:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Startup&lt;/strong&gt; - A native UI can be presented much faster than a XUL based UI, since it can happen in parallel with Gecko startup. This means startup times in fractions of a second, versus several seconds for a XUL UI on some phones.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Memory Use&lt;/strong&gt; - We believe a native UI will use significantly less memory.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Responsiveness&lt;/strong&gt; - A native UI has the potential for beautiful panning and zooming performance.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Another major change is a move away from multi-process architecture (e10s) as well. The web content process was great for stabiilty, keeping crashes from taking down the entire application, but it also increased our memory usage and created some performance issues. In the new application, Gecko is running in a separate thread, not a separate process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Mobile - Send Performance Data</title>
      <link>https://starkravingfinkle.org/posts/2011/08/firefox-mobile-send-performance-data/</link>
      <pubDate>Tue, 23 Aug 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/08/firefox-mobile-send-performance-data/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt; recently hooked up the same performance data &lt;a href=&#34;http://blog.mozilla.com/tglek/2011/05/13/firefox-telemetry/&#34;&gt;telemetry&lt;/a&gt; &lt;a href=&#34;http://blog.mozilla.com/tglek/2011/07/01/telemetry-status/&#34;&gt;system&lt;/a&gt; used by desktop Firefox. If you use the &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Platforms/Android#Download_Nightly&#34;&gt;Nightly&lt;/a&gt; version of Firefox Mobile, you can start sending anonymous performance data back to Mozilla. We will use this data to improve future versions of Firefox Mobile.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s really easy to use and is completely anonymous. Once you enable the feature, everything happens in the background. To enable, go to the Feedback panel and make sure &lt;strong&gt;Send performance data&lt;/strong&gt; is toggled on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add-ons: Binary Components and js-ctypes</title>
      <link>https://starkravingfinkle.org/posts/2011/07/add-ons-binary-components-and-js-ctypes/</link>
      <pubDate>Wed, 13 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/07/add-ons-binary-components-and-js-ctypes/</guid>
      <description>&lt;p&gt;Lots of &lt;a href=&#34;http://www.glazman.org/weblog/dotclear/index.php?post/2011/07/12/I-still-don-t-understand&#34;&gt;discussion&lt;/a&gt; &lt;a href=&#34;http://adblockplus.org/blog/binary-xpcom-components-are-dead-js-ctypes-is-the-way-to-go&#34;&gt;going&lt;/a&gt; on &lt;a href=&#34;http://xulforge.com/blog/2011/07/version-numbers-add-on-breakage/&#34;&gt;recently&lt;/a&gt; about the affect of 6 week development cycles on binary XPCOM components in add-ons. I don&amp;rsquo;t want to re-hash those discussions, but Daniel Glazman brought up an interesting point in a comment on &lt;a href=&#34;http://adblockplus.org/blog/binary-xpcom-components-are-dead-js-ctypes-is-the-way-to-go&#34;&gt;Wladimir&amp;rsquo;s post&lt;/a&gt;. Wladimir was suggesting binary component developers start moving to &lt;a href=&#34;https://developer.mozilla.org/en/js-ctypes&#34;&gt;js-ctypes&lt;/a&gt;. Daniel pointed out that there are two classes of binary XPCOM components:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;XPCOM wrappers around 3rd-party binary libraries:&lt;/strong&gt; We use this model for exposing external binary functionality into JavaScript so add-ons and applications can access the libraries. Using js-ctypes should provide a simple, non-breaking way to expose the libraries. You create a simple JavaScript wrapper in a JavaScript XPCOM component. We need more examples of using js-ctypes to do this, but it works.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Pure binary XPCOM components built only using the Mozilla platform:&lt;/strong&gt; Sometimes the functionality you want to expose is actually locked away in the Mozilla platform itself. Maybe there is no public nsIXxx interface or the existing interface has a [noscript] attribute on a property of method. &lt;strong&gt;This model shouldn&amp;rsquo;t be required anymore, in my opinion&lt;/strong&gt;. Mozilla is pushing JavaScript based components and we should be exposing as much as possible to chrome JavaScript. I would encourage add-on developers to file bugs and lobby to expose binary-only parts of the Mozilla platform to chrome JavaScript.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;JavaScript ctypes has come a long, long way since it was started back in &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/09/hello-js-ctypes-goodbye-binary-components/&#34;&gt;2007&lt;/a&gt;. Let&amp;rsquo;s start leveraging it more. The ctypes model has been used quite effectively in other languages.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Mobile: What&#39;s New in Mobile Aurora 7?</title>
      <link>https://starkravingfinkle.org/posts/2011/07/firefox-for-mobile-whats-new-in-mobile-aurora-7/</link>
      <pubDate>Fri, 08 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/07/firefox-for-mobile-whats-new-in-mobile-aurora-7/</guid>
      <description>&lt;p&gt;The latest &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Platforms/Android#Download_Aurora&#34;&gt;Firefox Mobile Aurora 7&lt;/a&gt; release has many of the same great features as &lt;a href=&#34;http://blog.mozilla.com/futurereleases/2011/07/07/firefoxaurora7/&#34;&gt;Firefox Desktop Aurora 7&lt;/a&gt;. The new memory optimizations make running Firefox on Android much more pleasant, with fewer browser session restarts.&lt;/p&gt;&#xA;&lt;p&gt;There are also a few mobile specific changes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Text selection in web content:&lt;/strong&gt; Long tap in a web page and start selection text using the familiar Android-style drag handles. Since Firefox does not use Android widgets, we had to implement this feature ourselves and there is still some additional work to do in order to make it more robust.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Session history within a tab is saved and restored:&lt;/strong&gt; If Firefox needs to restore the session, each tab&amp;rsquo;s back/forward history is restored as well.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Language selection at initial startup:&lt;/strong&gt; Choose you language right away, instead of wading through screens in a language you might not be able to read. If the Android OS is set to a language Firefox has bundled, the selection screen is skipped and you are taken to the Firefox Home page. If you really wanted to pick a different language, there is a &amp;ldquo;Choose Language&amp;rdquo; button on Firefox Home too, but only on the initial startup.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Added a &amp;lsquo;Quit&amp;rsquo; action to the Android menu:&lt;/strong&gt; This was a frequent feature request and low risk to the UI so we added it.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Text selection in action:&lt;/strong&gt; &lt;a href=&#34;images/fennec-content-selection-04.png&#34;&gt;&lt;img src=&#34;images/fennec-content-selection-04.png&#34; alt=&#34;&#34; title=&#34;fennec-content-selection-04&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefly - Remote JS Shell for Firefox Mobile</title>
      <link>https://starkravingfinkle.org/posts/2011/05/firefly-remote-js-shell-for-firefox-mobile/</link>
      <pubDate>Sat, 21 May 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/05/firefly-remote-js-shell-for-firefox-mobile/</guid>
      <description>&lt;p&gt;A long time ago, in May 2008, I posted about a &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/05/remote-debugging-javascript/&#34;&gt;remote JS shell add-on&lt;/a&gt; I was building. I had been tinkering with a few existing projects (&lt;a href=&#34;http://www.croczilla.com/jssh&#34;&gt;JSSH&lt;/a&gt;, &lt;a href=&#34;http://svn.openkomodo.com/openkomodo/browse/addons/sdconnector&#34;&gt;SD Connect&lt;/a&gt; and &lt;a href=&#34;http://hyperstruct.net/projects/mozlab&#34;&gt;MozRepl&lt;/a&gt;) but wanted to build something small, lightweight and mainly focused on helping add-on / XUL developers interact with JS running in a separate application. I tried to get the protocol closer to that used by &lt;a href=&#34;http://dragonfly.opera.com/app/scope-interface/&#34;&gt;Opera DragonFly&lt;/a&gt; and &lt;a href=&#34;http://groups.google.com/group/webdebugprotocol/browse_thread/thread/7561e8db80af7daa&#34;&gt;Crossfire&lt;/a&gt;, but I never had the time to get it exactly right. When I started work on Firefox Mobile, I used the add-on to interact with Firefox running on a mobile device from my desktop machine. Unfortunately, I never felt the UI and the code were good enough for a public release.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Mobile: Channels and Branding</title>
      <link>https://starkravingfinkle.org/posts/2011/05/firefox-for-mobile-channels-and-branding/</link>
      <pubDate>Sun, 15 May 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/05/firefox-for-mobile-channels-and-branding/</guid>
      <description>&lt;p&gt;I mentioned that Firefox for Mobile (codenamed Fennec) has adopted the same &lt;a href=&#34;https://starkravingfinkle.org/posts/2011/05/firefox-for-mobile-rapid-release-process/&#34;&gt;rapid release system&lt;/a&gt; as used for development of desktop Firefox. The new system creates four (4) channels, each with possible releases: Nightly, Aurora, Beta and Final. With Fennec, you can have all four channels installed on your device at the same time. The installs do not share any files or data - they are completely isolated from each other.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Mobile: Rapid Release Process</title>
      <link>https://starkravingfinkle.org/posts/2011/05/firefox-for-mobile-rapid-release-process/</link>
      <pubDate>Fri, 06 May 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/05/firefox-for-mobile-rapid-release-process/</guid>
      <description>&lt;p&gt;By now you are probably aware that desktop Firefox has moved to a &lt;a href=&#34;http://blog.mozilla.com/channels/&#34;&gt;rapid release system&lt;/a&gt;, utilizing several new code repositories and a focused strategy for creating releases in a timely manner.&lt;/p&gt;&#xA;&lt;p&gt;Like desktop Firefox and &lt;a href=&#34;http://ccgi.standard8.plus.com/blog/archives/507&#34;&gt;Thunderbird&lt;/a&gt;, mobile Firefox has decided to adopt the same schedule-driven release plan. Currently, mobile is building “Fennec 6.0a1” nightly builds from mozilla-central. We plan to create an Aurora branding and start creating “Fennec Aurora 5.0a2” nightly builds from mozilla-aurora. While desktop Firefox is looking to create a significant user base on Aurora, Mobile is not actively promoting Aurora, since our user base is smaller and we’d like to focus user testing on the nightly release. We will re-evaluate this position as our user base grows.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zippity Update - Telemetry</title>
      <link>https://starkravingfinkle.org/posts/2011/04/zippity-update-telemetry/</link>
      <pubDate>Tue, 19 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/04/zippity-update-telemetry/</guid>
      <description>&lt;p&gt;I updated &lt;a href=&#34;http://zippityserver.appspot.com&#34;&gt;Zippity&lt;/a&gt;, our crowd sourcing data collection system, to add support for memory and CPU data telemetry. What is &lt;strong&gt;memory and CPU data telemetry&lt;/strong&gt; you ask? Basically, we send data about the current &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt; memory and CPU usage patterns to Zippity. There are two ways to send the data:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Manually push a button: This might be a handy way to report metrics when you think Firefox Mobile is running slow on your phone.&lt;/li&gt;&#xA;&lt;li&gt;Silently on idle once a day: During an idle moment, Zippity scans the metrics. This gives us data on the Firefox Mobile resting state. Hopefully we don&amp;rsquo;t see large CPU usage. Just install the &lt;a href=&#34;http://zippityserver.appspot.com/addon&#34;&gt;Zippity add-on&lt;/a&gt;, and you start sending data - no additional work for you!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Why send this data you ask? We care a lot of the performance of Firefox Mobile, and we want to better understand how Firefox Mobile is running on your phone. We run a lot of tests at Mozilla, but these tests sometimes don&amp;rsquo;t compare well to the real world. For example, I have no performance issues running Firefox Mobile on my Nexus One, but we get lots of feedback from users that the performance is too slow on their phones. We need to run tests and collect data from Firefox Mobile running on your phone.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Mobile - Monitor HTTP Headers</title>
      <link>https://starkravingfinkle.org/posts/2011/04/firefox-mobile-monitor-http-headers/</link>
      <pubDate>Wed, 13 Apr 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/04/firefox-mobile-monitor-http-headers/</guid>
      <description>&lt;p&gt;I just added support to &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/mobile-tools/&#34;&gt;Mobile Tools&lt;/a&gt; for monitoring HTTP headers in &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt;. I just wanted a way to look at some HTTP traffic to help debug some mobile websites. Screen space is limited on mobile devices, so we don&amp;rsquo;t get to have nice floating panels like in desktop Firefox&amp;rsquo;s web console or Firebug. Instead I opted for a slide out panel:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;images/mobiletools-panel-closed.png&#34;&gt;&lt;img src=&#34;images/mobiletools-panel-closed.png&#34; alt=&#34;&#34; title=&#34;mobiletools-panel-closed&#34;&gt;&lt;/a&gt; &lt;a href=&#34;images/mobiletools-panel-requests.png&#34;&gt;&lt;img src=&#34;images/mobiletools-panel-requests.png&#34; alt=&#34;&#34; title=&#34;mobiletools-panel-requests&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Tap the little tab and the panel slides out and back. Use the &lt;strong&gt;Pause&lt;/strong&gt; and &lt;strong&gt;Clear&lt;/strong&gt; buttons to manage the HTTP traffic. Tap an item in the list to expand the request, response and cookie details:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cloud Printer - Print from Firefox Mobile</title>
      <link>https://starkravingfinkle.org/posts/2011/03/cloud-printer-print-from-firefox-mobile/</link>
      <pubDate>Thu, 24 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/03/cloud-printer-print-from-firefox-mobile/</guid>
      <description>&lt;p&gt;Recently, Google released the beginnings of a cloud-based printing system called - &lt;a href=&#34;http://code.google.com/apis/cloudprint/docs/overview.html&#34;&gt;Google Cloud Print&lt;/a&gt;. The project is still in Beta, but you can install a recent version of &lt;a href=&#34;http://www.google.com/chrome/intl/en/p/cloudprint.html&#34;&gt;Google Chrome on Windows&lt;/a&gt; and attach your local printers into the Cloud Print system (&lt;a href=&#34;http://www.google.com/support/cloudprint/&#34;&gt;more&lt;/a&gt;). Google has added support for Cloud Print to few of their &lt;a href=&#34;http://gmailblog.blogspot.com/2011/01/print-from-your-phone-with-gmail-for.html&#34;&gt;mobile web apps&lt;/a&gt;, but has not released a client application API yet. However, they did release a simple webapp demo - and where there is a demo, there are people reverse engineering it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Mobile Add-on - Cloud Viewer</title>
      <link>https://starkravingfinkle.org/posts/2011/03/firefox-mobile-add-on-cloud-viewer/</link>
      <pubDate>Sun, 20 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/03/firefox-mobile-add-on-cloud-viewer/</guid>
      <description>&lt;p&gt;I just put together a simple restartless add-on, &lt;a href=&#34;https://addons.mozilla.org/en-US/mobile/addon/cloud-viewer/&#34;&gt;Cloud Viewer&lt;/a&gt;, that integrates the &lt;a href=&#34;http://docs.google.com/viewer&#34;&gt;Google Docs Viewer&lt;/a&gt; into &lt;a href=&#34;http://www.mozilla.com/en-US/m/&#34;&gt;Firefox Mobile&lt;/a&gt;. I saw a &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/open-doc-in-google-docs-viewer/&#34;&gt;few&lt;/a&gt; &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/google-viewer/&#34;&gt;similar&lt;/a&gt; add-ons on AMO for desktop Firefox, but none for Firefox Mobile. &lt;a href=&#34;https://addons.opera.com/addons/extensions/details/google-docs-viewer/0.97/&#34;&gt;Opera&lt;/a&gt; and &lt;a href=&#34;http://blog.dolphin-browser.com/add-on/tools/pdf-viewer/&#34;&gt;Dolphin&lt;/a&gt; also have add-ons integrating support for online document viewers.&lt;/p&gt;&#xA;&lt;p&gt;The concept is pretty nice, especially for mobile devices: Open online documents in an online viewer. No need to waste time downloading the file and waste space on your device saving the file. Google&amp;rsquo;s viewer supports Powertpoint (PPT), Word (DOC, DOCX), Excel (XLS, XLSX), PDF and some non-web image formats. The viewer even uses a mobile UI when running on devices.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zippity &amp; Test Harness Updates</title>
      <link>https://starkravingfinkle.org/posts/2011/03/zippity-test-harness-updates/</link>
      <pubDate>Wed, 16 Mar 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/03/zippity-test-harness-updates/</guid>
      <description>&lt;p&gt;A few weeks ago I &lt;a href=&#34;https://starkravingfinkle.org/posts/2011/02/zippity-using-the-crowd-to-collect-performance-data/&#34;&gt;posted about Zippity&lt;/a&gt;, a way for anyone to help collect performance data for Firefox Mobile. Data has been coming in and so has some feedback. I added some features to the &lt;a href=&#34;http://zippityserver.appspot.com/addon&#34;&gt;Test Harness add-on&lt;/a&gt; to make it easier to use and collect some new types of data. Here&amp;rsquo;s a list of changes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Added a proper in-content page for starting tests, and checking out previous result.&lt;/li&gt;&#xA;&lt;li&gt;Added support for measuring startup time, as well as, SunSpider and V8 JS benchmarks.&lt;/li&gt;&#xA;&lt;li&gt;Added basic support for desktop Firefox (thanks to &lt;a href=&#34;http://autonome.wordpress.com/&#34;&gt;Dietrich Ayala&lt;/a&gt;.)&lt;/li&gt;&#xA;&lt;li&gt;Added a page timeout for pageload tests. Sometimes pages just get stuck - either a bug in Fennec or a mystery of the ether.&lt;/li&gt;&#xA;&lt;li&gt;Added a simple &lt;a href=&#34;http://en.wikipedia.org/wiki/Goodput&#34;&gt;goodput&lt;/a&gt; measure for pageload tests. We time how long it takes to download a 250KB test file from Zippity. It&amp;rsquo;s a simple metric we can use to categorize the pageload results.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;All tests are preconfigured, you just need to tap the test you want to run and the add-on does the rest. Here&amp;rsquo;s a basic rundown of how each test works, so you have an idea of what to expect:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zippity - Using the Crowd to Collect Performance Data</title>
      <link>https://starkravingfinkle.org/posts/2011/02/zippity-using-the-crowd-to-collect-performance-data/</link>
      <pubDate>Fri, 25 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/02/zippity-using-the-crowd-to-collect-performance-data/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re serious about improving your application&amp;rsquo;s performance, you need to collect data. At Mozilla, we use &lt;a href=&#34;https://wiki.mozilla.org/Buildbot/Talos&#34;&gt;Talos&lt;/a&gt;. The Mobile team has been using Talos to track performance on Maemo (using N810 and N900) devices for a few years and recently started tracking Android (using Tegras) as well. Here are a few of the metrics we track:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Startup (Ts)&lt;/li&gt;&#xA;&lt;li&gt;Pageload (Tp)&lt;/li&gt;&#xA;&lt;li&gt;HTML Rendering (Tdhtml)&lt;/li&gt;&#xA;&lt;li&gt;Sunspider (Tss)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;We &lt;a href=&#34;http://tinderbox.mozilla.org/showbuilds.cgi?tree=Mobile&#34;&gt;build the application&lt;/a&gt; every time code is checked into the source repository. After each build, we run these performance tests and &lt;a href=&#34;http://people.mozilla.com/~mfinkle/dashboard/&#34;&gt;watch for changes&lt;/a&gt;. Regressions happen and need to be fixed as soon as possible.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 4 for Mobile Beta 5 - Performance Improvements</title>
      <link>https://starkravingfinkle.org/posts/2011/02/firefox-4-for-mobile-beta-5-performance-improvements/</link>
      <pubDate>Thu, 24 Feb 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/02/firefox-4-for-mobile-beta-5-performance-improvements/</guid>
      <description>&lt;p&gt;We just &lt;a href=&#34;http://blog.mozilla.com/blog/2011/02/23/help-test-the-faster-more-stable-mozilla-firefox-4-beta-for-android-and-maemo/&#34;&gt;released&lt;/a&gt; &lt;a href=&#34;http://firefox.com/mobile/beta&#34;&gt;Firefox 4 for Mobile (Beta 5)&lt;/a&gt; and it&amp;rsquo;s packed with some noticeable improvements. The primary objectives of Beta 5 were improvements in general performance, reducing memory usage and improving rendering while loading and panning the web content. Here are some results to show the progress that&amp;rsquo;s been made.&lt;/p&gt;&#xA;&lt;h2 id=&#34;startup&#34;&gt;Startup&lt;/h2&gt;&#xA;&lt;p&gt;We improved application startup speed. We have a system that &lt;a href=&#34;http://blog.mozilla.com/addons/2011/02/10/add-on-metadata-start-up-time/&#34;&gt;reports startup time metrics&lt;/a&gt; once a day when the application does a check with AMO (addons.mozilla.org). Using this data, we can see the metrics improving from Firefox Mobile Beta 4 to Firefox Mobile Beta 5.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Restartless Add-ons – Default Preferences</title>
      <link>https://starkravingfinkle.org/posts/2011/01/restartless-add-ons--default-preferences/</link>
      <pubDate>Tue, 25 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/01/restartless-add-ons--default-preferences/</guid>
      <description>&lt;p&gt;I saw a neat technique in &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=564675&#34;&gt;Bug 564675&lt;/a&gt; for creating default preferences in bootstrapped add-ons. &lt;a href=&#34;http://ed.agadak.net/&#34;&gt;Edward Lee&lt;/a&gt; posted a link to &lt;a href=&#34;http://github.com/mozilla/prospector/commit/398e5d86935149c5531bd5ac38d6d1049d4def17&#34;&gt;some code&lt;/a&gt; he uses for a bootstrapped add-on. Essentailly, the default preference branch is writable, but not permanent. This is a good thing for bootstrapped add-ons. The add-on should write it&amp;rsquo;s default preferences every time it loads and the preferences disappear when the session ends. The code looks like:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;const PREF_BRANCH = &amp;#34;extensions.myaddon.&amp;#34;;&#xA;const PREFS = {&#xA;  someIntPref: 1,&#xA;  someStringPref: &amp;#34;some text value&amp;#34;&#xA;};&#xA;&#xA;function setDefaultPrefs() {&#xA;  let branch = Services.prefs.getDefaultBranch(PREF_BRANCH);&#xA;  for (let [key, val] in Iterator(PREFS)) {&#xA;    switch (typeof val) {&#xA;      case &amp;#34;boolean&amp;#34;:&#xA;        branch.setBoolPref(key, val);&#xA;        break;&#xA;      case &amp;#34;number&amp;#34;:&#xA;        branch.setIntPref(key, val);&#xA;        break;&#xA;      case &amp;#34;string&amp;#34;:&#xA;        branch.setCharPref(key, val);&#xA;        break;&#xA;    }&#xA;  }&#xA;}&#xA;&#xA;function startup(aData, aReason) {&#xA;  // Always set the default prefs as they disappear on restart&#xA;  setDefaultPrefs();&#xA;  ...&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I haven&amp;rsquo;t tested to see if there is a clean way to remove these preferences when a bootstrapped add-on is disabled or uninstalled. The default preferences will likely still hang around until a shutdown occurs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Restartless Add-ons - More Resources</title>
      <link>https://starkravingfinkle.org/posts/2011/01/restartless-add-ons-more-resources/</link>
      <pubDate>Sat, 22 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/01/restartless-add-ons-more-resources/</guid>
      <description>&lt;p&gt;After playing around with bootstrap (restartless) add-ons a bit more, I came to the point where I needed some extra resources in the add-on. For images, I could have stuck with the data: URI approach I mentioned &lt;a href=&#34;https://starkravingfinkle.org/posts/2011/01/bootstrap-jones-adventures-in-restartless-add-ons/&#34;&gt;previously&lt;/a&gt;, but I also wanted to add an options UI for my add-on. Turns out it was pretty simple. Thanks to &lt;a href=&#34;http://blog.vlad1.com/&#34;&gt;Vlad&lt;/a&gt; for getting the ball rolling.&lt;/p&gt;&#xA;&lt;p&gt;The trick I am using now is to &lt;a href=&#34;https://developer.mozilla.org/en/Using_JavaScript_code_modules#Programmatically_adding_aliases&#34;&gt;programmatically&lt;/a&gt; add a &lt;code&gt;resource:&lt;/code&gt; alias for my add-on. A &lt;a href=&#34;https://developer.mozilla.org/en/Using_JavaScript_code_modules#Extending_resource.3a_URLs&#34;&gt;resource:&lt;/a&gt; alias creates a handy way for you to create URIs pointing to resources, like scripts and images, in your add-on bundle. It&amp;rsquo;s pretty simple to add a resource: URI pointing to the add-on&amp;rsquo;s root folder or XPI bundle. Here is the code snippet taken from my &lt;code&gt;bootstrap.js&lt;/code&gt; file:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add-on Develoeprs - AMO is Firefox Mobile Beta 4 Ready</title>
      <link>https://starkravingfinkle.org/posts/2011/01/add-on-developers-amo-is-firefox-mobile-beta-4-ready/</link>
      <pubDate>Fri, 21 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/01/add-on-developers-amo-is-firefox-mobile-beta-4-ready/</guid>
      <description>&lt;p&gt;Just an update for add-on developers who are targeting &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt;. AMO (&lt;a href=&#34;http://addons.mozilla.org&#34;&gt;addons.mozilla.org&lt;/a&gt;) is ready for you to bump MaxVersion to &amp;ldquo;4.0b4&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;A quick look at AMO shows a &lt;a href=&#34;https://addons.mozilla.org/en-US/mobile/&#34;&gt;pretty nice list of add-ons&lt;/a&gt; for Firefox Mobile. I spotted a few &lt;a href=&#34;https://starkravingfinkle.org/posts/2011/01/bootstrap-jones-adventures-in-restartless-add-ons/&#34;&gt;restartless&lt;/a&gt; add-ons too. Very cool!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Mobile - Managing Profiles</title>
      <link>https://starkravingfinkle.org/posts/2011/01/firefox-mobile-managing-profiles/</link>
      <pubDate>Tue, 18 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/01/firefox-mobile-managing-profiles/</guid>
      <description>&lt;p&gt;Last week we were talking about the need for [private browsing](&lt;a href=&#34;http://support.mozilla.com/en-US/kb/Private&#34;&gt;http://support.mozilla.com/en-US/kb/Private&lt;/a&gt; Browsing), or something like it, in &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt;. Even though you might not share your phone with other people, you might share a tablet - especially the &amp;ldquo;family tablet&amp;rdquo;, sitting there on the coffee table. Private browsing is an obtrusive system, at least as implemented in Mozilla, and it&amp;rsquo;s doubtful we could add it for Firefox Mobile in time for the upcoming release. Also, private browsing doesn&amp;rsquo;t really satisfy the &lt;em&gt;sharing&lt;/em&gt; use case for tablets.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bootstrap Jones - Adventures in Restartless Add-ons</title>
      <link>https://starkravingfinkle.org/posts/2011/01/bootstrap-jones-adventures-in-restartless-add-ons/</link>
      <pubDate>Mon, 17 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/01/bootstrap-jones-adventures-in-restartless-add-ons/</guid>
      <description>&lt;p&gt;We recently landed some code in &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt; to better handle &lt;a href=&#34;https://developer.mozilla.org/en/Extensions/Bootstrapped_extensions&#34;&gt;restartless (bootstrapped) add-ons&lt;/a&gt;. Turns out, Dietrich made a &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=617523&#34;&gt;non-Jetpack add-on&lt;/a&gt; using the &lt;a href=&#34;https://jetpack.mozillalabs.com/sdk/latest/docs/&#34;&gt;SDK&lt;/a&gt; and tried unsuccessfully to install it into Firefox Mobile. In the process of getting everything working, I decided to make a simple restartless add-on we could use as a testcase. It&amp;rsquo;s a copy of Dietrich&amp;rsquo;s original add-on, without any SDK usage. I&amp;rsquo;ve not taken the SDK plunge yet. The experience was interesting, educational and slightly enjoyable. The process of testing the install / uninstall and enable / disable mechanism without a restart left me as giddy as a schoolboy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Mobile - A Few Add-ons</title>
      <link>https://starkravingfinkle.org/posts/2011/01/firefox-mobile-a-few-add-ons/</link>
      <pubDate>Sat, 15 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/01/firefox-mobile-a-few-add-ons/</guid>
      <description>&lt;p&gt;In addition to working on &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt;, I like to tinker around with building add-ons too. Not surprising I guess, since I seem to go on and on about how to build them.&lt;/p&gt;&#xA;&lt;p&gt;Anyway, I have a few add-ons that you might find useful - either installed in Firefox Mobile or as examples you can rip apart and use to build your own add-ons.&lt;/p&gt;&#xA;&lt;h2 id=&#34;mobile-tools&#34;&gt;Mobile Tools&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://addons.mozilla.org/en-US/mobile/addon/mobile-tools/&#34;&gt;Mobile Tools&lt;/a&gt; is a collection of a few utilities that might be useful when debugging mobile webpages. You&amp;rsquo;ll find commands for viewing page source and basic page info. Both open in new tabs. Page source shows the web page&amp;rsquo;s raw HTML content. You can zoom and pan through the source just like any other web page. Page info shows some simple bits of information about the web page:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Mobile - Setting Your Own Start Page</title>
      <link>https://starkravingfinkle.org/posts/2011/01/firefox-mobile-setting-your-own-start-page/</link>
      <pubDate>Sat, 15 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/01/firefox-mobile-setting-your-own-start-page/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt; comes with a handy start page, but it might not be your favorite. If you have your own favorite page, you can set it as the start page. First, navigate to the web page you want to use. Then, go to &lt;em&gt;Preferences&lt;/em&gt;, tap the &lt;em&gt;Start page&lt;/em&gt; button and pick &lt;em&gt;Use Current Page&lt;/em&gt;. That&amp;rsquo;s it!&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;images/nexus1-homepage.png&#34;&gt;&lt;img src=&#34;images/nexus1-homepage-180x300.png&#34; alt=&#34;&#34; title=&#34;nexus1-homepage&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;If you do keep the built-in Firefox Start page - check out &lt;a href=&#34;https://addons.mozilla.org/en-US/mobile/addon/start-page-plus/&#34;&gt;Start Page Plus&lt;/a&gt; and make your start page &lt;a href=&#34;https://starkravingfinkle.org/posts/2011/01/firefox-mobile-a-few-add-ons/&#34;&gt;cooler&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Mobile and window.console Support</title>
      <link>https://starkravingfinkle.org/posts/2011/01/firefox-mobile-and-window-console-support/</link>
      <pubDate>Fri, 07 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2011/01/firefox-mobile-and-window-console-support/</guid>
      <description>&lt;p&gt;Desktop Firefox added native support for a subset of the &lt;code&gt;window.console&lt;/code&gt; API. It&amp;rsquo;s a subset in that only the following API methods are supported:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;console.log(arguments)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;console.info(arguments)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;console.warn(arguments)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;console.error(arguments)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Also, the Firebug string formatting features are not &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=614586&#34;&gt;supported&lt;/a&gt; yet.&lt;/p&gt;&#xA;&lt;p&gt;Last night we turned on basic support in &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt; too. It&amp;rsquo;s basic in the sense that the &lt;code&gt;window.console&lt;/code&gt; is merely forwarded to the Error Console.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/fennec-consoleapi-300x187.png&#34; alt=&#34;&#34; title=&#34;fennec-consoleapi&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mobile Add-on Development</title>
      <link>https://starkravingfinkle.org/posts/2010/12/mobile-add-on-development/</link>
      <pubDate>Fri, 17 Dec 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/12/mobile-add-on-development/</guid>
      <description>&lt;p&gt;I was part of this year&amp;rsquo;s &lt;a href=&#34;http://addoncon.com/&#34;&gt;Add-on Con&lt;/a&gt; event, presenting some &lt;a href=&#34;https://docs.google.com/present/view?id=amkjrkbt96p_83fm2md3wj&#34;&gt;information&lt;/a&gt; on building add-ons for &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt;. Learning how to work in multiple processes can be tricky at first, but once you get used to working with messages, it gets easier. The information was also relevant for Firefox Desktop, since multiple processes will show up there in a &lt;a href=&#34;http://felipe.wordpress.com/2010/12/16/first-steps-into-an-e10s-firefox/&#34;&gt;future release&lt;/a&gt;. &lt;a href=&#34;http://felipe.wordpress.com&#34;&gt;Felipe Gomes&lt;/a&gt; is working very hard on getting that project jump started.&lt;/p&gt;&#xA;&lt;p&gt;In addition to the presentation, I made some &lt;a href=&#34;http://people.mozilla.com/~mfinkle/tutorials/&#34;&gt;video tutorials&lt;/a&gt; on building Firefox Mobile add-ons, including a multi-process add-on. Fellow Mozillian, &lt;a href=&#34;http://twitter.com/sarakyap&#34;&gt;Sara Yap&lt;/a&gt;, encouraged me to add some code to the page to allow &lt;a href=&#34;http://universalsubtitles.org/&#34;&gt;subtitling&lt;/a&gt;. I am excited to see how that works out.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add-on Training at Add-on Con</title>
      <link>https://starkravingfinkle.org/posts/2010/12/add-on-training-at-add-on-con/</link>
      <pubDate>Sun, 05 Dec 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/12/add-on-training-at-add-on-con/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ll be taking part in the &lt;a href=&#34;http://addoncon.com/training-day-dec-8th/&#34;&gt;Training Day&lt;/a&gt; portion of &lt;a href=&#34;http://addoncon.com/&#34;&gt;Add-on Con&lt;/a&gt; this year. &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt; has made the jump to a multi-process architecture and many aspects of add-on development have changed. Sure, this could be a little scary. Yes, you will need to learn some new tricks. Of course, we&amp;rsquo;ll be here to help you. My session at Add-on Con will be all about building add-ons that work in a multi-process architecture.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec 4.0 - New and Notable</title>
      <link>https://starkravingfinkle.org/posts/2010/09/fennec-4-0-new-and-notable/</link>
      <pubDate>Thu, 30 Sep 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/09/fennec-4-0-new-and-notable/</guid>
      <description>&lt;h2 id=&#34;just-too-damn-good-to-be-a-version-20&#34;&gt;Just Too Damn Good to be a Version 2.0&lt;/h2&gt;&#xA;&lt;p&gt;in case you haven&amp;rsquo;t heard yet, &lt;a href=&#34;http://mozilla.com/m&#34;&gt;Firefox for mobile&lt;/a&gt; (Fennec) is bumping it&amp;rsquo;s version numbering to more closely match desktop releases of Firefox. This means &amp;ldquo;Firefox 2.0b1 for Android &amp;amp; Maemo&amp;rdquo; is becoming &amp;ldquo;Firefox 4.0b1 for Android &amp;amp; Maemo&amp;rdquo; and will be released as &amp;ldquo;&lt;strong&gt;Firefox 4 for Android and Nokia N900&lt;/strong&gt;&amp;rdquo;. We are aligning mobile Firefox and desktop Firefox since the web rendering engines used in both browsers are the same. Treating them as the same version seemed like the right thing to do.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec 2.0 - New and Notable</title>
      <link>https://starkravingfinkle.org/posts/2010/09/fennec-2-0-new-and-notable/</link>
      <pubDate>Wed, 15 Sep 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/09/fennec-2-0-new-and-notable/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s been a while since I posted about news things happening in Fennec and now I have a backlog! Let&amp;rsquo;s jump right into the list of new features you&amp;rsquo;ll find in the Fennec 2.0 nightlies:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Awesomescreen&lt;/strong&gt;: The Awesomebar Awesomescreen redesign merges the existing Search and Bookmark UIs while adding History and Desktop (via Sync) into a single UI. It&amp;rsquo;s part of our goal to keep data close to you when you need it. The Awesomescreen is all about helping you navigate to the pages you want, as fast as you can.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Moved Search Providers&lt;/strong&gt;: The list of search providers was moved from the bottom of the Awesomescreen results to a button on the right side of the URL bar. This was done to maximize the available space fro the Awesomescreen results.&#xA;&lt;img src=&#34;images/fennec-urlbar.png&#34; alt=&#34;&#34; title=&#34;fennec-urlbar&#34;&gt;- &lt;strong&gt;SiteMenu and ContextMenu APIs&lt;/strong&gt;: We made it a lot easier for add-ons to extend the &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/Extensions/UserInterface/Site_Menu&#34;&gt;SiteMenu&lt;/a&gt; and &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/Extensions/UserInterface/Context_Menu&#34;&gt;ContextMenu&lt;/a&gt; by adding real APIs around the functionality.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Awesomescreen Badging&lt;/strong&gt;: We added the ability to &amp;ldquo;badge&amp;rdquo; URLs shown in the Awesomescreen with helpful meta data, like unread inbox counts. We also added an API to the feature so add-ons could add badging to any URL (website), not just the ones we built into Fennec.&#xA;&lt;img src=&#34;images/fennec-gmail-badge.png&#34; alt=&#34;&#34; title=&#34;fennec-gmail-badge&#34;&gt;- &lt;strong&gt;More Context Menus&lt;/strong&gt;: We added support for more context menus (long tap menus) in places like Bookmark list, Awesomescreen results and the element in web content.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Android Notifications&lt;/strong&gt;: We use the native notification system on Android for things like downloads, add-on installations and application updates.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Right-to-Left Support&lt;/strong&gt;: We made the Fennec support RTL locales much better than it did, and we also want to make sure we don&amp;rsquo;t break RTL locales as we land new features.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>The Future of JavaXPCOM</title>
      <link>https://starkravingfinkle.org/posts/2010/07/the-future-of-javaxpcom/</link>
      <pubDate>Wed, 28 Jul 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/07/the-future-of-javaxpcom/</guid>
      <description>&lt;p&gt;This is a public service announcement for those people interested in the future of &lt;a href=&#34;https://developer.mozilla.org/en/javaxpcom&#34;&gt;JavaXPCOM&lt;/a&gt;. JavaXPCOM has been disabled and will likely to removed from the Mozilla source tree in the future. See Benjamin Smedberg&amp;rsquo;s &lt;a href=&#34;http://groups.google.com/group/mozilla.dev.extensions/browse_thread/thread/e142c1f4a702b856/054790d894ab05ca?show_docid=054790d894ab05ca&#34;&gt;newsgroup post&lt;/a&gt; for more details.&lt;/p&gt;&#xA;&lt;p&gt;Please follow up (add comments) to the newsgroup post.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec 2.0 - Now with Firefox Sync Builtin</title>
      <link>https://starkravingfinkle.org/posts/2010/07/fennec-2-0-now-with-firefox-sync-builtin/</link>
      <pubDate>Thu, 01 Jul 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/07/fennec-2-0-now-with-firefox-sync-builtin/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://mozillalabs.com/&#34;&gt;Mozilla Labs&lt;/a&gt; team has been &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=571902&#34;&gt;working very hard&lt;/a&gt; to move the core part of &lt;a href=&#34;http://mozillalabs.com/sync/&#34;&gt;Firefox Sync&lt;/a&gt; (nee Weave Sync) into the main Mozilla source repository. They finished a few days ago. Now any Mozilla application can start to use the core features of Firefox Sync without requiring the user to install an add-on. The system is built right into the application.&lt;/p&gt;&#xA;&lt;p&gt;The Mobile team &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=571898&#34;&gt;integrated the basic user interface&lt;/a&gt; for Firefox Sync directly into Fennec. Now you can synchronize your tabs, history, bookmarks, form data and passwords - desktop to mobile device and back again - without installing an add-on!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec 2.0: What&#39;s Coming</title>
      <link>https://starkravingfinkle.org/posts/2010/06/fennec-2-0-whats-coming/</link>
      <pubDate>Sat, 26 Jun 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/06/fennec-2-0-whats-coming/</guid>
      <description>&lt;p&gt;We haven&amp;rsquo;t even released the final &lt;a href=&#34;https://starkravingfinkle.org/posts/2010/06/firefox-for-maemo-1-1-rc-1/&#34;&gt;Firefox for Maemo 1.1&lt;/a&gt; yet, but we have been very busy working on features and changes for the next major release. Check out the Fennec 2.0 project &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Planning/2.0&#34;&gt;planning page&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The biggest changes are related to out-of-process web content (Project &lt;a href=&#34;https://wiki.mozilla.org/Electrolysis&#34;&gt;Electrolysis&lt;/a&gt;) and accelerated rendering (Project &lt;a href=&#34;https://wiki.mozilla.org/Gecko:Layers&#34;&gt;Layers&lt;/a&gt;). Significant amounts of platform work have been done on both projects. Fennec 2.0 will integrate both Electrolysis and Layers.&lt;/p&gt;&#xA;&lt;p&gt;Electrolysis will be the first of the two making an appearance in Fennec. Benjamin Smedberg&amp;rsquo;s &lt;a href=&#34;http://benjamin.smedbergs.us/blog/2009-06-16/electrolysis-making-mozilla-faster-and-more-stable-using-multiple-processes/&#34;&gt;kickoff post&lt;/a&gt; for Electrolysis summarizes the project goals:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Maemo 1.1 RC 1</title>
      <link>https://starkravingfinkle.org/posts/2010/06/firefox-for-maemo-1-1-rc-1/</link>
      <pubDate>Mon, 21 Jun 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/06/firefox-for-maemo-1-1-rc-1/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/firefox_11rc1_quartersize.png&#34; alt=&#34;&#34; title=&#34;firefox for maemo 1.1 rc1&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.mozilla.com/en-US/mobile/1.1rc1/releasenotes/&#34;&gt;Firefox for Maemo 1.1 RC 1&lt;/a&gt; is ready to &lt;a href=&#34;http://www.mozilla.com/en-US/m/beta&#34;&gt;install&lt;/a&gt;. For this release, the focus was some UI features we didn’t have time to put in the initial release. We also used your feedback from previous releases and nightly builds to help improve the browsing experience.&lt;/p&gt;&#xA;&lt;p&gt;Some of the bigger features include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Form assistant improvements, including &lt;a href=&#34;http://madhava.com/egotism/archive/005048.html&#34;&gt;autocomplete&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://madhava.com/egotism/archive/005044.html&#34;&gt;Start Page&lt;/a&gt; redesign&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2010/05/updating-add-ons-in-firefox-mobile-1-1/&#34;&gt;Auto update&lt;/a&gt; add-ons&lt;/li&gt;&#xA;&lt;li&gt;New &lt;a href=&#34;https://starkravingfinkle.org/posts/2010/05/smart-tapping-in-mobile-firefox/&#34;&gt;smart-tapping system&lt;/a&gt; for better tapping links, fields and buttons&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://madhava.com/egotism/archive/005049.html&#34;&gt;Portrait support&lt;/a&gt; on N900&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2010/04/fennec-1-1-context-menus/&#34;&gt;Context Menu&lt;/a&gt; with Open Link in New Tab and Save Image&lt;/li&gt;&#xA;&lt;li&gt;Web content theme update&lt;/li&gt;&#xA;&lt;li&gt;Improved &lt;a href=&#34;http://madhava.com/egotism/archive/005043.html&#34;&gt;Site Menu&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Use &lt;a href=&#34;http://madhava.com/egotism/archive/005047.html&#34;&gt;volume keys to zoom&lt;/a&gt; on N900&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://madhava.com/egotism/archive/005045.html&#34;&gt;Save page to PDF&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Built in &lt;a href=&#34;https://starkravingfinkle.org/posts/2010/05/crash-reporting-comes-to-firefox-mobile/&#34;&gt;Crash Reporter&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As always, we’ve provided unbranded Fennec desktop builds on &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/releases/1.1rc1/win32-i686/fennec-1.1.en-US.win32.zip&#34;&gt;Windows&lt;/a&gt;, &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/releases/1.1rc1/macosx-i686/fennec-1.1.en-US.mac.dmg&#34;&gt;Mac&lt;/a&gt;, and &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/releases/1.1rc1/linux-i686/fennec-1.1.en-US.linux-i686.tar.bz2&#34;&gt;Linux&lt;/a&gt;. You can use these if you don’t have a Maemo device or to aid in add-on development. This is the final call for Add-on developers to &lt;a href=&#34;https://starkravingfinkle.org/posts/2010/04/firefox-mobile-1-1-beta-1-and-add-ons/&#34;&gt;update their add-ons&lt;/a&gt; from Firefox 1.0.x for Maemo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Updating Add-ons in Firefox Mobile 1.1</title>
      <link>https://starkravingfinkle.org/posts/2010/05/updating-add-ons-in-firefox-mobile-1-1/</link>
      <pubDate>Fri, 28 May 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/05/updating-add-ons-in-firefox-mobile-1-1/</guid>
      <description>&lt;p&gt;In previous versions of &lt;a href=&#34;http://www.mozilla.com/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt;, you could check for and install updates for your add-ons by pressing the &amp;ldquo;Update&amp;rdquo; button in the Add-ons Manager. This meant that you could check whenever and as often as you wanted, but, if you didn&amp;rsquo;t really want to manage these things manually, you could find yourself without the latest versions.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/fennec-addons-update-button-300x96.png&#34; alt=&#34;&#34; title=&#34;fennec-addons-update-button&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Desktop versions of Firefox will prompt you that a new version of an add-on is available. Maybe this prompt is enough for you to actually update the add-on, maybe it isn&amp;rsquo;t. Maybe you find the whole process annoying and/or boring.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crash Reporting Comes to Firefox Mobile</title>
      <link>https://starkravingfinkle.org/posts/2010/05/crash-reporting-comes-to-firefox-mobile/</link>
      <pubDate>Wed, 26 May 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/05/crash-reporting-comes-to-firefox-mobile/</guid>
      <description>&lt;p&gt;The latest &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt; nightly builds have enabled the Mozilla Crash Reporter, powered by the same &lt;a href=&#34;https://wiki.mozilla.org/Breakpad&#34;&gt;Breakpad&lt;/a&gt; system as desktop Firefox. While desktop Firefox has been using Breakpad since &lt;a href=&#34;http://benjamin.smedbergs.us/blog/2007-05-30/crash-bang-boom/&#34;&gt;Firefox 3.0&lt;/a&gt;, it was only recently ported to the ARM architecture of the Nokia N900.&lt;/p&gt;&#xA;&lt;p&gt;Now, when Firefox Mobile (or Fennec nightlies) crash, you should see this application appear:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/crashreporter.jpg&#34; alt=&#34;&#34; title=&#34;crashreporter&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;If you decide to send a crash report to Mozilla, and we really hope you do, you can see your crash, and other crashes, at the &lt;a href=&#34;http://crash-stats.mozilla.com/&#34;&gt;Mozilla Crash Reports&lt;/a&gt; web site. Here&amp;rsquo;s a list of all the Firefox Mobile &lt;a href=&#34;http://bit.ly/9j5L9O&#34;&gt;crashes&lt;/a&gt;. For example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Smart Tapping in Mobile Firefox</title>
      <link>https://starkravingfinkle.org/posts/2010/05/smart-tapping-in-mobile-firefox/</link>
      <pubDate>Thu, 13 May 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/05/smart-tapping-in-mobile-firefox/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s now well understood that, when designing for a touchscreen, there are certain minimum usable sizes for touchable targets. While the amount you can display on a screen is increasing with higher resolutions, human finger sizes aren&amp;rsquo;t changing, and fingertips are much larger than a mouse pointer. As a result, most UI recommendations for &lt;a href=&#34;http://www.lukew.com/ff/entry.asp?1085&#34;&gt;touch-target sizes&lt;/a&gt; on mobile devices range from around 7mm to 9mm.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s relatively easy to take these minimum sizes into account when designing your own interface. But what about when you&amp;rsquo;re displaying something that someone else has designed, and that wasn&amp;rsquo;t built with fingers in mind? This is the situation mobile browsers encounter in most web pages: links, fields, and buttons are often much smaller than you&amp;rsquo;d want them to be in order to tap on them, but making them bigger would interfere with the designer&amp;rsquo;s intended layout.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 1.1 Beta 1 for Maemo</title>
      <link>https://starkravingfinkle.org/posts/2010/04/firefox-1-1-beta-1-for-maemo/</link>
      <pubDate>Thu, 29 Apr 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/04/firefox-1-1-beta-1-for-maemo/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/1_1_beta_horizontal.png&#34; alt=&#34;&#34; title=&#34;1_1_beta_horizontal&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.mozilla.com/en-US/mobile/1.1b1/releasenotes/&#34;&gt;Firefox 1.1 Beta 1 for Maemo&lt;/a&gt; is ready to &lt;a href=&#34;http://www.mozilla.com/en-US/m/beta&#34;&gt;install&lt;/a&gt;. For this release, the focus was some UI features we didn’t have time to put in the initial release. We are also using your feedback from previous releases and nightly builds to help improve the browsing experience.&lt;/p&gt;&#xA;&lt;p&gt;Some of the bigger features include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Form assistant improvements, including autocomplete&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://madhava.com/egotism/archive/005044.html&#34;&gt;Start Page&lt;/a&gt; redesign&lt;/li&gt;&#xA;&lt;li&gt;Auto update add-ons&lt;/li&gt;&#xA;&lt;li&gt;Portrait support on N900&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2010/04/fennec-1-1-context-menus/&#34;&gt;Context Menu&lt;/a&gt; with Open Link in New Tab and Save Image&lt;/li&gt;&#xA;&lt;li&gt;Web content theme update&lt;/li&gt;&#xA;&lt;li&gt;Manage site preferences (clearing passwords and others)&lt;/li&gt;&#xA;&lt;li&gt;Improved &lt;a href=&#34;http://madhava.com/egotism/archive/005043.html&#34;&gt;Site Menu&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Use volume keys to zoom on N900&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://madhava.com/egotism/archive/005045.html&#34;&gt;Save page to PDF&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As always, we’ve provided unbranded Fennec desktop builds on &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/releases/1.1b1/win32-i686/fennec-1.1b1.en-US.win32.zip&#34;&gt;Windows&lt;/a&gt;, &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/releases/1.1b1/macosx-i686/fennec-1.1b1.en-US.mac.dmg&#34;&gt;Mac&lt;/a&gt;, and &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/releases/1.1b1/linux-i686/fennec-1.1b1.en-US.linux-i686.tar.bz2&#34;&gt;Linux&lt;/a&gt;. You can use these if you don’t have a Maemo device or to aid in add-on development. Add-on developers should use this release to &lt;a href=&#34;https://starkravingfinkle.org/posts/2010/04/firefox-mobile-1-1-beta-1-and-add-ons/&#34;&gt;update add-ons&lt;/a&gt; from Firefox 1.0.x for Maemo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec 1.1 Context Menus</title>
      <link>https://starkravingfinkle.org/posts/2010/04/fennec-1-1-context-menus/</link>
      <pubDate>Tue, 27 Apr 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/04/fennec-1-1-context-menus/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Fennec 1.1&lt;/a&gt; now supports &lt;a href=&#34;https://starkravingfinkle.org/posts/2010/04/firefox-mobile-1-1-whats-coming/&#34;&gt;context menus&lt;/a&gt;. Using a long tap (aka tap-n-hold), or right-click on desktop versions, you can get a context menu to appear.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/fennec-contextpanel-02-300x239.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;We intentional designed the context menu system to be simple and minimalistic. We do not want large context menus with many, many commands. Currently, context menus are only displayed if the user long-taps on a link or an image. Technically, not all links will activate the context menu. &lt;code&gt;javascript:&lt;/code&gt; links, for example will not activate the context menu.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Mobile 1.1 Beta 1 and Add-ons</title>
      <link>https://starkravingfinkle.org/posts/2010/04/firefox-mobile-1-1-beta-1-and-add-ons/</link>
      <pubDate>Tue, 27 Apr 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/04/firefox-mobile-1-1-beta-1-and-add-ons/</guid>
      <description>&lt;p&gt;With Firefox 1.1 Beta 1 for Maemo ready to go and the final release not far away, now is an excellent time for add-on developers to update their add-ons. Obviously, Mozilla wants as many add-ons as possible to be compatible with the latest version of &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;AMO (addons.mozilla.org) is ready for add-ons to set maxVersion to 1.1.*&lt;/p&gt;&#xA;&lt;p&gt;Please test your add-on &lt;strong&gt;before&lt;/strong&gt; bumping the version. You can use the &lt;a href=&#34;https://starkravingfinkle.org/posts/2009/11/fennec-nightly-maemo-updates/&#34;&gt;nightly builds for Maemo&lt;/a&gt;, as well as the &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/getinvolved&#34;&gt;desktop versions&lt;/a&gt; to help test. Here are a few things to keep in mind while testing add-ons:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Mobile 1.1 - What&#39;s Coming</title>
      <link>https://starkravingfinkle.org/posts/2010/04/firefox-mobile-1-1-whats-coming/</link>
      <pubDate>Tue, 06 Apr 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/04/firefox-mobile-1-1-whats-coming/</guid>
      <description>&lt;p&gt;The Mobile Team has been hard at work on the 1.1 release of &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt;. This release will mainly be a Nokia Maemo release, but the current Android builds are based on the same front-end.&lt;/p&gt;&#xA;&lt;p&gt;For the 1.1 release, we are focusing on some UI features we didn&amp;rsquo;t have time to put in the initial release. We are also using your feedback to help improve the browsing experience. You can see the list of planned features on the &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Planning&#34;&gt;planning page&lt;/a&gt;. As you can see, we have completed much of the work and the beta release is quickly approaching.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FOSDEM 2010 and Fennec Project Update</title>
      <link>https://starkravingfinkle.org/posts/2010/02/fosdem-2010-and-fennec-project-update/</link>
      <pubDate>Thu, 25 Feb 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/02/fosdem-2010-and-fennec-project-update/</guid>
      <description>&lt;p&gt;I was lucky enough to be able to attend &lt;a href=&#34;http://www.fosdem.org/2010/&#34;&gt;FOSDEM 2010&lt;/a&gt;. It was my 3rd FOSDEM and I had a blast. I was able to catch a few good talks outside the &lt;a href=&#34;http://www.fosdem.org/2010/schedule/devrooms/mozilla&#34;&gt;Mozilla DevRoom&lt;/a&gt;, including one of the &lt;a href=&#34;http://www.fosdem.org/2010/schedule/events/eviloninternet&#34;&gt;keynotes&lt;/a&gt;. Inside the Mozilla DevRoom, we had a lot of interesting talks from lots of different people and projects. Thanks to everyone who made FOSDEM such a great experience!&lt;/p&gt;&#xA;&lt;p&gt;I was part of a talk on &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt; (Fennec). We had about 75 minutes for the talk, so I successfully recruited Vivien Nicolas and &lt;a href=&#34;http://blog.desre.org&#34;&gt;Fabrice Desré&lt;/a&gt; (two other mobile developers) to help with the presentation. We tried to cover many different topics during the presentation:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox for Mobile - Keyboard Shortcuts</title>
      <link>https://starkravingfinkle.org/posts/2010/02/firefox-for-mobile-keyboard-shortcuts/</link>
      <pubDate>Wed, 10 Feb 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/02/firefox-for-mobile-keyboard-shortcuts/</guid>
      <description>&lt;p&gt;Not every mobile device has a physical keyboard, but many do. &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile&lt;/a&gt; supports a handful of keyboard shortcuts that might make your life a little easier:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Zoom in:&lt;/strong&gt; Ctrl+Up arrow&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Zoom out:&lt;/strong&gt; Ctrl+Down arrow&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Go to Location Bar:&lt;/strong&gt; Ctrl+L&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Back one page:&lt;/strong&gt; Ctrl+Left arrow &lt;em&gt;or&lt;/em&gt; Backspace&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Forward one page:&lt;/strong&gt; Ctrl+Right arrow &lt;em&gt;or&lt;/em&gt; Shift+Backspace&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;New tab:&lt;/strong&gt; Ctrl+T&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Close tab:&lt;/strong&gt; Ctrl+W&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Open link in new tab:&lt;/strong&gt; Ctrl+Tap on link&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;For a more complete list of &lt;a href=&#34;http://mobile.support.mozilla.com/en-US/kb/Keyboard+shortcuts&#34;&gt;keyboard shortcuts&lt;/a&gt;, and lots of other useful information, go to the Firefox Mobile support &lt;a href=&#34;http://mobile.support.mozilla.com/en-US/kb/Article+list&#34;&gt;knowledge base&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9.0.x Releases - The End is Near</title>
      <link>https://starkravingfinkle.org/posts/2010/01/xulrunner-1-9-0-x-releases-the-end-is-near/</link>
      <pubDate>Thu, 28 Jan 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/01/xulrunner-1-9-0-x-releases-the-end-is-near/</guid>
      <description>&lt;p&gt;Mozilla is currently, building and releasing XULRunner simultaneously with Firefox releases. Releases can be found &lt;a href=&#34;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;XULRunner releases for 1.9.0, 1.9.1 and 1.9.2 branches (matching Firefox 3.0, 3.5 and 3.6 respectively) are available. The question now becomes &amp;ldquo;How long does Mozilla keep releasing older branches of XULRunner?&amp;rdquo; We&amp;rsquo;d like to re-purpose some of the resources used to build older branches.&lt;/p&gt;&#xA;&lt;p&gt;Therefore, we intend to stop posting XULRunner builds and releases from the 1.9.0.x branch soon. This would only affect Mozilla building and releasing XULRunner 1.9.0.x. The source code to XULRunner 1.9.0.x would remain available and developers could always build and release their own XULRunner packages from the source code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Perils of the viewport meta tag</title>
      <link>https://starkravingfinkle.org/posts/2010/01/perils-of-the-viewport-meta-tag/</link>
      <pubDate>Thu, 21 Jan 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/01/perils-of-the-viewport-meta-tag/</guid>
      <description>&lt;p&gt;Apple introduced the &lt;a href=&#34;http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html&#34;&gt;viewport&lt;/a&gt; meta tag in mobile Safari to help web developers improve the presentation of there web pages on the iPhone. We &lt;a href=&#34;https://starkravingfinkle.org/posts/2009/11/fennec-mobile-optimzed-web-pages/&#34;&gt;added support&lt;/a&gt; for the viewport tag in &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;mobile Firefox&lt;/a&gt; for the same reasons.&lt;/p&gt;&#xA;&lt;p&gt;The viewport tag allows web developers to set the width, height and scale of the browser area used to display web content. However, some websites are not doing a good job configuring the viewport tag and it affects the presentation in Firefox.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prism 1.0 Beta 3 - Getting Closer To Final Release</title>
      <link>https://starkravingfinkle.org/posts/2010/01/prism-1-0b3-getting-closer-to-final-release/</link>
      <pubDate>Tue, 19 Jan 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/01/prism-1-0b3-getting-closer-to-final-release/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://developer.mozilla.org/en/prism&#34;&gt;Prism&amp;rsquo;s&lt;/a&gt; long march to final release got a little closer recently with the release of &lt;a href=&#34;http://browsing.justdiscourse.com/2010/01/15/new-prism-1-0b3pre-build-now-with-mozilla-1-9-2/&#34;&gt;Prism 1.0 Beta 3&lt;/a&gt; (&lt;a href=&#34;http://browsing.justdiscourse.com/2010/01/18/ubuntu-build-of-prism-1-0b3pre/&#34;&gt;Linux&lt;/a&gt; too). Prism is now using the same Gecko 1.9.2 as used in the newest Firefox 3.6 release. A big thanks to &lt;a href=&#34;http://browsing.justdiscourse.com&#34;&gt;Matt Gertner&lt;/a&gt; for keeping Prism development moving along. &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox for Mobile&lt;/a&gt; has been keeping me very busy.&lt;/p&gt;&#xA;&lt;p&gt;I noticed some other people are eager for a Prism release too: &lt;a href=&#34;http://www.webmonkey.com/blog/Mozilla_Gets_Ready_to_Put_Prism_on_Your_Desktop_With_New_Beta_Release&#34;&gt;Webmonkey&lt;/a&gt;, &lt;a href=&#34;http://business2press.com/2010/01/17/mozilla-to-release-prism-an-open-source-silverlight-and-adobe-air-competitor/&#34;&gt;Business2.0&lt;/a&gt;, &lt;a href=&#34;http://www.reddit.com/r/programming/comments/aqpmo/mozilla_to_release_prism_an_opensource/&#34;&gt;Reddit&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add-ons and Restarts - Yuck!</title>
      <link>https://starkravingfinkle.org/posts/2010/01/add-ons-and-restarts-yuck/</link>
      <pubDate>Wed, 13 Jan 2010 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2010/01/add-ons-and-restarts-yuck/</guid>
      <description>&lt;p&gt;There has been a lot of discussion about the future of the Mozilla add-on infrastructure. I think it&amp;rsquo;s clear now that Mozilla is not removing the classic add-on mechanism. In fact, Fabrice Desré found a nice bit of news on an upcoming feature (via comments on &lt;a href=&#34;http://www.toolness.com/wp/?p=746&#34;&gt;Atul&amp;rsquo;s post&lt;/a&gt;):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;http://twitter.com/fabricedesre&#34;&gt;Fabrice&lt;/a&gt;:&lt;/strong&gt; Does the fact that jetpacks are now XPIs mean that the “no restart after install” feature will be implemented for traditionnal add-ons ?&lt;/p&gt;</description>
    </item>
    <item>
      <title>AdBlock Plus Adds Support for Fennec</title>
      <link>https://starkravingfinkle.org/posts/2009/12/adblock-plus-adds-support-for-fennec/</link>
      <pubDate>Thu, 03 Dec 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/12/adblock-plus-adds-support-for-fennec/</guid>
      <description>&lt;p&gt;Thanks to &lt;a href=&#34;http://twitter.com/fabricedesre&#34;&gt;Fabrice Desré&lt;/a&gt; and &lt;a href=&#34;http://adblockplus.org/blog/&#34;&gt;Wladimir Palant&lt;/a&gt;, development builds of &lt;a href=&#34;http://adblockplus.org/development-builds/fennec-support-and-signed-builds&#34;&gt;AdBlock Plus support Fennec&lt;/a&gt;! The port embraces Fennec&amp;rsquo;s minimalistic design asthetic - exposing only a simple options UI. However, this is more than enough to make a great impact on browsing in Fennec.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/fennec-adblockplus-options-small.png&#34; alt=&#34;fennec-adblockplus-options-small&#34; title=&#34;fennec-adblockplus-options-small&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Besides reducing the visual clutter on web pages, ad-heavy pages load noticeably faster! As Wladimir notes in his post, AdBlock Plus will only work in nightly builds of Fennec (version 1.0b6pre). Install a &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mobile-1.9.2/&#34;&gt;nightly version&lt;/a&gt; (including desktop versions) or use the new &lt;a href=&#34;https://starkravingfinkle.org/posts/2009/11/fennec-nightly-maemo-updates/&#34;&gt;nightly update channel&lt;/a&gt; from your Maemo device. He also mentions that work to improve the first-run experience is coming in future releases.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Nightly Maemo Updates</title>
      <link>https://starkravingfinkle.org/posts/2009/11/fennec-nightly-maemo-updates/</link>
      <pubDate>Wed, 25 Nov 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/11/fennec-nightly-maemo-updates/</guid>
      <description>&lt;p&gt;Desktop versions of Firefox have nightly update channels. New versions are automatically downloaded and available for install as they become available. Each morning, a Firefox user can quickly and easily update to the newest nightly version.&lt;/p&gt;&#xA;&lt;p&gt;Thanks to the release engineering team, the same easy &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=469290&#34;&gt;nightly updates&lt;/a&gt; are available for &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox on Maemo&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://drkscrtlv.livejournal.com/tag/mozilla&#34;&gt;Aki Sasaki&lt;/a&gt; has provided some simple instructions for getting nightly updates installed on your &lt;a href=&#34;http://maemo.nokia.com/&#34;&gt;Maemo&lt;/a&gt; device:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Go to the nightly &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/repos/&#34;&gt;repository&lt;/a&gt;. The repository is basically a large file server with folders for each combination of source code branch and language localization.&lt;/li&gt;&#xA;&lt;li&gt;Choose the branch you want (trunk == mozilla-central / 1.9.2 == mozilla-1.9.2). Fennec 1.0 is being released from the Mozilla 1.9.2 source code branch, so you probably want to use &amp;ldquo;1.9.2_*&amp;rdquo; branch.&lt;/li&gt;&#xA;&lt;li&gt;Choose the locale you want. You probably want the multi-locale bundle (&amp;quot;*_multi&amp;quot;), but you can choose a different one.&lt;/li&gt;&#xA;&lt;li&gt;Click on the &amp;ldquo;*_nightly.install&amp;rdquo; file in the appropriate repository. This should automatically start the Application Manager on your Maemo device and Firefox for Maemo will be installed.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Once installed, the Application Manager should notify you when a new version of the nightly is available and allow you to update Firefox. This process is a little different than desktop Firefox, where the update mechanism is built into the application. However, it fits in better with the Maemo platform.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec is Now Optified</title>
      <link>https://starkravingfinkle.org/posts/2009/11/fennec-is-now-optified/</link>
      <pubDate>Wed, 25 Nov 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/11/fennec-is-now-optified/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://maemo.nokia.com/n900/&#34;&gt;Nokia N900&lt;/a&gt; has about 100MB of free space in the root file system partition. It doesn&amp;rsquo;t take installing many applications before it fills up. Nokia &lt;a href=&#34;http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging,_Deploying_and_Distributing/Installing_under_opt_and_MyDocs&#34;&gt;recommends&lt;/a&gt; installing applications to the /opt folder, which has about 1GB of space.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Fennec&lt;/a&gt; installs itself to the root file system in the /usr folder. Although this is fine for the N810, it would never work for the N900. We had originally planned to move the install location for Beta 4, but we found a bug that kept Fennec from launching from the /opt folder. The bug has been fixed and Fennec now installs to /opt in &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mobile-1.9.2/&#34;&gt;nightly versions&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Form Assistant &amp; Password Echo</title>
      <link>https://starkravingfinkle.org/posts/2009/11/fennec-form-assistant-password-echo/</link>
      <pubDate>Tue, 10 Nov 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/11/fennec-form-assistant-password-echo/</guid>
      <description>&lt;p&gt;Firefox for Maemo (Fennec) beta 5 has been &lt;a href=&#34;http://blog.mozilla.com/blog/2009/11/09/firefox-for-maemo-beta-5-released/&#34;&gt;released&lt;/a&gt;! This release packs in a lot of good stuff. I&amp;rsquo;ve been trying to highlight a few of the new features. This time, I want to tell you about some web form features.&lt;/p&gt;&#xA;&lt;p&gt;Entering data into web forms using a small keyboard on a small screen can be painful. This release of Fennec has a Form Assistant to make it easier to fill in forms. Whenever you tap on an input or select field, Fennec will attempt to zoom in on the element and also display a small UI ribbon for moving between other input fields. If the input field has an associated label, we try to make sure the label is visible too. Context is important when entering text and other data into a form.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec is Firefox, Firefox is Fennec!</title>
      <link>https://starkravingfinkle.org/posts/2009/11/fennec-is-firefox-firefox-is-fennec/</link>
      <pubDate>Tue, 10 Nov 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/11/fennec-is-firefox-firefox-is-fennec/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://bit.ly/fennecb5&#34;&gt;Firefox for Maemo&lt;/a&gt; beta 5 is &lt;strong&gt;Firefox&lt;/strong&gt;! Huh?&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/maemo_beta5_releasenotes_firefox.png&#34; alt=&#34;maemo_beta5_releasenotes_firefox&#34; title=&#34;maemo_beta5_releasenotes_firefox&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;That&amp;rsquo;s right. We turned on official branding for beta 5. &amp;ldquo;Fennec&amp;rdquo; is the codename for Firefox on mobile platforms. We also use &amp;ldquo;Fennec&amp;rdquo; as the unofficial branding (name and images) in our nightly versions. Using a codename helps cut down on confusion when talking to other Mozilla developers :)&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/maemo_beta5_releasenotes_fennec.png&#34; alt=&#34;maemo_beta5_releasenotes_fennec&#34; title=&#34;maemo_beta5_releasenotes_fennec&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Don&amp;rsquo;t worry, the lovable little fennec isn&amp;rsquo;t going away.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Localization Update</title>
      <link>https://starkravingfinkle.org/posts/2009/11/fennec-localization-update/</link>
      <pubDate>Sun, 08 Nov 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/11/fennec-localization-update/</guid>
      <description>&lt;p&gt;Mobile Firefox for Maemo Beta 5 will have lots of improvements. One of those will be support for multiple locales. The install package will include several locales. The application will detect the locale of the device and try to find the corresponding Mozilla locale. If the system works as designed, the Firefox UI will automagically appear in the device&amp;rsquo;s locale.&lt;/p&gt;&#xA;&lt;p&gt;Since this is our first localized release, we don&amp;rsquo;t quite have as many locales translated as we&amp;rsquo;d like. But have no fear, the Mozilla L10N communities are working hard to get as many locales supported as possible for the final release. We might not have support for all Maemo device languages, but we&amp;rsquo;ll certainly do our best.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Mobile Optimzed Web Pages</title>
      <link>https://starkravingfinkle.org/posts/2009/11/fennec-mobile-optimzed-web-pages/</link>
      <pubDate>Sun, 08 Nov 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/11/fennec-mobile-optimzed-web-pages/</guid>
      <description>&lt;p&gt;Back when MTV still played videos, the Internet was full of web pages designed to work in desktop browsers. Life was good - so were the videos. Fast forward to today. The Web is still full of &amp;ldquo;best viewed in a desktop browser&amp;rdquo; web pages, however, you can also find lots of &amp;ldquo;&lt;a href=&#34;http://www.technologyevangelist.com/2007/05/top_11_mobile_optimi.html&#34;&gt;made for mobile&lt;/a&gt;&amp;rdquo; web pages too.&lt;/p&gt;&#xA;&lt;p&gt;Mobile optimized web pages can range from boring, bare-bones pages designed for featurephones to visually pleasing, full-featured pages designed for touchscreen smartphones. Web designers have a few techniques they can use to tell a web browser that a web page is optimized for a mobile device. &lt;a href=&#34;http://learnthemobileweb.com/2009/07/mobile-meta-tags/&#34;&gt;Learn the Mobile Web&lt;/a&gt; has a nice post summarizing these DOCTYPEs and meta tags. Web browsers can look for these hints and adjust how the page is displayed, making the site &lt;a href=&#34;http://www.useit.com/alertbox/mobile-usability.html&#34;&gt;easier to use&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Add-ons and Image Sizes</title>
      <link>https://starkravingfinkle.org/posts/2009/11/fennec-add-ons-and-image-sizes/</link>
      <pubDate>Fri, 06 Nov 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/11/fennec-add-ons-and-image-sizes/</guid>
      <description>&lt;p&gt;Building an add-on for Fennec (mobile Firefox) can be a bit tedious. We release desktop versions of Fennec that allow developers to test and play with their add-ons without the need for a mobile device. However, there are a few things that the desktop versions of Fennec do not expose: Performance characteristics of running on a mobile device; and the affect of small screens and high DPI.&lt;/p&gt;&#xA;&lt;p&gt;I have blogged before about the &lt;a href=&#34;https://starkravingfinkle.org/posts/2009/06/fennec-performance-is-the-theme/&#34;&gt;potential&lt;/a&gt; &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/12/fennec-alpha2-performance/&#34;&gt;performance&lt;/a&gt; &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/Extensions/BestPractices&#34;&gt;issues&lt;/a&gt; and we have created some documents to help developers watch out for problems. I&amp;rsquo;ve blogged about &lt;a href=&#34;https://starkravingfinkle.org/posts/2009/09/fennec-of-screens-and-orientation/&#34;&gt;mobile screen sizes&lt;/a&gt; before - about how you can use CSS to handle different sizes and orientations. This time I wanted to make the point about images sizes and the effect of DPI on fixed sized images.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec 1.0 Beta 4 for Maemo</title>
      <link>https://starkravingfinkle.org/posts/2009/10/fennec-1-0-beta-4-for-maemo/</link>
      <pubDate>Tue, 06 Oct 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/10/fennec-1-0-beta-4-for-maemo/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/maemo_beta4_horizontal.png&#34; alt=&#34;maemo_beta4_horizontal&#34; title=&#34;maemo_beta4_horizontal&#34;&gt; The Mozilla Mobile Team is happy to announce the release of &lt;a href=&#34;http://bit.ly/fennecb4&#34;&gt;Fennec 1.0 beta 4 for Maemo&lt;/a&gt;. As promised, we have been working hard on user experience and UI polish. Here&amp;rsquo;s a few changes you&amp;rsquo;ll find in this release:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Improved touch-friendly theme&lt;/li&gt;&#xA;&lt;li&gt;Improved panning and zooming performance and behavior&lt;/li&gt;&#xA;&lt;li&gt;Add search providers from the site identity panel&lt;/li&gt;&#xA;&lt;li&gt;Manage search providers from the Add-ons Manager&lt;/li&gt;&#xA;&lt;li&gt;Simplified the Download Manager (removed searching and find file on disk)&lt;/li&gt;&#xA;&lt;li&gt;Streamlined the bookmarking process&lt;/li&gt;&#xA;&lt;li&gt;Simplified the bookmark management&lt;/li&gt;&#xA;&lt;li&gt;Popup notification when background tabs open&lt;/li&gt;&#xA;&lt;li&gt;Bookmark list now displays the URL and tags associated with a bookmark&lt;/li&gt;&#xA;&lt;li&gt;Added a product information page (about:fennec or use the button in Preferences)&lt;/li&gt;&#xA;&lt;li&gt;Support for &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/Extensions/Options&#34;&gt;add-ons options&lt;/a&gt; in the Add-on Manager&lt;/li&gt;&#xA;&lt;li&gt;Support for updating add-ons&lt;/li&gt;&#xA;&lt;li&gt;Support for the HandheldFriendly meta-tag (support for the viewport meta-tag is coming)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In addition to the changes, there are plenty of bug fixes and enhancements going on under the hood. The &lt;a href=&#34;http://froystig.wordpress.com/2009/08/20/rendering-with-tiles-in-fennec/&#34;&gt;tile system&lt;/a&gt; we implemented for beta 3 is still providing benefits and areas where we can increase performance.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Let&#39;s Build Some Add-ons</title>
      <link>https://starkravingfinkle.org/posts/2009/09/fennec-lets-build-some-add-ons/</link>
      <pubDate>Sat, 05 Sep 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/09/fennec-lets-build-some-add-ons/</guid>
      <description>&lt;p&gt;We&amp;rsquo;re in the last weeks of development before releasing Fennec 1.0 to the world. There has been a lot of great testing and feedback. I think we have a well defined set of things to work on for 1.0 and a good idea of what we want to look at for 1.0+.&lt;/p&gt;&#xA;&lt;p&gt;However, there is one area I think we haven&amp;rsquo;t had enough testing and feedback - add-on development in Fennec. Add-on developers are a tricky bunch. They can make you re-think your architecture, brainstorm many new features and find lot&amp;rsquo;s of hidden bugs. We need more developers working on Fennec add-ons.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Handling Add-on Options</title>
      <link>https://starkravingfinkle.org/posts/2009/09/fennec-handling-add-on-options/</link>
      <pubDate>Fri, 04 Sep 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/09/fennec-handling-add-on-options/</guid>
      <description>&lt;p&gt;The add-on (extension) mechanism built into the Mozilla platform is very powerful. One of the optional features is support for options (preferences) dialogs. As discussed in my &lt;a href=&#34;https://starkravingfinkle.org/posts/2009/09/fennec-prompts-alerts-and-dialogs-oh-my/&#34;&gt;last post&lt;/a&gt;, Fennec doesn&amp;rsquo;t like dialogs. In addition, Fennec has a simple, clean preference system. While designing the Fennec Add-ons Manager, we discussed how we would support add-on options. We didn&amp;rsquo;t want popup dialogs of random and complicated XUL.&lt;/p&gt;&#xA;&lt;p&gt;After brainstorming a few ideas, we settled on a simple idea. Fennec uses special XUL tags to create it&amp;rsquo;s list of preferences. Add-ons would be forced to use the same tags. The options would be merged into the Fennec Add-on Manager, not displayed as a popup dialog. Of course, add-ons can support more than one application, so we needed to make sure that the options XUL for Fennec could coexist with the options XUL for other applications. Let&amp;rsquo;s take a look at how this all works:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Of Screens and Orientation</title>
      <link>https://starkravingfinkle.org/posts/2009/09/fennec-of-screens-and-orientation/</link>
      <pubDate>Fri, 04 Sep 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/09/fennec-of-screens-and-orientation/</guid>
      <description>&lt;p&gt;Designing a portable application to run on many different mobile devices is a challenge. Screen sizes and pixel densities are different making it difficult to create the &lt;strong&gt;One Great Layout&lt;/strong&gt;. In addition, mobile devices can change screen orientation, from portrait to landscape and back again.&lt;/p&gt;&#xA;&lt;p&gt;This is one area where using a markup-based UI language like &lt;a href=&#34;https://developer.mozilla.org/en/XUL_Tutorial&#34;&gt;XUL&lt;/a&gt;, with it&amp;rsquo;s support for CSS, comes in handy. Currently, Fennec is being designed and tested to run on Nokia&amp;rsquo;s N810 &amp;amp; &lt;a href=&#34;http://www.techradar.com/news/phone-and-communications/mobile-phones/firefox-mobile-on-nokia-n900-first-screenshots-631189&#34;&gt;N900&lt;/a&gt; devices, HTC&amp;rsquo;s Touch Pro and Samsung&amp;rsquo;s Omnia &amp;amp; Omnia II. Yes, Fennec can run on other Windows Mobile devices, but we don&amp;rsquo;t really test on every possible device&amp;hellip; yet. &lt;a href=&#34;http://elvis314.wordpress.com/&#34;&gt;Joel&lt;/a&gt; and the QA crew are working on that, but I digress.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Prompts, Alerts and Dialogs - Oh My</title>
      <link>https://starkravingfinkle.org/posts/2009/09/fennec-prompts-alerts-and-dialogs-oh-my/</link>
      <pubDate>Fri, 04 Sep 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/09/fennec-prompts-alerts-and-dialogs-oh-my/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;ve developed applications or extensions using the Mozilla platform, you know that there are tons of services and APIs available. We use those same capabilities when building Fennec. However, there are times when the default platform behavior is not desirable on mobile devices. When that happens, we could hack up our own system, or we could re-implement the platform APIs to suit our needs. We try to do the latter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - More Theme Goodness</title>
      <link>https://starkravingfinkle.org/posts/2009/09/fennec-more-theme-goodness/</link>
      <pubDate>Thu, 03 Sep 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/09/fennec-more-theme-goodness/</guid>
      <description>&lt;p&gt;Recently, we released &lt;a href=&#34;http://blog.pavlov.net/2009/08/20/fennec-1-0-beta-3-for-maemo/&#34;&gt;Fennec Beta 3 for Maemo&lt;/a&gt; (Alpha 3 for Windows Mobile is very close). The new release has several internal changes that might be of interest to add-on developers - or people curious as to how the darn thing works.&lt;/p&gt;&#xA;&lt;p&gt;Roy Frostig posted an &lt;a href=&#34;http://froystig.wordpress.com/2009/08/20/rendering-with-tiles-in-fennec/&#34;&gt;nice article&lt;/a&gt; about the changes to the way we render web pages. The results are dramatic: panning is much smoother. The approach also gives us more ways to increase performance and user experience in the future by creating a great foundation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Life for Old Projects</title>
      <link>https://starkravingfinkle.org/posts/2009/09/new-life-for-old-projects/</link>
      <pubDate>Thu, 03 Sep 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/09/new-life-for-old-projects/</guid>
      <description>&lt;p&gt;So much to do, so little time. My workspace is littered with projects I started but couldn&amp;rsquo;t find the time to keep going. It&amp;rsquo;s kinda sad and I do feel guilty.&lt;/p&gt;&#xA;&lt;p&gt;Sometimes those projects find a new life. Recently, two of my old projects found new life: &lt;a href=&#34;https://wiki.mozilla.org/FizzyPop&#34;&gt;FizzyPop&lt;/a&gt; and &lt;a href=&#34;https://wiki.mozilla.org/JSctypes&#34;&gt;js-ctypes&lt;/a&gt; are both active again.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.mozdev.org/drupal/blog/17&#34;&gt;Doug Warner&lt;/a&gt; has started &lt;a href=&#34;http://www.mozdev.org/drupal/blog/Project-Wizard-Get-Started-Your-Idea-without-Mundane-Setup&#34;&gt;building&lt;/a&gt; a Mozilla Project Wizard on the FizzyPop source code. Doug is requesting feedback for &lt;a href=&#34;http://www.mozdev.org/drupal/blog/Help-Improve-Project-Wizard-Jetpack-JS-Modules-and-More&#34;&gt;improvements&lt;/a&gt;. You can try it out &lt;a href=&#34;http://www.mozdev.org/projects/wizard&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Embedding the Error Console in Fennec</title>
      <link>https://starkravingfinkle.org/posts/2009/06/embedding-the-error-console-in-fennec/</link>
      <pubDate>Thu, 18 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/06/embedding-the-error-console-in-fennec/</guid>
      <description>&lt;p&gt;Trying to debug problems in Fennec while running on a mobile device can be a pain. Using the &lt;a href=&#34;https://developer.mozilla.org/En/Error_Console&#34;&gt;JavaScript Error Console&lt;/a&gt; is one way you can track down problems, especially JS coding errors. Some applications, like Firefox, have a UI to launch the Error Console. Other applications don&amp;rsquo;t. You might not know this, but any Mozilla-based application automatically supports displaying and using the Error Console. Simply launch the application using the &lt;code&gt;-jsconsole&lt;/code&gt; command line flag, and the Error Console will open.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec Linux Desktop Builds</title>
      <link>https://starkravingfinkle.org/posts/2009/06/fennec-linux-desktop-builds/</link>
      <pubDate>Wed, 17 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/06/fennec-linux-desktop-builds/</guid>
      <description>&lt;p&gt;Fennec nightly builds for Windows Mobile and Maemo have been available for some time now. Recently, we &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=495008&#34;&gt;decided&lt;/a&gt; to make nightly desktop builds of Fennec available as well. The desktop builds can be used to test add-ons and localizations with the most up-to-date code changes.&lt;/p&gt;&#xA;&lt;p&gt;You can find the Linux desktop builds, along with the other nightly builds, here: &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mobile-trunk/&#34;&gt;http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mobile-trunk/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Localized versions of the Maemo and Linux desktop builds can be found here: &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mobile-trunk-l10n/&#34;&gt;http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mobile-trunk-l10n/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mobile Firefox DevCamp in Tokyo</title>
      <link>https://starkravingfinkle.org/posts/2009/06/mobile-firefox-devcamp-in-tokyo/</link>
      <pubDate>Mon, 15 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/06/mobile-firefox-devcamp-in-tokyo/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://mozilla.jp&#34;&gt;Mozilla Japan&lt;/a&gt; and &lt;a href=&#34;http://www.clear-code.com&#34;&gt;Clear Code&lt;/a&gt; held a &lt;a href=&#34;http://mozilla.jp/blog/entry/4108/&#34;&gt;mobile developer camp&lt;/a&gt; (&lt;a href=&#34;http://64.233.169.132/translate_c?hl=en&amp;amp;sl=ja&amp;amp;tl=en&amp;amp;u=http://mozilla.jp/blog/entry/4108/&amp;amp;prev=hp&amp;amp;rurl=translate.google.com&amp;amp;usg=ALkJrhhL9gtKRXzJT30eW05CYOWwPnZz-A&#34;&gt;translated&lt;/a&gt;) over the weekend. Fennec has been lucky to have several Japanese coders helping out for a while now. The DevCamp added even more contributors!&lt;/p&gt;&#xA;&lt;p&gt;The DevCamp was active on IRC Friday. Bugzilla, on the other hand, was active all weekend. Many new patches were attached to bugs, including a potential &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=497934&#34;&gt;fix for a crasher&lt;/a&gt;. A big &amp;ldquo;thanks&amp;rdquo; to everyone who attended the DevCamp.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Performance is the Theme</title>
      <link>https://starkravingfinkle.org/posts/2009/06/fennec-performance-is-the-theme/</link>
      <pubDate>Sun, 14 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/06/fennec-performance-is-the-theme/</guid>
      <description>&lt;p&gt;Performance is very critical in Fennec, the mobile version of Firefox. Every feature, every aspect of appearance, every piece of code&amp;hellip; is all judged by the impact on performance. We&amp;rsquo;re lucky to have automated performance tests for Maemo and we&amp;rsquo;re close to getting the same tests working for Windows Mobile.&lt;/p&gt;&#xA;&lt;p&gt;A few weeks ago we were making a big push toward a full CSS-based theme for Fennec. CSS means we could use physical dimensions, instead of pixels, and updating the theme for devices with different screen resolutions would be easier. &lt;a href=&#34;http://blog.seanmartell.com&#34;&gt;Sean Martell&lt;/a&gt; was creating some really &lt;a href=&#34;http://blog.seanmartell.com/2009/04/06/revisiting-the-fennec-default-theme/&#34;&gt;cool&lt;/a&gt; &lt;a href=&#34;http://mozilla.seanmartell.com/fennec/index_updated.html&#34;&gt;prototypes&lt;/a&gt; using CSS3 functionality. We landed the changes in Fennec only to discover a significant negative impact on &lt;a href=&#34;http://graphs.mozilla.org/#show=2774468,2774466,2774464&amp;amp;sel=1241558293,1241605289&#34;&gt;startup&lt;/a&gt; (~200ms) and panning.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9.0.11</title>
      <link>https://starkravingfinkle.org/posts/2009/06/xulrunner-1-9-0-11/</link>
      <pubDate>Fri, 12 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/06/xulrunner-1-9-0-11/</guid>
      <description>&lt;p&gt;The newest official &lt;a href=&#34;https://developer.mozilla.org/en/XULRunner&#34;&gt;XULRunner&lt;/a&gt; has been released. &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner_1.9_Release_Notes&#34;&gt;XULRunner 1.9.0.11&lt;/a&gt; matches the &lt;a href=&#34;http://www.mozilla.com/en-US/firefox/3.0.11/releasenotes/&#34;&gt;Firefox 3.0.11&lt;/a&gt; release. For XULRunner developers, most of the changes in 1.9.0.11 are related to &lt;a href=&#34;http://www.mozilla.org/security/known-vulnerabilities/firefox30.html#firefox3.0.11&#34;&gt;security&lt;/a&gt; and stability fixes. SQLite was upgraded to version 3.6.7.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.11/runtimes&#34;&gt;Runtimes&lt;/a&gt; &lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.11/sdk&#34;&gt;SDKs&lt;/a&gt; &lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.11/source&#34;&gt;Source tarball&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;The coolest thing about this XULRunner release is how it was done. Mozilla&amp;rsquo;s Release Engineering group is &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=494055&#34;&gt;now doing&lt;/a&gt; official XULRunner releases at the same time as Firefox releases. Previously, someone would manually &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=492549&#34;&gt;file a bug&lt;/a&gt;, make a patch, spin the builds and push the bits. A big thank you to the release crew for adding this to their release process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - News For You</title>
      <link>https://starkravingfinkle.org/posts/2009/06/extension-developers-news-for-you/</link>
      <pubDate>Tue, 09 Jun 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/06/extension-developers-news-for-you/</guid>
      <description>&lt;p&gt;It was recently brought to our attention that a change to the context menu handling code has broken some extensions that built on the context menu. Davide Ficano found one of his &lt;a href=&#34;http://dafizilla.wordpress.com/2009/06/05/gcontextmenus-imageurl-property-refactored-on-firefox-3-5x/&#34;&gt;extensions was broken&lt;/a&gt; when we replaced a property on the &lt;a href=&#34;http://mxr.mozilla.org/mozilla-central/source/browser/base/content/nsContextMenu.js&#34;&gt;gContextMenu&lt;/a&gt; object, a helper object used to manage the context menu. The change was made in &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=449522&#34;&gt;bug 449522&lt;/a&gt; to accommodate new video element support.&lt;/p&gt;&#xA;&lt;p&gt;I saw Davide&amp;rsquo;s blog post, but it sat in my many open tabs. Thankfully, &lt;a href=&#34;http://www.kaply.com/weblog/&#34;&gt;Mike Kaply&lt;/a&gt; got my attention this morning on &lt;a href=&#34;http://irc.mozilla.org&#34;&gt;IRC&lt;/a&gt;. We filed &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=497098&#34;&gt;bug 497098&lt;/a&gt; and got a patch up and reviewed. Hopefully, this minimal fix will make it into the next Firefox 3.5 release candidate. SeaMonkey has a similar &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=497123&#34;&gt;bug open&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resources for Fennec Add-on Developers</title>
      <link>https://starkravingfinkle.org/posts/2009/05/resources-for-fennec-add-on-developers/</link>
      <pubDate>Sat, 23 May 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/05/resources-for-fennec-add-on-developers/</guid>
      <description>&lt;p&gt;We have added more information to the small, but growing collection of Fennec-specific add-on developer resources. If you&amp;rsquo;re interested in building add-ons for Fennec, here&amp;rsquo;s a list of resources you might find helpful:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/Architecture&#34;&gt;Architecture Overview&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/Extensions&#34;&gt;Extensions Basics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/CodeSnippets&#34;&gt;Code Snippets&lt;/a&gt; (Doing things in Fennec might be different than Firefox)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/Extensions/BestPractices&#34;&gt;Extensions Best Practices&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The Code Snippets and Best Practices documents are new. Feel free to give feedback on any of the documents. What information or snippets are missing? Use comments, &lt;a href=&#34;http://irc.mozilla.org&#34;&gt;IRC channels&lt;/a&gt; (#mobile) or even &lt;a href=&#34;https://bugzilla.mozilla.org/enter_bug.cgi?product=Fennec&#34;&gt;file some bugs&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ready for a Challenge?</title>
      <link>https://starkravingfinkle.org/posts/2009/05/ready-for-a-challenge/</link>
      <pubDate>Wed, 13 May 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/05/ready-for-a-challenge/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://mozdev.org&#34;&gt;Mozdev&lt;/a&gt; and &lt;a href=&#34;http://mozilla-europe.org/&#34;&gt;Mozilla Europe&lt;/a&gt; have teamed up to create a &lt;a href=&#34;http://www.mozilla.com/en-US/mobile/&#34;&gt;Firefox Mobile (Fennec)&lt;/a&gt; Add-ons Challenge. The goal is to create or port add-ons to Fennec. You only need to propose a concept for now, but you&amp;rsquo;ll need to get the add-on ready for the upcoming &lt;a href=&#34;http://wiki.maemo.org/MozillaMaemoDanishWeekend&#34;&gt;Mozilla/Maemo developer weekend&lt;/a&gt; in Copenhagen on May 30-31.&lt;/p&gt;&#xA;&lt;p&gt;See &lt;a href=&#34;http://www.mozdev.org/drupal/blog/Mozdev-Mozilla-Europe-Firefox-Mobile-Add-ons-Challenge&#34;&gt;Brian King&amp;rsquo;s post&lt;/a&gt; for more details.&lt;/p&gt;&#xA;&lt;p&gt;I am interested to see innovative ideas for using the limited UI in Fennec, add-ons that focus on mobile-specific functionality, and code that exposes more of the Maemo device functionality to Mozilla (yes, XPCOM is likely involved).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Day Dreaming about Web Storage</title>
      <link>https://starkravingfinkle.org/posts/2009/04/day-dreaming-about-web-storage/</link>
      <pubDate>Fri, 24 Apr 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/04/day-dreaming-about-web-storage/</guid>
      <description>&lt;p&gt;Recently, we &lt;a href=&#34;http://almaer.com/blog/browser-storage-do-we-need-sql-or-would-a-json-approach-be-better&#34;&gt;have&lt;/a&gt; &lt;a href=&#34;http://blog.vlad1.com/2009/04/06/html5-web-storage-and-sql/&#34;&gt;seen&lt;/a&gt; &lt;a href=&#34;http://www.toolness.com/wp/?p=580&#34;&gt;good&lt;/a&gt; &lt;a href=&#34;http://lists.w3.org/Archives/Public/public-webapps/2009AprJun/0106.html&#34;&gt;discussion&lt;/a&gt; on the W3C &lt;a href=&#34;http://dev.w3.org/html5/webstorage/&#34;&gt;Web Storage specification&lt;/a&gt;. There has been some recent push back on the use SQL, in particular &amp;ldquo;SQL as SQLite defines it&amp;rdquo;, in the specification. Counter proposals have been popping up using JavaScript-ish APIs, many using JSON. Some of the APIs store the data as a JSON document or blob, even using the HTML5 localStorage/globalStorage system to persist the data. &lt;a href=&#34;http://hg.toolness.com/browser-couch/raw-file/blog-post/index.html&#34;&gt;BrowserCouch&lt;/a&gt; and &lt;a href=&#34;http://taffydb.com/&#34;&gt;TaffyDB&lt;/a&gt; are two nice examples. Both are very JavaScript-oriented, client-side and offer some very nice functionality.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec 1.0 Beta 1 - New and Notable</title>
      <link>https://starkravingfinkle.org/posts/2009/03/fennec-10-beta-1-new-and-notable/</link>
      <pubDate>Wed, 18 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/03/fennec-10-beta-1-new-and-notable/</guid>
      <description>&lt;p&gt;We released &lt;a href=&#34;http://bit.ly/fennecb1&#34;&gt;Fennec 1.0 Beta 1&lt;/a&gt; for Maemo! Go read Stuart&amp;rsquo;s &lt;a href=&#34;http://blog.pavlov.net/2009/03/17/fennec-1-beta-1/&#34;&gt;announcement&lt;/a&gt; for a good overview of the release. Be sure to watch Madhava&amp;rsquo;s &lt;a href=&#34;http://vimeo.com/3563474&#34;&gt;video walkthrough&lt;/a&gt; too. Like Stuart, I am now using Fennec as the default browser on my N810 tablet. We have reached a solid milestone for performance and stability.&lt;/p&gt;&#xA;&lt;h2 id=&#34;whats-new&#34;&gt;What&amp;rsquo;s New&lt;/h2&gt;&#xA;&lt;p&gt;Most of the work for this release was not visible UI features. Getting the Flash plugin to render onto Fennec&amp;rsquo;s canvas display surface was a big step. We also added the ability to pan any scrollable list in the chrome UI. So the bookmark list, add-on list, download list, preference list - and so on - now support scrolling/panning just like the main web content. We still need to add support for iframes and web content lists, which are trickier since they kind of conflict with panning the content itself.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec Windows Mobile - Update</title>
      <link>https://starkravingfinkle.org/posts/2009/03/fennec-windows-mobile-update/</link>
      <pubDate>Mon, 16 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/03/fennec-windows-mobile-update/</guid>
      <description>&lt;p&gt;I previously &lt;a href=&#34;https://starkravingfinkle.org/posts/2009/02/fennec-windows-mobile-pre-alpha-problems/&#34;&gt;reported&lt;/a&gt; that we found a memory-related problem in the &lt;a href=&#34;http://blog.mozilla.com/blassey/2009/02/10/fennec-milestone-release-for-windows-mobile/&#34;&gt;Fennec Windows Mobile pre-alpha&lt;/a&gt; release. Bug &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=477956&#34;&gt;477956&lt;/a&gt; was the primary place to track our efforts to fix the problem. However, it became clear that porting &lt;a href=&#34;http://blog.pavlov.net/2008/01/12/jemalloc-builds/&#34;&gt;jemalloc&lt;/a&gt; to WinCE was the best way to handle the situation, so bug &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=478044&#34;&gt;478044&lt;/a&gt; became the bug to watch. As you can see, we are in the process of getting the fix reviewed and landed.&lt;/p&gt;&#xA;&lt;p&gt;Using our own memory allocator gives us much more flexibility and control. We can workaround the &lt;a href=&#34;http://msdn.microsoft.com/en-us/library/aa450572.aspx&#34;&gt;memory management limitations&lt;/a&gt; found in WinCE. The next version of WinCE makes some &lt;a href=&#34;http://www.addlogic.se/articles/articles/windows-ce-6-memory-architecture.html&#34;&gt;nice changes&lt;/a&gt; to memory management.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9.0.7</title>
      <link>https://starkravingfinkle.org/posts/2009/03/xulrunner-1907/</link>
      <pubDate>Mon, 16 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/03/xulrunner-1907/</guid>
      <description>&lt;p&gt;While I was on vacation last week, the newest official &lt;a href=&#34;https://developer.mozilla.org/en/XULRunner&#34;&gt;XULRunner&lt;/a&gt; was spun up and has now been released. &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner_1.9_Release_Notes&#34;&gt;XULRunner 1.9.0.7&lt;/a&gt; matches the &lt;a href=&#34;http://www.mozilla.com/en-US/firefox/3.0.7/releasenotes/&#34;&gt;Firefox 3.0.7&lt;/a&gt; release. For XULRunner developers, most of the changes in 1.9.0.7 are related to &lt;a href=&#34;http://www.mozilla.org/security/known-vulnerabilities/firefox30.html#firefox3.0.7&#34;&gt;security fixes&lt;/a&gt;. There are some cookie and XHR fixes in there too. You can also look at the &lt;a href=&#34;https://bugzilla.mozilla.org/buglist.cgi?keywords_type=anywords&amp;amp;keywords=fixed1.9.0.7+verified1.9.0.7&#34;&gt;full list of fixed bugs&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.7/runtimes&#34;&gt;Runtimes&lt;/a&gt; &lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.7/sdk&#34;&gt;SDKs&lt;/a&gt; &lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.7/source&#34;&gt;Source tarball&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Thanks to Dave Townsend and Nick Thomas for getting 1.9.0.7 out the door.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec Windows Mobile Pre-Alpha Problems</title>
      <link>https://starkravingfinkle.org/posts/2009/02/fennec-windows-mobile-pre-alpha-problems/</link>
      <pubDate>Sun, 15 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/02/fennec-windows-mobile-pre-alpha-problems/</guid>
      <description>&lt;p&gt;When we released the &lt;a href=&#34;http://blog.mozilla.com/blassey/2009/02/10/fennec-milestone-release-for-windows-mobile/&#34;&gt;Fennec pre-Alpha for Windows Mobile&lt;/a&gt;, we hoped it would help us find bugs that didn&amp;rsquo;t show up on our test devices. We knew there would be problems lurking around so we wanted to get a preview version into the hands of more testers. The good news is we found a &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=477956&#34;&gt;showstopper&lt;/a&gt;! The bad news is the browser is basically useless for many people.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-short-version&#34;&gt;The Short Version&lt;/h2&gt;&#xA;&lt;p&gt;We are digging into the problem and have been able to reproduce it internally. It&amp;rsquo;s obviously a top priority and we will get a new version released as soon as we get a fix in place.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec &amp; Gestures</title>
      <link>https://starkravingfinkle.org/posts/2009/02/fennec-gestures/</link>
      <pubDate>Wed, 11 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/02/fennec-gestures/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://felipe.wordpress.com/&#34;&gt;Felipe Gomes&lt;/a&gt; has been busy. We talked on IRC a short time ago about adding a gesture engine to Fennec. He made a &lt;a href=&#34;http://www.vimeo.com/3156495&#34;&gt;video&lt;/a&gt; of the current version. The results are very cool. His work is being tracked in &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=476425&#34;&gt;bug 476425&lt;/a&gt;. The engine is currently packaged as an extension, so you can play with it yourself. Just pull from Felipe&amp;rsquo;s &lt;a href=&#34;http://github.com/felipc/fennec-gestures/&#34;&gt;repository&lt;/a&gt; and put the code inside your extensions folder in your profile.&lt;/p&gt;&#xA;&lt;p&gt;Go &lt;a href=&#34;http://digg.com/software/Chromeless_study_with_Mozilla_Fennec_and_Gestures_Engine&#34;&gt;digg&lt;/a&gt; it!&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9.0.6</title>
      <link>https://starkravingfinkle.org/posts/2009/02/xulrunner-1906/</link>
      <pubDate>Wed, 11 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/02/xulrunner-1906/</guid>
      <description>&lt;p&gt;The newest official &lt;a href=&#34;https://developer.mozilla.org/en/XULRunner&#34;&gt;XULRunner&lt;/a&gt; has been released. &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner_1.9_Release_Notes&#34;&gt;XULRunner 1.9.0.6&lt;/a&gt; matches the &lt;a href=&#34;http://www.mozilla.com/en-US/firefox/3.0.6/releasenotes/&#34;&gt;Firefox 3.0.6&lt;/a&gt; release. For XULRunner developers, most of the changes in 1.9.0.6 are related to &lt;a href=&#34;http://www.mozilla.org/security/known-vulnerabilities/firefox30.html#firefox3.0.6&#34;&gt;security fixes&lt;/a&gt;. You can also look at the &lt;a href=&#34;https://bugzilla.mozilla.org/buglist.cgi?keywords_type=anywords&amp;amp;keywords=fixed1.9.0.6+verified1.9.0.6&#34;&gt;full list of fixed bugs&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.6/runtimes&#34;&gt;Runtimes&lt;/a&gt; &lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.6/sdk&#34;&gt;SDKs&lt;/a&gt; &lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.6/source&#34;&gt;Source tarball&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; We now have XULRunner builds for &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mobile-browser-wince-arm/&#34;&gt;Windows Mobile&lt;/a&gt;! XULRunner runtimes now exist for Windows, Windows Mobile, OS X, Linux and &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mobile-browser-linux-arm/&#34;&gt;Maemo&lt;/a&gt; (a mobile Linux). Another XULRunner port is underway: &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Symbian&#34;&gt;Symbian OS&lt;/a&gt; (S60).&lt;/p&gt;&#xA;&lt;p&gt;Want to get started building XULRunner applications? We have an &lt;a href=&#34;https://developer.mozilla.org/en/Getting_started_with_XULRunner&#34;&gt;article&lt;/a&gt; for that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FOSDEM 2009 Wrap-up</title>
      <link>https://starkravingfinkle.org/posts/2009/02/fosdem-2009-wrap-up/</link>
      <pubDate>Sun, 08 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/02/fosdem-2009-wrap-up/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://fosdem.org/2009/&#34;&gt;FOSDEM 2009&lt;/a&gt; is over. Once again, there was a lot of great stuff happening. I managed to leave the &lt;a href=&#34;http://www.fosdem.org/2009/schedule/devrooms/mozilla&#34;&gt;Mozilla Room&lt;/a&gt; once or twice to see other sessions. The Mozilla Room sessions were very good and not just because I was in two of them. There were so many people trying to get into the Mozilla Room, we had to stop people from coming in.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://flickr.com/photos/finkle/3261925240/in/photostream/&#34;&gt;&lt;img src=&#34;images/3264100072_b7597f6822.jpg&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;I posted the presentations of my &lt;a href=&#34;http://starkravingfinkle.org/presentations/finkle-fennec-fosdem2009.htm&#34;&gt;Fennec&lt;/a&gt; and &lt;a href=&#34;http://starkravingfinkle.org/presentations/finkle-embedding-fosdem2009.htm&#34;&gt;Embedding&lt;/a&gt; sessions. The Fennec session has a companion &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/Architecture&#34;&gt;wiki article&lt;/a&gt; as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>DOM Inspector for Fennec</title>
      <link>https://starkravingfinkle.org/posts/2009/02/dom-inspector-for-fennec/</link>
      <pubDate>Fri, 06 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/02/dom-inspector-for-fennec/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/6622&#34;&gt;DOM Inspector&lt;/a&gt; is a great tool for debugging XUL, HTML and CSS. DOM Inspector 2.0.3 now supports Fennec (1.0a1 - current). To install in Fennec:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Go to the Add-ons Manager &amp;ldquo;Get Add-ons&amp;rdquo; pane.&lt;/li&gt;&#xA;&lt;li&gt;Type &amp;ldquo;dom inspector&amp;rdquo; into the search box.&lt;/li&gt;&#xA;&lt;li&gt;Press the &amp;ldquo;Add to Fennec&amp;rdquo; button.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/fennec-domi.png&#34; alt=&#34;&#34; title=&#34;fennec-domi&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;There is currently no visible UI (menu or toolbar) to launch DOM Inspector, but you can use CTRL+SHIFT+I to open the inspector window. Using DOM Inspector should make porting add-ons to Fennec a little easier. Tested on Fennec desktop and n810.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - The Inside Story</title>
      <link>https://starkravingfinkle.org/posts/2009/02/fennec-the-inside-story/</link>
      <pubDate>Wed, 04 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/02/fennec-the-inside-story/</guid>
      <description>&lt;p&gt;No, I&amp;rsquo;m not dishing dirt on &lt;a href=&#34;http://blog.pavlov.net/&#34;&gt;Stuart&lt;/a&gt;. I started to put together some &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/Architecture&#34;&gt;Fennec front-end documentation&lt;/a&gt;. Fennec is similar to Firefox, but very different at the same time. Some background information and discussion of the internals is probably a good thing.&lt;/p&gt;&#xA;&lt;p&gt;I also pulled in some performance related guidelines, most of which I discussed in this &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/12/fennec-alpha2-performance/&#34;&gt;post&lt;/a&gt;. The document will become the core of my &lt;a href=&#34;https://starkravingfinkle.org/posts/2009/02/fosdem-2009/&#34;&gt;FOSDEM Fennec talk&lt;/a&gt;. If you&amp;rsquo;re thinking of attending that talk, read the document first and come prepared with questions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FOSDEM 2009</title>
      <link>https://starkravingfinkle.org/posts/2009/02/fosdem-2009/</link>
      <pubDate>Wed, 04 Feb 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/02/fosdem-2009/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ll be making my second trip to Brussels to take part in &lt;a href=&#34;http://fosdem.org/2009/&#34;&gt;FOSDEM&lt;/a&gt;. I had a lot of fun last year and I&amp;rsquo;m looking forward to another great conference this year. I have two sessions in the &lt;a href=&#34;http://www.fosdem.org/2009/schedule/devrooms/mozilla&#34;&gt;Mozilla developer room&lt;/a&gt; this year:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.fosdem.org/2009/schedule/events/moz_mobile_fennec&#34;&gt;Mobile/Fennec&lt;/a&gt; - My part of this talk will cover how Fennec is built, building add-ons for Fennec and some performance-related coding tips.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.fosdem.org/2009/schedule/events/moz_embedding&#34;&gt;Embedding Mozilla&lt;/a&gt; - This talk will cover what&amp;rsquo;s been happening with the new Mozilla embedding APIs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you have ideas for topics you&amp;rsquo;d like me to cover in either of those sessions, let me know.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talos for Mobile  - The System Works!</title>
      <link>https://starkravingfinkle.org/posts/2009/01/talos-for-mobile-the-system-works/</link>
      <pubDate>Sat, 31 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/01/talos-for-mobile-the-system-works/</guid>
      <description>&lt;p&gt;Talos is the Mozilla performance testing system. Talos runs in conjunction with our continuous build system (Tinderbox). After every build completes, it is sent off to Talos for performance testing. Mobile has continuous builds for &lt;a href=&#34;http://tinderbox.mozilla.org/showbuilds.cgi?tree=Mobile&#34;&gt;Maemo and Windows Mobile&lt;/a&gt; (not sure what&amp;rsquo;s up with mobile-wince-arm-dep-191). Recently, &lt;a href=&#34;http://alice.nodelman.net/blog/post/talos-on-mobile-performance-results-now-available/&#34;&gt;Talos was setup&lt;/a&gt; for the Maemo builds. We are collecting data for a few metrics. Tp3 (pageload time) is notably missing. Aki has it working on the staging server, so it should be available soon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec with tel: Support on Windows Mobile</title>
      <link>https://starkravingfinkle.org/posts/2009/01/fennec-with-tel-support-on-windows-mobile/</link>
      <pubDate>Wed, 28 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/01/fennec-with-tel-support-on-windows-mobile/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://nadavers.wordpress.com&#34;&gt;Nino D&amp;rsquo;Aversa&lt;/a&gt;, a student at &lt;a href=&#34;http://senecac.on.ca/&#34;&gt;Seneca College&lt;/a&gt;, has been working on some &lt;a href=&#34;http://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt; Windows Mobile features. His latest &lt;a href=&#34;http://nadavers.wordpress.com/2009/01/27/04-release-in-action/&#34;&gt;blog post&lt;/a&gt; shows the progress he has made on &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=465664&#34;&gt;Bug 465664&lt;/a&gt;, adding tel: link support. That&amp;rsquo;s right, click a tel: link and the dialer opens to make the call.&lt;/p&gt;&#xA;&lt;p&gt;Nino has been doing a great job. He decided he wanted to start hacking on Fennec for his course projects (Yay &lt;a href=&#34;http://zenit.senecac.on.ca/wiki/index.php/Main_Page&#34;&gt;Seneca&lt;/a&gt;!). His next goal is adding a Geolocation implementation to Fennec via Windows Mobile GPS support.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wordpress Turbo using Firefox Native Offline Cache</title>
      <link>https://starkravingfinkle.org/posts/2009/01/wordpress-turbo-using-firefox-native-offline-cache/</link>
      <pubDate>Wed, 28 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/01/wordpress-turbo-using-firefox-native-offline-cache/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wordpress.org/&#34;&gt;WordPress&lt;/a&gt; has had a &lt;a href=&#34;http://en.blog.wordpress.com/2008/07/02/gears/&#34;&gt;Turbo feature&lt;/a&gt; for a while now. The feature uses Google Gears to store many of the Admin Dashboard resources (images, CSS, etc.) locally on the client machine. This improves overall performance and responsiveness of WordPress.&lt;/p&gt;&#xA;&lt;p&gt;If you read the &lt;a href=&#34;http://en.blog.wordpress.com/2008/07/02/gears/&#34;&gt;technical details&lt;/a&gt; on how Gears is being used, you&amp;rsquo;ll see that no fancy SQL or Worker Threads are needed to make this work. Only the offline cache is needed. Firefox 3.1 is shipping with the necessary &lt;a href=&#34;http://www.w3.org/TR/offline-webapps/#offline&#34;&gt;HTML5 Application Cache&lt;/a&gt; support to implement the same feature natively - no Gears plugin needed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec &#43; CrunchPad?</title>
      <link>https://starkravingfinkle.org/posts/2009/01/fennec-crunchpad/</link>
      <pubDate>Mon, 19 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/01/fennec-crunchpad/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.techcrunch.com&#34;&gt;TechCrunch&lt;/a&gt; has an &lt;a href=&#34;http://www.techcrunch.com/2008/07/21/we-want-a-dead-simple-web-tablet-help-us-build-it/&#34;&gt;ongoing project&lt;/a&gt; to design a &amp;ldquo;dead simple and dirt cheap touch screen web tablet to surf the web.&amp;rdquo; The latest version, &lt;a href=&#34;http://www.techcrunch.com/2009/01/19/techcrunch-tablet-update-prototype-b/&#34;&gt;Prototype B&lt;/a&gt;, looks pretty nice.&lt;/p&gt;&#xA;&lt;p&gt;The device is currently running Ubuntu and has a Webkit-based browser. Arrington originally wanted Firefox to run on the tablet. I&amp;rsquo;d be interested to see how &lt;a href=&#34;https://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt; works on the tablet. Fennec is designed to work well on mobile-class processors with tighter memory requirements. Fennec is also designed for touchscreens and supports the same add-ons mechanism as Firefox. Since Fennec is built on &lt;a href=&#34;https://developer.mozilla.org/en/XULRunner&#34;&gt;XULRunner&lt;/a&gt;, other XUL-based apps (Songbird, Chatzilla) get a free runtime.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unofficial XULRunner 1.9.1 Builds</title>
      <link>https://starkravingfinkle.org/posts/2009/01/unofficial-xulrunner-191-builds/</link>
      <pubDate>Fri, 16 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/01/unofficial-xulrunner-191-builds/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s taking a while to get &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=445191&#34;&gt;nightly XULRunner 1.9.1 builds&lt;/a&gt; available. At this point, I&amp;rsquo;d like to have nightly XULRunner 1.9.2 builds available too. In order to help anyone that really wants to start building against XULRunner 1.9.1, I made some unofficial runtime and SDK builds.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows &lt;a href=&#34;http://people.mozilla.com/~mfinkle/xulrunner/xulrunner-1.9.1b3pre.en-US.win32.zip&#34;&gt;runtime&lt;/a&gt; and &lt;a href=&#34;http://people.mozilla.com/~mfinkle/xulrunner/xulrunner-1.9.1b3pre.en-US.win32.sdk.zip&#34;&gt;SDK&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Linux &lt;a href=&#34;http://people.mozilla.com/~mfinkle/xulrunner/xulrunner-1.9.1b3pre.en-US.linux-i686.tar.bz2&#34;&gt;runtime&lt;/a&gt; and &lt;a href=&#34;http://people.mozilla.com/~mfinkle/xulrunner/xulrunner-1.9.1b3pre.en-US.linux-i686.sdk.tar.bz2&#34;&gt;SDK&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Mac (Intel) &lt;a href=&#34;http://people.mozilla.com/~mfinkle/xulrunner/xulrunner-1.9.1b3pre.en-US.mac-i386.sdk.tar.bz2&#34;&gt;SDK&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;These are unofficial (I&amp;rsquo;ve mentioned that three times) and may not be configured &lt;strong&gt;exactly&lt;/strong&gt; the same as official builds. I was not able to get the Mac Universal build working. I was not able to package a Mac runtime. Macs hate me.&lt;/p&gt;</description>
    </item>
    <item>
      <title>7 Things</title>
      <link>https://starkravingfinkle.org/posts/2009/01/7-things/</link>
      <pubDate>Mon, 12 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/01/7-things/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://whacked.net/2009/01/06/7-things-you-may-or-may-not-know-about-me/&#34;&gt;Steven Lau&lt;/a&gt; tagged me with the 7 things meme. He feels I don&amp;rsquo;t blog about myself enough and that is probably true. But then, who in their right mind wants to know about me? &lt;a href=&#34;http://benjamin.smedbergs.us/blog/2009-01-12/seven-things-you-may-not-know-about-me/&#34;&gt;Benjamin&lt;/a&gt; thinks it&amp;rsquo;s important for people to know I&amp;rsquo;m not so one dimensional :)&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-rules&#34;&gt;The Rules&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Link to your original tagger(s) and list these rules in your post.&lt;/li&gt;&#xA;&lt;li&gt;Share seven facts about yourself in the post.&lt;/li&gt;&#xA;&lt;li&gt;Tag seven people at the end of your post by leaving their names and the links to their blogs.&lt;/li&gt;&#xA;&lt;li&gt;Let them know they’ve been tagged.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;the-things&#34;&gt;The Things&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;I wanted to build spaceships when I grew up. I have Aerospace and Mechanical Engineering degrees to prove it. But alas, the Wall came down and defense contracts dried up. So I started looking for work using my hobby skills.&lt;/li&gt;&#xA;&lt;li&gt;I worked at &lt;a href=&#34;http://en.wikipedia.org/wiki/Enron&#34;&gt;Enron&lt;/a&gt;. Yes, that &lt;a href=&#34;http://en.wikipedia.org/wiki/Enron_scandal&#34;&gt;Enron&lt;/a&gt;. It was an amazing journey through Corporate America and I wouldn&amp;rsquo;t trade those experiences for anything. Of course, I knew they were selling lies and my 401k was safe. The stories I could tell&amp;hellip;&lt;/li&gt;&#xA;&lt;li&gt;I worked on a project that used MSHTML (embedded IE) very heavily. We did some amazing things using MSHTML. Much of this blog (pre-2007) was about the subject.&lt;/li&gt;&#xA;&lt;li&gt;I married my wife in Las Vegas at the &lt;a href=&#34;http://www.littlechurchlv.com/&#34;&gt;Little Church of the West&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;I always wanted to learn to play guitar. Now I have RockBand&lt;/li&gt;&#xA;&lt;li&gt;I am jealous of people who are multi-lingual.&lt;/li&gt;&#xA;&lt;li&gt;I never ate many fruits or vegetables, but I now find myself forced to set a good example for my two daughters.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;tags&#34;&gt;Tags&lt;/h2&gt;&#xA;&lt;p&gt;Here I will break the rules. I was only doing this for the extra dimensions. I finally get to use the &amp;ldquo;Personal&amp;rdquo; tag!&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9.0.5</title>
      <link>https://starkravingfinkle.org/posts/2009/01/xulrunner-1905/</link>
      <pubDate>Tue, 06 Jan 2009 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2009/01/xulrunner-1905/</guid>
      <description>&lt;p&gt;The newest official &lt;a href=&#34;https://developer.mozilla.org/en/XULRunner&#34;&gt;XULRunner&lt;/a&gt; has been released. &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner_1.9_Release_Notes&#34;&gt;XULRunner 1.9.0.5&lt;/a&gt; matches the &lt;a href=&#34;http://www.mozilla.com/en-US/firefox/3.0.5/releasenotes/&#34;&gt;Firefox 3.0.5&lt;/a&gt; release. For XULRunner developers, most of the changes in 1.9.0.5 are related to &lt;a href=&#34;http://www.mozilla.org/security/known-vulnerabilities/firefox30.html#firefox3.0.5&#34;&gt;security fixes&lt;/a&gt;. You can also look at the &lt;a href=&#34;https://bugzilla.mozilla.org/buglist.cgi?keywords_type=anywords&amp;amp;keywords=fixed1.9.0.5+verified1.9.0.5&#34;&gt;full list of fixed bugs&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.5/runtimes&#34;&gt;Runtimes&lt;/a&gt; &lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.5/sdk&#34;&gt;SDKs&lt;/a&gt; &lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.5/source&#34;&gt;Source tarball&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Want to get started building XULRunner applications? We have an &lt;a href=&#34;https://developer.mozilla.org/en/Getting_started_with_XULRunner&#34;&gt;article&lt;/a&gt; for that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec Alpha2 - Performance</title>
      <link>https://starkravingfinkle.org/posts/2008/12/fennec-alpha2-performance/</link>
      <pubDate>Tue, 23 Dec 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/12/fennec-alpha2-performance/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt; &lt;a href=&#34;http://blog.pavlov.net/2008/12/22/fennec-alpha-2/&#34;&gt;Alpha 2&lt;/a&gt; is now available for &lt;a href=&#34;http://www.mozilla.org/projects/fennec/1.0a2/releasenotes&#34;&gt;download&lt;/a&gt;! Desktop versions are available too (&lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/fennec-1.0a2.en-US.win32.zip&#34;&gt;Windows&lt;/a&gt;, &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/fennec-1.0a2.en-US.mac.dmg&#34;&gt;OS X&lt;/a&gt;, &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/fennec-1.0a2.en-US.linux-i686.tar.bz2&#34;&gt;Linux&lt;/a&gt;). While we added some good features in this alpha, the primary focus was performance. Faster startup. Faster page loading. Faster panning and UI interactions.&lt;/p&gt;&#xA;&lt;p&gt;Faster, faster, faster!&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://madhava.com/egotism/&#34;&gt;Madhava&lt;/a&gt; made a nice &lt;a href=&#34;http://www.vimeo.com/2577978&#34;&gt;video&lt;/a&gt; showing off Alpha 2. Even from the video, anyone who tried Alpha 1 can see that Alpha 2 is noticeably faster.&lt;/p&gt;&#xA;&lt;p&gt;I thought I&amp;rsquo;d focus a bit on what we did to squeeze more speed out of Fennec, and the Mozilla platform in general. First, a big shout out to &lt;a href=&#34;http://blog.mozilla.com/tglek/&#34;&gt;Taras Glek&lt;/a&gt; for finding slow spots and &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=459117&#34;&gt;filing bugs&lt;/a&gt; to get them fixed. Taras worked tirelessly to find as many problem areas as he could.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add-on-Con, Open Houses and Mobile</title>
      <link>https://starkravingfinkle.org/posts/2008/12/add-on-con-open-houses-and-mobile/</link>
      <pubDate>Tue, 02 Dec 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/12/add-on-con-open-houses-and-mobile/</guid>
      <description>&lt;p&gt;Next week I&amp;rsquo;ll be in Mountain View, CA. Mozilla Mobile is having a face-to-face work week, gearing up for &lt;a href=&#34;http://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt; Alpha 2. As a remote employee, I enjoy getting together with the rest of the team.&lt;/p&gt;&#xA;&lt;p&gt;You&amp;rsquo;ll also find me at &lt;a href=&#34;http://www.add-on-con.com/&#34;&gt;Add-on-Con&lt;/a&gt; on Dec 11th presenting a session on &lt;a href=&#34;http://www.add-on-con.com/technical.html&#34;&gt;Add-ons and Mashups&lt;/a&gt;. I&amp;rsquo;ll show some existing add-ons, walk through some code, and generally discuss the advantages of using add-ons to create mashups.&lt;/p&gt;&#xA;&lt;p&gt;Mozilla is having a small informal &lt;a href=&#34;https://wiki.mozilla.org/Add-on_con#Mozilla_Open_House&#34;&gt;Open House&lt;/a&gt; the previous night (Dec 10th) at the &lt;a href=&#34;http://www.mozilla.com/en-US/about/contact.html&#34;&gt;Mozilla Offices&lt;/a&gt;. Be sure to stop by and get your fill of information on Firefox 3.1 &amp;amp; Add-ons.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adblock Plus comes to Prism</title>
      <link>https://starkravingfinkle.org/posts/2008/11/adblock-plus-comes-to-prism/</link>
      <pubDate>Sat, 22 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/11/adblock-plus-comes-to-prism/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://adblockplus.org/blog/&#34;&gt;Wladimir Palant&lt;/a&gt; announced yesterday that Adblock Plus 1.0rc1 will ship with &lt;a href=&#34;http://adblockplus.org/development-builds/added-support-for-prism-09&#34;&gt;support for Prism 0.9&lt;/a&gt;! Pretty cool stuff. Many &lt;a href=&#34;https://developer.mozilla.org/en/Prism&#34;&gt;Prism&lt;/a&gt; users have asked about getting support for popular Firefox add-ons. &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/1865&#34;&gt;Adblock Plus&lt;/a&gt; has been at the top of the list. Thanks Wladimir.&lt;/p&gt;&#xA;&lt;p&gt;For those add-on developers out there wondering what changes need to be made to Adblock Plus to support Prism, here is the &lt;a href=&#34;http://hg.mozdev.org/adblockplus/rev/1b45d99bf5a6&#34;&gt;patch&lt;/a&gt;. Wladimir does a great job keeping the code clean. He also worked around a bug in Prism 0.9 that has been fixed on our trunk.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adding Mochitests to a XULRunner Application</title>
      <link>https://starkravingfinkle.org/posts/2008/11/adding-mochitests-to-a-xulrunner-application/</link>
      <pubDate>Fri, 21 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/11/adding-mochitests-to-a-xulrunner-application/</guid>
      <description>&lt;p&gt;Last weekend I decide to add some &lt;a href=&#34;https://developer.mozilla.org/en/Mochitest&#34;&gt;Mochitest&lt;/a&gt; unit testing to &lt;a href=&#34;https://developer.mozilla.org/en/XUL_Explorer&#34;&gt;XUL Explorer&lt;/a&gt;, one of my XULRunner based applications. Luckily, this is something &lt;a href=&#34;http://www.oxymoronical.com&#34;&gt;Dave Townsend&lt;/a&gt; already did with a different XULRunner application, &lt;a href=&#34;https://developer.mozilla.org/En/McCoy&#34;&gt;McCoy&lt;/a&gt;. It was pretty easy to use Dave&amp;rsquo;s McCoy &lt;a href=&#34;https://bugzilla.mozilla.org/attachment.cgi?id=319953&amp;amp;action=edit&#34;&gt;patch&lt;/a&gt; as a basis for getting things working in XUL Explorer. I used XULRunner 1.9.0.4 for building XUL Explorer and, amazingly, my unit tests ran on the first try! Here&amp;rsquo;s the &lt;a href=&#34;http://viewvc.svn.mozilla.org/vc?view=rev&amp;amp;revision=20121&#34;&gt;changeset&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Next, I started working on adding the same support to &lt;a href=&#34;http://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt;. I hit a snag because of changes in Mozilla 1.9.1 to support new types of testing. I made a &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=465823&#34;&gt;patch&lt;/a&gt; (reviewed and waiting to land) that makes things work again. We are hoping that some of the tweaks needed by Dave&amp;rsquo;s patch can be rolled into the mainline Mochitests system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla Developer and User Groups</title>
      <link>https://starkravingfinkle.org/posts/2008/11/mozilla-developer-and-user-groups/</link>
      <pubDate>Fri, 21 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/11/mozilla-developer-and-user-groups/</guid>
      <description>&lt;p&gt;I started working at Mozilla Corporation as a platform evangelist and was able to get up to speed fairly quickly, in a large part because of help from various community members. In my evangelism role, I really enjoyed getting to travel around and talk about Mozilla technology to anybody who wanted to listen. The &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays&#34;&gt;Developer Day&lt;/a&gt; meet-ups were especially fun. I&amp;rsquo;m on the Mozilla Mobile team now, but still like to do evangelism work when I can.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9.0.4</title>
      <link>https://starkravingfinkle.org/posts/2008/11/xulrunner-1904/</link>
      <pubDate>Mon, 17 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/11/xulrunner-1904/</guid>
      <description>&lt;p&gt;The newest official &lt;a href=&#34;https://developer.mozilla.org/en/XULRunner&#34;&gt;XULRunner&lt;/a&gt; has been released. &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner_1.9_Release_Notes&#34;&gt;XULRunner 1.9.0.4&lt;/a&gt; matches the &lt;a href=&#34;http://www.mozilla.com/en-US/firefox/3.0.4/releasenotes/&#34;&gt;Firefox 3.0.4&lt;/a&gt; release. For XULRunner developers, most of the changes in 1.9.0.4 are related to &lt;a href=&#34;http://www.mozilla.org/security/known-vulnerabilities/firefox30.html#firefox3.0.4&#34;&gt;security fixes&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.4/runtimes&#34;&gt;Runtimes&lt;/a&gt; &lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.4/sdk&#34;&gt;SDKs&lt;/a&gt; &lt;a href=&#34;ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.4/source&#34;&gt;Source tarball&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;For those interested in the mobile versions of XULRunner, nightly builds of XULRunner for Maemo can be found &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mobile-browser-linux-arm/&#34;&gt;here&lt;/a&gt;. The &lt;a href=&#34;http://tinderbox.mozilla.org/showbuilds.cgi?tree=Mobile&#34;&gt;mobile tinderbox&lt;/a&gt; is also up and running.&lt;/p&gt;&#xA;&lt;p&gt;Want to get started building XULRunner applications? We have an &lt;a href=&#34;https://developer.mozilla.org/en/Getting_started_with_XULRunner&#34;&gt;article&lt;/a&gt; for that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner at MozCamp 2008</title>
      <link>https://starkravingfinkle.org/posts/2008/11/xulrunner-at-mozcamp-2008/</link>
      <pubDate>Sat, 01 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/11/xulrunner-at-mozcamp-2008/</guid>
      <description>&lt;p&gt;I decided to take a detour in my &lt;a href=&#34;https://wiki.mozilla.org/EU_MozCamp_2008/Programme/XULRunner&#34;&gt;XULRunner session&lt;/a&gt; at &lt;a href=&#34;https://wiki.mozilla.org/EU_MozCamp_2008&#34;&gt;MozCamp&lt;/a&gt;. I have done several XULRunner talks over the last few years. I usually focus on the functionality built into the platform and discuss the benefits of using Mozilla technologies to develop applications.&lt;/p&gt;&#xA;&lt;p&gt;This crowd was very Mozilla savvy and many had at least experimented with building XULRunner applications. So, instead of my normal slide deck, I went with a &amp;ldquo;walk-through&amp;rdquo; of using the Mozilla build system to &lt;a href=&#34;https://developer.mozilla.org/en/Creating_XULRunner_Apps_with_the_Mozilla_Build_System&#34;&gt;create a XULRunner application&lt;/a&gt;. I did the same with setting up an &lt;a href=&#34;https://developer.mozilla.org/En/XULRunner/Application_Update&#34;&gt;auto-updating XULRunner application&lt;/a&gt;. I think the Mozilla build system is something any XULRunner developer should learn and setting up auto-updating always seems to frustrate developers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Here Come The Add-ons</title>
      <link>https://starkravingfinkle.org/posts/2008/10/fennec-here-come-the-add-ons/</link>
      <pubDate>Fri, 31 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/10/fennec-here-come-the-add-ons/</guid>
      <description>&lt;p&gt;Okay, so it&amp;rsquo;s only two add-ons, but it&amp;rsquo;s a start. First, &lt;a href=&#34;http://www.mrtech.com/extensions/local_install/&#34;&gt;MR Tech&amp;rsquo;s Local Install&lt;/a&gt; from Mel Reyes was updated with support for Fennec. Then, &lt;a href=&#34;http://www.chrisfinke.com/2008/10/29/url-fixer-now-compatible-with-fennec-mobile-firefox/&#34;&gt;URL Fixer&lt;/a&gt; from Chris Finke got support for Fennec.&lt;/p&gt;&#xA;&lt;p&gt;A big thanks to Mel and Chris for taking the time to support &lt;a href=&#34;http://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt;, even in it&amp;rsquo;s &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/10/fennec-m9-user-experience-alpha&#34;&gt;alpha&lt;/a&gt; condition.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Here Comes AMO</title>
      <link>https://starkravingfinkle.org/posts/2008/10/fennec-here-comes-amo/</link>
      <pubDate>Fri, 31 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/10/fennec-here-comes-amo/</guid>
      <description>&lt;p&gt;Last night, support for &lt;a href=&#34;http://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt; on &lt;a href=&#34;http://addons.mozilla.org&#34;&gt;AMO&lt;/a&gt; was pushed live. A big thank you to Mike Morgan and crew for making this happen. There are no recommended Fennec add-ons yet, so you need to search for them. Here are some results, based on the &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/10/fennec-here-come-the-add-ons/&#34;&gt;two add-ons&lt;/a&gt; I know support Fennec and are on AMO:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/localinstall-fennec-sm.png&#34; alt=&#34;&#34; title=&#34;localinstall&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/urlfixer-fennec-sm.png&#34; alt=&#34;&#34; title=&#34;urlfixer&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Extending this mobile browser is now fully operational!&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL, Meet HTML - It&#39;s All Good</title>
      <link>https://starkravingfinkle.org/posts/2008/10/xul-meet-html-its-all-good/</link>
      <pubDate>Fri, 31 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/10/xul-meet-html-its-all-good/</guid>
      <description>&lt;p&gt;One of the opportunities I had at &lt;a href=&#34;https://wiki.mozilla.org/EU_MozCamp_2008&#34;&gt;MozCamp&lt;/a&gt; was to get caught up on the stuff happening in Thunderbird &amp;amp; Calendar. They have a goldmine of great data, functionality and UX possibilities. During some of the sessions and a small ad-hoc discussion, the use of HTML in &lt;a href=&#34;https://developer.mozilla.org/en/XUL&#34;&gt;XUL&lt;/a&gt; to create compelling, interesting and useful user interfaces came up. &lt;a href=&#34;https://wiki.mozilla.org/Thunderbird:Thunderbird3&#34;&gt;Thunderbird 3&lt;/a&gt; will be using HTML to enhance to appearance and functionality of message display. &lt;a href=&#34;https://wiki.mozilla.org/Calendar:Home_Page&#34;&gt;Calendar&lt;/a&gt; might be using HTML to do the same for displaying tasks, IIRC. The examples I saw looked great.&lt;/p&gt;</description>
    </item>
    <item>
      <title>EU MozCamp 2008 &amp; Me</title>
      <link>https://starkravingfinkle.org/posts/2008/10/eu-mozcamp-2008-me/</link>
      <pubDate>Wed, 22 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/10/eu-mozcamp-2008-me/</guid>
      <description>&lt;p&gt;I am headed to Barcelona to take part in Mozilla Europe&amp;rsquo;s &lt;a href=&#34;https://wiki.mozilla.org/EU_MozCamp_2008&#34;&gt;MozCamp 2008&lt;/a&gt; conference. I&amp;rsquo;ll be presenting sessions on &lt;a href=&#34;https://wiki.mozilla.org/EU_MozCamp_2008/Programme/XULRunner&#34;&gt;XULRunner&lt;/a&gt;, &lt;a href=&#34;https://wiki.mozilla.org/EU_MozCamp_2008/Programme/Fennec_Addons&#34;&gt;Fennec Add-ons&lt;/a&gt; &amp;amp; &lt;a href=&#34;https://wiki.mozilla.org/EU_MozCamp_2008/Programme/Embedding_Gecko&#34;&gt;Embedding Gecko&lt;/a&gt;. If you&amp;rsquo;re interested in any of these sessions and have topics you&amp;rsquo;d like to see covered, let me know. Commenting here or adding items to the wiki pages are goods ways to do that.&lt;/p&gt;&#xA;&lt;p&gt;I also plan to hang around the &lt;a href=&#34;https://wiki.mozilla.org/EU_MozCamp_2008/Programme/Prism&#34;&gt;Prism&lt;/a&gt; session, presented by &lt;a href=&#34;http://browsing.justdiscourse.com&#34;&gt;Matt Gertner&lt;/a&gt;. Prism has some cool features brewing. I hope we get a new release (with samples) out soon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - Size Does Matter</title>
      <link>https://starkravingfinkle.org/posts/2008/10/fennec-size-does-matter/</link>
      <pubDate>Wed, 22 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/10/fennec-size-does-matter/</guid>
      <description>&lt;p&gt;Some of the feedback we received from &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/10/fennec-m9-user-experience-alpha/&#34;&gt;Fennec Alpha 1&lt;/a&gt; (and we have received a lot, thank you!) has been about the download and &amp;ldquo;on disk&amp;rdquo; size. Fennec is based on &lt;a href=&#34;https://developer.mozilla.org/en/XULRunner&#34;&gt;XULRunner&lt;/a&gt;, Mozilla&amp;rsquo;s runtime platform. Therefore, when you install Fennec, you&amp;rsquo;re installing the XULRunner dependency too. Fennec is ~ 1MB in footprint size, while XULRunner is ~ 25MB.&lt;/p&gt;&#xA;&lt;p&gt;Yes, Fennec&amp;rsquo;s overall size is a bit big for a mobile browser. But it is a full blown browser, with all the web support of a desktop browser. It also supports the same add-on system as desktop Mozilla applications, like Firefox, Thunderbird and Songbird.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec Alpha1 &amp; Add-ons</title>
      <link>https://starkravingfinkle.org/posts/2008/10/fennec-alpha1-add-ons/</link>
      <pubDate>Mon, 20 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/10/fennec-alpha1-add-ons/</guid>
      <description>&lt;p&gt;One of the reasons we released &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/10/fennec-m9-user-experience-alpha/&#34;&gt;Fennec A1&lt;/a&gt; with desktop versions was to allow add-on developers to start hacking on Fennec add-ons. As long as the add-on contains no binary compiled code, it should run on any platform - including mobile devices. Developers can build and debug Fennec add-ons using the desktop builds, without needing an actual device.&lt;/p&gt;&#xA;&lt;p&gt;As I previously &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/09/extensions-for-fennec/&#34;&gt;posted&lt;/a&gt;, making a Fennec add-on is no different than making an add-on for any Mozilla-based application, such as Firefox, Thunderbird or Songbird. Fennec is a different application - add-ons for Firefox will not &lt;strong&gt;Just Work&lt;/strong&gt; in Fennec. I started &lt;a href=&#34;https://wiki.mozilla.org/Mobile/Fennec/Extensions&#34;&gt;documenting&lt;/a&gt; the process of building Fennec add-ons. I plan to add some use cases there too.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla Embedding API - Status</title>
      <link>https://starkravingfinkle.org/posts/2008/10/mozilla-embedding-api-status/</link>
      <pubDate>Mon, 20 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/10/mozilla-embedding-api-status/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;https://wiki.mozilla.org/Embedding/NewApi&#34;&gt;Mozilla Embedding project&lt;/a&gt; has been adding small chunks to the new API. The &lt;a href=&#34;http://hg.mozilla.org/incubator/embedding/&#34;&gt;code&lt;/a&gt; is now hosted in an &lt;a href=&#34;http://blog.pavlov.net/2008/06/05/new-contributors-big-patches-hg/&#34;&gt;incubator&lt;/a&gt; repository, with plans of moving code to the main Mozilla tree when it&amp;rsquo;s ready. Some of the new additions and things we&amp;rsquo;re working on include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Easy access to the underlying XPCOM interfaces&lt;/li&gt;&#xA;&lt;li&gt;Basic navigation support&lt;/li&gt;&#xA;&lt;li&gt;Executing JavaScript in the web page context&lt;/li&gt;&#xA;&lt;li&gt;New GTK+ widget for Windows (contributed by Tristan Van Berkom)&lt;/li&gt;&#xA;&lt;li&gt;Render web page to image (coming soon)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Pelle added the beginnings of a &amp;ldquo;Code Snippets&amp;rdquo; section to the Wiki. We plan on expanding that soon. The first &lt;a href=&#34;https://wiki.mozilla.org/Embedding/NewApi/XpcomAccess&#34;&gt;snippets&lt;/a&gt; show how to access the DOM of the web page from the embedding host application.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Explorer - Updated!</title>
      <link>https://starkravingfinkle.org/posts/2008/10/xul-explorer-updated/</link>
      <pubDate>Mon, 20 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/10/xul-explorer-updated/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://developer.mozilla.org/en/XUL_Explorer&#34;&gt;XUL Explorer&lt;/a&gt; is a small tool I started a while ago to allow me to quickly create and preview short snippets of XUL. At the same time, I used the process of building XUL Explorer as a use case to help me discover and learn various parts of the Mozilla platform. With the help of some great contributors, it&amp;rsquo;s been extended beyond simply previewing XUL.&lt;/p&gt;&#xA;&lt;p&gt;As a tool, XUL Explorer has been serving me well, but I have been wanting to refine it as an application. As I continue to discover how to use the Mozilla platform to it&amp;rsquo;s fullest, I want to push those concepts back into XUL Explorer. Therefore, I give you XUL Explorer 1.0a1pre, with the following changes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - M9 (User Experience Alpha)</title>
      <link>https://starkravingfinkle.org/posts/2008/10/fennec-m9-user-experience-alpha/</link>
      <pubDate>Fri, 17 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/10/fennec-m9-user-experience-alpha/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt; (Mobile Firefox) has reached &lt;a href=&#34;http://www.mozilla.org/projects/fennec/1.0a1/releasenotes/&#34;&gt;milestone 9&lt;/a&gt;, which is also our first alpha! We&amp;rsquo;re calling this release the &lt;strong&gt;User Experience&lt;/strong&gt; alpha. The last eight milestones were building up to getting a stable browser with an easy to use interface. We really want to get Fennec in front of as many people as possible and get feedback.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/splash.png&#34; alt=&#34;&#34; title=&#34;splash&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;As with the previous milestones, M9 is targeted at the Nokia N800/N810 (Maemo) Internet tablet. Yes, we have &lt;a href=&#34;http://dougt.wordpress.com/2008/10/10/fennec-on-windows-mobile-a-start/&#34;&gt;made&lt;/a&gt; &lt;a href=&#34;http://blog.mozilla.com/blassey/2008/10/11/windows-mobile-update-2/&#34;&gt;great&lt;/a&gt; &lt;a href=&#34;http://blog.mozilla.com/blassey/2008/10/11/windows-mobile-update-3-fonts/&#34;&gt;progress&lt;/a&gt; on Windows Mobile, but no milestone releases yet. However, in addition to the native Maemo release, we are also releasing desktop versions of Fennec. That&amp;rsquo;s right, you can install Fennec on your &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/fennec-1.0a1.en-US.win32.zip&#34;&gt;Windows&lt;/a&gt;, &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/fennec-1.0a1.en-US.mac.dmg&#34;&gt;OS X&lt;/a&gt; or &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/mobile/fennec-1.0a1.en-US.linux-i686.tar.bz2&#34;&gt;Linux&lt;/a&gt; desktop too! We want you to be able to experiment, provide feedback, write add-ons and generally get involved with the Mozilla Mobile project, even if you don&amp;rsquo;t have a device.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9.0.3</title>
      <link>https://starkravingfinkle.org/posts/2008/10/xulrunner-1903/</link>
      <pubDate>Thu, 02 Oct 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/10/xulrunner-1903/</guid>
      <description>&lt;p&gt;The newest official XULRunner has been released. &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner_1.9_Release_Notes&#34;&gt;XULRunner 1.9.0.3&lt;/a&gt; matches the &lt;a href=&#34;http://www.mozilla.com/en-US/firefox/3.0.3/releasenotes/&#34;&gt;Firefox 3.0.3&lt;/a&gt; release. Firefox 3.0.2 was out for a very short time, so we skipped it for XULRunner.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.3/runtime&#34;&gt;Runtimes&lt;/a&gt; &lt;a href=&#34;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.3/sdk/&#34;&gt;SDKs&lt;/a&gt; &lt;a href=&#34;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.3/source/&#34;&gt;Source tarball&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Nightly Maemo builds of XULRunner are in the final stages. A tinderbox page and FTP folder are in progress. Windows Mobile builds of XULRunner have progressed to the point where it can be built directly from the main Mozilla source tree. However, there&amp;rsquo;s a bit more work needed before we can start creating nightly builds.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - M8</title>
      <link>https://starkravingfinkle.org/posts/2008/09/fennec-m8/</link>
      <pubDate>Thu, 25 Sep 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/09/fennec-m8/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt; (Mobile Firefox) has reached &lt;a href=&#34;http://wiki.mozilla.org/Mobile/Fennec/Releases/M8&#34;&gt;milestone 8&lt;/a&gt; (M8). You can install it on a Nokia N8x0 and take it for a spin. One of the big improvements during this milestone was the addition of several Mozilla QA team members. Fennec is being tested pretty hard now, and by people who love to find bugs. We are finding and fixing lots of issues now. Probably the biggest visible change in M8 is the new theme. It&amp;rsquo;s not entirely landed yet and will likely get some tweaks as we iterate on the design.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extensions for Fennec</title>
      <link>https://starkravingfinkle.org/posts/2008/09/extensions-for-fennec/</link>
      <pubDate>Wed, 03 Sep 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/09/extensions-for-fennec/</guid>
      <description>&lt;p&gt;As I mentioned in the &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/08/fennec-m7/&#34;&gt;Fennec M7 release notes&lt;/a&gt;, the Add-ons Manager has been hooked up. Therefore, I decided to post some example add-ons for &lt;a href=&#34;http://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt;. Fennec is a XULRunner application and gives extension developers access to the same underlying XPCOM system that is used in Firefox. The process of &lt;a href=&#34;http://developer.mozilla.org/en/Building_an_Extension&#34;&gt;building extensions&lt;/a&gt; is the same as for any other Mozilla based application.&lt;/p&gt;&#xA;&lt;p&gt;However, there are some things a potential extension developer should know. Fennec is &lt;strong&gt;not&lt;/strong&gt; Firefox. It is a completely different application. Fennec&amp;rsquo;s UI is also very different than Firefox. This means that you can&amp;rsquo;t just plop a Firefox (or Thunderbird or Songbird) extension into Fennec and expect anything to work. There are some basic things an extension developer will need to handle when making or porting extensions to Fennec:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - M7</title>
      <link>https://starkravingfinkle.org/posts/2008/08/fennec-m7/</link>
      <pubDate>Wed, 27 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/08/fennec-m7/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt; (Mobile Firefox) has reached &lt;a href=&#34;http://people.mozilla.com/~csejersen/fennec/req.html&#34;&gt;milestone 7&lt;/a&gt; (M7) and can be installed to a Nokia N8x0 for testing. We got some good feedback (and bug reports) from M6, so there are more than a few bug fixes in M7. Other additions include better add-on support, initial kinetic scrolling, modeless password manager, and some zooming tweaks.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/addons-n810.png&#34; alt=&#34;&#34; title=&#34;addons-n810&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;There are a few people looking at ways to get better performance out of the Mozilla stack on ARM (and Maemo). We have some patches coming together, so look for some speedups in the next milestone. Also in the next milestone, look for more UI (designs &lt;a href=&#34;https://wiki.mozilla.org/Mobile/UI/Designs/TouchScreen/workingUI/add-ons_concepts&#34;&gt;here&lt;/a&gt; and &lt;a href=&#34;https://wiki.mozilla.org/Mobile/UI/Designs/TouchScreen/workingUI/downloads_concepts&#34;&gt;here&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Toronto MozCamp - Workshops</title>
      <link>https://starkravingfinkle.org/posts/2008/08/toronto-mozcamp-workshops/</link>
      <pubDate>Tue, 19 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/08/toronto-mozcamp-workshops/</guid>
      <description>&lt;p&gt;Planning for the &lt;a href=&#34;https://wiki.mozilla.org/DeveloperDays/TorontoSept2008&#34;&gt;Toronto MozCamp&lt;/a&gt; continues. We decided to use the &lt;a href=&#34;https://wiki.mozilla.org/DeveloperDays/TorontoSept2008/Schedule&#34;&gt;second day&lt;/a&gt; as a &amp;ldquo;Hands-on Workshop&amp;rdquo; day. The workshop will be split between &lt;strong&gt;development&lt;/strong&gt; and &lt;strong&gt;testing&lt;/strong&gt; tracks, choose the topic that interests you.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ll be working in the &lt;strong&gt;development&lt;/strong&gt; workshop with other Mozilla developers, helping you work on tutorials or projects. We&amp;rsquo;ll have some tutorial XUL applications, extensions, and XPCOM components for people to hack on. Make sure you bring a laptop, if you want to work on the projects. If you want to build Firefox, XULRunner or binary XPCOM components - make sure your laptop is capable of &lt;a href=&#34;http://developer.mozilla.org/en/docs/Build_Documentation&#34;&gt;building Mozilla&lt;/a&gt;. (check the prerequisites!)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Toronto MozCamp</title>
      <link>https://starkravingfinkle.org/posts/2008/08/toronto-mozcamp/</link>
      <pubDate>Sat, 09 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/08/toronto-mozcamp/</guid>
      <description>&lt;p&gt;We are planning a developer event in &lt;a href=&#34;https://wiki.mozilla.org/DeveloperDays/TorontoSept2008&#34;&gt;Toronto&lt;/a&gt; for mid September. It will be a bit more formal than our previous Developer Days. It&amp;rsquo;s really more of a MozCamp than a Developer Day, but whatever. The plan is to create a &lt;a href=&#34;https://wiki.mozilla.org/DeveloperDays/TorontoSept2008/Schedule&#34;&gt;schedule&lt;/a&gt; full of sessions covering Mozilla technology.&lt;/p&gt;&#xA;&lt;p&gt;If you have never used Mozilla technology or just want to learn more about the different parts of the platform, this event is for you. Some of the things you can expect to be covered:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fennec - M6</title>
      <link>https://starkravingfinkle.org/posts/2008/08/fennec-m6/</link>
      <pubDate>Fri, 08 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/08/fennec-m6/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt; (Mobile Firefox) has reached &lt;a href=&#34;http://people.mozilla.com/~csejersen/fennec/req.html&#34;&gt;milestone 6&lt;/a&gt; (M6) last week and can be installed to a Nokia N8x0 for testing. Remember, we haven&amp;rsquo;t reach alpha yet, but we are getting close. M6 adds &amp;ldquo;tabs&amp;rdquo; to the browser UI, adds tel: and mailto: support and makes some much needed stability improvements.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/fennec-tabs.png&#34; alt=&#34;&#34; title=&#34;fennec-tabs&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;We are adding more UI for M7 (August 19th) and are doing additional performance and stability work. Feel free to give Fennec M6 a try and please file bugs. Use &lt;a href=&#34;http://bugzilla.mozilla.org&#34;&gt;bugzilla&lt;/a&gt; and the &amp;ldquo;Fennec&amp;rdquo; product category.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9.0.1</title>
      <link>https://starkravingfinkle.org/posts/2008/08/xulrunner-1901/</link>
      <pubDate>Thu, 07 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/08/xulrunner-1901/</guid>
      <description>&lt;p&gt;The newest official XULRunner has been released. &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner_1.9_Release_Notes&#34;&gt;XULRunner 1.9.0.1&lt;/a&gt; matches the &lt;a href=&#34;http://www.mozilla.com/en-US/firefox/3.0.1/releasenotes/&#34;&gt;Firefox 3.0.1&lt;/a&gt; release.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.1/runtime&#34;&gt;Runtimes&lt;/a&gt; &lt;a href=&#34;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.1/sdk/&#34;&gt;SDKs&lt;/a&gt; &lt;a href=&#34;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.1/source/&#34;&gt;Source tarball&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m hoping that we can add Maemo and Windows Mobile builds to our collection soon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner Session - Summit 2008</title>
      <link>https://starkravingfinkle.org/posts/2008/08/xulrunner-session-summit-2008/</link>
      <pubDate>Thu, 07 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/08/xulrunner-session-summit-2008/</guid>
      <description>&lt;p&gt;We had a &lt;a href=&#34;http://wiki.mozilla.org/Summit2008/Sessions/Proposals/XUL_Runner&#34;&gt;XULRunner Roadmap session&lt;/a&gt; at the &lt;a href=&#34;http://wiki.mozilla.org/Summit2008&#34;&gt;Firefox Summit&lt;/a&gt; this year. Since the summit was limited to mainly Firefox community, I didn&amp;rsquo;t know how well a XULRunner session would be attended. However, the room was pretty full and we had a fair amount of XULRunner and Gecko embedding people in attendance.&lt;/p&gt;&#xA;&lt;p&gt;I wanted to talk about what had been happening with XULRunner recently and what new things we could do in the short-term future (&lt;a href=&#34;http://starkravingfinkle.org/presentations/finkle-xulrunner-summit2008.htm&#34;&gt;slides here&lt;/a&gt;). After a rocky start (XULRunner can be a touchy subject - let&amp;rsquo;s leave it at that), I think we ended up with some good action items:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Summit 2008 Wrap-up</title>
      <link>https://starkravingfinkle.org/posts/2008/08/summit-2008-wrap-up/</link>
      <pubDate>Mon, 04 Aug 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/08/summit-2008-wrap-up/</guid>
      <description>&lt;p&gt;What a &lt;a href=&#34;http://wiki.mozilla.org/Summit2008&#34;&gt;summit&lt;/a&gt;! Danger, drama and lots of Mozillians. The summit was really a full blown conference. I heard there were around 400 attendees. There were 3 days packed with &lt;a href=&#34;http://wiki.mozilla.org/Summit2008/Sessions/Schedule&#34;&gt;sessions and breakouts&lt;/a&gt;. I had a blast talking to people I usually only ever interact with on IRC.&lt;/p&gt;&#xA;&lt;p&gt;Surprisingly, I somehow ended up with a sizable to-do list as well:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Work with &lt;a href=&#34;http://www.mozdev.org/&#34;&gt;MozDev&lt;/a&gt; group on &lt;a href=&#34;http://wiki.mozilla.org/FizzyPop&#34;&gt;FizzyPop&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Talk to a few people about an upcoming DevDay in Toronto&lt;/li&gt;&#xA;&lt;li&gt;Work with &lt;a href=&#34;http://addons.mozilla.org&#34;&gt;AMO&lt;/a&gt; on an a11y tool for AMO editors&lt;/li&gt;&#xA;&lt;li&gt;Talk to &lt;a href=&#34;http://ejohn.org/&#34;&gt;jresig&lt;/a&gt; about a possible jQuery for XUL idea&lt;/li&gt;&#xA;&lt;li&gt;Look into an &lt;a href=&#34;http://blog.lizardwrangler.com/2008/06/06/incubator-repositories-proposal/&#34;&gt;incubator Hg repository&lt;/a&gt; for XULRunner&lt;/li&gt;&#xA;&lt;li&gt;More &lt;a href=&#34;http://developer.mozilla.org/en/docs/Prism&#34;&gt;Prism&lt;/a&gt; work related to Maemo and &lt;a href=&#34;http://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I&amp;rsquo;m sure I forgot an item or two. I barely had time to sit down and write notes. There was literally always something I could have been doing. Either a session I wanted to see or some brainstorming that could be done.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Don&#39;t Fear Firefox 3.1</title>
      <link>https://starkravingfinkle.org/posts/2008/07/extension-developers-dont-fear-firefox-31/</link>
      <pubDate>Fri, 11 Jul 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/07/extension-developers-dont-fear-firefox-31/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/Firefox_3_for_developers&#34;&gt;Firefox 3&lt;/a&gt; had some &lt;a href=&#34;http://developer.mozilla.org/en/docs/Updating_extensions_for_Firefox_3&#34;&gt;big changes&lt;/a&gt; (and little changes) that caused some grief for extension developers wanting to update add-ons to the newest version. There were some deep architectural changes (Places bookmarking API), numerous security changes (same-origin on file:// and restricting chrome:// from content), and large UI/Theme changes (URLbar, XP/Vista/Linux/Mac themes). Needless to say, getting lots of new greatness in Firefox 3 (XULRunner 1.9) came at a high maintenance/refactor cost to extension developers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Searching and Distributing</title>
      <link>https://starkravingfinkle.org/posts/2008/07/on-searching-and-distributing/</link>
      <pubDate>Wed, 02 Jul 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/07/on-searching-and-distributing/</guid>
      <description>&lt;h2 id=&#34;searching&#34;&gt;Searching&lt;/h2&gt;&#xA;&lt;p&gt;Adobe has been creating a buzz lately with the &lt;a href=&#34;http://googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html&#34;&gt;announcement&lt;/a&gt; that Google and Yahoo will be using a specialized Flash player to allow indexing Flash content. This is appears to be big news for the Flash world, even though Google was scraping text content previously (and this still only applies to text content). Now, search engines (or at least Google and Yahoo) will have more &lt;em&gt;context&lt;/em&gt; for the text.&lt;/p&gt;&#xA;&lt;p&gt;I am left wondering if other search engine providers will get access to the proprietary, search-enabled Adobe Flash player? Also, even though &lt;a href=&#34;http://blog.digitalbackcountry.com/?p=1470&#34;&gt;some have stated&lt;/a&gt; that this new search capability puts Flash on the same level as HTML, I wonder how linkable the Flash search hits will be? Yes, I am referring to the Flash &amp;ldquo;Bookmark Problem&amp;rdquo;. Just because Google gives me a link to some text it found in a Flash application, can I jump directly to it? Without doing any special coding?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extensions &amp; XMLHttpRequest &amp; eval - Oh My</title>
      <link>https://starkravingfinkle.org/posts/2008/06/extensions-xmlhttprequest-eval-oh-my/</link>
      <pubDate>Fri, 27 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/06/extensions-xmlhttprequest-eval-oh-my/</guid>
      <description>&lt;p&gt;Using &lt;a href=&#34;http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Functions:eval&#34;&gt;eval()&lt;/a&gt; to decode JavaScript you downloaded from a remote website in your extension is just plain wrong. It&amp;rsquo;s not safe! Don&amp;rsquo;t do it!&lt;/p&gt;&#xA;&lt;p&gt;Every now and then, an &lt;a href=&#34;http://addons.mozilla.org&#34;&gt;AMO&lt;/a&gt; reviewer will send me an email asking me to help an extension developer workaround the situation. Why? Because AMO will not allow add-ons that eva() JavaScript downloaded from a remote website to be moved out of the AMO sandbox. It&amp;rsquo;s not safe! Using eval() in an extension can give rogue JavaScript chrome privileges - the ability to do pretty much whatever it wants to the computer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mobile Update - Fennec 0.4 Released</title>
      <link>https://starkravingfinkle.org/posts/2008/06/mobile-update-fennec-04-released/</link>
      <pubDate>Fri, 27 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/06/mobile-update-fennec-04-released/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt; 0.4, the M4 milestone, wrapped up last week. There are install packages for those who want to see it running on their Nokia n800/n810 devices. We have some &lt;a href=&#34;http://wiki.mozilla.org/Mobile/Fennec/Releases&#34;&gt;installation instructions&lt;/a&gt; and &lt;a href=&#34;http://wiki.mozilla.org/Mobile/Fennec/Releases/M4&#34;&gt;release notes&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Those of you who saw &lt;a href=&#34;http://azarask.in/blog/post/firefox-mobile-concept-video/&#34;&gt;Aza&amp;rsquo;s UI demo / video&lt;/a&gt; and are eager to see that UI in action will have to wait. Milestone 4 doesn&amp;rsquo;t make any significant UI updates. We have been focusing on some of the underlying, platform work. The UI changes will come in future releases to be sure. Some new &lt;a href=&#34;http://wiki.mozilla.org/Mobile/UI/Designs/TouchScreen/workingUI&#34;&gt;UI mockups&lt;/a&gt; are available.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Tip - Wrapping Boxes</title>
      <link>https://starkravingfinkle.org/posts/2008/06/xul-tip-wrapping-boxes/</link>
      <pubDate>Sun, 22 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/06/xul-tip-wrapping-boxes/</guid>
      <description>&lt;p&gt;In HTML you can use a &lt;code&gt;DIV&lt;/code&gt; as a container and when the &lt;code&gt;DIV&lt;/code&gt; changes size, the contents will wrap or adjust the layout. This does not happen with XUL &lt;code&gt;BOX&lt;/code&gt; (or &lt;code&gt;HBOX&lt;/code&gt; and &lt;code&gt;VBOX&lt;/code&gt;) by default. However, you can easily add this capability with a style change. Make the &lt;code&gt;BOX style=&amp;quot;display: block&amp;quot;&lt;/code&gt; and the wrapping behavior will occur when the box is resized:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;  &#xA;  &#xA;  &#xA;  &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you put &lt;code&gt;IMAGE&lt;/code&gt; in the contents, you should probably add &lt;code&gt;align=&amp;quot;start&amp;quot;&lt;/code&gt; attribute to the box. This keeps the image from stretching inside the box.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla Platform, Wizards and FizzyPop</title>
      <link>https://starkravingfinkle.org/posts/2008/06/mozilla-platform-wizards-fizzypop/</link>
      <pubDate>Fri, 20 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/06/mozilla-platform-wizards-fizzypop/</guid>
      <description>&lt;p&gt;Building things with the Mozilla Platform usually involves dealing with some boilerplate. &lt;a href=&#34;http://developer.mozilla.org/en/docs/Building_an_Extension&#34;&gt;Extensions&lt;/a&gt; have install and chrome manifests and overlays. &lt;a href=&#34;http://developer.mozilla.org/en/docs/Getting_started_with_XULRunner&#34;&gt;XULRunner applications&lt;/a&gt; have application and chrome manifests and default preferences. XPCOM, even the simpler &lt;a href=&#34;http://developer.mozilla.org/en/docs/How_to_Build_an_XPCOM_Component_in_Javascript&#34;&gt;JavaScript XPCOM&lt;/a&gt;, has modules, factories and categories. It&amp;rsquo;s more than enough to slow developers down, especially new-to-Mozilla developers.&lt;/p&gt;&#xA;&lt;p&gt;That&amp;rsquo;s why I have always been thankful to &lt;a href=&#34;http://blog.mozilla.com/ted/&#34;&gt;Ted Mielczarek&lt;/a&gt; for his &lt;a href=&#34;http://ted.mielczarek.org/code/mozilla/extensionwiz/&#34;&gt;Extension Wizard&lt;/a&gt; and &lt;a href=&#34;http://ted.mielczarek.org/code/mozilla/jscomponentwiz/&#34;&gt;JS XPCOM Wizard&lt;/a&gt;. Those tools have been helpful to me and countless other Mozilla developers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Developing for Mobile Devices - The Mozilla Way</title>
      <link>https://starkravingfinkle.org/posts/2008/06/developing-for-mobile-devices-the-mozilla-way/</link>
      <pubDate>Thu, 19 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/06/developing-for-mobile-devices-the-mozilla-way/</guid>
      <description>&lt;p&gt;As you &lt;a href=&#34;http://weblogs.mozillazine.org/schrep/archives/2007/10/mozilla_and_mobile.html&#34;&gt;might&lt;/a&gt; &lt;a href=&#34;http://www.christiansejersen.com/blog/2007/11/20/mobile-goals/&#34;&gt;have&lt;/a&gt; &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/04/have-xulrunner-will-travel-its-mobile-baby/&#34;&gt;heard&lt;/a&gt;, Mozilla is working on a mobile browser (codenamed &lt;a href=&#34;http://wiki.mozilla.org/Mobile&#34;&gt;Fennec&lt;/a&gt;). If you are interested in Mozilla and mobile, I&amp;rsquo;d encourage you to start following the project. Besides the just plain awesome idea of a Firefox browser running on mobile devices, there are other reasons I like the project.&lt;/p&gt;&#xA;&lt;p&gt;Fennec is using &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt; to power the application. The same XULRunner that is already available for &lt;a href=&#34;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.0/runtimes/&#34;&gt;Windows, Mac and Linux&lt;/a&gt;. Longtime XULRunner fans should be happy to hear of a Mozilla project building directly on XULRunner. Besides the additional focus, look for improvements to the Mozilla platform related to mobile devices. Mozilla prides itself on building applications that look and feel native, so we shouldn&amp;rsquo;t be surprised to see new support and APIs for mobile devices and applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9 Final</title>
      <link>https://starkravingfinkle.org/posts/2008/06/xulrunner-19-final/</link>
      <pubDate>Thu, 19 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/06/xulrunner-19-final/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2008/06/xulrunner-19-rc3/&#34;&gt;As promised&lt;/a&gt;, &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt; 1.9 has gone gold. The final release of the &lt;a href=&#34;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.0/runtimes/&#34;&gt;runtimes&lt;/a&gt;, &lt;a href=&#34;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.0/sdk/&#34;&gt;SDKs&lt;/a&gt; and &lt;a href=&#34;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.0/source/xulrunner-1.9-source.tar.bz2&#34;&gt;source tarball&lt;/a&gt; are now available. Release notes can be found &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner_1.9_Release_Notes&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Even though I have mentioned it before, it&amp;rsquo;s worth repeating:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Another great addition for XULRunner developers - Microsoft &lt;a href=&#34;http://support.microsoft.com/kb/311503&#34;&gt;symbol&lt;/a&gt; and &lt;a href=&#34;http://msdn.microsoft.com/en-us/library/ms680641(VS.85).aspx&#34;&gt;source&lt;/a&gt; server support. Look here for information on Mozilla&amp;rsquo;s &lt;a href=&#34;http://developer.mozilla.org/en/docs/Using_the_Mozilla_symbol_server&#34;&gt;symbol&lt;/a&gt; and &lt;a href=&#34;http://developer.mozilla.org/en/docs/Using_the_Mozilla_source_server&#34;&gt;source&lt;/a&gt; server support. Just use &lt;code&gt;http://symbols.mozilla.org/xulrunner&lt;/code&gt; instead of the Firefox URL. This is a huge deal for helping developers debug problems using the non-debug releases of XULRunner runtimes and SDKs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9 RC3</title>
      <link>https://starkravingfinkle.org/posts/2008/06/xulrunner-19-rc3/</link>
      <pubDate>Fri, 13 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/06/xulrunner-19-rc3/</guid>
      <description>&lt;p&gt;Keeping in step with Firefox, there is a new &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/1.9rc3-candidates/build1/&#34;&gt;XULRunner RC3 build available&lt;/a&gt;. In addition to using the same source as Firefox 3 RC3, XULRunner RC3 also enables &lt;a href=&#34;http://blog.pavlov.net/2008/01/12/jemalloc-builds/&#34;&gt;jemalloc&lt;/a&gt; support on Windows, just like Firefox.&lt;/p&gt;&#xA;&lt;p&gt;Go take the &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt; runtimes and SDKs for a &lt;a href=&#34;http://developer.mozilla.org/en/docs/Getting_started_with_XULRunner&#34;&gt;spin&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In case you haven&amp;rsquo;t heard, &lt;a href=&#34;http://developer.mozilla.org/devnews/index.php/2008/06/11/coming-tuesday-june-17th-firefox-3/&#34;&gt;Firefox 3 is going gold on Tuesday, June 17th&lt;/a&gt;. Unless something unexpected happens, these XULRunner builds should go gold as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 3 - The Screencast</title>
      <link>https://starkravingfinkle.org/posts/2008/06/firefox-3-the-screencast/</link>
      <pubDate>Fri, 06 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/06/firefox-3-the-screencast/</guid>
      <description>&lt;p&gt;Our &lt;a href=&#34;http://beltzner.ca/mike/&#34;&gt;Mike Beltzner&lt;/a&gt; created a sweet little screencast covering some of the cool new parts of Firefox 3. Mike&amp;rsquo;s been giving this &amp;ldquo;demo&amp;rdquo; for a while now and he does a great job showing how Firefox 3 can make your browsing experience better. &lt;a href=&#34;http://people.mozilla.com/~beltzner/overview-of-firefox3.swf&#34;&gt;Check it out&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Here We Go!</title>
      <link>https://starkravingfinkle.org/posts/2008/06/here-we-go/</link>
      <pubDate>Wed, 04 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/06/here-we-go/</guid>
      <description>&lt;p&gt;Mozilla just opened the &lt;a href=&#34;http://developer.mozilla.org/devnews/index.php/2008/06/02/mozilla-central-open-for-business/&#34;&gt;new source repository&lt;/a&gt; (mozilla-central) meaning the next release features will start landing. David Baron posted about landing new &lt;a href=&#34;http://dbaron.org/log/20080603-new-selectors&#34;&gt;CSS selectors&lt;/a&gt;. Robert O&amp;rsquo;Callahan posted about some kick-ass &lt;a href=&#34;http://weblogs.mozillazine.org/roc/archives/2008/06/applying_svg_ef.html&#34;&gt;SVG-based CSS effects&lt;/a&gt; used to style HTML. This totally rocks and will help push SVG into more of a leading role on the Web.&lt;/p&gt;&#xA;&lt;p&gt;Look for more cool features, big and small, to start landing with increasing frequency. Some will help chrome developers while others are focused on web developers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9 RC2</title>
      <link>https://starkravingfinkle.org/posts/2008/06/xulrunner-19-rc2/</link>
      <pubDate>Tue, 03 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/06/xulrunner-19-rc2/</guid>
      <description>&lt;p&gt;A while ago I posted about getting &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/03/xulrunner-milestone-builds/&#34;&gt;XULRunner builds to coincide with Firefox milestones&lt;/a&gt;. &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=435460&#34;&gt;Work&lt;/a&gt; has been moving ahead on the goal. In fact, we have &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/1.9rc2-candidates/build2/&#34;&gt;XULRunner 1.9 RC2 binary runtimes and SDKs&lt;/a&gt; available for testing. If you use XULRunner, or want to use XULRunner, you should grab these builds and give them a spin. Let us know (file bugs) if you see something wrong.&lt;/p&gt;&#xA;&lt;p&gt;Another great addition for XULRunner developers - Microsoft &lt;a href=&#34;http://support.microsoft.com/kb/311503&#34;&gt;symbol&lt;/a&gt; and &lt;a href=&#34;http://msdn.microsoft.com/en-us/library/ms680641(VS.85).aspx&#34;&gt;source&lt;/a&gt; server support. Look here for information on Mozilla&amp;rsquo;s &lt;a href=&#34;http://developer.mozilla.org/en/docs/Using_the_Mozilla_symbol_server&#34;&gt;symbol&lt;/a&gt; and &lt;a href=&#34;http://developer.mozilla.org/en/docs/Using_the_Mozilla_source_server&#34;&gt;source&lt;/a&gt; server support. Just use &lt;code&gt;http://symbols.mozilla.org/xulrunner&lt;/code&gt; instead of the Firefox URL. This is a huge deal for helping developers debug problems using the non-debug releases of XULRunner runtimes and SDKs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Remote Debugging JavaScript</title>
      <link>https://starkravingfinkle.org/posts/2008/05/remote-debugging-javascript/</link>
      <pubDate>Mon, 26 May 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/05/remote-debugging-javascript/</guid>
      <description>&lt;p&gt;Shaver and I have been talking about getting a decent mechanism for remote debugging a JavaScript session. I have been looking at JSSH. It&amp;rsquo;s a bit dated, but a great little Firefox/Mozilla extension that adds a huge amount of external flexibility, control and extensibility. The &lt;a href=&#34;http://wtr.rubyforge.org/&#34;&gt;Watir&lt;/a&gt;-based web testing system for Firefox (called &lt;a href=&#34;http://svn.openqa.org/fisheye/viewrep/watir/branches/firefox&#34;&gt;FireWatir&lt;/a&gt;) uses &lt;a href=&#34;http://www.croczilla.com/jssh&#34;&gt;JSSH&lt;/a&gt; to control the current Firefox browsing session. The big downside to JSSH is that it has binary components, so you need to build it across platforms and Gecko versions. Yuck!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - about:addons Newsletter</title>
      <link>https://starkravingfinkle.org/posts/2008/05/extension-developers-aboutaddons-newsletter/</link>
      <pubDate>Fri, 16 May 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/05/extension-developers-aboutaddons-newsletter/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/aboutaddonsbanner-300x55.png&#34; alt=&#34;&#34; title=&#34;about:addons&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Mozilla is starting a new newsletter, &lt;strong&gt;about:addons&lt;/strong&gt;, strictly for add-on related development and hosting. A lot of changes were made to the way extensions are built and hosted during the last Firefox / Mozilla release cycle. Many changes and new features have been happening on &lt;a href=&#34;http://addons.mozilla.org&#34;&gt;AMO&lt;/a&gt; as well. It can be hard to keep track of the add-on related changes with all the other types of information coming out of Mozilla, on &lt;a href=&#34;http://developer.mozilla.org&#34;&gt;MDC&lt;/a&gt; or blogged on &lt;a href=&#34;http://planet.mozilla.org&#34;&gt;Planet Mozilla&lt;/a&gt;. With that in mind, it was decided that a dedicated newsletter could be the best way to get add-on information to add-on developers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 3 - Parental Controls</title>
      <link>https://starkravingfinkle.org/posts/2008/05/firefox-3-parental-controls/</link>
      <pubDate>Fri, 16 May 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/05/firefox-3-parental-controls/</guid>
      <description>&lt;p&gt;[Thanks to Jim Mathies, Firefox developer, for writing this post - with minor edits]&lt;/p&gt;&#xA;&lt;p&gt;Firefox 3 will have some support for &lt;a href=&#34;http://www.microsoft.com/windowsvista/community/parentalcontrols.mspx&#34;&gt;Parental Controls on Vista&lt;/a&gt; (see &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=355554&#34;&gt;bug 355554&lt;/a&gt;). The download manager is now aware of situations where content gets blocked by proxies. Downloads that are blocked display correct UI message to indicate what happened.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/parental-controls-dm2.png&#34; alt=&#34;&#34; title=&#34;Parental Controls in Download Manager&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;A good example would be a right-click &lt;em&gt;Save As&lt;/em&gt; on an image link that&amp;rsquo;s offensive. Something like that might get blocked by a proxy, so we handle that case correctly in the download manager.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FUEL and Google SoC</title>
      <link>https://starkravingfinkle.org/posts/2008/05/fuel-and-google-soc/</link>
      <pubDate>Thu, 15 May 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/05/fuel-and-google-soc/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://sameropensource.blogspot.com/2008/05/bulk-update.html&#34;&gt;Samer Ziadeh&lt;/a&gt; will be working on a Summer of Code project to enhance FUEL. He is looking at some feature requests found in bugzilla, &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=406974&#34;&gt;bug 406974&lt;/a&gt; and &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=409279&#34;&gt;bug 409279&lt;/a&gt; specifically. Samer has already done some work with FUEL. The past semester, he &lt;a href=&#34;http://sameropensource.blogspot.com/search/label/FUEL%20Backport&#34;&gt;ported much of the code&lt;/a&gt; to work in Firefox 2. It wasn&amp;rsquo;t a perfect fit as Firefox 2 is missing some integral new functionality supported in Firefox 3. Without it, backporting to Firefox 2 became difficult.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Do You Smell Something?</title>
      <link>https://starkravingfinkle.org/posts/2008/05/do-you-smell-something/</link>
      <pubDate>Wed, 14 May 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/05/do-you-smell-something/</guid>
      <description>&lt;p&gt;Oh yeah, it&amp;rsquo;s this crappy post from &lt;a href=&#34;http://www.readwriteweb.com/archives/google_maps_flash_api.php&#34;&gt;ReadWriteWeb&lt;/a&gt; on the new &lt;a href=&#34;http://code.google.com/apis/maps/documentation/flash/&#34;&gt;Google Maps Flash API&lt;/a&gt;. I have no problem with a Flash API for Google Maps. Power to the people! But I did have a massive gag reaction to the following fairy tale:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A substantial portion of the web&amp;rsquo;s creativity can be found in the Flash developer community. Adobe&amp;rsquo;s AIR platform is one of the hottest development environments in the consumer market today and is being deployed with increasing frequency in the enterprise as well. Live Google Maps in Flash are likely to be used in even more creative ways than the existing javascript API has been. Javascript can be used in AIR but it&amp;rsquo;s rarely used as attractively as Flash often is.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Your Final MaxVersion Update</title>
      <link>https://starkravingfinkle.org/posts/2008/05/extension-developers-your-final-maxversion-update/</link>
      <pubDate>Wed, 14 May 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/05/extension-developers-your-final-maxversion-update/</guid>
      <description>&lt;p&gt;Extension Developers! Yeah, You!&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://blog.mozilla.com/basil/2008/05/12/amo-adds-firefox-3-compatible-versions/&#34;&gt;AMO has flipped the switch&lt;/a&gt; to support MaxVersion &amp;ldquo;3.0.*&amp;rdquo; so make those final version updates now. &lt;a href=&#34;http://developer.mozilla.org/devnews/index.php/2008/05/10/firefox-3-code-complete/&#34;&gt;Firefox 3 RC1 is releasing very, very soon&lt;/a&gt;. Yes, &amp;ldquo;3.0.*&amp;rdquo; is the final MaxVersion you&amp;rsquo;ll need for Firefox 3, so don&amp;rsquo;t delay.&lt;/p&gt;&#xA;&lt;p&gt;Copied for your reading pleasure:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What this means for you as an add-on author is that &lt;strong&gt;after you test with the Firefox 3 release candidates&lt;/strong&gt;, you can use the Developer Tools section on &lt;a href=&#34;http://addons.mozilla.org&#34;&gt;AMO&lt;/a&gt; to bump your version number without having to upload a new version of your add-on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 3 - Offline App Demo - Part 2</title>
      <link>https://starkravingfinkle.org/posts/2008/05/firefox-3-offline-app-demo-part-2/</link>
      <pubDate>Fri, 09 May 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/05/firefox-3-offline-app-demo-part-2/</guid>
      <description>&lt;p&gt;Last year (wow, that long ago?) I made a &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/02/firefox-3-offline-app-demo/&#34;&gt;simple demo&lt;/a&gt; to show Firefox 3 offline capabilities. A lot has changed between then and now. Firefox 3 offline capabilities changed significantly to align better with &lt;a href=&#34;http://www.whatwg.org/specs/web-apps/current-work/#offline&#34;&gt;WHATWG offline specification&lt;/a&gt;. The biggest changes involve dropping support for our own  mechanism and supporting WHATWG manifests and application cache. The specification gives some details on how it works. There is an MDC article on using &lt;a href=&#34;http://developer.mozilla.org/en/docs/Offline_resources_in_Firefox&#34;&gt;offline resources in Firefox 3&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Little XPCOM Magic - JavaScript Callbacks</title>
      <link>https://starkravingfinkle.org/posts/2008/05/a-little-xpcom-magic-javascript-callbacks/</link>
      <pubDate>Thu, 08 May 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/05/a-little-xpcom-magic-javascript-callbacks/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/XPCOM&#34;&gt;XPCOM&lt;/a&gt; is, currently, a core Mozilla technology. Developers use XPCOM for a variety of reasons, many of which result in XPCOM components being accessed from JavaScript. XPCOM uses IDL to describe interfaces. This can make XPCOM components a bit rigid and not feel right in JavaScript. Recent support for &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=382034&#34;&gt;optional parameters in IDL&lt;/a&gt; has helped a little. Another helpful concept is using JavaScript functions in place of an IDL callback interface. For example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Monitor Those Plugins</title>
      <link>https://starkravingfinkle.org/posts/2008/04/extension-developers-monitor-those-plugins/</link>
      <pubDate>Tue, 29 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/04/extension-developers-monitor-those-plugins/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve mentioned &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/12/keeping-an-eye-on-plugins/&#34;&gt;plugin monitoring&lt;/a&gt;, a student project from &lt;a href=&#34;http://senecac.on.ca/&#34;&gt;Seneca College&lt;/a&gt;, back when the developers sucessfully got their project &amp;ldquo;marks&amp;rdquo;. I am quite pleased to see the project actually land in Firefox 3 (Mozilla 1.9) last week (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=412770&#34;&gt;bug 412770&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://xrayon.blogspot.com/&#34;&gt;Fima&lt;/a&gt; (gluon) &lt;a href=&#34;http://xrayon.blogspot.com/2008/04/pw-v10-and-final-osd700-note.html&#34;&gt;worked&lt;/a&gt; &lt;a href=&#34;http://xrayon.blogspot.com/2008/04/pw-coreextension-docs-up.html&#34;&gt;through&lt;/a&gt; the review process and landed the monitoring portion of the project. Now, extension developers can use an nsIObserver notification (&amp;ldquo;experimental-notify-plugin-call&amp;rdquo;) to monitor the processing time used by a plugin. Fima created an &lt;a href=&#34;http://developer.mozilla.org&#34;&gt;MDC&lt;/a&gt; article to &lt;a href=&#34;http://developer.mozilla.org/en/docs/Monitoring_plugins&#34;&gt;cover the details&lt;/a&gt;. His &lt;a href=&#34;http://xrayon.blogspot.com/&#34;&gt;blog&lt;/a&gt; has many posts on the subject.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 3 - Web Protocol Handlers</title>
      <link>https://starkravingfinkle.org/posts/2008/04/firefox-3-web-protocol-handlers/</link>
      <pubDate>Tue, 29 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/04/firefox-3-web-protocol-handlers/</guid>
      <description>&lt;p&gt;Web protocol handlers are a new Firefox 3 feature that gives more power to RIA web applications. Basically, when a user clicks on a link with specific protocol, Firefox can send an HTTP(S) request with the link data to a web application. An easy example is a &lt;code&gt;mailto:&lt;/code&gt; link:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;Web Master&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Normally, if a user clicks this link, Firefox (or other browser) will open the default mail application on the user&amp;rsquo;s machine and start composing an email message. With so many web-based email applications in use today, it only seems natural that some people would want to use a web-based email application to compose the message.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RIA is Dead! Long Live Web Applications</title>
      <link>https://starkravingfinkle.org/posts/2008/04/ria-is-dead-long-live-web-applications/</link>
      <pubDate>Mon, 21 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/04/ria-is-dead-long-live-web-applications/</guid>
      <description>&lt;p&gt;RIA (the acronym) has jumped the shark. I find that I can no longer use RIA to describe anything anymore. The definition has been watered down and twisted to the point that nearly any application can be called RIA.&lt;/p&gt;&#xA;&lt;p&gt;I first noticed this trend last year. Adobe and Microsoft evangelists started &lt;a href=&#34;http://blogs.claritycon.com/blogs/kevin_marshall/archive/2007/10/17/3317.aspx&#34;&gt;ping-pong blogging&lt;/a&gt; about what RIA meant. Scott Barnes of Microsoft even went so far as to redefine the acronym, from &amp;ldquo;&lt;a href=&#34;http://en.wikipedia.org/wiki/Rich_Internet_application&#34;&gt;Rich Internet Application&lt;/a&gt;&amp;rdquo; to &amp;ldquo;&lt;a href=&#34;http://www.visitmix.com/Blogs/Mossyblog/rich-interactive-applications/&#34;&gt;Rich Interactive Application&lt;/a&gt;&amp;rdquo;. That, along with some other &amp;ldquo;we can be better than the Web&amp;rdquo; posts caused Dare Obasanjo to create a great post: &lt;a href=&#34;http://www.25hoursaday.com/weblog/2007/10/20/IfYouFightTheWebYouWillLose.aspx&#34;&gt;If you Fight the Web, You Will Lose&lt;/a&gt;. I also liked &lt;a href=&#34;http://www.dashes.com/anil/2007/10/rainman-blackbird-facebook-and-the-new-tables.html&#34;&gt;Anil Dash&amp;rsquo;s&lt;/a&gt; &amp;ldquo;ice cubes in water&amp;rdquo; analogy. I can see why Microsoft is pushing &lt;em&gt;Interactive&lt;/em&gt; and not &lt;em&gt;Internet&lt;/em&gt;, which would necessitate making &lt;em&gt;Internet&lt;/em&gt; applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>JS-CTYPES Status</title>
      <link>https://starkravingfinkle.org/posts/2008/04/js-ctypes-status/</link>
      <pubDate>Thu, 17 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/04/js-ctypes-status/</guid>
      <description>&lt;p&gt;Unfortunately, the &lt;a href=&#34;http://wiki.mozilla.org/JSctypes&#34;&gt;js-ctypes&lt;/a&gt; project got back-burnered for a while. Fortunately, some great contributors swooped in and landed some really nice bits. Fredrik Larsson helped out on some Linux problems (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=416119&#34;&gt;bug 416119&lt;/a&gt;), filled in ANSI string support (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=416229&#34;&gt;bug 416229&lt;/a&gt;) and setup an xpcshell test framework (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=427286&#34;&gt;bug 427286&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;The Atul Varma came to my rescue by adding support for OS X and fixing a small bug (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=429063&#34;&gt;bug 429063&lt;/a&gt;). Atul also added build instructions to the &lt;a href=&#34;http://wiki.mozilla.org/JSctypes#Build_Instructions&#34;&gt;wiki&lt;/a&gt;. Brahmana found a bug too and posted a patch (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=413783&#34;&gt;bug 413783&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bubblemark is an RIA Benchmark?</title>
      <link>https://starkravingfinkle.org/posts/2008/04/bubblemark-is-an-ria-benchmark/</link>
      <pubDate>Tue, 15 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/04/bubblemark-is-an-ria-benchmark/</guid>
      <description>&lt;p&gt;The Adobe RIA crowd have been causing some echos in the chamber lately over &lt;a href=&#34;http://bubblemark.com/index.htm&#34;&gt;Bubblemark&lt;/a&gt;, an animation benchmark originally released over a year ago. Personally, I have no real skin in the game, but a game it is. &lt;a href=&#34;http://graphics-geek.blogspot.com/2008/04/off-bubblemark.html&#34;&gt;Some&lt;/a&gt; &lt;a href=&#34;http://www.jamesward.org/wordpress/2008/04/10/bursting-bubbles/&#34;&gt;Flash&lt;/a&gt; developers were curious about variations in the results when run on different browsers, platforms and in the AIR runtime. It makes for some &lt;a href=&#34;http://graphics-geek.blogspot.com/2008/04/times-up.html&#34;&gt;interesting reading&lt;/a&gt; and I came away with a better understanding the variations, browser limitations and timer mechanisms.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Chrome URI Changes &amp; You</title>
      <link>https://starkravingfinkle.org/posts/2008/04/extension-developers-chrome-uri-changes-you/</link>
      <pubDate>Mon, 14 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/04/extension-developers-chrome-uri-changes-you/</guid>
      <description>&lt;p&gt;Over the weekend, code landed to restrict the ability of web content to access &amp;ldquo;chrome://&amp;rdquo; resources (see &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=292789&#34;&gt;bug 292789&lt;/a&gt;). This shouldn&amp;rsquo;t affect many extensions since the restrictions are focused on web content, not chrome content. However, if your extension injects content into the web content, you could be affected. An example can be found in &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=428848&#34;&gt;bug 428848&lt;/a&gt;. Venkman can&amp;rsquo;t load venkman-source.css, a stylesheet that is injected into unprivileged, web content.&lt;/p&gt;&#xA;&lt;p&gt;The solution to this problem is a new &lt;a href=&#34;http://developer.mozilla.org/en/docs/Chrome_Registration&#34;&gt;chrome manifest&lt;/a&gt; flag - &lt;a href=&#34;http://developer.mozilla.org/en/docs/Chrome_Registration#contentaccessible&#34;&gt;contentaccessible&lt;/a&gt;. Using &lt;code&gt;contentaccessible&lt;/code&gt;, an extension author can say &amp;ldquo;Yes, I&amp;rsquo;d like my extension&amp;rsquo;s chrome package to be accessible to web content.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Soylent Green Is People!</title>
      <link>https://starkravingfinkle.org/posts/2008/04/soylent-green-is-people/</link>
      <pubDate>Tue, 08 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/04/soylent-green-is-people/</guid>
      <description>&lt;p&gt;And making Firefox 3 ignore extension compatibility checking is wrong!&lt;/p&gt;&#xA;&lt;p&gt;Firefox 3 is really close final release. Many of you have started using Firefox 3 for your daily browsing, as have I. You might discover that some of the extension you love have not been updated to Firefox 3 or maybe just not updated to the latest beta. So you search the web and find &lt;a href=&#34;http://lifehacker.com/376551/the-complete-field-guide-to-testing-firefox-3&#34;&gt;posts&lt;/a&gt; and &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/6543&#34;&gt;tools&lt;/a&gt; for magically making old extension &amp;ldquo;work&amp;rdquo; in Firefox 3.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Update or Fade Away</title>
      <link>https://starkravingfinkle.org/posts/2008/04/extension-developers-update-or-fade-away/</link>
      <pubDate>Wed, 02 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/04/extension-developers-update-or-fade-away/</guid>
      <description>&lt;p&gt;Firefox 3RC1 is just around the corner. Surprisingly, more than a few of the current Top 100 add-ons on &lt;a href=&#34;http://addons.mozilla.org&#34;&gt;AMO&lt;/a&gt; are &lt;strong&gt;not&lt;/strong&gt; updated to work in Firefox 3. I say &amp;ldquo;current&amp;rdquo; because when Firefox 3 ships, those old add-ons will no longer be in the Top 100. &lt;a href=&#34;http://alex.polvi.net/&#34;&gt;Alex Polvi&lt;/a&gt; has a &lt;a href=&#34;http://people.mozilla.com/~polvi/threedom/status-bars.html&#34;&gt;chart&lt;/a&gt; (updated daily) showing the status of Top 95% of AMO add-ons (by usage). You can see that many of the Top 100 have been updated to at least Firefox 3.0b3 or greater.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Have XULRunner, Will Travel - It&#39;s Mobile Baby!</title>
      <link>https://starkravingfinkle.org/posts/2008/04/have-xulrunner-will-travel-its-mobile-baby/</link>
      <pubDate>Wed, 02 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/04/have-xulrunner-will-travel-its-mobile-baby/</guid>
      <description>&lt;p&gt;Mozilla&amp;rsquo;s Mobile group has been hard at work getting the Mozilla platform running on some mobile devices. Recently, &lt;a href=&#34;http://blog.mozilla.com/blassey/2008/03/17/maemo-buildbot/&#34;&gt;Brad Lassey&lt;/a&gt; posted about getting XULRunner working on &lt;a href=&#34;http://en.wikipedia.org/wiki/Nokia_N810&#34;&gt;Nokia&amp;rsquo;s N800/N810&lt;/a&gt; (&lt;a href=&#34;http://www.maemo.org/&#34;&gt;Maemo&lt;/a&gt;) Internet tablets. He linked to a XULRunner binary and showed some XUL-based applications running on an N810.&lt;/p&gt;&#xA;&lt;p&gt;This is big news for me because wherever you find a XULRunner, you&amp;rsquo;ll find me: building the runtime, writing sample applications, creating platform components and generally having a great time. I even managed to get myself an N810 from the Mobile group. It&amp;rsquo;s a pretty cool little device. We already have some bugs filed to better integrate the Mozilla platform with the Maemo platform (see &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=426291&#34;&gt;bug 426291&lt;/a&gt;, &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=426292&#34;&gt;bug 426292&lt;/a&gt;, &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=426293&#34;&gt;bug 426293&lt;/a&gt; and &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=426299&#34;&gt;bug 426299&lt;/a&gt;). &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=426355&#34;&gt;Bug 426355&lt;/a&gt; will start making nightly XULRunner builds for the N800/N810.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Localizing Prism</title>
      <link>https://starkravingfinkle.org/posts/2008/04/localizing-prism/</link>
      <pubDate>Wed, 02 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/04/localizing-prism/</guid>
      <description>&lt;p&gt;Just a note for anyone wanting to help localize &lt;a href=&#34;http://developer.mozilla.org/en/docs/Prism&#34;&gt;Prism&lt;/a&gt;. &lt;a href=&#34;http://browsing.justdiscourse.com/&#34;&gt;Matt Gertner&lt;/a&gt; added Prism (the &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/6665&#34;&gt;Firefox extension&lt;/a&gt;) to &lt;a href=&#34;http://www.babelzilla.org/&#34;&gt;Babelzilla&lt;/a&gt; so people can submit localizations. The Firefox extension has 2 localizable parts: The extension part and the full-blown Prism part.&lt;/p&gt;&#xA;&lt;p&gt;After only a few days, we already have five 100% translations! Awesome.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prism Status</title>
      <link>https://starkravingfinkle.org/posts/2008/04/prism-status/</link>
      <pubDate>Tue, 01 Apr 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/04/prism-status/</guid>
      <description>&lt;p&gt;Prism 0.9 has been out for a little while now. People really like the Firefox extension version. We have been getting some bug reports and feature requests. We are working on them, so keep them coming. Among the Prism related posts, I came across some really interesting news about Prism and Ubuntu (via &lt;a href=&#34;http://tombuntu.com/index.php/2008/03/24/easily-install-prism-web-apps-in-ubuntu-804/&#34;&gt;Tombuntu&lt;/a&gt; &amp;amp; &lt;a href=&#34;http://buranen.info/?p=222&#34;&gt;Derek Buranen&lt;/a&gt;):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The integration between desktop and web applications has been taken to the next level in Ubuntu 8.04 Beta; you can now easily install Prism web apps from the Ubuntu repositories.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - You Still Have Cross-Site XMLHttpRequest</title>
      <link>https://starkravingfinkle.org/posts/2008/03/extension-developers-you-still-have-cross-site-xmlhttprequest/</link>
      <pubDate>Sun, 30 Mar 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/03/extension-developers-you-still-have-cross-site-xmlhttprequest/</guid>
      <description>&lt;p&gt;One of the new XMLHttpRequest features in Firefox was &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=408098&#34;&gt;cross-site requests&lt;/a&gt;. It was based on an &lt;a href=&#34;http://dev.w3.org/2006/webapi/XMLHttpRequest-2/&#34;&gt;W3C specification&lt;/a&gt; and would have allowed web content to make cross-site XMLHttpRequests. I say &amp;ldquo;was&amp;rdquo; and &amp;ldquo;would&amp;rdquo; because that feature was &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=424923&#34;&gt;removed&lt;/a&gt; in Firefox 3.0b5 due to &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=424923#c14&#34;&gt;security concerns and some specification changes&lt;/a&gt; too close to the Firefox 3 release.&lt;/p&gt;&#xA;&lt;p&gt;Extension developers have always been able to use cross-site XMLHttpRequests and this change will not affect your ability to keep making cross-site requests. It only affects web content.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Shenanigans! on Webkit SMIL</title>
      <link>https://starkravingfinkle.org/posts/2008/03/shenanigans-on-webkit-smil/</link>
      <pubDate>Thu, 27 Mar 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/03/shenanigans-on-webkit-smil/</guid>
      <description>&lt;p&gt;I have always thought that &lt;a href=&#34;http://www.w3.org/Graphics/SVG/&#34;&gt;SVG&lt;/a&gt; would be great for the Web (more the graphics part and less the sockets part). I also think &lt;a href=&#34;http://www.w3.org/AudioVideo/&#34;&gt;SMIL&lt;/a&gt; would be a good to create nice and smooth animations. Having an animation system built natively into the browser would likely be better than using JavaScript and setTimeout.&lt;/p&gt;&#xA;&lt;p&gt;With this in mind, I was hoping that Opera and, recently, &lt;a href=&#34;http://webkit.org/blog/172/enabling-svg-animation-acid3-99100/&#34;&gt;Webkit&lt;/a&gt; support for SMIL would make a compelling case for adding the feature to Firefox. We have a &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=216462&#34;&gt;bitrotted patch&lt;/a&gt; that has promise. But then I saw &lt;a href=&#34;http://blog.codedread.com/archives/2008/03/26/webkit-nightly-not-smiling/&#34;&gt;Jeff Schiller&amp;rsquo;s report&lt;/a&gt; on how well Webkit supports SMIL. A score of 5/116 isn&amp;rsquo;t very compelling, especially with Opera&amp;rsquo;s 110/116 score. Come on Webkit! I need you to support SMIL better than that!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Unbreaking News, Part 2</title>
      <link>https://starkravingfinkle.org/posts/2008/03/extension-developers-unbreaking-news-part-2/</link>
      <pubDate>Sat, 22 Mar 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/03/extension-developers-unbreaking-news-part-2/</guid>
      <description>&lt;p&gt;I love reporting &amp;ldquo;unbreaking news&amp;rdquo; and I have some report. I &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/03/extension-developers-breaking-news-part-2/&#34;&gt;posted&lt;/a&gt; about a security change (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=418356&#34;&gt;bug 418356&lt;/a&gt;) to &lt;a href=&#34;http://developer.mozilla.org/en/docs/mozIJSSubScriptLoader&#34;&gt;mozIJSSubScriptLoader&lt;/a&gt; that broke loading scripts from any non-chrome URI. An alternate fix has landed that allows &lt;code&gt;file:&lt;/code&gt; and &lt;code&gt;resource:&lt;/code&gt; URIs to be loaded by the subscript loader again.&lt;/p&gt;&#xA;&lt;p&gt;Therefore, this will continue to work:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;var obj = {};&#xA;var loader = Components.classes[&amp;#34;@mozilla.org/moz/jssubscript-loader;1&amp;#34;]&#xA;                       .getService(Components.interfaces.mozIJSSubScriptLoader);&#xA;loader.loadSubScript(&amp;#34;file:///blah.js&amp;#34;, obj);&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Unfortunately, &lt;code&gt;data:&lt;/code&gt; URIs are harder to secure and will not work with the subscript loader. Fortunately, there are workarounds for &lt;code&gt;data:&lt;/code&gt; URIs - you can save the script to a file and use &lt;code&gt;file:&lt;/code&gt; or you can use &lt;a href=&#34;http://developer.mozilla.org/en/docs/Components.utils.evalInSandbox&#34;&gt;evalInSandbox&lt;/a&gt; to evaluate the script.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Better Background XMLHttpRequests</title>
      <link>https://starkravingfinkle.org/posts/2008/03/extension-developers-better-background-xmlhttprequests/</link>
      <pubDate>Thu, 20 Mar 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/03/extension-developers-better-background-xmlhttprequests/</guid>
      <description>&lt;p&gt;XMLHttpRequests (XHR) are used for lots of things these days. When running a background XHR, however, you might experience some common issues like authentication or bad SSL certificate dialogs popping up. Another problem was starting an XHR, then closing the window - the XHR is closed. To help get around these inconveniences, Manish Singh (of &lt;a href=&#34;http://www.flock.com/&#34;&gt;Flock&lt;/a&gt;) adding support for a background mode (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=383430&#34;&gt;bug 383430&lt;/a&gt;). The details:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Do not attach to a window&amp;rsquo;s load group, so requests aren&amp;rsquo;t cancelled if the window closes (often the window isn&amp;rsquo;t really associated with the request anyway)&lt;/li&gt;&#xA;&lt;li&gt;Do not get an nsIAuthPrompt by default, since we don&amp;rsquo;t want authentication dialogs to pop up randomly.&lt;/li&gt;&#xA;&lt;li&gt;Provide an nsIBadCertListener implementation, again to prevent bad certificate dialogs to pop up randomly.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;var req = new XMLHttpRequest();&#xA;req.mozBackgroundRequest = true;&#xA;req.open(&amp;#34;GET&amp;#34;, someURI);&#xA;req.send(null);&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The magic is handled by &lt;code&gt;mozBackgroundRequest&lt;/code&gt; and it&amp;rsquo;s only available to chrome, not for web content.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Global Extensions on Linux and Mac</title>
      <link>https://starkravingfinkle.org/posts/2008/03/global-extensions-on-linux-and-mac/</link>
      <pubDate>Thu, 20 Mar 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/03/global-extensions-on-linux-and-mac/</guid>
      <description>&lt;p&gt;Global extensions are extensions that are not installed into a profile. Therefore, the extensions is always available, even in a new profile. Yes, I am talking about extensions, not plugins. Plugins can also be global, there are a &lt;a href=&#34;http://developer.mozilla.org/en/docs/Gecko_Plugin_API_Reference:Plug-in_Basics#How_Gecko_Finds_Plug-ins&#34;&gt;few ways to achieve this&lt;/a&gt; on the various platforms (Windows, Mac and Linux).&lt;/p&gt;&#xA;&lt;p&gt;However, only Windows had the capability to &lt;a href=&#34;http://developer.mozilla.org/en/docs/Adding_Extensions_using_the_Windows_Registry&#34;&gt;install global extensions&lt;/a&gt;, using the Windows registry. Thanks to &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=311008&#34;&gt;bug 311008&lt;/a&gt; and &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=412449&#34;&gt;bug 412449&lt;/a&gt;, global extensions are now possible on Linux and Mac too. The magic paths:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Breaking News, Part 2</title>
      <link>https://starkravingfinkle.org/posts/2008/03/extension-developers-breaking-news-part-2/</link>
      <pubDate>Tue, 18 Mar 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/03/extension-developers-breaking-news-part-2/</guid>
      <description>&lt;p&gt;If you have an extension that uses &lt;a href=&#34;http://developer.mozilla.org/en/docs/mozIJSSubScriptLoader&#34;&gt;mozIJSSubScriptLoader&lt;/a&gt; (a mouthful, I know) then you should be aware of a recent change (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=418356&#34;&gt;bug 418356&lt;/a&gt;). The mozIJSSubScriptLoader interface can be used from JS to load and run JavaScript code from the given URL at run-time. Previously, the URL could be &lt;code&gt;chrome:&lt;/code&gt;, &lt;code&gt;file:&lt;/code&gt;, &lt;code&gt;data:&lt;/code&gt; or &lt;code&gt;resource:&lt;/code&gt;, but due to a security fix, the URL is now limited to &lt;code&gt;chrome:&lt;/code&gt; only.&lt;/p&gt;&#xA;&lt;p&gt;Therefore, this will no longer work:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - FUEL Change</title>
      <link>https://starkravingfinkle.org/posts/2008/03/extension-developers-fuel-change/</link>
      <pubDate>Mon, 17 Mar 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/03/extension-developers-fuel-change/</guid>
      <description>&lt;p&gt;For any extension developers out there using &lt;a href=&#34;http://developer.mozilla.org/en/docs/FUEL&#34;&gt;FUEL&lt;/a&gt;, I checked in a small, but breaking change (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=421235&#34;&gt;bug 421235)&lt;/a&gt;. FUEL&amp;rsquo;s bookmark wrappers only supported bookmark items found on the bookmark menu, which was the only bookmark root available at the time. Things have changed and now bookmark roots exist for menu items, toolbar items, tags and unfiled items.&lt;/p&gt;&#xA;&lt;p&gt;We updated FUEL to support the new roots, but this could cause existing code to break:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prism 0.9 - Now as a Firefox Extension</title>
      <link>https://starkravingfinkle.org/posts/2008/03/prism-09-now-as-a-firefox-extension/</link>
      <pubDate>Fri, 07 Mar 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/03/prism-09-now-as-a-firefox-extension/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/Prism&#34;&gt;Prism 0.9&lt;/a&gt; has finally been &lt;a href=&#34;http://labs.mozilla.com/2008/03/major-update-to-prism-first-prototype-of-browser-integration/&#34;&gt;released&lt;/a&gt;. Getting platform specific features to work on 3 platforms really is harder than it looks. A big thank you to &lt;a href=&#34;http://browsing.justdiscourse.com/&#34;&gt;Matt Gertner&lt;/a&gt; (plasticmillion) and &lt;a href=&#34;http://analogmountains.blogspot.com/&#34;&gt;Fredrik Larsson&lt;/a&gt; (nossralf) for all the work they did on this release.&lt;/p&gt;&#xA;&lt;p&gt;The big news for this release is &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/6665&#34;&gt;Prism for Firefox&lt;/a&gt;, a full blown Prism and a Firefox extension all in one. This means that you can now easily &amp;ldquo;make&amp;rdquo; web applications directly from Firefox. In addition, Prism now uses Firefox as its runtime, so you don&amp;rsquo;t need to download the XULRunner runtime. Yes, I have &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/08/firefox-3-xul-application-runtime/&#34;&gt;mentioned&lt;/a&gt; in the past that Firefox 3 will be able to run XUL applications. Here are some things the extension can do:&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner Milestone Builds</title>
      <link>https://starkravingfinkle.org/posts/2008/03/xulrunner-milestone-builds/</link>
      <pubDate>Tue, 04 Mar 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/03/xulrunner-milestone-builds/</guid>
      <description>&lt;p&gt;Good news for developers who are building applications on the Mozilla platform, &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt; in particular. The &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=415180&#34;&gt;wheels are in motion&lt;/a&gt; to start creating XULRunner builds (runtime and SDK) that coincide with major Firefox milestones. I encourage interested developers to watch the &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=415180&#34;&gt;bug&lt;/a&gt; to see how the discussion and plan evolves.&lt;/p&gt;&#xA;&lt;p&gt;This is a big deal for developers building and embedding applications using the Mozilla platform. Currently, the only official Mozilla build of XULRunner is an out-of-date 1.8.0.4 version. Builds based on snapshots of Firefox milestones will go a long way to creating a stable platform to build gecko-based applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extensions, Firefox 3 &amp; T-Shirts</title>
      <link>https://starkravingfinkle.org/posts/2008/02/extensions-firefox-3-t-shirts/</link>
      <pubDate>Fri, 29 Feb 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/02/extensions-firefox-3-t-shirts/</guid>
      <description>&lt;p&gt;As part of our drive to get as many add-ons updated to work in Firefox 3 as possible, &lt;a href=&#34;http://addons.mozilla.org/&#34;&gt;AMO&lt;/a&gt; has a new T-Shirt promotion. Get your extension or theme updated to at least Firefox 3.0b3 and you can claim a t-shirt. AMO editors can also claim a t-shirt (lucky dogs). Sign into AMO and go to the developer tools panel to see the &amp;ldquo;T-Shirt Request&amp;rdquo; link. Sign up by March 18th to be able to get your t-shirt.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FOSDEM 2008 Wrapup</title>
      <link>https://starkravingfinkle.org/posts/2008/02/fosdem-2008-wrapup/</link>
      <pubDate>Mon, 25 Feb 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/02/fosdem-2008-wrapup/</guid>
      <description>&lt;p&gt;I had a great time at &lt;a href=&#34;http://fosdem.org&#34;&gt;FOSDEM&lt;/a&gt;. Simply an amazing gathering of people who love working on Open Source projects. I could not believe the energy these people have. I, on the other hand, am exhausted! It seems like a blur, but here are some of the bits I remember:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The &lt;a href=&#34;http://www.fosdem.org/2008/schedule/tracks/mozilla&#34;&gt;Mozilla devroom&lt;/a&gt; was packed with people and extremely hot. Dubbed &amp;ldquo;sauna.fosdem.org&amp;rdquo;, we were lucky to get a bigger room on Day 2 (sorry OpenSUSE).&lt;/li&gt;&#xA;&lt;li&gt;Steve Lau of &lt;a href=&#34;http://songbirdnest.com&#34;&gt;Songbird&lt;/a&gt; gave a &lt;a href=&#34;http://www.fosdem.org/2008/schedule/events/mozilla_songbird&#34;&gt;great demo&lt;/a&gt;! Web site integration was very cool.&lt;/li&gt;&#xA;&lt;li&gt;The phenomenal turnout from the Mozilla localizers. I had not yet seen, with my eyes, such a display of Mozilla &amp;ldquo;Community&amp;rdquo; until FOSDEM.&lt;/li&gt;&#xA;&lt;li&gt;Getting to meet contributors that I got to &amp;ldquo;know&amp;rdquo; on IRC: bkinger, jwatt, gandalf, laurentj and alex fritze to name a few.&lt;/li&gt;&#xA;&lt;li&gt;Dan Mills&amp;rsquo; &lt;a href=&#34;http://www.fosdem.org/2008/schedule/events/mozilla_labs_weave&#34;&gt;devroom talk&lt;/a&gt; on &lt;a href=&#34;http://labs.mozilla.com/2007/12/introducing-weave/&#34;&gt;Mozilla Weave&lt;/a&gt; generated a lot of discussion. Dan got people thinking of ways to build on Weave.&lt;/li&gt;&#xA;&lt;li&gt;Even with technical computer/projector difficulties, Holmes Wilson&amp;rsquo;s &lt;a href=&#34;http://www.fosdem.org/2008/schedule/events/mozilla_miro&#34;&gt;devroom talk&lt;/a&gt; on &lt;a href=&#34;http://getmiro.com&#34;&gt;Miro&lt;/a&gt; also generated good discussion.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.tavernedupassage.com/default.htm&#34;&gt;Taverne du Passage&lt;/a&gt; - this restaruant was so good, I ate there twice.&lt;/li&gt;&#xA;&lt;li&gt;The Grand&amp;rsquo;Place (Grote Markt) in Brussels is a beautiful area. I was amazed by the buildings.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/2290253090_7e33f156be_m.jpg&#34; alt=&#34;2290253090_7e33f156be_m.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zimbra on Prism &amp; Other New Stuff</title>
      <link>https://starkravingfinkle.org/posts/2008/02/zimbra-on-prism-other-new-stuff/</link>
      <pubDate>Thu, 14 Feb 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/02/zimbra-on-prism-other-new-stuff/</guid>
      <description>&lt;h2 id=&#34;zimbra-desktop&#34;&gt;Zimbra Desktop&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://blogs.cnet.com/8300-13505_1-16.html?tag=bc&#34;&gt;Matt Asay&lt;/a&gt; has a &lt;a href=&#34;http://blogs.cnet.com/8301-13505_1-9871953-16.html&#34;&gt;post&lt;/a&gt; about &lt;a href=&#34;http://www.zimbra.com/&#34;&gt;Zimbra&amp;rsquo;s&lt;/a&gt; newest &lt;a href=&#34;http://www.zimbra.com/products/desktop.html&#34;&gt;desktop client&lt;/a&gt;. It&amp;rsquo;s a great, full featured email/calendar client and it&amp;rsquo;s using &lt;a href=&#34;http://wiki.mozilla.org/Prism&#34;&gt;Prism&lt;/a&gt; to give it a standalone, desktop application feel.&lt;/p&gt;&#xA;&lt;p&gt;That&amp;rsquo;s right, they are shipping Prism along with the client code and offline support system.&lt;/p&gt;&#xA;&lt;p&gt;This version of Zimbra is pretty fast too, especially on Firefox. Even more so on Firefox 3. Of course, Prism uses the same Firefox 3 rendering engine, so we&amp;rsquo;ve got you covered :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla 2 - The Future of the Mozilla Platform</title>
      <link>https://starkravingfinkle.org/posts/2008/02/mozilla-2-the-future-of-the-mozilla-platform/</link>
      <pubDate>Tue, 12 Feb 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/02/mozilla-2-the-future-of-the-mozilla-platform/</guid>
      <description>&lt;p&gt;Firefox 3 is not even out the door, but work has started on the next refactoring of the Mozilla platform. Dubbed &lt;a href=&#34;http://wiki.mozilla.org/Mozilla_2&#34;&gt;Mozilla 2&lt;/a&gt; (FF3 is built on Mozilla 1.9), it is a chance to make lots of interesting, even scary, changes to the platform. For some background on Mozilla 2 go back and read Brendan&amp;rsquo;s &lt;a href=&#34;http://weblogs.mozillazine.org/roadmap/archives/2006/10/mozilla_2.html&#34;&gt;post&lt;/a&gt;. Also, read the Mozilla 2 &lt;a href=&#34;http://wiki.mozilla.org/Mozilla_2&#34;&gt;wiki pages&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Actually, lots of work has already been completed and lots more work is underway. Checkout the notes from the &lt;a href=&#34;http://wiki.mozilla.org/Mozilla_2/StatusMeetings&#34;&gt;status meetings&lt;/a&gt;. You can call in every Wednesday to hear what&amp;rsquo;s happening. The work on &lt;a href=&#34;http://wiki.mozilla.org/JavaScript:ActionMonkey&#34;&gt;ActionMonkey&lt;/a&gt; and &lt;a href=&#34;http://wiki.mozilla.org/XPCOMGC&#34;&gt;XPCOMGC&lt;/a&gt; is pretty exciting stuff (for geeks, I know).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Native JSON Parsing</title>
      <link>https://starkravingfinkle.org/posts/2008/02/extension-developers-native-json-parsing/</link>
      <pubDate>Mon, 11 Feb 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/02/extension-developers-native-json-parsing/</guid>
      <description>&lt;p&gt;Firefox 3 is using JSON to store data in several places - such as bookmark backups, session restore, and offline manifests. Originally, JSON parsing was scattered through the code. Then it was consolidated to &lt;a href=&#34;http://mxr.mozilla.org/seamonkey/source/js/src/xpconnect/loader/JSON.jsm&#34;&gt;JSON.jsm&lt;/a&gt;, a JavaScript code module. Eventually, it was &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=387522&#34;&gt;converted&lt;/a&gt; into &lt;a href=&#34;http://mxr.mozilla.org/seamonkey/source/dom/public/idl/json/nsIJSON.idl&#34;&gt;nsIJSON.idl&lt;/a&gt;, a C++ XPCOM Component. What does this mean to extension and application developers? Well, you now have access to JSON encoding and decoding routines that can be a lot faster (more in a bit) than the JavaScript counterparts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Win Some / Lose Some</title>
      <link>https://starkravingfinkle.org/posts/2008/02/extension-developers-win-some-lose-some/</link>
      <pubDate>Tue, 05 Feb 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/02/extension-developers-win-some-lose-some/</guid>
      <description>&lt;h2 id=&#34;good-news&#34;&gt;Good News&lt;/h2&gt;&#xA;&lt;p&gt;The extension &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=414836&#34;&gt;breaking&lt;/a&gt; &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=404109&#34;&gt;changes&lt;/a&gt; made to the Firefox 3 toolbar IDs has been &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=415099&#34;&gt;reverted and patched&lt;/a&gt; to get the same result in a different way. Any extensions that broke in a nightly version of Firefox 3 should be working correctly now. We also made sure to get the fix into Firefox 3 beta 3. Big &amp;ldquo;thank you&amp;rdquo; goes out to &lt;a href=&#34;http://www.oxymoronical.com/&#34;&gt;Dave&lt;/a&gt;, &lt;a href=&#34;http://en.design-noir.de/mozilla/&#34;&gt;Dão&lt;/a&gt; and &lt;a href=&#34;http://www.ohloh.net/accounts/11319&#34;&gt;Gavin&lt;/a&gt; for helping me get the patch right and to &lt;a href=&#34;http://steelgryphon.com/blog&#34;&gt;Connor&lt;/a&gt; and &lt;a href=&#34;http://www.beltzner.ca/mike/&#34;&gt;Beltzner&lt;/a&gt; for making this a critical enough to get into Beta 3.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Unbreaking News</title>
      <link>https://starkravingfinkle.org/posts/2008/02/extension-developers-unbreaking-news/</link>
      <pubDate>Sat, 02 Feb 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/02/extension-developers-unbreaking-news/</guid>
      <description>&lt;p&gt;Just an update on the breaking changes I &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/01/extension-developers-breaking-news/&#34;&gt;mentioned&lt;/a&gt;. We are working on a different fix for the original bug, so hopefully, we won&amp;rsquo;t need to change the XUL element ID&amp;rsquo;s. You can follow the progress of this alternate fix &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=415099&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It looks like we can revert the element ID&amp;rsquo;s back to their previous values, not break extensions and get the intended visual changes in Firefox 3. I would suggest extension developers hold off on making any changes to overlays.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Breaking News</title>
      <link>https://starkravingfinkle.org/posts/2008/01/extension-developers-breaking-news/</link>
      <pubDate>Thu, 31 Jan 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/01/extension-developers-breaking-news/</guid>
      <description>&lt;p&gt;Some extension developers using nightly versions of Firefox 3 may have noticed (as Doron Rosenberg &lt;a href=&#34;http://weblogs.mozillazine.org/doron/archives/2008/01/quick_note_to_extension_develo.html#more&#34;&gt;did&lt;/a&gt;) that a recent change caused some extensions to break. Bug &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=414836&#34;&gt;414836&lt;/a&gt; changed the ID of the used in browser.xul, the main Firefox window (&amp;ldquo;navigator-toolbox&amp;rdquo; was changed to &amp;ldquo;browser-toolbox&amp;rdquo;). Doron filed bug &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=415099&#34;&gt;415099&lt;/a&gt; to try to get the initial problem fixed another way. I don&amp;rsquo;t think that will happen as the other ways which were tried caused Ts regressions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - More On Updating</title>
      <link>https://starkravingfinkle.org/posts/2008/01/extension-developers-more-on-updating/</link>
      <pubDate>Thu, 17 Jan 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/01/extension-developers-more-on-updating/</guid>
      <description>&lt;p&gt;We have been &lt;a href=&#34;https://starkravingfinkle.org/posts/2008/01/extension-developers-firefox-3-is-coming/&#34;&gt;putting&lt;/a&gt; &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/blog/4&#34;&gt;out&lt;/a&gt; the &lt;a href=&#34;http://blog.mozilla.com/metrics/2008/01/14/firefox-3-extension-compatibility-status/&#34;&gt;call&lt;/a&gt; for extension developers to start the process of updating their extension to workin Firefox 3. It&amp;rsquo;s never fun when your extension breaks because of changes in Firefox, but everyone wants to make the platform better. In doing so, we had to break some eggs.&lt;/p&gt;&#xA;&lt;p&gt;On the bright side, extension developers seem to be really charging ahead full steam. In addition to finding signs of extension update work being done on developer websites, #extdev on &lt;a href=&#34;http://irc.mozilla.com&#34;&gt;Mozilla IRC&lt;/a&gt; has been pretty active. I have also noticed posts on &lt;a href=&#34;http://forums.mozillazine.org/index.php?c=11&#34;&gt;Mozillazine forums&lt;/a&gt; too.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FOSDEM 2008</title>
      <link>https://starkravingfinkle.org/posts/2008/01/fosdem-2008/</link>
      <pubDate>Fri, 11 Jan 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/01/fosdem-2008/</guid>
      <description>&lt;p&gt;Looks like I am headed to Brussels for FOSDEM this year. I was invited to &lt;a href=&#34;http://www.fosdem.org/2008/schedule/events/261&#34;&gt;present&lt;/a&gt; on &lt;a href=&#34;http://wiki.mozilla.org/Prism&#34;&gt;Mozilla Prism&lt;/a&gt;, along with some coverage of new things in Firefox 3. Which reminds me that I need to blog more about Prism.&lt;/p&gt;&#xA;&lt;p&gt;For those that don&amp;rsquo;t know, FOSDEM sets aside &lt;a href=&#34;http://fosdem.org/2008/schedule/devrooms&#34;&gt;rooms&lt;/a&gt; for some Open Source projects to use during the conference. There is a &lt;a href=&#34;http://fosdem.org/2008/schedule/devroom/mozilla&#34;&gt;Mozilla room&lt;/a&gt; where people can get together and talk about all things Mozilla for 2 days. One of the sessions (or workshops) we could do in the Mozilla room is a &amp;ldquo;Updating Extensions to Firefox 3&amp;rdquo; or &amp;ldquo;What&amp;rsquo;s New for XUL Applications&amp;rdquo; or even some &amp;ldquo;How Do I Do &amp;hellip; &amp;ldquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Developers - Firefox 3 is Coming!</title>
      <link>https://starkravingfinkle.org/posts/2008/01/extension-developers-firefox-3-is-coming/</link>
      <pubDate>Fri, 04 Jan 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/01/extension-developers-firefox-3-is-coming/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Do you or someone you know write extensions for Firefox?&lt;/strong&gt; Yeah, its pretty easy to do, adds cool enhancements to Firefox and a great way to get stinking rich.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Did you hear Firefox 3 is in beta release?&lt;/strong&gt; There are a ton of new features and lots of work on the internals. Definitely worth trying out.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Have you tried to install your extension in Firefox 3 yet?&lt;/strong&gt; What! Why not? Don&amp;rsquo;t you realize that other Firefox 3 beta users are trying to use your extension and are cursing you cause you haven&amp;rsquo;t taken the time to update it yet?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Ok, so the sky isn&amp;rsquo;t falling yet, but now is a great time for extension developers to get those extensions updated to Firefox 3. The crew at &lt;a href=&#34;http://addons.mozilla.org&#34;&gt;addons.mozilla.org&lt;/a&gt; have a bit of &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/blog/4&#34;&gt;information&lt;/a&gt; concerning the update for extensions hosted there. The &lt;a href=&#34;http://developer.mozilla.org&#34;&gt;Mozilla Developer Center&lt;/a&gt; has a page dedicated to the &lt;a href=&#34;http://developer.mozilla.org/en/docs/Firefox_3_for_developers&#34;&gt;new features and changes&lt;/a&gt; in Firefox 3.&lt;/p&gt;</description>
    </item>
    <item>
      <title>JavaScript Code Modules</title>
      <link>https://starkravingfinkle.org/posts/2008/01/javascript-code-modules/</link>
      <pubDate>Wed, 02 Jan 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/01/javascript-code-modules/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/XPCOM&#34;&gt;XPCOM&lt;/a&gt; - It&amp;rsquo;s a place most XUL application and extension developers would rather avoid. There are times when XPCOM components are needed and developers have to bite-the-bullet. A few examples are &lt;a href=&#34;http://developer.mozilla.org/en/docs/Chrome:_Command_Line&#34;&gt;commandline handlers&lt;/a&gt;, &lt;a href=&#34;http://developer.mozilla.org/en/docs/How_to_implement_custom_autocomplete_search_component&#34;&gt;autocomplete implementations&lt;/a&gt; and the new &lt;a href=&#34;http://developer.mozilla.org/en/docs/How_to_implement_a_custom_XUL_query_processor_component&#34;&gt;custom query processors&lt;/a&gt; for XUL templates. If you&amp;rsquo;re lucky, you can use &lt;a href=&#34;http://developer.mozilla.org/en/docs/How_to_Build_an_XPCOM_Component_in_Javascript&#34;&gt;JavaScript to implement the XPCOM component&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Another very common use case in extensions is sharing data across browser windows. Technically, a JavaScript XPCOM component is &lt;a href=&#34;http://developer.mozilla.org/en/docs/Working_with_windows_in_chrome_code#Using_an_XPCOM_singleton_component&#34;&gt;the right way&lt;/a&gt; to go. But yeah, it&amp;rsquo;s XPCOM.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Datasources for XUL Templating [Part 3]</title>
      <link>https://starkravingfinkle.org/posts/2008/01/new-datasources-for-xul-templating-part-3/</link>
      <pubDate>Wed, 02 Jan 2008 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2008/01/new-datasources-for-xul-templating-part-3/</guid>
      <description>&lt;p&gt;I have talked a bit about the new built-in datasources (&lt;a href=&#34;https://starkravingfinkle.org/posts/2007/07/new-datasources-for-xul-templating/&#34;&gt;XML&lt;/a&gt; and &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/11/new-datasources-for-xul-templating-part-2/&#34;&gt;SQL&lt;/a&gt;) developers can use with XUL templating (&lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL:Template_Guide&#34;&gt;guide&lt;/a&gt; and &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Tutorial:Templates&#34;&gt;tutorial&lt;/a&gt;). I wanted to wrapup my little foray into XUL template datasources by also talking about custom datasources.&lt;/p&gt;&#xA;&lt;p&gt;A generic framework for adding any kind of datasource (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=321170&#34;&gt;bug 321170&lt;/a&gt;) was created as part of the work to make the new XML and SQL datasources. Creating a custom datasource involves implementing 2 new XPCOM interfaces: &lt;a href=&#34;http://mxr.mozilla.org/seamonkey/source/content/xul/templates/public/nsIXULTemplateQueryProcessor.idl&#34;&gt;nsIXULTemplateQueryProcessor&lt;/a&gt; and &lt;a href=&#34;http://mxr.mozilla.org/seamonkey/source/content/xul/templates/public/nsIXULTemplateResult.idl&#34;&gt;nsIXULTemplateResult&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Keeping an Eye on Plugins</title>
      <link>https://starkravingfinkle.org/posts/2007/12/keeping-an-eye-on-plugins/</link>
      <pubDate>Fri, 14 Dec 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/12/keeping-an-eye-on-plugins/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve said it before, I&amp;rsquo;ll say it again - Seneca Rocks! For those of you that don&amp;rsquo;t know, &lt;a href=&#34;http://senecac.on.ca/&#34;&gt;Seneca College&lt;/a&gt; in Toronto (Seneca @ York specifically) has a &lt;a href=&#34;http://zenit.senecac.on.ca/wiki/index.php/Main_Page&#34;&gt;program&lt;/a&gt; where students work with Mozilla technology during the semester. They learn to build big projects like Firefox and Thunderbird, learn about the underlying frameworks, customize the source code and make their own extensions. They also get to participate in the project itself - &lt;a href=&#34;http://www.bitstampede.com/2007/12/06/i/&#34;&gt;working on documentation&lt;/a&gt;, interacting with other project members and even helping other developers get into Mozilla. Its a great thing to see in action.&lt;/p&gt;</description>
    </item>
    <item>
      <title>I Call Shenanigans!</title>
      <link>https://starkravingfinkle.org/posts/2007/11/i-call-shenanigans/</link>
      <pubDate>Fri, 30 Nov 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/11/i-call-shenanigans/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://zoho.com&#34;&gt;Zoho&amp;rsquo;s&lt;/a&gt; recent &lt;a href=&#34;http://blogs.zoho.com/general/ask-zoho-why-ajax-why-not-flash/&#34;&gt;blog post&lt;/a&gt; about why they used JavaScript and not Flash when building their offline version of Zoho Writer has led to some interesting but somewhat predictable responses [&lt;a href=&#34;http://weblogs.macromedia.com/jd/archives/2007/11/zoho_flash.cfm&#34;&gt;1&lt;/a&gt;] &amp;amp; [&lt;a href=&#34;http://www.itwriting.com/blog/?p=426&#34;&gt;2&lt;/a&gt;]. I could have fallen into a predictable (but not necessarily interesting) response myself, but didn&amp;rsquo;t. Until I saw Ryan Stewart &lt;a href=&#34;http://blog.digitalbackcountry.com/?p=1172&#34;&gt;post&lt;/a&gt; the following:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;I don&amp;rsquo;t think it&amp;rsquo;s an accident that Zoho and Buzzword have such different design goals or that Flex applications generally tend to look more sophisticated than Ajax applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Animating with Canvas</title>
      <link>https://starkravingfinkle.org/posts/2007/11/animating-with-canvas/</link>
      <pubDate>Tue, 27 Nov 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/11/animating-with-canvas/</guid>
      <description>&lt;p&gt;has been supported on most browsers (and emulated on others) for a while now. Web developers have done some pretty cool stuff with- from niffty &lt;a href=&#34;http://cow.neondragon.net/stuff/reflection/&#34;&gt;reflections&lt;/a&gt; to very cool charting [&lt;a href=&#34;http://www.liquidx.net/plotkit/&#34;&gt;1&lt;/a&gt;] &amp;amp; [&lt;a href=&#34;http://simile.mit.edu/timeplot/&#34;&gt;2&lt;/a&gt;] to &lt;a href=&#34;http://greghoustondesign.com/demos/mocha/&#34;&gt;UIs&lt;/a&gt;. Recently, I have noticed a few examples of usingto create animations. The results are pretty amazing and don&amp;rsquo;t seem to kill my CPU in the process:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;John Resig&amp;rsquo;s processing demos [&lt;a href=&#34;http://ejohn.org/blog/sneak-peek/&#34;&gt;1&lt;/a&gt;] &amp;amp; [&lt;a href=&#34;http://ejohn.org/blog/sneaky-2/&#34;&gt;2&lt;/a&gt;] (I hope these get published soon)&lt;/li&gt;&#xA;&lt;li&gt;Canvas Animation Kit Experiment [&lt;a href=&#34;http://fhtr.blogspot.com/2007/11/canvas-animation-kit-experiment.html&#34;&gt;blog&lt;/a&gt;] &amp;amp; [&lt;a href=&#34;http://glimr.rubyforge.org/cake/canvas.html&#34;&gt;demo&lt;/a&gt;]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;And now we are getting 3D canvas too (&lt;a href=&#34;http://blog.vlad1.com/2007/11/26/canvas-3d-gl-power-web-style/&#34;&gt;Firefox&lt;/a&gt; and &lt;a href=&#34;http://my.opera.com/timjoh/blog/2007/11/13/taking-the-canvas-to-another-dimension&#34;&gt;Opera&lt;/a&gt;). Sweet.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Datasources for XUL Templating [Part 2]</title>
      <link>https://starkravingfinkle.org/posts/2007/11/new-datasources-for-xul-templating-part-2/</link>
      <pubDate>Tue, 27 Nov 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/11/new-datasources-for-xul-templating-part-2/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL&#34;&gt;XUL&lt;/a&gt;, the XML-based UI language used in Mozilla products, has supported &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Tutorial:Templates&#34;&gt;templating&lt;/a&gt; for a while now. Unfortunately, the only datasources you could use to drive the templates were RDF-based datasources. This has been a hurdle for some, including me, to really dive into XUL templates.&lt;/p&gt;&#xA;&lt;p&gt;Back in July, I &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/07/new-datasources-for-xul-templating/&#34;&gt;posted&lt;/a&gt; about support for using XML datasources with XUL templates. Recently, Laurent Jouanneau and Neil Deakin &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=321172&#34;&gt;landed&lt;/a&gt; support for using SQLite-based (mozStorage) datasources. The SQL templates are a little harder to test/demo than the XML ones, but you can get a demo working fairly easily using &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Explorer#Installs&#34;&gt;XUL Explorer&lt;/a&gt; (use 0.8 just to be safe).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on STEEL - A Convenience JS Library for Thunderbird</title>
      <link>https://starkravingfinkle.org/posts/2007/11/thoughts-on-steel-a-convenience-js-library-for-thunderbird/</link>
      <pubDate>Tue, 27 Nov 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/11/thoughts-on-steel-a-convenience-js-library-for-thunderbird/</guid>
      <description>&lt;p&gt;Joey Minta has put together some &lt;a href=&#34;http://wiki.mozilla.org/User:Jminta/Steel&#34;&gt;API ideas&lt;/a&gt; for &lt;a href=&#34;http://groups.google.com/group/mozilla.dev.apps.thunderbird/browse_frm/thread/e62bdf382a7f2879&#34;&gt;STEEL&lt;/a&gt;, a &lt;a href=&#34;http://developer.mozilla.org/en/docs/FUEL&#34;&gt;FUEL&lt;/a&gt;-like library for Thunderbird. I share &lt;a href=&#34;http://ascher.ca/blog/2007/11/27/request-for-comments-for-thunderbirds-fuel-equivalent-steel/&#34;&gt;David Ascher&amp;rsquo;s&lt;/a&gt; feelings that such a library would be a fantastic way to simplify Thunderbird extension development and get more people building Thunderbird extensions.&lt;/p&gt;&#xA;&lt;p&gt;Personally, I&amp;rsquo;d like to see if we could move some &lt;a href=&#34;http://wiki.mozilla.org/User:Jminta/Steel#FUEL_Interfaces&#34;&gt;FUEL interfaces&lt;/a&gt; into the toolkit level instead of duplicating the code for each application. Also, we could look at making a simple, general base interface for some things (like Window) and then override the base interface as needed (think BrowserWindow and MailWindow).&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Explorer - 0.8 Sneaks Out</title>
      <link>https://starkravingfinkle.org/posts/2007/11/xul-explorer-08-sneaks-out/</link>
      <pubDate>Sun, 25 Nov 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/11/xul-explorer-08-sneaks-out/</guid>
      <description>&lt;p&gt;Yeah, its been awhile since I released &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/08/xul-explorer-07/&#34;&gt;XUL Explorer 0.7&lt;/a&gt; and at the time there was a bad editor bug in Mozilla trunk, so I released using an older version of XULRunner. However, the bug has been fixed, so I made some small tweaks &amp;amp; fixes and will release &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Explorer#Installs&#34;&gt;XUL Explorer 0.8&lt;/a&gt; using a XULRunner 1.9b2 pre-release.&lt;/p&gt;&#xA;&lt;p&gt;Besides the editor bug fix, I wanted to use XUL Explorer to demo some of the new features that landed, including the cool new XML and SQL based XUL templates.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prism Tricks #1</title>
      <link>https://starkravingfinkle.org/posts/2007/11/prism-tricks-1/</link>
      <pubDate>Wed, 07 Nov 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/11/prism-tricks-1/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a simple way to extend a web application with &lt;a href=&#34;http://wiki.mozilla.org/Prism&#34;&gt;Prism&lt;/a&gt;: Create a simple mashup by adding a sidebar.&lt;/p&gt;&#xA;&lt;p&gt;Prism supports a simple sidebar that can display a secondary web application. Just enable the sidebar in the &lt;a href=&#34;http://wiki.mozilla.org/Prism/Config&#34;&gt;configuration&lt;/a&gt; and load content into the sidebar using some &lt;a href=&#34;http://wiki.mozilla.org/Prism/Scripting&#34;&gt;scripting&lt;/a&gt;. Here&amp;rsquo;s the example:&lt;/p&gt;&#xA;&lt;h2 id=&#34;webappini&#34;&gt;webapp.ini&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;[Parameters]&#xA;id=sidebar.test@prism.app&#xA;uri=https://docs.google.com&#xA;sidebar=yes&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;webappjs&#34;&gt;webapp.js&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;function startup() {&#xA;  host.sidebar.add(&amp;#34;Chat&amp;#34;, &amp;#34;http://talkgadget.google.com/talkgadget/popout&amp;#34;);&#xA;  host.sidebar.visible = true;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Take those to files and make a &lt;a href=&#34;http://wiki.mozilla.org/Prism/Bundle&#34;&gt;bundle&lt;/a&gt;, name it sidebar.webapp and open it using Prism. On Windows and Mac, you should be able to double-click the webapp bundle. On Linux (or from a terminal) use: &lt;code&gt;prism -webapp [path-to-bundle]&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prism 0.8 - Now for Mac &amp; Linux</title>
      <link>https://starkravingfinkle.org/posts/2007/11/prism-08-now-for-mac-linux/</link>
      <pubDate>Sat, 03 Nov 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/11/prism-08-now-for-mac-linux/</guid>
      <description>&lt;p&gt;Over at Mozilla Labs, we&amp;rsquo;ve released &lt;a href=&#34;http://labs.mozilla.com/2007/11/prism-prototype-now-available-on-mac-and-linux/&#34;&gt;Prism 0.8 for Mac and Linux&lt;/a&gt;. We also took the opportunity to release a refreshed &lt;strong&gt;Prism 0.8 for Windows&lt;/strong&gt; too. Why? you may ask. While getting the Mac and Linux versions ready, we received lots of feedback and bug reports from users. We were able to fix a few of the painful bugs, so a refreshed Windows release seemed appropriate. Some of the fixes include:&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenKomodo is Open for Business</title>
      <link>https://starkravingfinkle.org/posts/2007/11/openkomodo-is-open-for-business/</link>
      <pubDate>Fri, 02 Nov 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/11/openkomodo-is-open-for-business/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://activestate.com&#34;&gt;ActiveState&lt;/a&gt; is ready to start rocking the &lt;a href=&#34;http://openkomodo.com&#34;&gt;OpenKomodo&lt;/a&gt; project. They have everything ready to go:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The &lt;a href=&#34;http://wiki.openkomodo.com/&#34;&gt;Wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SVN &lt;a href=&#34;http://svn.openkomodo.com/openkomodo&#34;&gt;source code repo&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;OpenGrok &lt;a href=&#34;http://grok.openkomodo.com/source/xref/&#34;&gt;source browser&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://bugs.activestate.com/&#34;&gt;Bug tracker&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;All they need now is &lt;strong&gt;YOU!&lt;/strong&gt; Head over and &lt;a href=&#34;http://www.openkomodo.com/participate&#34;&gt;get involved&lt;/a&gt;. You can also start thinking about &lt;a href=&#34;http://www.openkomodo.com/snapdragon&#34;&gt;SnapDragon&lt;/a&gt;, the full-featured web development tool integrated with Firefox:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Komodo Snapdragon is an idea, a desire, a mission! Web development with Firefox benefits from excellent developer tools such as Firebug, but it needs more. We invite you to help define the future of Komodo Snapdragon. Join the Open Komodo community today and help shape the future!&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebRunner becomes Prism - A Mozilla Labs Project</title>
      <link>https://starkravingfinkle.org/posts/2007/10/webrunner-becomes-prism-a-mozilla-labs-project/</link>
      <pubDate>Fri, 26 Oct 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/10/webrunner-becomes-prism-a-mozilla-labs-project/</guid>
      <description>&lt;p&gt;Today, &lt;a href=&#34;http://wiki.mozilla.org/WebRunner&#34;&gt;WebRunner&lt;/a&gt; is becoming a &lt;a href=&#34;http://labs.mozilla.com/2007/10/prism/&#34;&gt;Mozilla Labs project&lt;/a&gt;. We are also rebranding WebRunner as Prism, see the announcement for more details. &lt;a href=&#34;http://blog.mozilla.com/faaborg/&#34;&gt;Alex Faaborg&lt;/a&gt; also has a &lt;a href=&#34;http://blog.mozilla.com/faaborg/2007/10/24/prism/&#34;&gt;post&lt;/a&gt; covering some of the user experience goals for Prism. Mozilla Labs gives us access to a &lt;a href=&#34;https://labs.mozilla.com/forum/index.php/board,16.0.html&#34;&gt;user feedback forum&lt;/a&gt;, support infrastructure and some great resources for planning, designing and implementing features.&lt;/p&gt;&#xA;&lt;p&gt;In addition to the name change, there are some technical changes that might affect current WebRunner users:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Seneca &amp; Extensions</title>
      <link>https://starkravingfinkle.org/posts/2007/10/seneca-extensions/</link>
      <pubDate>Sat, 20 Oct 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/10/seneca-extensions/</guid>
      <description>&lt;p&gt;Yesterday, I did my best to convince a bunch of smart, young developers that I was an expert at building extensions for Mozilla applications. It must have worked, they didn&amp;rsquo;t heckle me out of the room. Seneca&amp;rsquo;s &lt;a href=&#34;http://vocamus.net/dave&#34;&gt;Dave Humphrey&lt;/a&gt; and &lt;a href=&#34;http://blog.chris.tylers.info/&#34;&gt;Chris Tyler&lt;/a&gt; have a great group of students working on Mozilla (and other Open Source) projects. I have been impressed with the types of projects the Seneca students completed in the past. This group of students and projects are just as impressive. I got a chance to talk to a few students after the &lt;a href=&#34;http://starkravingfinkle.org/presentations/finkle-extensions-seneca2007.htm&#34;&gt;presentation&lt;/a&gt; and hope to continue working with the group via IRC or anytime I happen to be at Seneca (&lt;a href=&#34;https://starkravingfinkle.org/posts/2007/10/fsoss-workshops-and-webrunner/&#34;&gt;like next week&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebRunner &amp; App Styling</title>
      <link>https://starkravingfinkle.org/posts/2007/10/webrunner-app-styling/</link>
      <pubDate>Sat, 20 Oct 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/10/webrunner-app-styling/</guid>
      <description>&lt;p&gt;One new feature we added to &lt;a href=&#34;http://wiki.mozilla.org/WebRunner&#34;&gt;WebRunner&lt;/a&gt; is web application styling or theming. You can drop a &amp;ldquo;webapp.css&amp;rdquo; file in the &lt;a href=&#34;http://wiki.mozilla.org/WebRunner:Bundle&#34;&gt;bundle&lt;/a&gt; and it will be applied to the hosted web application. You can also use platform-specific folders in the bundle to apply specific CSS based on the current platform (Windows, Mac or Linux). We&amp;rsquo;ll put more details up on the wiki when the feature is released. In the meantime, here is a screenshot of Google Reader hosted in WebRunner, running on Mac, using &lt;a href=&#34;http://www.hicksdesign.co.uk/journal/greader-13-straight-outta-beta-release&#34;&gt;Jon Hicks&amp;rsquo;&lt;/a&gt; excellent CSS theme.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebRunner Followup</title>
      <link>https://starkravingfinkle.org/posts/2007/10/webrunner-followup/</link>
      <pubDate>Fri, 12 Oct 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/10/webrunner-followup/</guid>
      <description>&lt;p&gt;Its been just over 2 weeks since we released &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/09/webrunner-07-new-and-improved/&#34;&gt;WebRunner 0.7&lt;/a&gt; and lots of people have tried it out (over 6500 downloads). We have been following blog posts, articles and comments to gather as much feedback as possible. Thanks for everyone who has taken the time to try &lt;a href=&#34;http://wiki.mozilla.org/WebRunner&#34;&gt;WebRunner&lt;/a&gt;. Even more thanks to those who gave us feedback or made your own &lt;a href=&#34;http://wiki.mozilla.org/WebRunner#Web_Application_Bundles&#34;&gt;webapp bundles&lt;/a&gt;. Here&amp;rsquo;s a summary of what we learned:&lt;/p&gt;&#xA;&lt;h2 id=&#34;some-faqs&#34;&gt;Some FAQs&lt;/h2&gt;&#xA;&lt;p&gt;We received lots of feedback in comments and from blog posts. Here are some of the recurring issues:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 3 - Plays Well With Others</title>
      <link>https://starkravingfinkle.org/posts/2007/10/firefox-3-plays-well-with-others/</link>
      <pubDate>Wed, 10 Oct 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/10/firefox-3-plays-well-with-others/</guid>
      <description>&lt;p&gt;Mozilla endeavors to promote open standards, while at the same time, create a better Web, even if it means using the &amp;ldquo;other guys&amp;rdquo; specifications and DOM extensions. Here is a summary of features added to Firefox 3 (Gecko 1.9) that either implement a good open specification or someone else&amp;rsquo;s DOM extensions - for the betterment of the Web:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;WHATWG Web Applications&lt;/strong&gt; (&lt;a href=&#34;http://www.whatwg.org/specs/web-apps/current-work/&#34;&gt;link&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Experimental &lt;a href=&#34;http://developer.mozilla.org/en/docs/HTML:Element:a&#34;&gt;&lt;/a&gt;support (&lt;a href=&#34;http://whatwg.org/specs/web-apps/current-work/#transform&#34;&gt;bug 319368&lt;/a&gt;, &lt;a href=&#34;http://www.whatwg.org/specs/web-apps/current-work/#ping&#34;&gt;current spec&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;You can now register web applications as protocol handlers using the &lt;code&gt;navigator.registerProtocolHandler()&lt;/code&gt; method.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/Online_and_offline_events&#34;&gt;Online and offline events&lt;/a&gt; are now supported, allowing applications and extensions to detect whether there&amp;rsquo;s an active Internet connection available or not. See &lt;a href=&#34;http://developer.mozilla.org/en/docs/DOM:window.navigator.onLine&#34;&gt;navigator.onLine&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&#34;http://developer.mozilla.org/en/docs/DOM:document.getElementsByClassName&#34;&gt;&lt;code&gt;getElementsByClassName()&lt;/code&gt;&lt;/a&gt; DOM method is now supported (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=357450&#34;&gt;bug 357450&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;element &lt;code&gt;transform()&lt;/code&gt; and &lt;code&gt;setTransform()&lt;/code&gt; methods support (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=365886&#34;&gt;bug 365886&lt;/a&gt;, &lt;a href=&#34;http://www.whatwg.org/specs/web-apps/current-work/#transformations&#34;&gt;current spec&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;contentEditable&lt;/code&gt; support (&lt;a href=&#34;http://www.whatwg.org/specs/web-apps/current-work/#contenteditable1&#34;&gt;current spec&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Drag and Drop events are now supported (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=375681&#34;&gt;bug 375681&lt;/a&gt;). Whoops, not quite yet! (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=356295&#34;&gt;bug 356295&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Focus management APIs (&lt;code&gt;activeElement&lt;/code&gt; &amp;amp; &lt;code&gt;hasFocus&lt;/code&gt;) are now supported (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=337631&#34;&gt;bug 337631&lt;/a&gt;, &lt;a href=&#34;http://www.whatwg.org/specs/web-apps/current-work/#focus-management&#34;&gt;current spec&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Offline resources is in progress (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=367447&#34;&gt;bug 367447&lt;/a&gt; and dependencies, &lt;a href=&#34;http://www.campd.org/stuff/Offline%20Cache.html&#34;&gt;current spec&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Internet Explorer DOM Extensions&lt;/strong&gt; (&lt;a href=&#34;http://msdn2.microsoft.com/en-us/library/ms533050.aspx&#34;&gt;link&lt;/a&gt;)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Of RIA, Open Web and Plugins</title>
      <link>https://starkravingfinkle.org/posts/2007/10/of-ria-open-web-and-plugins/</link>
      <pubDate>Wed, 10 Oct 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/10/of-ria-open-web-and-plugins/</guid>
      <description>&lt;p&gt;Adobe&amp;rsquo;s &lt;a href=&#34;http://blog.digitalbackcountry.com&#34;&gt;Ryan Stewart&lt;/a&gt; has a &lt;a href=&#34;http://blog.digitalbackcountry.com/?p=1072&#34;&gt;post&lt;/a&gt; on the friction between Open Web advocates and &amp;ldquo;RIA vendors&amp;rdquo;. I think Ryan does a good job describing the work being done at Adobe (and Microsoft) to become active in a larger ecosystem, namely open source and cross-platform. There are a couple bits I want to respond (emphasis mine):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;I think it&amp;rsquo;s indicative of wider problems between the &amp;ldquo;open web&amp;rdquo; and &lt;strong&gt;RIA vendors&lt;/strong&gt;. The basic issue is that everyone&amp;rsquo;s too combative. I wish more open web people would look at what both Microsoft and Adobe are doing and see that all in all, the &lt;strong&gt;RIA solutions are becoming more open&lt;/strong&gt;, not less. In fact, I&amp;rsquo;d argue that &lt;strong&gt;RIAs&lt;/strong&gt; have moved the entire web in a more open direction.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FSOSS, Workshops and WebRunner</title>
      <link>https://starkravingfinkle.org/posts/2007/10/fsoss-workshops-and-webrunner/</link>
      <pubDate>Wed, 03 Oct 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/10/fsoss-workshops-and-webrunner/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ll be taking part in the &lt;a href=&#34;http://fsoss.senecac.on.ca/2007/&#34;&gt;Free Software and Open Source Symposium&lt;/a&gt; (FSOSS) hosted at Seneca College. In addition to the &lt;a href=&#34;http://fsoss.senecac.on.ca/2007/agenda.php&#34;&gt;symposium tracks&lt;/a&gt;, there is also a set of &lt;a href=&#34;http://fsoss.senecac.on.ca/2007/workshop.php&#34;&gt;workshops&lt;/a&gt;. Checkout the various &lt;a href=&#34;http://fsoss.senecac.on.ca/2007/speakers.php&#34;&gt;speakers&lt;/a&gt; and topics. There&amp;rsquo;s lots of good stuff going on. Seneca&amp;rsquo;s deep involvement with open source has always impressed me.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://cesarmoco.wordpress.com/&#34;&gt;Cesar&lt;/a&gt; and I will be doing a &lt;a href=&#34;http://fsoss.senecac.on.ca/2007/presentationDetails.php?presentationID=92&#34;&gt;workshop&lt;/a&gt; on desktop-enabling web applications. No surprise, we&amp;rsquo;ll be using &lt;a href=&#34;http://wiki.mozilla.org/WebRunner&#34;&gt;WebRunner&lt;/a&gt; to desktop-enable some webapps. We&amp;rsquo;ll try to make it interesting by using webapp scripts and styles to add some new behaviors and look &amp;amp; feel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>APNG New and Notable</title>
      <link>https://starkravingfinkle.org/posts/2007/09/apng-new-and-notable/</link>
      <pubDate>Fri, 28 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/09/apng-new-and-notable/</guid>
      <description>&lt;p&gt;I have been meaning to post this for a while now, so its kinda old news. The &lt;a href=&#34;http://wiki.mozilla.org/APNG_Specification&#34;&gt;APNG format&lt;/a&gt; for animated PNG images is currently available in Firefox 3 alpha releases. I saw that the latest &lt;a href=&#34;http://my.opera.com/desktopteam/blog/2007/09/14/opera-9-5-build&#34;&gt;Opera 9.5 alpha releases&lt;/a&gt; also support APNG (look under &lt;strong&gt;Other Changes&lt;/strong&gt;). I am glad to see support for the new format getting some traction.&lt;/p&gt;&#xA;&lt;p&gt;I also came across an neat variation on &lt;a href=&#34;http://labs.mozilla.com/2007/08/better-animations-in-firefox-3/&#34;&gt;Justin Dolske&amp;rsquo;s APNG&lt;/a&gt; image &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/5519&#34;&gt;editor extension&lt;/a&gt;. &lt;a href=&#34;http://www.treebuilder.de/default.asp?file=start.xml&#34;&gt;Holger Will&lt;/a&gt; created an &lt;a href=&#34;http://www.treebuilder.de/default.asp?file=660000.xml&#34;&gt;editor&lt;/a&gt; that uses SVG (&amp;amp; SMIL) to create APNG images. Updated information &lt;a href=&#34;http://www.treebuilder.de/default.asp?file=128826.xml&#34;&gt;here&lt;/a&gt;. SVG paired with SMIL-based animations can produce some very good animated PNGs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebRunner 0.7 - New and Improved</title>
      <link>https://starkravingfinkle.org/posts/2007/09/webrunner-07-new-and-improved/</link>
      <pubDate>Wed, 26 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/09/webrunner-07-new-and-improved/</guid>
      <description>&lt;p&gt;After much fooling around, &lt;a href=&#34;http://wiki.mozilla.org/WebRunner&#34;&gt;WebRunner 0.7&lt;/a&gt; is ready to release. This release has some small changes and some big changes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;small-changes&#34;&gt;Small Changes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The WebRunner command menu has been removed from the context menu and is now on a statusbar button menu. The commands had nothing to do with the web application content, so the context menu was a bad spot for the commands. See &lt;a href=&#34;http://wiki.mozilla.org/WebRunner:HostWindow&#34;&gt;WebRunner:HostWindow&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;The statusbar is no longer allowed to be hidden. The status messages and progress meter, used during a page load, can still be hidden using the status config parameter. The statusbar is where the SSL lock information is displayed and we feel its important enough to always be displayed. See &lt;a href=&#34;http://wiki.mozilla.org/WebRunner:HostWindow&#34;&gt;WebRunner:HostWindow&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;big-changes&#34;&gt;Big Changes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The simple INI webapp file used to configure the web application has been changed to a zipped archive. The configuration file is now inside the archive. Also, inside the archive are the window and desktop icons associated with the web application. In addition, an optional script file can be placed in the archive and used to tweak the WebRunner chrome window for the given web application. See &lt;a href=&#34;http://wiki.mozilla.org/WebRunner:Bundle&#34;&gt;WebRunner:Bundle&lt;/a&gt;, &lt;a href=&#34;http://wiki.mozilla.org/WebRunner:Config&#34;&gt;WebRunner:Config&lt;/a&gt; and &lt;a href=&#34;http://wiki.mozilla.org/WebRunner:Scripting&#34;&gt;WebRunner:Scripting&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;The WebRunner host window now has an optional Sidebar component which can be enabled using the configuration file and initialized via the webapp script. See &lt;a href=&#34;http://wiki.mozilla.org/WebRunner:Config&#34;&gt;WebRunner:Config&lt;/a&gt; and &lt;a href=&#34;http://wiki.mozilla.org/WebRunner:Scripting&#34;&gt;WebRunner:Scripting&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;WebRunner now installs web applications into its profile/webapps folder. Any web application launched via a webapp bundle (the zip archive) and has an ID (new configuration parameter) will be unpacked into the profile/webapps folder. Afterward, you no longer need the webapp bundle and you can launch the web application using the installed copy. See &lt;a href=&#34;http://wiki.mozilla.org/WebRunner:Bundle&#34;&gt;WebRunner:Bundle&lt;/a&gt; and &lt;a href=&#34;http://wiki.mozilla.org/WebRunner:Config&#34;&gt;WebRunner:Config&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;WebRunner can create a shortcut to an installed web application on your desktop. The shortcut uses the web application icon. On Windows, a normal shortcut .lnk file is created . On Linux, a .desktop file is made using the web application icon. On OS X, an application bundle stub will be created (not implemented on OS X yet, sorry). We will get this working on OS X ASAP.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Installs for Windows, Linux and Mac can be found &lt;a href=&#34;http://wiki.mozilla.org/WebRunner#Installs&#34;&gt;here&lt;/a&gt;. You can also find some example webapp bundles there too. The GMail bundle has an example webapp script that watches for new mail and displays a popup notification if any new mail arrives. I also added new webapp bundles for Facebook and Twitter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello JS-CTYPES, Goodbye Binary Components</title>
      <link>https://starkravingfinkle.org/posts/2007/09/hello-js-ctypes-goodbye-binary-components/</link>
      <pubDate>Sat, 22 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/09/hello-js-ctypes-goodbye-binary-components/</guid>
      <description>&lt;p&gt;I have been working on a small project that ports &lt;a href=&#34;http://docs.python.org/lib/module-ctypes.html&#34;&gt;Python&amp;rsquo;s ctypes&lt;/a&gt; functionality to Mozilla&amp;rsquo;s &lt;a href=&#34;http://developer.mozilla.org/en/docs/XPCOM&#34;&gt;XPCOM&lt;/a&gt; system. For those unfamiliar with ctypes, its a &lt;a href=&#34;http://www.python.org/&#34;&gt;Python&lt;/a&gt; module that allows developers to declare and call exported methods from binary/shared libraries. Developers can then wrap these binary calls in pure Python.&lt;/p&gt;&#xA;&lt;p&gt;The JavaScript port, called js-ctypes, will give developers this same kind of functionality in Mozilla&amp;rsquo;s privileged JavaScript. The idea for the library came after helping many extension developers through the process of building binary (C++) XPCOM components. The story usually went something like this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Joel Spolsky and Weak Metaphors</title>
      <link>https://starkravingfinkle.org/posts/2007/09/joel-spolsky-and-weak-metaphors/</link>
      <pubDate>Thu, 20 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/09/joel-spolsky-and-weak-metaphors/</guid>
      <description>&lt;p&gt;Joel&amp;rsquo;s latest &lt;a href=&#34;http://www.joelonsoftware.com/items/2007/09/18.html&#34;&gt;strategy letter&lt;/a&gt; is a long-winded diatribe on the current state of browser-based application development. There is some good stuff in there, but some of the metaphors are really stretched and the comparisons between desktop and web-based applications is a bit broken. Joel seems to think that web-based applications should support the same kind of features as desktop applications. This line of thought can only go so far.&lt;/p&gt;&#xA;&lt;p&gt;For example, cut and paste between applications. I assume Joel wants to copy more than text from edit boxes and selected HTML from the page. No reason this couldn&amp;rsquo;t be done today (&lt;a href=&#34;http://www.liveclipboard.org/&#34;&gt;Live Clipboard&lt;/a&gt; anyone?) but doing so requires cooperation between the applications in question. The Web platform already supports it. And hey, the same kind of limits occur on desktop applications. Try pasting an Outlook contact into Quicken. On the Web right now, &lt;a href=&#34;http://microformats.org&#34;&gt;microformats&lt;/a&gt; and mashups provide functionality not easily possible in desktop applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CMU Career Fair</title>
      <link>https://starkravingfinkle.org/posts/2007/09/cmu-career-fair/</link>
      <pubDate>Mon, 17 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/09/cmu-career-fair/</guid>
      <description>&lt;p&gt;This week I am joining Mike Schroepfer and Dan Portillio at the Carnegie Mellon &lt;a href=&#34;http://swetietoc.pc.cc.cmu.edu/toc/2007/index.php&#34;&gt;career fair&lt;/a&gt;. Tuesday, September 18th 10:00 AM to 4:00 PM. We&amp;rsquo;ll be in booth 111.&lt;/p&gt;&#xA;&lt;p&gt;Maybe some previous CMU/Mozilla interns will be there giving testimonials. See you there.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software Freedom Day - Wrapup</title>
      <link>https://starkravingfinkle.org/posts/2007/09/software-freedom-day-wrapup/</link>
      <pubDate>Mon, 17 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/09/software-freedom-day-wrapup/</guid>
      <description>&lt;p&gt;Thanks to Douglas and the rest of the Carolina Open Source Initiative for putting on a great &lt;a href=&#34;http://www.softwarefreedomday.org/teams/northamerica/ChapelHill&#34;&gt;Software Freedom Day&lt;/a&gt; celebration at the University of North Carolina. There was a good bit of traffic through the event. We had plenty of people stop by our table.&lt;/p&gt;&#xA;&lt;p&gt;I enjoyed Pam Sessoms&amp;rsquo; presentation on using &lt;a href=&#34;http://pidgin.im&#34;&gt;Pidgin&lt;/a&gt; (&lt;a href=&#34;http://developer.pidgin.im/wiki/WhatIsLibpurple&#34;&gt;libpurple&lt;/a&gt;) and &lt;a href=&#34;http://jabber.org&#34;&gt;Jabber&lt;/a&gt; (XMPP) to allow multiple librarians to seamlessly answer questions from library patrons. There is also a feature that allows evening (after hours) questions to be routed between librarians at Duke and NCSU. I am a sucker for using off-the-shelf components to solve real problems.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software Freedom Day - Univ of North Carolina</title>
      <link>https://starkravingfinkle.org/posts/2007/09/software-freedom-day-univ-of-north-carolina/</link>
      <pubDate>Wed, 12 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/09/software-freedom-day-univ-of-north-carolina/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://blog.fligtar.com/&#34;&gt;Justin Scott&lt;/a&gt; and I are headed to UNC @ Chapel Hill for the Software Freedom Day &lt;a href=&#34;http://www.ibiblio.org/cosi/wiki/index.php/Main_Page&#34;&gt;festivities&lt;/a&gt; this Friday (9/14). We&amp;rsquo;ll be speaking about ways to get involved with the &lt;a href=&#34;http://www.mozilla.org&#34;&gt;Mozilla&lt;/a&gt; project. The Carolina Open Source Initiative (COSI) is sponsoring the &lt;a href=&#34;http://pebkac.homelinux.net/2007/09/11/software-freedom-day-this-friday-the-14th/&#34;&gt;event&lt;/a&gt;. There will be software demonstrations, gear and swag, free food and door prizes too.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SVG Bubble Menus</title>
      <link>https://starkravingfinkle.org/posts/2007/09/svg-bubble-menus/</link>
      <pubDate>Wed, 12 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/09/svg-bubble-menus/</guid>
      <description>&lt;p&gt;I was clickety-clicking my way around the Internet and came across the &lt;a href=&#34;http://www.connectedventures.com&#34;&gt;Connected Ventures&lt;/a&gt; website. The first thing that I noticed was the &amp;ldquo;bubble menu&amp;rdquo; system used on the site. Then I noticed it was written in Flash. Surely, I thought, SVG could be used to create bubble menus too.&lt;/p&gt;&#xA;&lt;p&gt;I got a prototype working without much trouble. Then, I refined it a bit. Here are the files: &lt;a href=&#34;http://starkravingfinkle.org/projects/demo/svg-bubblemenu-in-html.xml&#34;&gt;svg-bubblemenu-in-html.xml&lt;/a&gt; (demo) &lt;a href=&#34;http://starkravingfinkle.org/projects/demo/bubblemenu.js&#34;&gt;bubblemenu.js&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s a little slower than the Flash version, but that could be my inexperience with SVG. Feedback welcome.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ActiveState&#39;s Open Komodo Project</title>
      <link>https://starkravingfinkle.org/posts/2007/09/activestates-open-komodo-project/</link>
      <pubDate>Wed, 05 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/09/activestates-open-komodo-project/</guid>
      <description>&lt;p&gt;Today &lt;a href=&#34;http://www.activestate.com&#34;&gt;ActiveState&lt;/a&gt; announced the &lt;a href=&#34;http://www.activestate.com/openkomodo/&#34;&gt;Open Komodo Project&lt;/a&gt;, an initiative to create an open source platform for building developer environments. The &lt;a href=&#34;http://www.activestate.com/openkomodo/&#34;&gt;project overview&lt;/a&gt; has lots of information on the details. Here is a good summary:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Open Komodo is not a product, but rather a code base upon which Integrated Development Environment (IDE) software packages can be developed. ActiveState&amp;rsquo;s Komodo Edit (free but not open source multi-platform, multi-language editor) and Komodo IDE (multi-platform, multi-language IDE for dynamic languages and Ajax technologies IDE) are existing, mature products that will use the Open Komodo platform.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Developer Days - Prague?</title>
      <link>https://starkravingfinkle.org/posts/2007/09/developer-days-prague/</link>
      <pubDate>Wed, 05 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/09/developer-days-prague/</guid>
      <description>&lt;p&gt;There is a potential developer day forming in Prague (yes that &lt;a href=&#34;http://en.wikipedia.org/wiki/Prague&#34;&gt;Prague&lt;/a&gt;) for some time later this year. If you&amp;rsquo;re interested, check out the &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/OtherLocations#Prague.2C_Czech_Republic&#34;&gt;wiki entry&lt;/a&gt;. Add your name so we can get a feel for the interest level. Also, add some potential agenda items too.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Penelope (née Eudora) Beta Released</title>
      <link>https://starkravingfinkle.org/posts/2007/09/penelope-nee-eudora-beta-released/</link>
      <pubDate>Tue, 04 Sep 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/09/penelope-nee-eudora-beta-released/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wiki.mozilla.org/Penelope&#34;&gt;Penelope&lt;/a&gt;, the Eudora on Thunderbird project, has released its first &lt;a href=&#34;http://wiki.mozilla.org/Penelope_Releases&#34;&gt;BETA&lt;/a&gt;. From the README, it looks like they are making very good progress adding the &amp;ldquo;Eudora-isms&amp;rdquo; into Penelope. It will be interesting to see the feedback from long time Eudora users. Check it out.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebRunner as a Firefox Extension</title>
      <link>https://starkravingfinkle.org/posts/2007/08/webrunner-as-a-firefox-extension/</link>
      <pubDate>Fri, 24 Aug 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/08/webrunner-as-a-firefox-extension/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://cesarmoco.wordpress.com/&#34;&gt;Cesar&lt;/a&gt; has release an &lt;a href=&#34;http://cesarmoco.wordpress.com/2007/08/23/webrunner-in-the-works/&#34;&gt;alpha release&lt;/a&gt; of &lt;a href=&#34;http://wiki.mozilla.org/WebRunner&#34;&gt;WebRunner&lt;/a&gt; deployed as a Firefox extension and launched using &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/08/firefox-3-xul-application-runtime/&#34;&gt;Firefox as the runtime&lt;/a&gt;. That&amp;rsquo;s right, delivered using Firefox&amp;rsquo;s extension mechanism and launched using Firefox&amp;rsquo;s runtime. No &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt; needed for this deployment. It seems to work on Linux, but we need to make some changes for Windows and Mac. Also, check out some of the &lt;a href=&#34;http://wiki.mozilla.org/WebRunner:Planning&#34;&gt;WebRunner Planning&lt;/a&gt; discussion to see what ideas are being kicked around.&lt;/p&gt;&#xA;&lt;p&gt;As Cesar says, we think this is a possible direction for WebRunner. We could do more. We&amp;rsquo;re looking for feedback. We are still working on the standalone XULRunner version of WebRunner and should have a new release out soon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Explorer 0.7</title>
      <link>https://starkravingfinkle.org/posts/2007/08/xul-explorer-07/</link>
      <pubDate>Fri, 24 Aug 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/08/xul-explorer-07/</guid>
      <description>&lt;p&gt;I finally pulled enough pieces together to get the next &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Explorer&#34;&gt;XUL Explorer&lt;/a&gt; release ready. Most of the new features in XUL Explorer 0.7 came from contributors which is cool. New in this version:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Application and Extension project wizards have much better error handling and validation. The code was restructured so both wizards share a common base class. Thanks to Matt Crocker for the patch.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Users can add external manifest folders to XUL Explorer. This is a great help when previewing a XUL file that references external chrome folders. Previously, an erro message would display (missing DTDs) or the XUL wouldn&amp;rsquo;t style correctly (missing CSS). Now, users can add the manifest folders to XUL Explorer using the Options dialog and the external manifest files will be included when previewing so everything looks right. Thanks to John Marshall for the patch.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 3 - XUL Application Runtime</title>
      <link>https://starkravingfinkle.org/posts/2007/08/firefox-3-xul-application-runtime/</link>
      <pubDate>Thu, 23 Aug 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/08/firefox-3-xul-application-runtime/</guid>
      <description>&lt;p&gt;Ryan Paul posted an &lt;a href=&#34;http://arstechnica.com/journals/linux.ars/2007/08/21/using-firefox-3-as-a-xul-runtime-environment&#34;&gt;article&lt;/a&gt; on ArsTechnica that describes how Firefox 3 will be able to run XUL-based applications. Since the news is starting to &lt;a href=&#34;http://weblogs.mozillazine.org/weirdal/archives/018416.html&#34;&gt;spread&lt;/a&gt;, I thought I&amp;rsquo;d try to put some information out before the guesses and rumors start to fly. Ryan&amp;rsquo;s article describes the feature rather well.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;firefox -app application.ini&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Yes, this is different than anything previous versions Firefox could do with XUL. Firefox 2 (and earlier releases) could launch XUL windows using the &lt;code&gt;-chrome&lt;/code&gt; command line flag. Firefox 3 will be able to launch full blown XUL applications - running in their own separate processes and separate profiles. Up until now, &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt; was the only way to deploy XUL-based applications. Some relevant information:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resig on JavaScript Libraries</title>
      <link>https://starkravingfinkle.org/posts/2007/08/resig-on-javascript-libraries/</link>
      <pubDate>Tue, 21 Aug 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/08/resig-on-javascript-libraries/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://ejohn.org/blog/&#34;&gt;John Resig&lt;/a&gt; did a presentation at Google on &lt;a href=&#34;http://video.google.com/videoplay?docid=-474821803269194441&#34;&gt;Best Practices in Javascript Library Design&lt;/a&gt;. The presentation has some great information on creating solid libraries in JavaScript.&lt;/p&gt;&#xA;&lt;p&gt;Working with John on FUEL and just having access to him for other questions has been a great help in moving my JavaScript skills from &amp;ldquo;Huh, so thats how Object Prototypes work!&amp;rdquo; to the next level - &amp;ldquo;Thank God for closures!&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Comparing WebRunner and Adobe AIR</title>
      <link>https://starkravingfinkle.org/posts/2007/08/comparing-webrunner-and-adobe-air/</link>
      <pubDate>Sun, 12 Aug 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/08/comparing-webrunner-and-adobe-air/</guid>
      <description>&lt;p&gt;Okay, maybe my &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/08/if-by-web-enable-you-mean-desktop-enable-then-yes/&#34;&gt;tongue-in-cheek, roasting&lt;/a&gt; of &lt;a href=&#34;http://blog.digitalbackcountry.com/&#34;&gt;Ryan Stewart&lt;/a&gt; didn&amp;rsquo;t go over so well. But, at one point in the post/rant I mention working on a project called WebRunner that, IMO, is a competitor to &lt;a href=&#34;http://labs.adobe.com/technologies/air/&#34;&gt;Adobe AIR&lt;/a&gt;. I, unsurprisingly, feel that &lt;a href=&#34;http://wiki.mozilla.org/WebRunner&#34;&gt;WebRunner&lt;/a&gt; does a better job complementing the Web and is a better fit for web applications in general. Both systems allow developers to run rich internet applications (defined as you wish) on the desktop. That&amp;rsquo;s in itself is both novel and interesting to many developers. However, I think WebRunner and AIR are suited to slightly different applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>If By &#39;Web-Enable&#39; You Mean &#39;Desktop-Enable&#39;, Then Yes</title>
      <link>https://starkravingfinkle.org/posts/2007/08/if-by-web-enable-you-mean-desktop-enable-then-yes/</link>
      <pubDate>Sun, 12 Aug 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/08/if-by-web-enable-you-mean-desktop-enable-then-yes/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://blog.digitalbackcountry.com&#34;&gt;Ryan Stewart&lt;/a&gt; has made a critical blunder in his attempt to create a &lt;a href=&#34;http://blog.digitalbackcountry.com/?p=989&#34;&gt;Kawasaki-esque mantra&lt;/a&gt; for Adobe STEAM. This blunder will likely cause the failure of Adobe MIST and the eventual collapse of Adobe itself. I give you Stewart&amp;rsquo;s mantra:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Web-Enabled Desktop Development&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Clearly, the man has lost his senses. Such bright promise - a pity really. Web enabling a desktop application is like embedding MSHTML in your MFC application and if this is Mr. Stewart&amp;rsquo;s vision of the future, perhaps they need to keep some windows open on the &lt;a href=&#34;http://onair.adobe.com/&#34;&gt;bus&lt;/a&gt;. I have been working tirelessly (not really) on a concept called &lt;a href=&#34;http://wiki.mozilla.org/WebRunner&#34;&gt;WebRunner&lt;/a&gt; - similar to Adobe WIND, only better - and have also created a mantra:&lt;/p&gt;</description>
    </item>
    <item>
      <title>What&#39;s New on MDC</title>
      <link>https://starkravingfinkle.org/posts/2007/07/whats-new-on-mdc-2/</link>
      <pubDate>Tue, 31 Jul 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/07/whats-new-on-mdc-2/</guid>
      <description>&lt;p&gt;Here is some recent content additions or changes appearing on the &lt;a href=&#34;http://developer.mozilla.org&#34;&gt;Mozilla Developer Center&lt;/a&gt; (MDC).&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL:PopupGuide&#34;&gt;XUL Popup Guide&lt;/a&gt;: Great information on using popups (panels, menus and tooltips) in extensions and XUL applications. The popup infrastructure was heavily rewritten in Gecko 1.9 (Firefox 3). Thanks Neil.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/E4X_tutorial&#34;&gt;E4X Tutorial&lt;/a&gt;: Joey Minta put together a really good tutorial covering many aspects of using E4X - the ability to use raw XML in JavaScript.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/Code_snippets:Tree&#34;&gt;Code Snippets for XUL&lt;/a&gt; : Some examples of getting the from mouse click and the selected from right-click were added.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Firefox 3 - ContentEditable</title>
      <link>https://starkravingfinkle.org/posts/2007/07/firefox-3-contenteditable/</link>
      <pubDate>Mon, 23 Jul 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/07/firefox-3-contenteditable/</guid>
      <description>&lt;p&gt;Firefox 3 is expanding its rich WYSIWYG editing capabilities by adding support for the &lt;a href=&#34;http://www.whatwg.org/specs/web-apps/current-work/multipage/section-contenteditable.html&#34;&gt;contentEditable&lt;/a&gt; attribute. Setting &lt;code&gt;contentEditable&lt;/code&gt; to &amp;ldquo;true&amp;rdquo; allows you to make parts of a document editable. Firefox already supports using &lt;a href=&#34;http://www.whatwg.org/specs/web-apps/current-work/multipage/section-contenteditable.html#designMode&#34;&gt;designMode&lt;/a&gt; to make an entire document editable. Here is a &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/02/xul-clippings-midas-rich-text-editor/&#34;&gt;previous post&lt;/a&gt; about using &lt;code&gt;designMode&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Here is an example of using &lt;code&gt;contentEditable&lt;/code&gt; to make a simple rich editor in HTML: &lt;a href=&#34;https://starkravingfinkle.org/posts/wp-content/uploads/2007/07/contenteditable.htm&#34;&gt;contenteditable.htm&lt;/a&gt; (&lt;strong&gt;NOTE:&lt;/strong&gt; requires Firefox3.a6+ or a browser that supports &lt;code&gt;contentEditable&lt;/code&gt;)&lt;/p&gt;&#xA;&lt;p&gt;The new &lt;code&gt;contentEditable&lt;/code&gt; features support the same API as &lt;code&gt;designMode&lt;/code&gt; for interacting with the editable element:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 3 - SVG foreignObject</title>
      <link>https://starkravingfinkle.org/posts/2007/07/firefox-3-svg-foreignobject/</link>
      <pubDate>Fri, 20 Jul 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/07/firefox-3-svg-foreignobject/</guid>
      <description>&lt;p&gt;SVG is a nice way to create vector graphics on the web and even embedded in HTML pages. Sometimes you might embed other markup into SVG and that&amp;rsquo;s where &lt;code&gt;foreignObject&lt;/code&gt; comes in. From the W3 SVG1.1 spec:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The &amp;lsquo;foreignObject&amp;rsquo; element allows for inclusion of a foreign namespace which has its graphical content drawn by a different user agent. The included foreign graphical content is subject to SVG transformations and compositing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebRunner 0.5 - Linux Install</title>
      <link>https://starkravingfinkle.org/posts/2007/07/webrunner-05-linux-install/</link>
      <pubDate>Sat, 14 Jul 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/07/webrunner-05-linux-install/</guid>
      <description>&lt;p&gt;After much struggle (I was raised on Windows), I put together a Linux installer for &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/07/webrunner-05-now-with-more-power/&#34;&gt;WebRunner&lt;/a&gt;. I failed to get file associations working automatically, so you will need to manually set those up. I am including a tar.gz file, as well as, a simple installer. No deb/rpm package yet either :(&lt;/p&gt;&#xA;&lt;p&gt;The *.webapp profiles are installed into the application folder. you can copy them to wherever you want. For now, you&amp;rsquo;ll need to right-click on a *.webapp file to display its properties and configure the &amp;ldquo;Open with&amp;rdquo; settings yourself - sorry.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebRunner 0.5 - Mac Support</title>
      <link>https://starkravingfinkle.org/posts/2007/07/webrunner-05-mac-support/</link>
      <pubDate>Wed, 11 Jul 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/07/webrunner-05-mac-support/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2007/07/webrunner-05-now-with-more-power/&#34;&gt;WebRunner&lt;/a&gt; now has Mac support. By support I mean we have a DMG for installs and we use CFBundleDocumentTypes to associate *.webapp files with WebRunner. Launching a *.webapp file should launch WebRunner and load the *.webapp profile.&lt;/p&gt;&#xA;&lt;p&gt;Thanks to &lt;a href=&#34;http://www.bitstampede.com/&#34;&gt;Eric Shepherd&lt;/a&gt; for the pointers to CFBundleDocumentTypes.&lt;/p&gt;&#xA;&lt;p&gt;I am interested in feedback on the Mac menu (which I hide). To close the web application, just close the window. I know this is not very Mac-ish, so I am interested in how we could display the menu, but have it say &amp;ldquo;Google Mail&amp;rdquo;, instead of &amp;ldquo;WebRunner&amp;rdquo;. Yes, I&amp;rsquo;d like the menu to change based on the web application. Hmmm, maybe we could put something in the webapp profile.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebRunner 0.5 - Now With More Power</title>
      <link>https://starkravingfinkle.org/posts/2007/07/webrunner-05-now-with-more-power/</link>
      <pubDate>Tue, 10 Jul 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/07/webrunner-05-now-with-more-power/</guid>
      <description>&lt;p&gt;I am really impressed by how many people seem to be using WebRunner (&lt;a href=&#34;https://starkravingfinkle.org/posts/2007/03/site-specific-browser-webrunner/&#34;&gt;[1]&lt;/a&gt; &amp;amp; &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/03/site-specific-browser-using-webrunner/&#34;&gt;[2]&lt;/a&gt;). Personally, I still use it everyday to run GMail and Zimbra. Along the way, I had noticed some small quirks and painful bugs. The download bug (click a download link and get a XUL error message) was the one I hated the most. The window title bug (multiple WebRunner instances would cause the window title to change) was a close second.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Datasources for XUL Templating</title>
      <link>https://starkravingfinkle.org/posts/2007/07/new-datasources-for-xul-templating/</link>
      <pubDate>Fri, 06 Jul 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/07/new-datasources-for-xul-templating/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL&#34;&gt;XUL&lt;/a&gt;, the XML-based UI language used in Mozilla products, has supported &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Tutorial:Templates&#34;&gt;templating&lt;/a&gt; for a while now. Unfortunately, the only datasources you could use to drive the templates were RDF-based datasources. This has been a hurdle for some, including me, to really dive into XUL templates.&lt;/p&gt;&#xA;&lt;p&gt;Recently, Neil Deakin &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=321171&#34;&gt;landed&lt;/a&gt; support for generic XML datasources, so I no longer have an excuse to not use XUL templates. Here&amp;rsquo;s an example:&lt;/p&gt;&#xA;&lt;p&gt;RDF way&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;// Use a predefined RDF datasource&#xA;&#xA;  &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;XML way&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla @ OSCON 2007</title>
      <link>https://starkravingfinkle.org/posts/2007/07/mozilla-oscon-2007/</link>
      <pubDate>Tue, 03 Jul 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/07/mozilla-oscon-2007/</guid>
      <description>&lt;p&gt;Mozilla has a relatively large contingent headed to &lt;a href=&#34;http://conferences.oreillynet.com/os2007/&#34;&gt;OSCON&lt;/a&gt; this year. Here&amp;rsquo;s the Mozilla speaking line up:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://conferences.oreillynet.com/cs/os2007/view/e_sess/12955&#34;&gt;Beyond the Lock: Browser Security UI for the Distracted&lt;/a&gt; with Johnathan Nightingale (Wed, July 25th, 11:35 am)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://conferences.oreillynet.com/cs/os2007/view/e_sess/12942&#34;&gt;Mozilla Firefox and the Internet as an Open Platform&lt;/a&gt; with Mitchell Baker (Wed, July 25th, 12:25 pm)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://conferences.oreillynet.com/cs/os2007/view/e_sess/13039&#34;&gt;Adventures in Localization&lt;/a&gt; - AMO Case Study with Wil Clouser &amp;amp; Mike Morgan (Thurs, July 26th, 1:45 pm)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://conferences.oreillynet.com/pub/w/58/radar.html&#34;&gt;O&amp;rsquo;Reilly Radar: Executive Briefing&lt;/a&gt; with Mike Shaver participating (Tues, July 24th)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://conferences.oreillynet.com/cs/os2007/view/e_sess/13144&#34;&gt;State of the Mozilla Foundation (Lightning Talks)&lt;/a&gt; with Zak Greant (Thurs, July 26th, 10:45am)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In addition to the speakers, we&amp;rsquo;ll also be in Booth #202 (&lt;a href=&#34;https://intranet.mozilla.org/images/5/56/OSCON07_floorplan.pdf&#34;&gt;floor plan&lt;/a&gt;). Its a great location right by the entrance of the convention center. The Mozilla Event Planning group had a cool idea for making the most of our booth - &amp;ldquo;&lt;a href=&#34;http://wiki.mozilla.org/Conferences:oscon07&#34;&gt;Office Hours&lt;/a&gt;&amp;rdquo;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>What’s New on MDC</title>
      <link>https://starkravingfinkle.org/posts/2007/07/whats-new-on-mdc/</link>
      <pubDate>Tue, 03 Jul 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/07/whats-new-on-mdc/</guid>
      <description>&lt;p&gt;Here is some new documentation appearing on the &lt;a href=&#34;http://developer.mozilla.org&#34;&gt;Mozilla Developer Center&lt;/a&gt; (MDC):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;XUL widgets for dates, times, and numbers: XUL now has some new (Firefox3 / Gecko1.9) elements to better handle non-text input - &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL:datepicker&#34;&gt;&lt;code&gt;&amp;lt;datepicker&amp;gt;&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL:timepicker&#34;&gt;&lt;code&gt;&amp;lt;timepicker&amp;gt;&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL:scale&#34;&gt;&lt;code&gt;&amp;lt;scale&amp;gt;&lt;/code&gt;&lt;/a&gt;, and &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL:textbox&#34;&gt;&lt;code&gt;&amp;lt;textbox type=&amp;quot;number&amp;quot;&amp;gt;&lt;/code&gt;&lt;/a&gt;. The &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Tutorial:Numeric_Controls&#34;&gt;XUL tutorial&lt;/a&gt; has been updated with new information on these elements too.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/Code_snippets#XUL_Widget-specifc&#34;&gt;Code snippets for XUL widgets&lt;/a&gt;: New category of the &lt;a href=&#34;http://developer.mozilla.org/en/docs/Code_snippets&#34;&gt;MDC code snippets&lt;/a&gt; section. Look for widget-specific snippets that you can use in any XUL code. Currently, snippets for &lt;a href=&#34;http://developer.mozilla.org/en/docs/Code_snippets:Tree&#34;&gt;trees&lt;/a&gt; and &lt;a href=&#34;http://developer.mozilla.org/en/docs/Code_snippets:Label_and_description&#34;&gt;labels/descriptions&lt;/a&gt; have been added.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/How_to_implement_custom_autocomplete_search_component&#34;&gt;Custom autocomplete source example&lt;/a&gt;: XUL &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL:textbox_(Firefox_autocomplete)&#34;&gt;textboxes&lt;/a&gt; have built-in support for autocomplete and some nice autocomplete options, but the platform only supplies some browser-centric autocomplete search sources. You can add your own search sources by making an XPCOM component. Here is an example custom search source. The source can also be used as-is to add simple autocomplete search sources to your extensions and &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt; applications.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Tokyo Developer Conference - FUEL &amp; XULRunner</title>
      <link>https://starkravingfinkle.org/posts/2007/06/tokyo-developer-conference-fuel-xulrunner/</link>
      <pubDate>Wed, 27 Jun 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/06/tokyo-developer-conference-fuel-xulrunner/</guid>
      <description>&lt;p&gt;I was a co-presenter for two sessions at the &lt;a href=&#34;http://wiki.mozilla.org/Japan/FxDevCon/Summer2007/English&#34;&gt;Tokyo developer conference&lt;/a&gt; held a few weeks ago:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;FUEL &amp;amp; Chrome JavaScript Libraries&lt;/strong&gt; (&lt;a href=&#34;http://starkravingfinkle.org/presentations/finkle-fuel-tokyo2007.htm&#34;&gt;slides&lt;/a&gt;) : I presented with &lt;a href=&#34;http://www.xuldev.org/blog/&#34;&gt;Gomita-san&lt;/a&gt; (&lt;a href=&#34;http://www.flickr.com/photos/gen/563499543/&#34;&gt;picture&lt;/a&gt;), a Japanese extension developer who had a detailed presentation on the ways FUEL could help extension developers. We both handled a short Q&amp;amp;A session at the end.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Building Applications with XULRunner&lt;/strong&gt; (&lt;a href=&#34;http://starkravingfinkle.org/presentations/finkle-xulrunner-tokyo2007.htm&#34;&gt;slides&lt;/a&gt;) : I presented with &lt;a href=&#34;http://d.hatena.ne.jp/smellman/&#34;&gt;Taro Matsuzawa&lt;/a&gt; (&lt;a href=&#34;http://www.flickr.com/photos/gen/563147118/&#34;&gt;picture&lt;/a&gt;), a leader of the &lt;a href=&#34;http://www.mozilla.gr.jp/&#34;&gt;MozillaGumi&lt;/a&gt; community. Taro&amp;rsquo;s presentation was about localization issues with XULRunner applications. In the process, he showed how to convert an extension to a XULRunner application. It was a cool dashboard-style, transparent clock widget. We, also, did a short Q&amp;amp;A session at the end.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;A couple things I came away with from the conference:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Of Communities and Interface Friction</title>
      <link>https://starkravingfinkle.org/posts/2007/06/of-communities-and-interface-friction/</link>
      <pubDate>Tue, 26 Jun 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/06/of-communities-and-interface-friction/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://vocamus.net/dave&#34;&gt;Dave Humphrey&amp;rsquo;s&lt;/a&gt; latest &lt;a href=&#34;http://vocamus.net/dave/?p=61&#34;&gt;post&lt;/a&gt; really got me thinking about a couple things. First, I think what he proposes is a timely, interesting idea. It illustrates the power of the web brought to bear on a particular problem. Specifically, the post got me thinking about building communities and lowering interface friction placed on users. Not exactly &lt;a href=&#34;http://en.wikipedia.org/wiki/Reese_Peanut_Butter_Cups#Advertisements&#34;&gt;peanut butter and chocolate&lt;/a&gt;, but I think they are related none the less.&lt;/p&gt;&#xA;&lt;p&gt;Dave&amp;rsquo;s idea (read his &lt;a href=&#34;http://vocamus.net/dave/?p=61&#34;&gt;post&lt;/a&gt; for the full details) develops as a reaction to someone else&amp;rsquo;s solution to a problem:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tokyo Developer Conference Wrapup</title>
      <link>https://starkravingfinkle.org/posts/2007/06/tokyo-developer-conference-wrapup/</link>
      <pubDate>Sun, 17 Jun 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/06/tokyo-developer-conference-wrapup/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;images/tokyo-dev-conf.jpg&#34; alt=&#34;tokyo-dev-conf.jpg&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.mozilla-japan.org/&#34;&gt;Mozilla-Japan&lt;/a&gt; (Chibi, Kaori, Gen and everyone else) did a great job &lt;a href=&#34;http://www.mozilla-japan.org/events/fxdevcon/summer2007/&#34;&gt;putting together&lt;/a&gt; the &lt;a href=&#34;http://wiki.mozilla.org/Japan/FxDevCon/Summer2007/English&#34;&gt;developer conference&lt;/a&gt;. I think we had over 150 attendees and over 25 presenters.&lt;/p&gt;&#xA;&lt;p&gt;It was the first time I attended a non-English conference. However, the translators did a great job. Even during my own presentations, the translators were doing simultaneous translation during the Q&amp;amp;A. It was incredible.&lt;/p&gt;&#xA;&lt;p&gt;I really enjoyed the Extension Lightning Talks and the Extension Developer Environment sessions. The Japanese presenters were not only extremely talented developers, but they also did a great job making the presentations very entertaining. They were obviously trying to &amp;ldquo;one-up&amp;rdquo; each other during the presentations and did so with great flare, showmanship and the occasional practical joke. The translators could barely keep up! I want to talk more about the kinds of extensions presented and the extension developer community in a future post. Its a very rich and dedicated group of people.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner Wishlist</title>
      <link>https://starkravingfinkle.org/posts/2007/06/xulrunner-wishlist/</link>
      <pubDate>Fri, 15 Jun 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/06/xulrunner-wishlist/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt; provides a lot of core functionality, but if you&amp;rsquo;re writing an application that is not a web browser or email client, you might feel some pieces are missing or not supported as well as they could. You may even have a list. Here&amp;rsquo;s mine:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Interprocess Communication (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=68702&#34;&gt;bug 68702&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Window transparency on all platforms (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=307204&#34;&gt;bug 307204&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Hiding the main window menu on Macs&lt;/li&gt;&#xA;&lt;li&gt;Adding application to the system tray or appropriate location for other platforms (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=325353&#34;&gt;bug 325353&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Allow extensions to be associated with the runtime and not only with applications (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=299716&#34;&gt;bug 299716&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;XUL Templates based on XML or SQL (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=321171&#34;&gt;bug 321171&lt;/a&gt; and &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=321172&#34;&gt;bug 321172&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;These features are not critical &amp;ldquo;must haves&amp;rdquo; in order to build a good desktop application. Some of them just make it easier. Others are nice to have in the toolkit and not in patches or code that results in a custom build of XULRunner.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Explorer - 0.4 Finally</title>
      <link>https://starkravingfinkle.org/posts/2007/06/xul-explorer-04-finally/</link>
      <pubDate>Wed, 13 Jun 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/06/xul-explorer-04-finally/</guid>
      <description>&lt;p&gt;We&amp;rsquo;ve been pretty busy around here with various sorts of things, but we finally got enough time to get &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Explorer&#34;&gt;XUL Explorer&lt;/a&gt; (XE) 0.4 out the door. XE 0.4 has some neat features that we hope will help Mozilla platform developers (extensions and applications) be a little more productive. The highlights include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;DOM Inspector and Venkman (JS Debugger) extensions are integrated into XE. You don&amp;rsquo;t need to mess around trying to install them. They are pre-packaged for your debugging enjoyment.&lt;/li&gt;&#xA;&lt;li&gt;Extension project wizard walks you through the process of creating a Firefox extension. The wizard has options for various types of extension UI&amp;rsquo;s so you can support toolbar, menu, sidebar and context menu overlays. The extension files are generated using a simple template system, so it should be easy to tweak and add more features.&lt;/li&gt;&#xA;&lt;li&gt;Simple extension testing allows you to pick an extension source folder and quickly run/test the extension in Firefox. No need to manually package and install the extension.&lt;/li&gt;&#xA;&lt;li&gt;A simple XML/XUL formatter helps cleanup your code and there are a few more links to online documentation at the &lt;a href=&#34;http://developer.mozilla.org/&#34;&gt;Mozilla Developer Center&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The extension wizard and extension tester are definitely not finished (see &lt;a href=&#34;http://wiki.mozilla.org/XUL_Explorer:Planning&#34;&gt;roadmap&lt;/a&gt;). The extension tester has a few planned usability improvements. The extension wizard has some general improvements coming and many new features. One improvement is support for more targets, including Thunderbird and XUL Explorer. Only Firefox really works now. Another feature is stubbing out handlers for common events, such as when a page loads in the browser.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebRunner &#43; Gears = Offline Desktop Reader</title>
      <link>https://starkravingfinkle.org/posts/2007/06/webrunner-gears-offline-desktop-reader/</link>
      <pubDate>Tue, 05 Jun 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/06/webrunner-gears-offline-desktop-reader/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.iosart.com/&#34;&gt;Alex Sirota&lt;/a&gt; started using &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/03/site-specific-browser-using-webrunner/&#34;&gt;WebRunner&lt;/a&gt; to &lt;a href=&#34;http://www.iosart.com/blog/2007/06/05/webrunner-or-how-google-reader-became-my-main-rss-aggregator/&#34;&gt;host Google Reader&lt;/a&gt;. The result is a desktop application-like version of Google Reader.&lt;/p&gt;&#xA;&lt;p&gt;Then he &lt;a href=&#34;http://www.iosart.com/blog/2007/06/05/install-google-gears-in-a-xulrunner-app-in-3-quick-steps/&#34;&gt;added support&lt;/a&gt; for &lt;a href=&#34;http://gears.google.com/&#34;&gt;Google Gears&lt;/a&gt; to WebRunner. The result is a desktop application-like version of Google Reader that supports offline viewing.&lt;/p&gt;&#xA;&lt;p&gt;Very cool.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Developer Conference - Tokyo</title>
      <link>https://starkravingfinkle.org/posts/2007/05/developer-conference-tokyo/</link>
      <pubDate>Tue, 29 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/developer-conference-tokyo/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://wiki.mozilla.org/Japan/FxDevCon/Summer2007/English&#34;&gt;schedule&lt;/a&gt; for the Tokyo developer conference is really coming together. I&amp;rsquo;ll be giving separate presentations on &lt;a href=&#34;http://wiki.mozilla.org/FUEL&#34;&gt;FUEL&lt;/a&gt; and &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XUL Runner&lt;/a&gt; with some moderated Q&amp;amp;A. There seems to be a lot of sessions on various aspects of extension development. From tutorials and development environments to &lt;a href=&#34;http://addons.mozilla.org&#34;&gt;AMO&lt;/a&gt; submission and reviewing. There will also be several lightning talks from various extension authors. I am interested to see how the &amp;ldquo;extension dissection&amp;rdquo; session turns out. The session will be devoted to discussions of how various extension &amp;ldquo;do&amp;rdquo; what they &amp;ldquo;do&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 3 - Bookmarks and Extensions</title>
      <link>https://starkravingfinkle.org/posts/2007/05/firefox-3-bookmarks-and-extensions/</link>
      <pubDate>Thu, 24 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/firefox-3-bookmarks-and-extensions/</guid>
      <description>&lt;p&gt;Currently, I am adding bookmark wrappers to &lt;a href=&#34;http://wiki.mozilla.org/FUEL/0.2/API&#34;&gt;FUEL 0.2&lt;/a&gt; using the new &lt;a href=&#34;http://developer.mozilla.org/en/docs/Places&#34;&gt;Places API&lt;/a&gt;. As I do, I am just struck by how much functionality is exposed by the new API. Accessing bookmarks is a common request for extension developers. The &lt;a href=&#34;http://mxr.mozilla.org/mozilla1.8/source/browser/components/bookmarks/public/nsIBookmarksService.idl&#34;&gt;old bookmark service&lt;/a&gt; isn&amp;rsquo;t as easy to use (IMO), mainly due to the amount of RDF that is seeping out of it. The &lt;a href=&#34;http://mxr.mozilla.org/seamonkey/source/toolkit/components/places/public/nsINavBookmarksService.idl&#34;&gt;new bookmarks&lt;/a&gt; and &lt;a href=&#34;http://mxr.mozilla.org/seamonkey/source/toolkit/components/places/public/nsIAnnotationService.idl&#34;&gt;annotation&lt;/a&gt; services are very straight forward and clear. Here are some of my highlights so far:&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Explorer - New and Notable</title>
      <link>https://starkravingfinkle.org/posts/2007/05/xul-explorer-new-and-notable/</link>
      <pubDate>Wed, 23 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/xul-explorer-new-and-notable/</guid>
      <description>&lt;h2 id=&#34;status&#34;&gt;Status&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://cesarmoco.wordpress.com&#34;&gt;Cesar&lt;/a&gt; and I have been working on stuff from the &lt;a href=&#34;http://wiki.mozilla.org/XUL_Explorer:Planning&#34;&gt;feature plan&lt;/a&gt;. The XUL Explorer trunk has support for &lt;a href=&#34;http://www.brownhen.com/DI/&#34;&gt;DOM Inpsector&lt;/a&gt; and &lt;a href=&#34;http://developer.mozilla.org/en/docs/Venkman_Introduction&#34;&gt;Venkman&lt;/a&gt; (JavaScript debugger). Future releases will bundle those extensions with XUL Explorer. Cesar has a patch for adding &lt;a href=&#34;http://wiki.mozilla.org/XUL_Explorer:UseCases/Extension_Testing&#34;&gt;extension testing support&lt;/a&gt;. I have the basics of an &lt;a href=&#34;http://wiki.mozilla.org/XUL_Explorer:UseCases/Extension_Wizard&#34;&gt;extension generation wizard&lt;/a&gt; in place. Both of those features will be in the next release too.&lt;/p&gt;&#xA;&lt;p&gt;It was pretty nice to be able to use Venkman to debug some of the extension wizard code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 3 - Bookmarks on Places Lands</title>
      <link>https://starkravingfinkle.org/posts/2007/05/firefox-3-bookmarks-on-places-lands/</link>
      <pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/firefox-3-bookmarks-on-places-lands/</guid>
      <description>&lt;p&gt;Big news for those of you following Firefox 3 development. &lt;a href=&#34;http://wiki.mozilla.org/Places&#34;&gt;Places&lt;/a&gt;, the new backend implementation for bookmarks and page history, &lt;a href=&#34;http://forums.mozillazine.org/viewtopic.php?t=550491&#34;&gt;landed last night&lt;/a&gt; and will be ready for Firefox 3a5. Here&amp;rsquo;s an overview from the &lt;a href=&#34;http://developer.mozilla.org/en/docs/Places&#34;&gt;Places developers page&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Places is a re-write of Firefox&amp;rsquo;s bookmarks and history system. It aims to have significantly more flexibility and the ability to have complex querying. It also includes some new features such as favicon storage, and the ability to annotate pages with arbitrary information. It also includes a lot of new UI.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Inner Beauty</title>
      <link>https://starkravingfinkle.org/posts/2007/05/inner-beauty/</link>
      <pubDate>Sat, 19 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/inner-beauty/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://blog.digitalbackcountry.com&#34;&gt;Ryan Stewart&lt;/a&gt;, new Adobe evangelist (sweet), is looking for &lt;a href=&#34;http://blog.digitalbackcountry.com/?p=817&#34;&gt;sexy AJAX applications&lt;/a&gt;. You know, the ones that look like Flash:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;So where are other sexy Ajax applications? Iâ€™m not talking about Gmail or even Google Calendar, Iâ€™m talking about applications you could mistake for Flash, the kinds of applications even *I* canâ€™t help but admire (even if they could be built faster with Flash and Flex ;) ).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;What&amp;rsquo;s the point? Ryan, we all know that beauty is on the inside. The only time Flash impresses me is when someone uses it in an invisible way. &lt;a href=&#34;http://www.mikeindustries.com/sifr/&#34;&gt;sIFR&lt;/a&gt;, &lt;a href=&#34;http://finance.google.com/finance&#34;&gt;Google Finance&lt;/a&gt; &amp;amp; &lt;a href=&#34;http://manual.dojotoolkit.org/WikiHome/DojoDotBook/Book50&#34;&gt;dojo Storage&lt;/a&gt; come to mind.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Much Ado about XULRunner</title>
      <link>https://starkravingfinkle.org/posts/2007/05/much-ado-about-xulrunner/</link>
      <pubDate>Mon, 14 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/much-ado-about-xulrunner/</guid>
      <description>&lt;p&gt;Yes, there has been a lot of talk about the Mozilla platform lately. This is to be expected considering the hype generated around Sliverlight and Apollo platforms. Most of the discussion is coming from well meaning developers, using (or trying to use) the Mozilla platform to build products. Developers who want to see the open Mozilla platform flourish in the face of closed competitors. I have a special interest in the platform too, its how I ended up working at Mozilla, so I also want to see it succeed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tokyo and Paris Mozilla Developer Conferences</title>
      <link>https://starkravingfinkle.org/posts/2007/05/tokyo-and-paris-mozilla-developer-conferences/</link>
      <pubDate>Sat, 12 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/tokyo-and-paris-mozilla-developer-conferences/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.mozilla-japan.org/&#34;&gt;Mozilla Japan&lt;/a&gt; is putting together a big &lt;a href=&#34;http://wiki.mozilla.org/Japan/FxDevCon/Summer2007/English&#34;&gt;Mozilla developer conference&lt;/a&gt; on June 16th in Tokyo. The wiki page has some details and a draft schedule. This conference will be bigger than the recent developer days in &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/MountainViewMarch2007&#34;&gt;Mountain View&lt;/a&gt; and &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/BostonMarch2007&#34;&gt;Boston&lt;/a&gt;. Japan seems to have a large Firefox extension development community and I am looking forward to working with them.&lt;/p&gt;&#xA;&lt;p&gt;Mozilla Europe&amp;rsquo;s &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/ParisJune2007&#34;&gt;Paris developer day&lt;/a&gt; on June 23rd is shaping up to be fairly big too. Europe has a large community of Mozilla developers (including XULRunner developers). They have been fairly vocal recently about their thoughts on the roadmap of the Mozilla platform. There should be a lot of great discussion.&lt;/p&gt;</description>
    </item>
    <item>
      <title>You Are Mozilla - Yes, You!</title>
      <link>https://starkravingfinkle.org/posts/2007/05/you-are-mozilla-yes-you/</link>
      <pubDate>Sat, 12 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/you-are-mozilla-yes-you/</guid>
      <description>&lt;p&gt;From &lt;a href=&#34;http://shaver.off.net/diary/2007/05/12/now-dont-take-this-the-wrong-way/&#34;&gt;Mike Shaver&lt;/a&gt; (back after a *cough* hiatus):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;hellip;if youâ€™re on the web, and you care about the web, and youâ€™re afraid that we might yet again have a monoculture of stagnation on the Internet, youâ€™re â€œMozillaâ€ â€” even if you donâ€™t know it yet.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;He had me at &amp;ldquo;ever-declining respect for personal hygiene.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Because Choices Are Good, Right?</title>
      <link>https://starkravingfinkle.org/posts/2007/05/because-choices-are-good-right/</link>
      <pubDate>Thu, 10 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/because-choices-are-good-right/</guid>
      <description>&lt;p&gt;From &lt;a href=&#34;http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=36010cd1-ba00-4531-946c-da041d934e9e&#34;&gt;Dare Obasanjo&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;It looks like Web developers are getting spoiled for choice this summer; Sun vs. Microsoft vs. Adobe vs. Web Standards.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Good times, good times.&lt;/p&gt;&#xA;&lt;p&gt;Oh, if only tech hype could counteract the effects of global warming&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Explorer Status</title>
      <link>https://starkravingfinkle.org/posts/2007/05/xul-explorer-status/</link>
      <pubDate>Wed, 09 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/xul-explorer-status/</guid>
      <description>&lt;p&gt;Its been a while since &lt;a href=&#34;https://starkravingfinkle.org/posts/xul-explorer/&#34;&gt;XUL Explorer&lt;/a&gt; has been updated. However, I have been using it more than ever and I have been keeping a list of things that I&amp;rsquo;d like to see added. The good news is XUL Explorer is now hosted in Mozilla&amp;rsquo;s &lt;a href=&#34;http://viewvc.svn.mozilla.org/vc/projects/xul-explorer/&#34;&gt;SVN repository&lt;/a&gt;. More good news is we created a &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Explorer&#34;&gt;wiki page&lt;/a&gt; to help track and guide development. Even more good news is that Cesar Oliviera has joined Developer Relations as a summer intern to help work on developer tools.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ClickOnce Deployment in Firefox</title>
      <link>https://starkravingfinkle.org/posts/2007/05/clickonce-deployment-in-firefox/</link>
      <pubDate>Sat, 05 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/clickonce-deployment-in-firefox/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://msdn2.microsoft.com/en-us/netframework/aa497348.aspx&#34;&gt;ClickOnce&lt;/a&gt; is a Microsoft deployment mechanism for WinForms and WPF applications that works great in Internet Explorer. Thanks to an extension, you can also get ClickOnce applications to work from Firefox too. &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/1608&#34;&gt;FFClickOnce&lt;/a&gt; was created by James Dobson. Check out the &lt;a href=&#34;http://www.softwarepunk.com/ffclickonce/&#34;&gt;homepage&lt;/a&gt; where James describes what it does and how it works very nicely.&lt;/p&gt;&#xA;&lt;p&gt;In this &lt;a href=&#34;http://diveintomark.org/archives/2007/05/02/silly-season&#34;&gt;silly season&lt;/a&gt; where many people are racing to download and run WPF applications, this extension will make it easier.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Report from CHI 2007</title>
      <link>https://starkravingfinkle.org/posts/2007/05/report-from-chi-2007/</link>
      <pubDate>Sat, 05 May 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/05/report-from-chi-2007/</guid>
      <description>&lt;p&gt;I was part of a session at &lt;a href=&#34;http://www.chi2007.org/&#34;&gt;CHI 2007&lt;/a&gt; on Thursday titled &amp;ldquo;&lt;a href=&#34;http://www.chi2007.org/attend/program/showSession.php?day=Thursday&amp;amp;sessionId=11707&#34;&gt;User Interface Description Languages: XUL &amp;amp; XAML&lt;/a&gt;.&amp;rdquo; The session covered some of the benefits of declarative UIs, especially with respect to the designer/developer iterative process. &lt;a href=&#34;http://blogs.vertigo.com/personal/Scott/Blog/default.aspx&#34;&gt;Scott Stanfield&lt;/a&gt; and myself demonstrated building UIs in XAML and XUL, respectively. We tried to show how easy it was to create and modify UI prototypes. Also, how the prototype markup could be used by developers to create the production UI, even while designers tweaked pieces along the way.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Silverlight 1.1 Alpha</title>
      <link>https://starkravingfinkle.org/posts/2007/04/silverlight-11-alpha/</link>
      <pubDate>Mon, 30 Apr 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/04/silverlight-11-alpha/</guid>
      <description>&lt;p&gt;Microsoft announced &lt;a href=&#34;http://www.microsoft.com/silverlight&#34;&gt;Silverlight 1.1 Alpha&lt;/a&gt; at &lt;a href=&#34;http://visitmix.com/&#34;&gt;MIX07&lt;/a&gt; today. It&amp;rsquo;s a perfect example of what Microsoft is capable of doing with its formidable set of resources. Justin Van Patten has a &lt;a href=&#34;http://blogs.msdn.com/bclteam/archive/2007/04/30/introducing-microsoft-silverlight-1-1-alpha-justin-van-patten.aspx&#34;&gt;post&lt;/a&gt; outlining the new features. Its quite a list:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;* Managed code support * Support for dynamic languages including Managed JScript and Python * Rich UI control model based on WPF * Improved networking stack with support for REST, RSS, JSON, POX * Enhanced, 2-way HTML/AJAX Bridge * Comprehensive and consistent base class library * Support for LINQ (LINQ to Objects, LINQ to XML)&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL with a Ribbon</title>
      <link>https://starkravingfinkle.org/posts/2007/04/xul-with-a-ribbon/</link>
      <pubDate>Mon, 30 Apr 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/04/xul-with-a-ribbon/</guid>
      <description>&lt;p&gt;I was just goofing around, trying to see what spiffy new UI patterns we could make using XUL. I thought I&amp;rsquo;d try creating an Office 2007 ribbon style toolbar. My current result is shown here:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://starkravingfinkle.org/posts/wp-content/uploads/2007/04/xul-ribbon.png&#34; alt=&#34;xul-ribbon.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I had my mouse over the &amp;ldquo;cut&amp;rdquo; button, therefore it is highlighted. Couple of points:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I need to add images to the selected tab to give it a rounded look.&lt;/li&gt;&#xA;&lt;li&gt;I have not added any gradients to the ribbon because its harder than it should be. We should add something to CSS to make this easier.&lt;/li&gt;&#xA;&lt;li&gt;I want to add more control types to the example. A dropdown button will be really easy. It will also be easy to add the dialog launchers too&lt;/li&gt;&#xA;&lt;li&gt;I have already started to think about the XBL version of this :) .&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>FUEL Project Status - 0.1 Lands</title>
      <link>https://starkravingfinkle.org/posts/2007/04/fuel-project-status-01-lands/</link>
      <pubDate>Tue, 24 Apr 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/04/fuel-project-status-01-lands/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wiki.mozilla.org/FUEL&#34;&gt;FUEL&lt;/a&gt; &lt;a href=&#34;http://wiki.mozilla.org/FUEL/0.1/API&#34;&gt;0.1&lt;/a&gt; landed on the trunk yesterday. Progress had slowed since the last &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/02/fuel-project-status/&#34;&gt;update&lt;/a&gt; mainly due to &lt;a href=&#34;http://ejohn.org/&#34;&gt;John&lt;/a&gt; and I having so many other balls in the air. For those intrepid enough to play with 0.1, you can use the &lt;a href=&#34;http://wiki.mozilla.org/FUEL/0.1/API&#34;&gt;API&lt;/a&gt; on the wiki and the code in the &lt;a href=&#34;http://mxr.mozilla.org/seamonkey/source/browser/fuel/test/&#34;&gt;unit tests&lt;/a&gt; as examples.&lt;/p&gt;&#xA;&lt;p&gt;The wiki has the plans for &lt;a href=&#34;http://wiki.mozilla.org/FUEL/0.2/API&#34;&gt;0.2&lt;/a&gt;, which should have more features for extension developers to use. The Browser and BrowserTab helpers alone should make life easier.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tapestry - Yahoo Mail on XUL</title>
      <link>https://starkravingfinkle.org/posts/2007/04/tapestry-yahoo-mail-on-xul/</link>
      <pubDate>Thu, 05 Apr 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/04/tapestry-yahoo-mail-on-xul/</guid>
      <description>&lt;p&gt;I came across an interesting application of XUL and the new &lt;a href=&#34;http://unclehulka.com/ryan/blog/archives/2007/03/28/yahoo-mail-web-service-is-hatched-for-real-this-time/&#34;&gt;Yahoo email web services&lt;/a&gt; via &lt;a href=&#34;http://unclehulka.com/ryan/blog/archives/2007/04/01/xul-yahoo-mail-web-service-tapestry/&#34;&gt;Ryan Kennedy&lt;/a&gt;. The application is called &lt;a href=&#34;http://t3.dotgnu.info/blog/hacks/tapestry.html&#34;&gt;Tapestry&lt;/a&gt; and its a neat little XUL-based email client. From Ryan&amp;rsquo;s post:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;One person in particular, Gopal, was already building something with the web service. I had been in contact with him previously over email and had heard about his application. He invited me down to his desk to have a look and to help debug a few things. What I saw caused my jaw to drop. Gopal had built a XUL interface to Yahoo! Mail using the web service for communication with the backend. It was fast, it was pretty and he had managed to pull off client-side message threading.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Boston Developer Day Wrap-up</title>
      <link>https://starkravingfinkle.org/posts/2007/04/boston-developer-day-wrap-up/</link>
      <pubDate>Wed, 04 Apr 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/04/boston-developer-day-wrap-up/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/BostonMarch2007&#34;&gt;Boston Developer Day&lt;/a&gt; was a great time. The group was a bit different than the &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/MountainViewMarch2007&#34;&gt;Mountain View Developer Day&lt;/a&gt;. There were many individual attendees, whereas Mountain View had more group attendees. Overall, the attendees were more vocal in Boston too. We also tweaked the schedule to make the lightning talks shorter and more focused - Just say your high points, show your demo and get out. We were able to get to the breakout sessions faster.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What&#39;s New on MDC</title>
      <link>https://starkravingfinkle.org/posts/2007/03/whats-new-on-mdc/</link>
      <pubDate>Fri, 30 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/whats-new-on-mdc/</guid>
      <description>&lt;p&gt;Just thought I&amp;rsquo;d point out some new content appearing on the &lt;a href=&#34;http://developer.mozilla.org&#34;&gt;Mozilla Developer Center&lt;/a&gt; (MDC).&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/Code_snippets:Canvas&#34;&gt;Saving Canvas to a File&lt;/a&gt;: Given a canvas element and a destinstion file path, this code snippet saves the contents of the canvas to a PNG file. The code could easily be tweaked to become a general purpose &amp;ldquo;download to file&amp;rdquo; instead of only handling canvas elements.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL:ControlsGuide&#34;&gt;XUL Control Guide&lt;/a&gt;: This is a handy quick guide to the various XUL control elements. In addition to a picture of the control, there are also links to reference and tutorial information.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/Code_snippets:Download_Observer&#34;&gt;Observing the Download Manager&lt;/a&gt;: This snippet shows how you can observe the various notifications of the download manager.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/Troubleshooting_XPCOM_components_registration&#34;&gt;Troubleshooting XPCOM Registration&lt;/a&gt;: When component registration fails its currently very difficult to figure out the cause. This article steps through a few troubleshooting tips you can use to find the problem. We hope to get better tracing and debugging of component registration failures in Firefox 3.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Developer Tool Strategy - DevDay Breakout</title>
      <link>https://starkravingfinkle.org/posts/2007/03/developer-tool-strategy-devday-breakout/</link>
      <pubDate>Wed, 28 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/developer-tool-strategy-devday-breakout/</guid>
      <description>&lt;p&gt;Besides the &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/03/developing-with-xulrunner-devday-breakout&#34;&gt;XULRunner session&lt;/a&gt;, we also had a developer tools session at the Mountain View developer day. There was a lot of overlap between the two sessions with respect to development tools. That not really surprising since the technologies used in XULRunner applications and Firefox/Thunderbird extensions are the same. Here is a summary of initial discussion:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;The elusive XUL IDE&lt;/strong&gt;: Quickly design and preview a XUL UI. Templates for building JS/C++ XPCOM components. Wizards and helpers galore - some people don&amp;rsquo;t care how to build install.rdf, just that it works.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tools for building/bundling extensions&lt;/strong&gt;: Create manifest and install files. Support easy debug cycles using &amp;rsquo;test&amp;rsquo; mode. Create JAR files from extension projects.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tools for quality and testing&lt;/strong&gt;: Extension quality is perceived as Firefox quality so improving extension quality is important. Test frameworks - unit tests and applications tests. Validators for XUL, manifest, install and accessibilty checks.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Develop libraries to increase productivity&lt;/strong&gt;: FUEL - convenience JavaScript wrapper for core XPCOM functionality. Effects (?) - bringing DHTML effects into chrome. Widgets (?) - bringing newer RIA widgets into chrome.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;One of my goals for extension development is that an experienced, but new-to-extensions, developer should be able to create a prototype extension and have it running in Firefox in &lt;strong&gt;less than half an hour&lt;/strong&gt;. That developer should then have all the necessary resources (meaning tools, samples, documentation and support) to turn the prototype extension into a finished product.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Developing with XULRunner - DevDay Breakout</title>
      <link>https://starkravingfinkle.org/posts/2007/03/developing-with-xulrunner-devday-breakout/</link>
      <pubDate>Wed, 28 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/developing-with-xulrunner-devday-breakout/</guid>
      <description>&lt;p&gt;One of the &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/MountainViewMarch2007&#34;&gt;Mountain View developer day&lt;/a&gt; sessions covered the current state of developing applications with &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt;. I was hoping that the high density of application developers (&lt;a href=&#34;http://www.songbirdnest.com/&#34;&gt;Songbird&lt;/a&gt; and &lt;a href=&#34;http://www.flock.com/&#34;&gt;Flock&lt;/a&gt;) and extension developers in the room would help me get a better idea of the pain points involved and a general idea of how to make the situation better. Here is a summary of the session:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Basic application development is in place&lt;/strong&gt;: Its easy to use XUL / JS to build a functional application. Applications inherit much of Firefox feature set for free. XPCOM allows code to go native, if needed, but this is harder and not well supported by tools.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&amp;ldquo;Fit and Finish&amp;rdquo; parts are harder&lt;/strong&gt;: Writing help systems is a little complex (RDF-based) and not supported by tools. Dock / systray and other OS integration features are missing (patches exist for some). Software update of your application is not easy and not supported by simple tools. Shared runtime is not ready yet and may never be a bulletproof system.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Development tools &amp;amp; documentation are sparse or missing&lt;/strong&gt;: XUL IDEs are immature at best and may not be the &amp;ldquo;holy grail&amp;rdquo; anyway. &lt;a href=&#34;http://www.mozilla.org/projects/inspector/&#34;&gt;DOM Inspector&lt;/a&gt; and &lt;a href=&#34;http://www.mozilla.org/projects/venkman/&#34;&gt;Venkman&lt;/a&gt; are difficult to integrate into development process, but would be a huge benefit. Validation and syntax checks on XUL, preferences, manifests, install.rdf and app.ini would be a great help. Unit testing and UI testing tools are missing.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;After lunch, we created some breakout sessions and developing with XULRunner was one of the sessions. We traded development experiences and talked about what could be done to make XULRunner development better and more complete. Here are some things we came up with:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mountain View Developer Day Wrap-up</title>
      <link>https://starkravingfinkle.org/posts/2007/03/mountain-view-developer-day-wrap-up/</link>
      <pubDate>Mon, 26 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/mountain-view-developer-day-wrap-up/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/MountainViewMarch2007&#34;&gt;Mountain View Developer Day&lt;/a&gt; was a blast. We covered a lot of topics. A great bunch of people showed up and the high level of crowd participation helped out a lot. The &lt;a href=&#34;http://www.songbirdnest.com/&#34;&gt;Songbird&lt;/a&gt; and &lt;a href=&#34;http://www.flock.com/&#34;&gt;Flock&lt;/a&gt; folks gave lots of good feedback regarding their development experiences. More on that later. A quick recap of the lightning topics:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://labs.mozilla.com/&#34;&gt;Mozilla Labs&lt;/a&gt; - Basil Hashem: Basil did a good job framing the Mozilla Labs mission. He also showed demos of 2 recent Lab projects - &lt;a href=&#34;https://labs.mozilla.com/forum/index.php/board,3.0.html&#34;&gt;Joey&lt;/a&gt; and &lt;a href=&#34;https://labs.mozilla.com/forum/index.php/board,8.0.html&#34;&gt;The Coop&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Writing Reftest - &lt;a href=&#34;http://dbaron.org/&#34;&gt;David Baron&lt;/a&gt;: David gave a brief update on how and where Mozilla is using more automated testing. He then gave us a short how-to on creating a reftest, which can be used to verify behavior of visual layouts. For info on reftests check out this MDC &lt;a href=&#34;http://developer.mozilla.org/en/docs/Creating_reftest-based_unit_tests&#34;&gt;article&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;UI Heuristics - &lt;a href=&#34;http://blog.mozilla.com/faaborg&#34;&gt;Alex Faaborg&lt;/a&gt;: Alex presented some guidelines for making a good UI and related the guidelines to parts of the Firefox UI. Yes, he showed good and not so good examples. We talked after and I am hoping we can get a set of UI guidelines for extension developers.&lt;/li&gt;&#xA;&lt;li&gt;3D extensions to- &lt;a href=&#34;http://blog.vlad1.com/&#34;&gt;Vlad VukiÄ‡eviÄ‡&lt;/a&gt;: Vlad showed a quick demo of an extension that adds 3D capabilities to. Using JavaScript, he loaded a 3D model into the enhancedand was able to pan, rotate and zoom around. It was pretty cool and refresh speed was fairly crisp. I hope to see more from Vlad on this extension and demo.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://roberthelmer.com/blog/?p=11&#34;&gt;Buildbot Patch Server&lt;/a&gt; - &lt;a href=&#34;http://roberthelmer.com/blog&#34;&gt;Rob Helmer&lt;/a&gt;: Rob showed off some features of the buildbot &amp;ldquo;try&amp;rdquo; system, modified for use with Mozilla (part of &lt;a href=&#34;http://bhearsum.blogspot.com/&#34;&gt;Ben Hearsum&amp;rsquo;s&lt;/a&gt; buildbot work). The system takes patches and start builds. This allows developers to test patches on various OSes and hardware, increasing the quality of the patch.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wiki.mozilla.org/Community:CommunityProgram&#34;&gt;Mozilla Community Program&lt;/a&gt; - &lt;a href=&#34;http://blog.mozilla.com/seth/&#34;&gt;Seth Bindernagel&lt;/a&gt;: Seth talked about how Mozilla&amp;rsquo;s community program is working to help dedicated community contributors. He gave some examples and talked about the evaluation process. Check out the &lt;a href=&#34;http://wiki.mozilla.org/Community:CommunityProgram&#34;&gt;Community Wiki page&lt;/a&gt; for more information.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;After the lightning sessions, we planned a few breakout sessions. We ended up doing sessions on XULRunner development, 3D graphics in the Browser, Extension development tools and The Coop. I have notes on the XULRunner and Development tools sessions. I&amp;rsquo;ll get some blog posts on those sessions soon. I also have some pictures I&amp;rsquo;ll upload shortly. Lastly, I&amp;rsquo;ll check with the other presenters to see if they have notes or information they can post about their sessions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Developer Day Schedules</title>
      <link>https://starkravingfinkle.org/posts/2007/03/developer-day-schedules/</link>
      <pubDate>Wed, 21 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/developer-day-schedules/</guid>
      <description>&lt;p&gt;We have the schedules for both &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/MountainViewMarch2007/Schedule&#34;&gt;Mountain View&lt;/a&gt; and &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/BostonMarch2007/Schedule&#34;&gt;Boston&lt;/a&gt; &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays&#34;&gt;Developer Days&lt;/a&gt; up on the wiki. We are planning some short, fast &amp;rsquo;lightning&amp;rsquo; talks on various topics. The lightning talks should give the group a broad view of different projects and experiences. Afterward, we plan on breaking out into longer discussions or hacking sessions based on the groups interests.&lt;/p&gt;&#xA;&lt;p&gt;Feedback on the format and topics is welcome. If you haven&amp;rsquo;t signed up yet, but will be in &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/MountainViewMarch2007&#34;&gt;Mountain View (Mar 25th)&lt;/a&gt; or &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/BostonMarch2007&#34;&gt;Boston (Mar 30th)&lt;/a&gt; and are interested in participating, sign up and stop by.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RIA - Watered Down or Less Bloat</title>
      <link>https://starkravingfinkle.org/posts/2007/03/ria-watered-down-or-less-bloat/</link>
      <pubDate>Thu, 15 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/ria-watered-down-or-less-bloat/</guid>
      <description>&lt;p&gt;I just read Jeff Atwood&amp;rsquo;s &lt;a href=&#34;http://www.codinghorror.com/blog/archives/000815.html&#34;&gt;Are Web Interfaces &amp;ldquo;Good Enough&amp;rdquo;?&lt;/a&gt; post. He explores why web (RIA) versions of desktop applications are &amp;ldquo;less satisfying&amp;rdquo; than the desktop versions. He makes some good points and I&amp;rsquo;d like to build on his post. I see it the other way around: Web versions have less bloat than desktop versions. Let&amp;rsquo;s state the obvious right up front: I am talking about good desktop and good web applications. You&amp;rsquo;ll find crappy versions of both.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Developer Days - Mountain View</title>
      <link>https://starkravingfinkle.org/posts/2007/03/developer-days-mountain-view/</link>
      <pubDate>Wed, 14 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/developer-days-mountain-view/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/MountainViewMarch2007&#34;&gt;Mountain View Developer Day&lt;/a&gt; is approaching (Mar 25th). Looks like we&amp;rsquo;re getting a nice mix of people and interests. Since Mozilla is such a distributed company, its good to get together and be in the same room. I am looking forward to that.&lt;/p&gt;&#xA;&lt;p&gt;If your interested, there is still time to signup. Checkout the &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/MountainViewMarch2007/ProposedTopics&#34;&gt;proposed topics&lt;/a&gt; and add more to it. The 3D canvas stuff looks particularly interesting. It should play into webapp (RIA) discussions and how Mozilla can &lt;a href=&#34;http://weblogs.mozillazine.org/roadmap/archives/2007/03/the_open_web_and_its_adversari.html&#34;&gt;evolve&lt;/a&gt; to support them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Offline Cache Support in Firefox</title>
      <link>https://starkravingfinkle.org/posts/2007/03/offline-cache-support-in-firefox/</link>
      <pubDate>Wed, 14 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/offline-cache-support-in-firefox/</guid>
      <description>&lt;p&gt;Offline cache support was added to the Firefox trunk last night. Check out &lt;a href=&#34;http://bugzilla.mozilla.org/show_bug.cgi?id=367447&#34;&gt;bug 367447&lt;/a&gt; for details. This is a major step in Firefox 3&amp;rsquo;s offline webapp support. There is still some more things to add, however, including an API for web developers. I&amp;rsquo;d expect the API to &amp;ldquo;feel&amp;rdquo; like some of the &lt;a href=&#34;http://www.whatwg.org/specs/&#34;&gt;WHATWG APIs&lt;/a&gt; for web applications. I&amp;rsquo;d also expect drafts of any APIs to be ready for review soon. In fact, &lt;a href=&#34;http://bugzilla.mozilla.org/show_bug.cgi?id=371432&#34;&gt;bug 371432&lt;/a&gt; does have some API discussion.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Site Specific Browser - Using WebRunner</title>
      <link>https://starkravingfinkle.org/posts/2007/03/site-specific-browser-using-webrunner/</link>
      <pubDate>Wed, 14 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/site-specific-browser-using-webrunner/</guid>
      <description>&lt;p&gt;I have been using the prototype WebRunner for a few days to access GMail and Zimbra. Overall, I am quite happy with the results. The webapps load fast and I like having them appear in my ALT+TAB list. I am using Firefox for browsing and not running webapps, which feels better too. Firefox stays snappy and I have not had to &amp;ldquo;kill&amp;rdquo; its process because of speed or hung webapp problems.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Parse HTML in Mozilla</title>
      <link>https://starkravingfinkle.org/posts/2007/03/how-to-parse-html-in-mozilla/</link>
      <pubDate>Fri, 09 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/how-to-parse-html-in-mozilla/</guid>
      <description>&lt;p&gt;The question comes up frequently in extension development.&lt;/p&gt;&#xA;&lt;p&gt;The usual answer involves loading the HTML into a &lt;a href=&#34;http://developer.mozilla.org/en/docs/Parsing_HTML_From_Chrome&#34;&gt;hidden iframe&lt;/a&gt;, which requires a DOMWindow. Or potentially using the SAXParser that appeared in Firefox 2, though you don&amp;rsquo;t get a DOM that way.&lt;/p&gt;&#xA;&lt;p&gt;Thankfully, the answer is going to be a lot easier in the next release. &lt;a href=&#34;http://blog.mozilla.com/rob-sayre/2007/03/09/using-domparser-to-parse-html/&#34;&gt;Rob Sayre&lt;/a&gt; has a &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=361449&#34;&gt;patch&lt;/a&gt; for parsing &amp;ldquo;text/html&amp;rdquo; using the existing &lt;a href=&#34;http://developer.mozilla.org/en/docs/DOMParser&#34;&gt;DOMParser&lt;/a&gt; API. Currently, DOMParser only handles &amp;ldquo;text/xml&amp;rdquo;, hence the warning at the top of the MDC page. This limits its usefulness given the lack of XHTML in the wild. The new feature will make it very easy to load HTML (even partial tags) into a DOM.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Explorer - Mac DMG</title>
      <link>https://starkravingfinkle.org/posts/2007/03/xul-explorer-mac-dmg/</link>
      <pubDate>Wed, 07 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/xul-explorer-mac-dmg/</guid>
      <description>&lt;p&gt;I finally spent some time to make a DMG for XUL Explorer. It doesn&amp;rsquo;t have fancy background images, but it seems to work. One thing that surprised me was the size, even when compressed - 18MB. Also, I find it hard to believe that the &amp;ldquo;standard&amp;rdquo; way of distributing software for the Mac is a disk image that the user needs to &amp;ldquo;drag-n-drop&amp;rdquo; on the Applications folder. Anyway.&lt;/p&gt;&#xA;&lt;p&gt;Once installing XUL Explorer on my Mac, I did notice how poor the UI fit in with the Mac look. I&amp;rsquo;ll be working on that. I should have a Linux archive ready soon too.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Site Specific Browser - WebRunner</title>
      <link>https://starkravingfinkle.org/posts/2007/03/site-specific-browser-webrunner/</link>
      <pubDate>Tue, 06 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/site-specific-browser-webrunner/</guid>
      <description>&lt;p&gt;A few months ago, I posted about a concept called &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/11/site-specific-browers/&#34;&gt;Site Specific Browsers&lt;/a&gt; (SSB). I didn&amp;rsquo;t invent the name or the concept, but I thought it was a great idea. An SSB is an application with an embedded browser designed to work exclusively with a single web application. It&amp;rsquo;s doesn&amp;rsquo;t have the menus, toolbars and accoutrement&amp;rsquo;s of a normal web browser. Some people have called it a &lt;a href=&#34;http://www.hawkwings.net/2006/05/13/a-dedicated-distraction-free-browser-for-gmail/&#34;&gt;&amp;ldquo;distraction free browser&amp;rdquo;&lt;/a&gt; because none of the typical browser chrome is used.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apollo and RIA Thoughts</title>
      <link>https://starkravingfinkle.org/posts/2007/03/apollo-and-ria-thoughts/</link>
      <pubDate>Fri, 02 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/03/apollo-and-ria-thoughts/</guid>
      <description>&lt;p&gt;Rich Internet Applications (RIA)! It&amp;rsquo;s still a hot topic. &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/12/xule-what-if/&#34;&gt;Last time&lt;/a&gt;, the hype was for Microsoft&amp;rsquo;s WPF/E platform. This time it&amp;rsquo;s Adobe&amp;rsquo;s &lt;a href=&#34;http://labs.adobe.com/wiki/index.php/Apollo&#34;&gt;Apollo&lt;/a&gt; platform. Due to be released sometime before mid 2007, Apollo is a neat platform built on Flash, Flex and Webkit. Adobe recently had an invite-only event, Engage, to show off the platform and demo some applications. It created &lt;a href=&#34;http://ajaxian.com/archives/adobe-engage-apollo-as-web-rather-than-desktop&#34;&gt;quite&lt;/a&gt; a &lt;a href=&#34;http://blog.digitalbackcountry.com/?p=691&#34;&gt;bit&lt;/a&gt; of &lt;a href=&#34;http://scobleizer.com/2007/02/27/drinking-the-adobe-coffee/&#34;&gt;blogbuzz&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I am not really convinced that Apollo will be the next big thing, but I could be wrong. There are some aspects of Apollo, WPF/E (or any runtime wannabe) that cause me to stop and think before falling &lt;a href=&#34;https://starkravingfinkle.org/posts/2005/07/ui-frameworks-are-pigs/&#34;&gt;head-over-heels&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Clippings - Midas Rich Text Editor</title>
      <link>https://starkravingfinkle.org/posts/2007/02/xul-clippings-midas-rich-text-editor/</link>
      <pubDate>Wed, 28 Feb 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/02/xul-clippings-midas-rich-text-editor/</guid>
      <description>&lt;p&gt;How to create a rich text or HTML WYSIWYG type editor in Mozilla has come up a few times so I thought a post was in order. Mozilla has a rich text editing system (called &lt;a href=&#34;http://developer.mozilla.org/en/docs/Midas&#34;&gt;Midas&lt;/a&gt;) and an API similar to Internet Explorer&amp;rsquo;s. Mozilla, like Internet Explorer, supports the ability to make an entire document editable by setting the &lt;code&gt;designMode&lt;/code&gt; property of the document object. Once in design mode, the document can be manipulated using various &lt;a href=&#34;http://developer.mozilla.org/en/docs/Midas#Supported_Commands&#34;&gt;DHTML commands&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CHI 2007</title>
      <link>https://starkravingfinkle.org/posts/2007/02/chi-2007/</link>
      <pubDate>Tue, 27 Feb 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/02/chi-2007/</guid>
      <description>&lt;p&gt;Looks like I am headed to &lt;a href=&#34;http://www.chi2007.org/&#34;&gt;CHI 2007&lt;/a&gt; to participate in a session on user interface description languages. The session will explore the use of markup language UI&amp;rsquo;s (such as XUL, XAML and Flex) in prototyping user interfaces before handing them off for system integration. This could allow the interaction designer/engineer to become a more integral part of the iterations in the development cycle.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ll be demonstrating using &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL&#34;&gt;XUL&lt;/a&gt; to create a mockup user interface. Scott Stanfield will be building the same interface in XAML. Hopefully, we&amp;rsquo;ll get people interested in using UI markup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RichDraw - SVG Whiteboard</title>
      <link>https://starkravingfinkle.org/posts/2007/02/richdraw-svg-whiteboard/</link>
      <pubDate>Tue, 27 Feb 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/02/richdraw-svg-whiteboard/</guid>
      <description>&lt;p&gt;I am always interested to see other people use some of my code in a new way. Therefore, I was pretty happy to see a demo of my &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/04/richdraw-simple-vmlsvg-editor/&#34;&gt;RichDraw VML/SVG editor&lt;/a&gt; hooked up to some really cool &lt;a href=&#34;http://blog.hyperstruct.net/2007/2/24/xml-sync-islands-let-the-web-sharing-begin&#34;&gt;XMPP/Jabber collaboration&lt;/a&gt; code.&lt;/p&gt;&#xA;&lt;p&gt;Very nice.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Explorer 0.3</title>
      <link>https://starkravingfinkle.org/posts/2007/02/xul-explorer-03/</link>
      <pubDate>Tue, 27 Feb 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/02/xul-explorer-03/</guid>
      <description>&lt;p&gt;After getting sidetracked for a while, I have finally made some progress on &lt;a href=&#34;https://starkravingfinkle.org/posts/xul-explorer/&#34;&gt;XUL Explorer&lt;/a&gt;. I have been tinkering around with the editor and integrating the &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/02/xul-validator-beta/&#34;&gt;XUL validator&lt;/a&gt;. I also reorganized the code a little so I could support sidebars in the future.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://starkravingfinkle.org/posts/wp-content/uploads/2007/02/xulexplorer.png&#34; alt=&#34;xulexplorer.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have been trying to stick with the XUL as much as possible. Anyone who has worked with the editor would probably tell me it&amp;rsquo;s a lost cause, but it&amp;rsquo;s also been quite a learning experience. I have added tabbed editing by dynamically creating elements inside a . It seems to work well. I make use of the tab-close-button and even change tab image if the editor is modified.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla Developer Days</title>
      <link>https://starkravingfinkle.org/posts/2007/02/mozilla-developer-days/</link>
      <pubDate>Fri, 23 Feb 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/02/mozilla-developer-days/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays&#34;&gt;Developer days&lt;/a&gt; are informal day-long gatherings of Mozilla developers. We&amp;rsquo;ll be hosting one in &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/MountainViewMarch2007&#34;&gt;Mountain View (Mar 25)&lt;/a&gt; and one in &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays/BostonMarch2007&#34;&gt;Boston (Mar 30)&lt;/a&gt;. These are mainly oriented to active Mozilla platform, application and extension developers. The agenda is fairly loose and open. It&amp;rsquo;s a chance for people to talk about what they were working on, get help with problems, hack on code, and discuss where the platform is going, or could be going.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 3 - Offline App Demo</title>
      <link>https://starkravingfinkle.org/posts/2007/02/firefox-3-offline-app-demo/</link>
      <pubDate>Fri, 16 Feb 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/02/firefox-3-offline-app-demo/</guid>
      <description>&lt;p&gt;Firefox 3&amp;rsquo;s offline capabilities have been getting some attention lately: &lt;a href=&#34;http://www.bluishcoder.co.nz/2007/02/offline-zimbra-with-firefox.html&#34;&gt;Chris Double&amp;rsquo;s&lt;/a&gt; post on porting Zimbra to use offline shows-off the potential. &lt;a href=&#34;http://weblogs.mozillazine.org/roc/archives/2007/02/offline_web_app.html&#34;&gt;Robert O&amp;rsquo;Callahan&lt;/a&gt; and &lt;a href=&#34;http://ejohn.org/blog/offline-events/&#34;&gt;John&lt;/a&gt; &lt;a href=&#34;http://ejohn.org/blog/dom-storage/&#34;&gt;Resig&lt;/a&gt; give details on the different pieces of the capabilities, namely: Offline Cache, Offline Events and DOMStorage.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-simple-demo---task-helper&#34;&gt;A Simple Demo - Task Helper&lt;/h2&gt;&#xA;&lt;p&gt;I put together a simple offline application sample to help illustrate how the features can work. Call it - explanation through code. The application is a simple task list system. The current functionality includes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>FUEL Project Status</title>
      <link>https://starkravingfinkle.org/posts/2007/02/fuel-project-status/</link>
      <pubDate>Wed, 07 Feb 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/02/fuel-project-status/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://wiki.mozilla.org/FUEL&#34;&gt;FUEL&lt;/a&gt; is the little library that &lt;a href=&#34;http://ejohn.org/&#34;&gt;John Resig&lt;/a&gt; and I are working on which should make developing extensions a little easier. It&amp;rsquo;s been a while since we &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/01/extension-development-with-fuel/&#34;&gt;last&lt;/a&gt; &lt;a href=&#34;http://ejohn.org/blog/fueling-the-firefox/&#34;&gt;talked&lt;/a&gt; about it so I thought an update was in order.&lt;/p&gt;&#xA;&lt;p&gt;FUEL now has a place in the Mozilla CVS tree (browser/fuel) and development is happening in a branch (FUEL_DEVEL_BRANCH). We have been tweaking the API (&lt;a href=&#34;http://wiki.mozilla.org/FUEL/0.1/API&#34;&gt;0.1&lt;/a&gt; and &lt;a href=&#34;http://wiki.mozilla.org/FUEL/0.2/API&#34;&gt;0.2&lt;/a&gt;) a little over the past couple weeks. We have also added some information on the &lt;a href=&#34;http://wiki.mozilla.org/FUEL/0.1/Tests&#34;&gt;testing plan&lt;/a&gt;. We are using the Mochitest framework to run our unit tests.&lt;/p&gt;</description>
    </item>
    <item>
      <title>More XUL Dark Matter</title>
      <link>https://starkravingfinkle.org/posts/2007/02/more-xul-dark-matter/</link>
      <pubDate>Wed, 07 Feb 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/02/more-xul-dark-matter/</guid>
      <description>&lt;p&gt;In December, Robert O&amp;rsquo;Callahan had a &lt;a href=&#34;http://weblogs.mozillazine.org/roc/archives/2006/12/xul_dark_matter.html&#34;&gt;post&lt;/a&gt; about the large amount of XUL-based development happening without much visibility. Mozilla wants to find out as much as possible about such development. At &lt;a href=&#34;http://www.solutionslinux.fr/en/conferences_index.php&#34;&gt;Solutions Linux 2007&lt;/a&gt;, there was a &lt;a href=&#34;http://www.solutionslinux.fr/en/conferences_detail.php?id_conference=88&#34;&gt;Mozilla/XUL Round Table&lt;/a&gt; session to examine the potential of the Mozilla platform through success stories. From what I have seen (mostly in French) it was quite a successful session. Some of the demos and stories included:&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Validator - Beta</title>
      <link>https://starkravingfinkle.org/posts/2007/02/xul-validator-beta/</link>
      <pubDate>Thu, 01 Feb 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/02/xul-validator-beta/</guid>
      <description>&lt;p&gt;I put together a simple XUL validator based on the ideas in my &lt;a href=&#34;https://starkravingfinkle.org/posts/2007/01/thinking-about-a-xul-validator/&#34;&gt;last post&lt;/a&gt;. There is a primitive &lt;a href=&#34;http://starkravingfinkle.org/projects/xulcheck/xulcheck.html&#34;&gt;front end&lt;/a&gt; where you can put XUL into a textarea and validate it. The validator is completely client-side JavaScript with a simple JSON rules file. You can view the source and the rules from the validator &amp;ldquo;Tests&amp;rdquo; page.&lt;/p&gt;&#xA;&lt;p&gt;Currently, the validator checks the structure and semantics of the XUL using the rules given in the last post, with caveats I&amp;rsquo;ll discuss in a moment. The validator only tests for a subset of the best practices checks. The current tests are listed on the validator &amp;ldquo;Tests&amp;rdquo; page. I&amp;rsquo;ll be adding the rest of the best practice checks soon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thinking About a XUL Validator</title>
      <link>https://starkravingfinkle.org/posts/2007/01/thinking-about-a-xul-validator/</link>
      <pubDate>Thu, 25 Jan 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/01/thinking-about-a-xul-validator/</guid>
      <description>&lt;p&gt;A validator for XUL could be a good idea. I am thinking about something more than just &amp;lsquo;schema&amp;rsquo; validation. Something to help with best practices and accessibility. Maybe &amp;lsquo;validator&amp;rsquo; isn&amp;rsquo;t the right word. Here are some checks that could be useful:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Basic Structure&lt;/strong&gt; - Stuff a schema language would check:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is the XML well formed?&lt;/li&gt;&#xA;&lt;li&gt;Are any elements unknown?&lt;/li&gt;&#xA;&lt;li&gt;For a given element, are any attributes unknown?&lt;/li&gt;&#xA;&lt;li&gt;For a given element, is it the child of a valid parent?&lt;/li&gt;&#xA;&lt;li&gt;For a given attribute, are the values allowed?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Best Practices&lt;/strong&gt; - Stuff that&amp;rsquo;s recommended for a good, localizable, skinnable and accessible UI:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are access keys on menus, checkboxes, radiobuttons, buttons and labels linked to controls?&lt;/li&gt;&#xA;&lt;li&gt;Are labels linked to controls using &lt;code&gt;control&lt;/code&gt; attribute?&lt;/li&gt;&#xA;&lt;li&gt;Do toolbarbuttons have labels and tooltips (even if the label is hidden)?&lt;/li&gt;&#xA;&lt;li&gt;Are there menu alternatives to toolbar actions (use &lt;code&gt;keyset&lt;/code&gt; and &lt;code&gt;commandset&lt;/code&gt;)?&lt;/li&gt;&#xA;&lt;li&gt;Is the &lt;code&gt;context&lt;/code&gt; attribute used to attach context menus?&lt;/li&gt;&#xA;&lt;li&gt;Are radiogroups contained in a groupbox with a caption?&lt;/li&gt;&#xA;&lt;li&gt;Does the source declare a DTD for localization of string resources?&lt;/li&gt;&#xA;&lt;li&gt;Are labels, captions, accesskeys and other strings pulled from a DTD?&lt;/li&gt;&#xA;&lt;li&gt;Does the source import a stylesheet (exception: overlays)?&lt;/li&gt;&#xA;&lt;li&gt;Are toolbar, menu and button images assigned via CSS or hard coded &lt;code&gt;image&lt;/code&gt; attributes?&lt;/li&gt;&#xA;&lt;li&gt;Does the source avoid using inline &lt;code&gt;style&lt;/code&gt;?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;What else could a validator check? I pulled some of these from a good MDC article on &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_accessibility_guidelines&#34;&gt;accessibility guidelines&lt;/a&gt;. Localization is definitely important and MDC has &lt;a href=&#34;http://developer.mozilla.org/en/docs/Writing_localizable_code&#34;&gt;guidelines&lt;/a&gt; and &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Tutorial:Localization&#34;&gt;examples&lt;/a&gt; to help. The skinning stuff came from this &lt;a href=&#34;http://developer.mozilla.org/en/docs/Writing_Skinnable_XUL_and_CSS&#34;&gt;skin/CSS guide&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 3 for Developers</title>
      <link>https://starkravingfinkle.org/posts/2007/01/firefox-3-for-developers/</link>
      <pubDate>Tue, 23 Jan 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/01/firefox-3-for-developers/</guid>
      <description>&lt;p&gt;Even though Firefox 3 is only in early alpha, you can still see a &lt;a href=&#34;http://developer.mozilla.org/en/docs/Firefox_3_for_developers&#34;&gt;list of new features&lt;/a&gt; available to web and extension developers. The list will be updated as development continues.&lt;/p&gt;&#xA;&lt;p&gt;Jesse Ruderman also has a nice &lt;a href=&#34;http://www.squarefree.com/burningedge/releases/trunk-for-firefox-3.html&#34;&gt;changelog&lt;/a&gt; with links to bugzilla, for those of you that want all the details.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla ActiveX Control</title>
      <link>https://starkravingfinkle.org/posts/2007/01/mozilla-activex-control/</link>
      <pubDate>Tue, 23 Jan 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/01/mozilla-activex-control/</guid>
      <description>&lt;p&gt;I was a little surprised how &amp;ldquo;popular&amp;rdquo; my &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/12/xule-what-if/&#34;&gt;XUL/E post&lt;/a&gt; became. The demo viewer page alone has over double the hits of the second place page. In that post, I demonstrated how Mozilla&amp;rsquo;s rendering engine (Gecko) could be embedded in Internet Explorer and used to display rich XUL applications and advanced SVG and canvas graphics. Of course, XUL/E is a play on Microsoft&amp;rsquo;s brand-new-fantastic-sliced-bread WPF/E technology and Mozilla is not mounting a XUL/E initiative (but I can dare to dream).&lt;/p&gt;</description>
    </item>
    <item>
      <title>The More You Know</title>
      <link>https://starkravingfinkle.org/posts/2007/01/the-more-you-know/</link>
      <pubDate>Tue, 23 Jan 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/01/the-more-you-know/</guid>
      <description>&lt;p&gt;A few common questions seem to be asked a lot, especially by developers new to the Mozilla platform. So, I wanted to draw attention to some relevant articles on the &lt;a href=&#34;http://developer.mozilla.org&#34;&gt;Mozilla Developers Center&lt;/a&gt; (MDC).&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;How do I get access to the browser?&lt;/strong&gt; If your writing an extension for Firefox, there is a good chance you want access to the browser. You might want to add tabs, get the selected text in the current tab or whatever. This &lt;a href=&#34;http://developer.mozilla.org/en/docs/Code_snippets:Tabbed_browser&#34;&gt;tabbrowser code snippet&lt;/a&gt; article has enough information to get you started.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;How can I debug problems in my code?&lt;/strong&gt; It can be really frustrating when you seem to have everything put together right, but nothing appears to be working. This &lt;a href=&#34;http://developer.mozilla.org/en/docs/Extension_Frequently_Asked_Questions&#34;&gt;extension FAQ&lt;/a&gt; article can help you debug some common problems.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;How can I be notified when &amp;lsquo;X&amp;rsquo; happens?&lt;/strong&gt; Web developers are familiar with the concept of &amp;rsquo;events&amp;rsquo;. It is common to use events to be notified when a web page loads or when a keypress occurs on an input. The same is true when developing extensions and other chrome-based code in Mozilla. The UI is made up of XUL, which is very similar to what you know of DHTML. Here is a list of &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL:Events&#34;&gt;XUL events&lt;/a&gt; and a helpful &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Reference&#34;&gt;XUL reference&lt;/a&gt; with information about the various kinds of elements you&amp;rsquo;ll come across.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>XUL in HTML - UI Richness</title>
      <link>https://starkravingfinkle.org/posts/2007/01/xul-in-html-ui-richness/</link>
      <pubDate>Thu, 11 Jan 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/01/xul-in-html-ui-richness/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.veerwest.com/blog/web-development/xul-in-html-experimentations&#34;&gt;CÃ©dric Savarese&lt;/a&gt; has a &lt;a href=&#34;http://www.veerwest.com/sandbox/xul-in-html.php&#34;&gt;demo&lt;/a&gt; of using &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL&#34;&gt;XUL&lt;/a&gt; to make a richer HTML form. CÃ©dric&amp;rsquo;s approach is different than my &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/12/xule-what-if/&#34;&gt;XUL-in-Internet Explorer&lt;/a&gt; idea. His method only uses XUL in a XUL-enabled browser (Firefox, SeaMonkey or Netscape). In other browsers, it falls back to DHTML elements.&lt;/p&gt;&#xA;&lt;p&gt;One of the neat things about his approach is that it showcases how Mozilla-based browsers can create rich web interfaces without any extra plugins.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Development with FUEL</title>
      <link>https://starkravingfinkle.org/posts/2007/01/extension-development-with-fuel/</link>
      <pubDate>Tue, 09 Jan 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/01/extension-development-with-fuel/</guid>
      <description>&lt;p&gt;Removing obstacles for extension developers is my group&amp;rsquo;s primary task at Mozilla. There are lots of ways we can do this and areas include documentation, tutorials, samples and tools. One thing that becomes clear after watching and helping extension developers is the difficulty some have getting familiar with the Mozilla framework and the plethora of object and interfaces available. Not only are some of the concepts foreign, but in many cases there are no clear ways for extension developers to achieve their goals. There are places to get help. The &lt;a href=&#34;http://irc.mozilla.org&#34;&gt;Mozilla&amp;rsquo;s IRC&lt;/a&gt; channels are a great place to ask questions, especially &lt;a href=&#34;irc://irc.mozilla.org/extdev&#34;&gt;#extdev&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Clippings - Canvas</title>
      <link>https://starkravingfinkle.org/posts/2007/01/xul-clippings-canvas/</link>
      <pubDate>Tue, 02 Jan 2007 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2007/01/xul-clippings-canvas/</guid>
      <description>&lt;p&gt;Here are some &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/12/xul-clippings/&#34;&gt;XUL clippings&lt;/a&gt; that show different uses of theelement. The purpose of this post is not to show off uses of, but to point out that it can be used in XUL (Firefox extensions and XULRunner applications) very easily.&lt;/p&gt;&#xA;&lt;p&gt;I also updated the &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/12/xule-what-if/&#34;&gt;XUL/E (XUL in IE) post&lt;/a&gt; to include some of these samples as well. That&amp;rsquo;s right, you can usein IE using the Mozilla ActiveX control discussed in the post.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL/E - What If</title>
      <link>https://starkravingfinkle.org/posts/2006/12/xule-what-if/</link>
      <pubDate>Wed, 27 Dec 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/12/xule-what-if/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://msdn2.microsoft.com/en-us/netframework/aa663326.aspx&#34;&gt;WPF&lt;/a&gt; is the coolest thing an MFC programmer has ever seen. Of course, developers who have been working with declarative markups (HTML, SVG, &lt;a href=&#34;http://en.wikipedia.org/wiki/XUL&#34;&gt;XUL&lt;/a&gt; or &lt;a href=&#34;http://en.wikipedia.org/wiki/LZX&#34;&gt;Laszlo&lt;/a&gt;) and RAD form builders (Delphi and VB) are not hyperventilating. Sure, its nice that Microsoft has introduced a development platform that is actually easy to use, but such platforms have been around a while. Now, &lt;a href=&#34;http://msdn2.microsoft.com/en-us/asp.net/bb187358.aspx&#34;&gt;WPF/E&lt;/a&gt; is ready to take rich internet application (RIA) development by storm. Its not the first (XUL, Flash, &lt;a href=&#34;http://en.wikipedia.org/wiki/MXML&#34;&gt;Flex&lt;/a&gt; and Laszlo are not betas), but Microsoft&amp;rsquo;s entry is not to be taken lightly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Hacks Wanted</title>
      <link>https://starkravingfinkle.org/posts/2006/12/extension-hacks-wanted/</link>
      <pubDate>Fri, 22 Dec 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/12/extension-hacks-wanted/</guid>
      <description>&lt;p&gt;A large part of my job at &lt;a href=&#34;http://www.mozilla.com&#34;&gt;Mozilla&lt;/a&gt; is trying to make life easier for extension developers. In order to do my best, I need to understand the pains of extension developers. Up to now, I have been writing various types of extensions myself (sidebars, statusbars and components) to try to understand what an extension developer goes through. I even &lt;a href=&#34;https://addons.mozilla.org/&#34;&gt;download extensions&lt;/a&gt; just to look at the code, trying to find comments like &amp;ldquo;hack&amp;rdquo; or &amp;ldquo;sucks&amp;rdquo;. But really, that&amp;rsquo;s not enough. So now I am asking extension developers directly:&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Clippings</title>
      <link>https://starkravingfinkle.org/posts/2006/12/xul-clippings/</link>
      <pubDate>Fri, 22 Dec 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/12/xul-clippings/</guid>
      <description>&lt;p&gt;I thought I&amp;rsquo;d pull together some simple XUL examples you could load into &lt;a href=&#34;https://starkravingfinkle.org/posts/xul-explorer/&#34;&gt;XUL Explorer&lt;/a&gt;. It might help you get started using XUL Explorer. It may also help first-timers begin to see how XUL can be used to create a UI. Sometimes starting from scratch can be a hurdle.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; These are simply XUL files and if you&amp;rsquo;re using Firefox (or another XUL enabled browser), clicking the links will open the files in the browser instead of downloading to your machine. Right-click on the links and pick &amp;ldquo;Save Link As&amp;hellip;&amp;rdquo; to save them to your machine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XUL Explorer 0.2</title>
      <link>https://starkravingfinkle.org/posts/2006/12/xul-explorer-02/</link>
      <pubDate>Thu, 21 Dec 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/12/xul-explorer-02/</guid>
      <description>&lt;p&gt;I received a lot of feedback on &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/12/exploring-xul/&#34;&gt;XUL Explorer&lt;/a&gt;. It&amp;rsquo;s been a great learning experience for me as well. Here is a list of changes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Preview tab has been removed. The preview pane now appears below the editor pane. Previewing in a popup window is still available.&lt;/li&gt;&#xA;&lt;li&gt;Option to automatically update the preview as the editor changes. (Thanks to Richard Klein)&lt;/li&gt;&#xA;&lt;li&gt;Indicator in the statusbar shows errors. Double-click to display Error Console.&lt;/li&gt;&#xA;&lt;li&gt;Option to specify the snippet used to load the editor on startup.&lt;/li&gt;&#xA;&lt;li&gt;Option to include a user snippet file. The snippets are merged with the builtin snippets at startup.&lt;/li&gt;&#xA;&lt;li&gt;File &amp;gt; New allows user to pick any &amp;ldquo;Template&amp;rdquo; snippet, as well as blank.&lt;/li&gt;&#xA;&lt;li&gt;Simple XUL Checker can be used to &amp;lsquo;validate&amp;rsquo; the XUL snippet. This is fairly basic for now: It checks for legal element and attribute names, including allowed attributes for a given element.&lt;/li&gt;&#xA;&lt;li&gt;More than a few bug fixes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;images/xulexplorer-02.png&#34; alt=&#34;xulexplorer-02.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring XUL</title>
      <link>https://starkravingfinkle.org/posts/2006/12/exploring-xul/</link>
      <pubDate>Thu, 14 Dec 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/12/exploring-xul/</guid>
      <description>&lt;p&gt;Starting to learn a new platform can be daunting. Especially, when it is as big as the Mozilla platform. The XUL &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Tutorial&#34;&gt;tutorial&lt;/a&gt; and &lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Reference&#34;&gt;reference&lt;/a&gt; were exactly what I needed to start learning. However, I quickly found myself wanting to experiment with little XUL snippets just to see what they looked like at runtime. Or, I&amp;rsquo;d want to try applying some CSS to the elements. I decided to build a XULRunner application that provided a simple way to experiment with XUL. It also gave me a good hands-on project I could use to really start learning the platform.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Code Snippets - Get Your Code Snippets</title>
      <link>https://starkravingfinkle.org/posts/2006/12/code-snippets-get-your-code-snippets/</link>
      <pubDate>Mon, 11 Dec 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/12/code-snippets-get-your-code-snippets/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re new to Firefox extension or XULRunner programming, one of the first things you may want to do is find a good tutorial to help get a &amp;ldquo;hello world&amp;rdquo; project bootstrapped. &lt;a href=&#34;http://developer.mozilla.org&#34;&gt;Mozilla Developer Center&lt;/a&gt; (MDC) has more than a few to help you get started: &lt;a href=&#34;http://developer.mozilla.org/en/docs/Creating_a_Firefox_sidebar&#34;&gt;Firefox Sidebar&lt;/a&gt;, &lt;a href=&#34;http://developer.mozilla.org/en/docs/Creating_a_status_bar_extension&#34;&gt;Firefox Statusbar&lt;/a&gt;, &lt;a href=&#34;http://developer.mozilla.org/en/docs/Getting_started_with_XULRunner&#34;&gt;XULRunner Application&lt;/a&gt;. We are working to get more on the way too.&lt;/p&gt;&#xA;&lt;p&gt;The next thing you may need is small code snippets to help show you how to do common things. Things you probably already know how to do in another language or framework. You just need to know how to do it with XUL, JavaScript and XPCOM. You should definitely check out the &lt;a href=&#34;http://developer.mozilla.org/en/docs/Code_snippets&#34;&gt;Code Snippets&lt;/a&gt; section on the MDC. There is also an &lt;a href=&#34;http://kb.mozillazine.org/Category:Example_code&#34;&gt;Example Code&lt;/a&gt; section on &lt;a href=&#34;http://www.mozillazine.org/&#34;&gt;Mozillazine&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reboot</title>
      <link>https://starkravingfinkle.org/posts/2006/12/reboot/</link>
      <pubDate>Fri, 01 Dec 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/12/reboot/</guid>
      <description>&lt;p&gt;I recently accepted a job offer from &lt;a href=&#34;http://www.mozilla.com&#34;&gt;Mozilla Corporation&lt;/a&gt;. Today, I start working as an extension evangelist / consultant - helping extension developers be more successful, productive and happy.&lt;/p&gt;&#xA;&lt;p&gt;Mozilla has some really smart people and cool technologies. I can&amp;rsquo;t wait to get started.&lt;/p&gt;&#xA;&lt;p&gt;Update: &lt;a href=&#34;http://shaver.off.net/diary/2006/12/01/hes-from-state-college-and-hes-here-to-help/&#34;&gt;He&lt;/a&gt; really is a &lt;em&gt;special&lt;/em&gt; guy. Thanks Mike.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Site Specific Browers</title>
      <link>https://starkravingfinkle.org/posts/2006/11/site-specific-browers/</link>
      <pubDate>Fri, 10 Nov 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/11/site-specific-browers/</guid>
      <description>&lt;p&gt;Recent posts from &lt;a href=&#34;http://weblogs.mozillazine.org/zach/archives/017065.html&#34;&gt;Zach Lipton&lt;/a&gt; and &lt;a href=&#34;http://weblogs.mozillazine.org/roc/archives/2006/11/making_web_appl.html&#34;&gt;Robert O&amp;rsquo;Callahan&lt;/a&gt; share a common theme: &lt;em&gt;Give web applications better integration into the desktop&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I have a strong interest in this area myself. A while ago I came across a desktop application for the Mac called &lt;a href=&#34;http://www.karppinen.fi/pyro/&#34;&gt;Pryo&lt;/a&gt;. It&amp;rsquo;s an application with an embedded browser designed to work exclusively with a single web application: &lt;a href=&#34;http://campfirenow.com/&#34;&gt;Campfire&lt;/a&gt; (a web-based IM service from 37Signals). Pryo allows for many things that are either difficult or impossible for Campfire to do on its own. The guys behind Pryo call it a &lt;em&gt;Site Specific Browser&lt;/em&gt;. There is even a Windows &lt;a href=&#34;http://www.mattbrindley.com/projects/campfire-windows-app/campfire-app-for-windows/&#34;&gt;clone&lt;/a&gt; in the works.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla Platform - XPCOM in C&#43;&#43;</title>
      <link>https://starkravingfinkle.org/posts/2006/10/mozilla-platform-xpcom-in-c/</link>
      <pubDate>Tue, 24 Oct 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/10/mozilla-platform-xpcom-in-c/</guid>
      <description>&lt;p&gt;In the spirit of &amp;ldquo;you can never have too many&amp;rdquo;, I thought it would be a good idea to document my process of creating an XPCOM object in C++. XPCOM is Mozilla&amp;rsquo;s cross platform component object model, similar to Microsoft&amp;rsquo;s COM technology. XPCOM components can be implemented in C, C++, and JavaScript, and can be used from C, C++, and JavaScript. That means you can call JavaScript methods from C++ and vice versa.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Eudora &#43; Thunderbird = Penelope</title>
      <link>https://starkravingfinkle.org/posts/2006/10/eudora-thunderbird-penelope/</link>
      <pubDate>Sat, 14 Oct 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/10/eudora-thunderbird-penelope/</guid>
      <description>&lt;p&gt;Really interesting &lt;a href=&#34;http://www.mozilla.com/press/mozilla-2006-10-11.html&#34;&gt;news&lt;/a&gt; regarding the Mozilla Platform. Eudora is being rebuilt on the Thunderbird core. The project is called &lt;a href=&#34;http://wiki.mozilla.org/Penelope&#34;&gt;Penelope&lt;/a&gt;. It is definitely a good shot in the arm for both Thunderbird and the Mozilla Platform.&lt;/p&gt;&#xA;&lt;p&gt;I hope they base Penelope on &lt;a href=&#34;http://wiki.mozilla.org/Xulrunner&#34;&gt;XULRunner&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Canvas/SVG/VML Drawing Roundup</title>
      <link>https://starkravingfinkle.org/posts/2006/09/canvassvgvml-drawing-roundup/</link>
      <pubDate>Sun, 10 Sep 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/09/canvassvgvml-drawing-roundup/</guid>
      <description>&lt;p&gt;Its been a couple months since I released &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/04/richdraw-simple-vmlsvg-editor/&#34;&gt;RichDraw&lt;/a&gt;. At the time I was looking around at the state of browser-based drawing and diagraming tools. Most were Java or ActiveX based. Now, I am finding lots of pure Javascript API&amp;rsquo;s and tools.&lt;/p&gt;&#xA;&lt;p&gt;There also seems to be more of a push to create API&amp;rsquo;s, making it easier to create cross-browser applications. Each browser seems to support a slightly different technology. Even when they overlap, browser implementations are not always interoperable. Javascript wrappers are a big help.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla Platform - UI Basics [Part 2]</title>
      <link>https://starkravingfinkle.org/posts/2006/08/mozilla-platform-ui-basics-part-2/</link>
      <pubDate>Mon, 28 Aug 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/08/mozilla-platform-ui-basics-part-2/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2006/07/mozilla-platform-ui-basics-part-1/&#34;&gt;Last time&lt;/a&gt; I covered some simple XUL for creating windows, menus and toolbars. This time I&amp;rsquo;ll look at dialogs, your own and common OS dialogs too. Dialogs are pretty fundamental to a desktop application. Certain types of dialogs are used over and over. So much so that the OS can provide a default implementation. File open and save are good examples. Whenever possible, it is a good idea to reuse these &amp;rsquo;native&amp;rsquo; dialogs so users get a consistent experience across applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla Platform - UI Basics [Part 1]</title>
      <link>https://starkravingfinkle.org/posts/2006/07/mozilla-platform-ui-basics-part-1/</link>
      <pubDate>Sun, 30 Jul 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/07/mozilla-platform-ui-basics-part-1/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2006/07/mozilla-platform-basic-desktop-application/&#34;&gt;My quest&lt;/a&gt; to build a basic desktop application using XUL continues. &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/07/mozilla-platform-getting-started-with-xulrunner/&#34;&gt;Last time&lt;/a&gt; I installed &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt; and built a very simple, bare-bones test application. This time I want to add some of the things common to a desktop application UI:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows and Dialogs&lt;/li&gt;&#xA;&lt;li&gt;Menus and Toolbars&lt;/li&gt;&#xA;&lt;li&gt;OS Common Dialogs&lt;/li&gt;&#xA;&lt;li&gt;Controls or Widgets&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Windows&lt;/strong&gt; Each window or dialog should be created in it&amp;rsquo;s own XUL file. The XUL file may also contain other top-level declarations for CSS and DTD, which I will discuss in a moment. is the basic windowing element in XUL. It has attributes to set the title/caption as well as control width and height. Although I have not seen it mentioned yet, I am assuming that you can only have one element per XUL file. Here is an example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla Platform - Basic Desktop Application</title>
      <link>https://starkravingfinkle.org/posts/2006/07/mozilla-platform-basic-desktop-application/</link>
      <pubDate>Wed, 26 Jul 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/07/mozilla-platform-basic-desktop-application/</guid>
      <description>&lt;p&gt;After a short break, I am back to &lt;a href=&#34;https://starkravingfinkle.org/posts/2006/06/developing-with-mozilla/&#34;&gt;working with the Mozilla platform&lt;/a&gt; (XUL, JavaScript &amp;amp; XPCOM). I want to begin exploring the platform by building a basic desktop application using &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt;. Given that Firefox, Thunderbird and the rest of the Mozilla suite is written using the platform, it a safe bet that it can be used to build a basic application. However, I know nearly nothing of the Mozilla platform, so I need to start somewhere.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla Platform - Getting Started with XULRunner</title>
      <link>https://starkravingfinkle.org/posts/2006/07/mozilla-platform-getting-started-with-xulrunner/</link>
      <pubDate>Wed, 26 Jul 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/07/mozilla-platform-getting-started-with-xulrunner/</guid>
      <description>&lt;p&gt;I want to build a simple XUL-based Windows desktop application. If you&amp;rsquo;re going to build a XUL-based desktop application, you&amp;rsquo;ll probably need to install &lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XULRunner&lt;/a&gt;. In this post, I try to get XULRunner installed and make sure it runs a bare-bones application.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Step 1 - Download XULRunner:&lt;/strong&gt; The Mozilla developer page lists &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.1/win32/en-US/xulrunner-1.8.0.1.en-US.win32.zip&#34;&gt;1.8.0.1&lt;/a&gt; as the most recent release, but I see there is also a &lt;a href=&#34;http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.4/win32/en-US/xulrunner-1.8.0.4.en-US.win32.zip&#34;&gt;1.8.0.4&lt;/a&gt;, so that is the one I downloaded. &lt;strong&gt;UPDATE:&lt;/strong&gt; 1.8.0.4 release and SDK are available from Mozilla FTP.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Developing with Mozilla</title>
      <link>https://starkravingfinkle.org/posts/2006/06/developing-with-mozilla/</link>
      <pubDate>Thu, 29 Jun 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/06/developing-with-mozilla/</guid>
      <description>&lt;p&gt;I am trying to pull together as much information as I can about developing with the Mozilla platform. By platform I mean:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Creating browser extensions&lt;/li&gt;&#xA;&lt;li&gt;Embedding the browser in my applications&lt;/li&gt;&#xA;&lt;li&gt;Creating XUL based applications with XUL Runner&lt;/li&gt;&#xA;&lt;li&gt;Connecting my code (usually C++) to the platform (usually Javascript)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Embedding:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.mozilla.org/projects/embedding/&#34;&gt;Embedding Main Project&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.mozilla.org/projects/embedding/&#34;&gt;Embedding the Editor&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Extensions:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/Building_an_Extension&#34;&gt;Building an Extension&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/Creating_a_Firefox_sidebar&#34;&gt;Creating a Firefox sidebar&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/Category:Extensions&#34;&gt;Extension Wiki:Category Page&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;XUL:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.xulplanet.com/&#34;&gt;XUL Planet&lt;/a&gt; - References and Tutorials&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wiki.mozilla.org/XUL:Home_Page&#34;&gt;XUL Main Project&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/XULRunner&#34;&gt;XUL Runner&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://developer.mozilla.org/en/docs/XUL_Tutorial&#34;&gt;Mozilla XUL Tutorial&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.devshed.com/c/a/XML/An-Introduction-to-XUL-Part-1/&#34;&gt;Introduction to XUL (devshed)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://segment7.net/projects/mozilla/editor/gettingstarted.html&#34;&gt;Creating an HTML editor in XUL&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;XPCOM:&lt;/p&gt;</description>
    </item>
    <item>
      <title>I am My Data, My Data is Me</title>
      <link>https://starkravingfinkle.org/posts/2006/06/i-am-my-data-my-data-is-me/</link>
      <pubDate>Sun, 18 Jun 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/06/i-am-my-data-my-data-is-me/</guid>
      <description>&lt;p&gt;I couldn&amp;rsquo;t help but get caught up in the recent threads about data lock-in. I have become quite a &amp;ldquo;data-snob&amp;rdquo; recently which, I&amp;rsquo;m finding, is quite abnormal for a developer. Developers are all about the code. On one side you have the &lt;a href=&#34;http://diveintomark.org/archives/2006/06/02/when-the-bough-breaks&#34;&gt;Mark Pilgrim&lt;/a&gt; &amp;amp; &lt;a href=&#34;http://daringfireball.net/2006/06/and_oranges&#34;&gt;Jon Gruber&lt;/a&gt; (&amp;amp; &lt;a href=&#34;http://diveintomark.org/archives/2006/06/16/juggling-oranges&#34;&gt;Mark&amp;rsquo;s reply&lt;/a&gt;) discussing Apple&amp;rsquo;s data lock-in problems. On the other side you have &lt;a href=&#34;http://flickr.com/groups/central/discuss/72157594165399644/#comment72157594167782546&#34;&gt;Stewart Butterfield&amp;rsquo;s&lt;/a&gt; not-so-positive comments about allowing Flickr to export to &lt;a href=&#34;http://www.techcrunch.com/2006/06/16/why-is-flickr-afraid-of-zoomr/&#34;&gt;Zooomr&lt;/a&gt; or Google&amp;rsquo;s new online Photo Ablums.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RichDraw - Simple VML/SVG Editor</title>
      <link>https://starkravingfinkle.org/posts/2006/04/richdraw-simple-vmlsvg-editor/</link>
      <pubDate>Sun, 09 Apr 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/04/richdraw-simple-vmlsvg-editor/</guid>
      <description>&lt;p&gt;Rich text editing is a feature that is finding it&amp;rsquo;s way into &lt;a href=&#34;http://www.writely.com&#34;&gt;many&lt;/a&gt; &lt;a href=&#34;http://www.writeboard.com/&#34;&gt;new&lt;/a&gt; &lt;a href=&#34;http://www.tadalist.com&#34;&gt;web&lt;/a&gt; &lt;a href=&#34;http://www.ajaxwrite.com/&#34;&gt;applications&lt;/a&gt;. It&amp;rsquo;s becoming a feature that users can&amp;rsquo;t live without. We are also starting to see some graphical editing &lt;a href=&#34;http://www.ajaxsketch.com/&#34;&gt;applications&lt;/a&gt;. In an effort to satisfy a potential, future, demand to have graphical editing everywhere (it could happen), I created a Javascript component called RichDraw.&lt;/p&gt;&#xA;&lt;p&gt;RichDraw works in IE 6+, Firefox 1.5+ and Opera 9, using VML or SVG as the underlying renderer. Opera 9 has a small issue with the way I adjust/offset the mouse coordinates, but I&amp;rsquo;ll look into that. Currently the component supports:&lt;/p&gt;</description>
    </item>
    <item>
      <title>OO Design, Hobgoblins and Foolish Consistency</title>
      <link>https://starkravingfinkle.org/posts/2006/03/oo-design-hobgoblins-and-foolish-consistency/</link>
      <pubDate>Sat, 25 Mar 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/03/oo-design-hobgoblins-and-foolish-consistency/</guid>
      <description>&lt;p&gt;I started using C++ over 15 years ago. I still use it every day on the job. I have picked up some other OO languages along the way as well. When I learned OO principles, there was a quote I heard often:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;When an OO problem looks too difficult, add more objects.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;It usually worked, but price was complexity. Simplification by adding complexity. After years of maintaining my own code, as well as other&amp;rsquo;s, I no longer believe in the philosophy of the quote. My current philosophy fits better with:&lt;/p&gt;</description>
    </item>
    <item>
      <title>SVG in IE (Update)</title>
      <link>https://starkravingfinkle.org/posts/2006/03/svg-in-ie-update/</link>
      <pubDate>Mon, 20 Mar 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/03/svg-in-ie-update/</guid>
      <description>&lt;p&gt;I made some changes to the IESVG behavior. I am trying to get better feature coverage without making the rendering too slow. I have been testing the code using some SVG images from different places, trying to figure out what parts of SVG seem to be more important than others. Recents chanegs include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Basic support for gradient fills. It&amp;rsquo;s pretty weak and may have not SVG-correct.&lt;/li&gt;&#xA;&lt;li&gt;Basic support for &lt;code&gt;svg:g&lt;/code&gt; elements.&lt;/li&gt;&#xA;&lt;li&gt;Switched code to use DOM methods (appendChild and replaceChild) instead of slower, string-based methods.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I plan to add more support for gradients. I also plan to add some scripting support. You can do scripting now, but you need to treat the elements as VML, not SVG. I plan to add some methods to the VML elements to make them appear more SVG-like when scripting.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SVG in IE</title>
      <link>https://starkravingfinkle.org/posts/2006/03/svg-in-ie/</link>
      <pubDate>Tue, 14 Mar 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/03/svg-in-ie/</guid>
      <description>&lt;p&gt;Inspired by &lt;a href=&#34;http://me.eae.net/archive/2005/12/29/canvas-in-ie/&#34;&gt;Emil&amp;rsquo;s emulation&lt;/a&gt; of the &lt;code&gt;canvas&lt;/code&gt; tag in IE, I put together a simple SVG emulation behavior for IE. As with Emil&amp;rsquo;s code, I am making use of Internet Explorer&amp;rsquo;s VML support. The behavior will walk the SVG element structure and attempt to convert to appropriate VML elements. It&amp;rsquo;s far from complete, but it does a decent job. Supported features include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Basic shapes: rect, ellipse, circle, polyline, polygon and path.&lt;/li&gt;&#xA;&lt;li&gt;Simple fills commands (in attributes and CSS): fill and fill-opacity.&lt;/li&gt;&#xA;&lt;li&gt;Simple stroke commands (in attributes and CSS): stroke, stroke-width, stroke-opacity and stroke-linejoin.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The behavior works on Inline-SVG, not standalone SVG files. Currently, the behavior only works on static SVG. You can&amp;rsquo;t use Javascript to interact with the SVG. Javascript can only access the VML elements. I plan to add support for and gradients (although this could be hard). I also want to eventually add support for scripting by adding SVG-like methods to the VML elements. You&amp;rsquo;ll notice that the SVG elements are in an explicit &lt;code&gt;svg&lt;/code&gt; namespace. This seems to be a requirement for the behavior to work, but I am trying to remove the need.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Live Clipboard &amp;amp; Open Laszlo</title>
      <link>https://starkravingfinkle.org/posts/2006/03/live-clipboard-open-laszlo/</link>
      <pubDate>Thu, 09 Mar 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/03/live-clipboard-open-laszlo/</guid>
      <description>&lt;p&gt;Two really cool announcements this week: Ray Ozzie&amp;rsquo;s &lt;a href=&#34;http://spaces.msn.com/rayozzie/blog/cns!FB3017FBB9B2E142!285.entry?_c11_blogpart_blogpart=blogview&amp;amp;_c=blogpart#permalink&#34;&gt;Live Clipboard&lt;/a&gt; concept and &lt;a href=&#34;http://www.openlaszlo.org/&#34;&gt;Open Laszlo&lt;/a&gt; &lt;a href=&#34;http://weblog.openlaszlo.org/archives/2006/03/openlaszlo-goes-dhtml/&#34;&gt;running&lt;/a&gt; on DHTML. I see both announcements having long term effects.&lt;/p&gt;&#xA;&lt;p&gt;Live Clipboard is just so simple and useful, it has to get adopted, standardized and built into any serious web and non-web applications. That&amp;rsquo;s right, desktop applications and OS shells should also support Live Clipboard. Users will love it. Moving data between web and desktop applications &lt;em&gt;should&lt;/em&gt; be as simple as copy/paste.&lt;/p&gt;</description>
    </item>
    <item>
      <title>IE7 Changes for MSHTML Embedding</title>
      <link>https://starkravingfinkle.org/posts/2006/02/ie7-changes-for-mshtml-embedding/</link>
      <pubDate>Sun, 05 Feb 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/02/ie7-changes-for-mshtml-embedding/</guid>
      <description>&lt;p&gt;This is post is really for me more than anything else. I have been trying to find some information on what new features IE7 offers for those embedding the WebBrowser control. In the process, I also found some stuff that came out with IE6 during the WinXP SP2 timeframe.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://msdn.microsoft.com/workshop/browser/hosting/reference/enum/dochostuiflag.asp&#34;&gt;DOCHOSTUIFLAG&lt;/a&gt;: New flags for navigation and redirect control. Also flags for enabling new &amp;ldquo;windowless&amp;rdquo; SELECT elements instead of the old &amp;ldquo;windowed&amp;rdquo; versions.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://msdn.microsoft.com/workshop/security/szone/reference/enums/INTERNETFEATURELIST.asp&#34;&gt;INTERNETFEATURELIST&lt;/a&gt;: This enumeration of features can out in IE6, mainly for controlling security. IE7 adds a couple new features for controlling more security stuff, tabbed browsing and builtin XMLHttpRequest. Also, it provides a way to turn off the damn navigation sounds without hacking the registry. Used with &lt;a href=&#34;http://msdn.microsoft.com/workshop/security/szone/reference/functions/cointernetsetfeatureenabled.asp&#34;&gt;CoInternetSetFeatureEnabled&lt;/a&gt; and &lt;a href=&#34;http://msdn.microsoft.com/workshop/security/szone/overview/sec_featurecontrols.asp&#34;&gt;related API&amp;rsquo;s&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://msdn.microsoft.com/workshop/author/dhtml/overview/tab_impact.asp&#34;&gt;Tabbed Browsing Developer Summary&lt;/a&gt;: Describes the effects on the DOM, shows how applications hosts can enable tabbed browsing shortcuts, and describes new notifications.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://msdn.microsoft.com/workshop/essentials/whatsnew/whatsnew_70_sdk.asp&#34;&gt;What&amp;rsquo;s New in Internet Explorer 7&lt;/a&gt;: Summary of the major changes in Internet Explorer 7 of particular interest to the developers.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://msdn.microsoft.com/workshop/browser/webbrowser/reference/events/newwindow3.asp&#34;&gt;NewWindow3 Event&lt;/a&gt;: Showed up in IE6 XPSP2. Gives developers better control over handling new browser windows.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/library/en-us/feedsapi/rss/rss_entry.asp&#34;&gt;Microsoft Feeds API&lt;/a&gt;: An API for creating, managing, and accessing Really Simple Syndication (RSS) feeds.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://msdn.microsoft.com/workshop/security/protmode/pmie_ref_entry.asp&#34;&gt;Protected Mode API&lt;/a&gt;: Develop extensions and add-ons for Internet Explorer that can interact with the file system and registry. Includes methods to control a &amp;ldquo;Save As&amp;rdquo; dialog and save content to file.&lt;/li&gt;&#xA;&lt;li&gt;Many URI related API&amp;rsquo;s: &lt;a href=&#34;http://msdn.microsoft.com/workshop/networking/moniker/reference/functions/CreateUri.asp&#34;&gt;CreateUri&lt;/a&gt; and &lt;a href=&#34;http://msdn.microsoft.com/workshop/networking/moniker/reference/ifaces/IUri/IUri.asp&#34;&gt;IUri interface&lt;/a&gt; just for starters.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I came across most of this stuff by searching the MSDN site looking for &lt;a href=&#34;http://www.google.com/search?q=site%3Amsdn.microsoft.com+%22Internet+Explorer+7+or+later%22&#34;&gt;&amp;ldquo;Internet Explorer 7 or later&amp;rdquo;&lt;/a&gt;. I&amp;rsquo;ll try to update this page as I find out more information.&lt;/p&gt;</description>
    </item>
    <item>
      <title>VML, SVG and Canvas</title>
      <link>https://starkravingfinkle.org/posts/2006/01/vml-svg-and-canvas/</link>
      <pubDate>Sun, 01 Jan 2006 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2006/01/vml-svg-and-canvas/</guid>
      <description>&lt;p&gt;Take a couple weeks off from blogging and it&amp;rsquo;s real hard to get back into it. I have been working toward a BETA at my day job, playing around with a web project at home and enjoying the end of year holidays as well.&lt;/p&gt;&#xA;&lt;p&gt;Anyway, the web project is a web application that makes heavy use of graphics. Started building on IE with &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/workshop/author/vml/SHAPE/introduction.asp&#34;&gt;VML (Vector Markup Language)&lt;/a&gt;. I gained experience using VML from my day job. Had no problems putting together a pretty good vector graphic editor, complete with HTML text inside shapes. The editor would be a core component in the web application. Then I started adding in support for Firefox. The plan was to abstract the VML/SVG differences and use as much common code as possible. JavaScript libraries like &lt;a href=&#34;http://prototype.conio.net/&#34;&gt;Prototype&lt;/a&gt; made lots of the work easy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>P2P Toolkits</title>
      <link>https://starkravingfinkle.org/posts/2005/10/p2p-toolkits/</link>
      <pubDate>Sat, 15 Oct 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/10/p2p-toolkits/</guid>
      <description>&lt;p&gt;A while ago, I was looking for a P2P framework library that I could use in a software project. The only real P2P toolkits I found were the Java-based &lt;a href=&#34;http://jxta.org&#34;&gt;JXTA&lt;/a&gt; and the Windows XP (SP1) &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/downloads/list/winxppeer.asp&#34;&gt;Peer-to-Peer API&lt;/a&gt; from Microsoft. Neither really worked for me. I program in C++ and wanted to support older OSes.&lt;/p&gt;&#xA;&lt;p&gt;I was too focused on &lt;em&gt;&amp;lsquo;P2P&amp;rsquo;&lt;/em&gt; in my searches. It finally dawned on me that &lt;strong&gt;multiplayer games&lt;/strong&gt; have to solve the same problems as a P2P client. Googling turned up several interesting toolkits:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Improvements in User Experience</title>
      <link>https://starkravingfinkle.org/posts/2005/09/improvements-in-user-experience/</link>
      <pubDate>Sat, 24 Sep 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/09/improvements-in-user-experience/</guid>
      <description>&lt;h2 id=&#34;inductive-ui-in-office-12&#34;&gt;Inductive UI in Office 12&lt;/h2&gt;&#xA;&lt;p&gt;By now anyone interested in software user experience has &lt;a href=&#34;http://channel9.msdn.com/showpost.aspx?postid=114720&#34;&gt;seen the video&lt;/a&gt; or &lt;a href=&#34;http://www.microsoft.com/office/preview&#34;&gt;read the articles&lt;/a&gt; about Microsoft Office 12 getting a complete UI makeover. For an ongoing explanation of the design rationale, you should also checkout &lt;a href=&#34;http://blogs.msdn.com/jensenh&#34;&gt;Jensen Harris&amp;rsquo; blog&lt;/a&gt;. Jensen works on the Office user experience team.&lt;/p&gt;&#xA;&lt;p&gt;Many people write-off the UI changes as merely a ploy to get customers to upgrade. In a way, I agree. Customers will upgrade because the new interfaces will make using Office easier and allow users to be more productive. Inductive UI&amp;rsquo;s have been around for a while, but this is the first large-scale use in a major Microsoft product.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jumping In</title>
      <link>https://starkravingfinkle.org/posts/2005/08/jumping-in/</link>
      <pubDate>Fri, 05 Aug 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/08/jumping-in/</guid>
      <description>&lt;p&gt;In a rather accidental manner, I am starting up several new projects. I am really getting into &lt;a href=&#34;http://en.wikipedia.org/wiki/Wiki&#34;&gt;Wiki&amp;rsquo;s&lt;/a&gt;. I installed &lt;a href=&#34;http://www.mediawiki.org/wiki/MediaWiki&#34;&gt;MediaWiki&lt;/a&gt; at work for internal collaboration and knowledge management. I decided to run it on Linux instead of Windows, so I installed &lt;a href=&#34;http://www.ubuntulinux.org/&#34;&gt;Ubuntu&lt;/a&gt;. Wow! First time I have ever done anything with a *nix. It&amp;rsquo;s fantastic. I am considering switching my home machine to Ubuntu as well.&lt;/p&gt;&#xA;&lt;p&gt;I have made many ASP-based web sites before, but now that I had a Linux server, I thought I&amp;rsquo;d try something different. I installed &lt;a href=&#34;http://www.djangoproject.com/&#34;&gt;Django&lt;/a&gt;, mainly because I have always wanted an excuse to learn &lt;a href=&#34;http://www.python.org/&#34;&gt;Python&lt;/a&gt;. It was much easier to get going than ASP. I had heard the same thing about Ruby On Rails for a while, but had my doubts. Those doubts are gone.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello XUL Runner</title>
      <link>https://starkravingfinkle.org/posts/2005/07/hello-xul-runner/</link>
      <pubDate>Sat, 30 Jul 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/07/hello-xul-runner/</guid>
      <description>&lt;p&gt;I have been playing with &lt;a href=&#34;http://wiki.mozilla.org/XUL:Xul_Runner&#34;&gt;XUL Runner&lt;/a&gt;. It feels like writing a web app, but runs on the desktop. Windows, Linux and Mac desktops. Sweet!&lt;/p&gt;&#xA;&lt;p&gt;Other things I like:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Nice selection of widgets and layouts&lt;/li&gt;&#xA;&lt;li&gt;XBL allows new widgets and behavior to be added.&lt;/li&gt;&#xA;&lt;li&gt;XPCOM allows calls to JavaScript and C++ non-GUI code.&lt;/li&gt;&#xA;&lt;li&gt;SVG support is builtin. (soon)&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>AJAX and Rocket Science</title>
      <link>https://starkravingfinkle.org/posts/2005/07/ajax-and-rocket-science/</link>
      <pubDate>Wed, 13 Jul 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/07/ajax-and-rocket-science/</guid>
      <description>&lt;p&gt;Seems I am not the &lt;a href=&#34;https://starkravingfinkle.org/posts/2005/07/scalable-user-experience/&#34;&gt;only&lt;/a&gt; &lt;a href=&#34;https://starkravingfinkle.org/posts/2005/06/this-just-in-ajax-is-important/&#34;&gt;one&lt;/a&gt; &lt;a href=&#34;https://starkravingfinkle.org/posts/2005/03/ajax-markets-abhor-vacuum/&#34;&gt;disturbed&lt;/a&gt; by the FUD some groups are pushing about AJAX being very difficult to implement. This &lt;a href=&#34;http://www.ajaxian.com/archives/2005/07/ajax_is_rocket.html&#34;&gt;post&lt;/a&gt; has some good examples of how easy it can be.&lt;/p&gt;&#xA;&lt;p&gt;Writing good, quality software is non-trivial in any language. Wizards and RAD designers do not automagically generate great software.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UI Frameworks Are Pigs</title>
      <link>https://starkravingfinkle.org/posts/2005/07/ui-frameworks-are-pigs/</link>
      <pubDate>Wed, 13 Jul 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/07/ui-frameworks-are-pigs/</guid>
      <description>&lt;p&gt;Why are UI frameworks pigs? Because they don&amp;rsquo;t love you back.&lt;/p&gt;&#xA;&lt;p&gt;You know the story: You meet this new UI framework. It seems so fresh and exciting. You start spending more time together, just doing small stuff. Things are so easy, not forced or boring like with your previous frameworks. So what if it acts a little immature. Before you know it, you&amp;rsquo;re writing specialized controls from scratch, embedding large amounts of business logic and enjoying every minute of it. You&amp;rsquo;re head over heels. Next thing you know, you&amp;rsquo;re crying yourself to sleep and listening to Barry Manilow.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Scalable User Experience</title>
      <link>https://starkravingfinkle.org/posts/2005/07/scalable-user-experience/</link>
      <pubDate>Mon, 04 Jul 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/07/scalable-user-experience/</guid>
      <description>&lt;p&gt;John Montgomery on &lt;a href=&#34;http://blogs.msdn.com/johnmont/archive/2005/07/03/435210.aspx&#34;&gt;Scalable User Experience&lt;/a&gt;. Although I disagree with the &lt;em&gt;rocket scientist required&lt;/em&gt; myth, I agree with John&amp;rsquo;s conclusions. I especially like this quote:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Rather than trying to replace every application model in use today with one perfect model, a better solution is to let them flourish and to connect them together so that each can do what it does best. This vision, which I&amp;rsquo;d call the &amp;ldquo;Scalable User Experience,&amp;rdquo; is where Atlas begins to take application models. This team is building off three tenets (even if they don&amp;rsquo;t know it):&lt;/p&gt;</description>
    </item>
    <item>
      <title>This Just In: AJAX Is Important</title>
      <link>https://starkravingfinkle.org/posts/2005/06/this-just-in-ajax-is-important/</link>
      <pubDate>Tue, 28 Jun 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/06/this-just-in-ajax-is-important/</guid>
      <description>&lt;p&gt;Looks like Microsoft is getting on the AJAX bandwagon, whether they like it or not. &lt;a href=&#34;http://radio.weblogs.com/0001011/2005/06/28.html#a10497&#34;&gt;Scoble&lt;/a&gt; mentions a Microsoft Javascript library named ATLAS. &lt;a href=&#34;http://news.com.com/Microsoft+gets+hip+to+AJAX/2100-1007_3-5765197.html&#34;&gt;CNET&lt;/a&gt;, &lt;a href=&#34;http://www.microsoft-watch.com/article2/0,1995,1832167,00.asp&#34;&gt;Microsoft Watch&lt;/a&gt; and &lt;a href=&#34;http://www.informationweek.com/story/showArticle.jhtml?articleID=164903218&amp;amp;tid=5979&#34;&gt;Information Week&lt;/a&gt; posted articles about ATLAS. Charles Fitzgerald is, &lt;a href=&#34;https://starkravingfinkle.org/posts/2005/03/ajax-markets-abhor-vacuum/&#34;&gt;again&lt;/a&gt;, the MS guy involved. Reading the articles, I can&amp;rsquo;t tell if Fitzgerald is excited about ATLAS/AJAX or just feels like its something MS needed to do to stay relevant in web development. Some quotes:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;People who do (AJAX development) are rocket scientists,&amp;rdquo; Fitzgerald said. &amp;ldquo;In some ways, this papers over the mess that is JavaScript development. It&amp;rsquo;s easy-to-build &amp;lsquo;spaghetti&amp;rsquo; code.&amp;rdquo; [CNET]&lt;/p&gt;</description>
    </item>
    <item>
      <title>In Search Of: A Usable UI</title>
      <link>https://starkravingfinkle.org/posts/2005/06/in-search-of-a-usable-ui/</link>
      <pubDate>Mon, 27 Jun 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/06/in-search-of-a-usable-ui/</guid>
      <description>&lt;p&gt;Jeremy Zawodny&amp;rsquo;s &lt;a href=&#34;http://jeremy.zawodny.com/blog/archives/004853.html&#34;&gt;Surprising User Expectations&lt;/a&gt; post and Jeff Atwood&amp;rsquo;s &lt;a href=&#34;http://www.codinghorror.com/blog/archives/000325.html&#34;&gt;UI is Hard&lt;/a&gt; post draw attention to a big problem in software development: Developers rarely design good UI&amp;rsquo;s. I have come to the conclusion that UI design should be handled by people who understand how users think, interact and model problems. This is more of a human factors problem than a coding problem.&lt;/p&gt;&#xA;&lt;p&gt;I am a big proponent of making usable software. It&amp;rsquo;s one of my crusades. &lt;em&gt;Usability&lt;/em&gt; is not defined by developers, it is defined by users. We recently completed our second phase of usability testing on a new product. It&amp;rsquo;s always a learning experience watching regular people trying to use software. It can be frustrating when it&amp;rsquo;s software I helped to develop. To make better UI&amp;rsquo;s, developers need to appreciate the obstacles that confront users and try remove the obstacles. Usability testing and reading people like Cooper, Nielsen and Norman can give you a better perspective.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting Article Published</title>
      <link>https://starkravingfinkle.org/posts/2005/06/mshtml-hosting-article-published/</link>
      <pubDate>Wed, 15 Jun 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/06/mshtml-hosting-article-published/</guid>
      <description>&lt;p&gt;I wrote an MSHTML hosting article for the &lt;a href=&#34;http://bcbjournal.org/&#34;&gt;C++Builder Developer&amp;rsquo;s Journal&lt;/a&gt;. They decided to make the issue freely available. &lt;a href=&#34;http://bcbjournal.com/free_issue/vol9_num6.htm&#34;&gt;HTML&lt;/a&gt; and &lt;a href=&#34;http://bcbjournal.com/free_issue/bcbj_vol9_num6.pdf&#34;&gt;PDF&lt;/a&gt; versions are available.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rich UI vs User Experience</title>
      <link>https://starkravingfinkle.org/posts/2005/06/rich-ui-vs-user-experience/</link>
      <pubDate>Tue, 14 Jun 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/06/rich-ui-vs-user-experience/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://blogs.msdn.com/johnmont/default.aspx&#34;&gt;John Montgomery&lt;/a&gt; and &lt;a href=&#34;http://weblog.infoworld.com/udell&#34;&gt;Jon Udell&lt;/a&gt; are having a discussion about AJAX and rich internet applications. Montgomery is trying to determine what all the fuss over AJAX is about. He played with some toolkits and is unimpressed. Why? He doesn&amp;rsquo;t see how AJAX can compete with Winforms/Webforms on user experience. John &lt;a href=&#34;http://blogs.msdn.com/johnmont/archive/2005/06/12/428375.aspx&#34;&gt;says&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Mostly, Jon&amp;rsquo;Â’s posts got me to thinking about why we (that&amp;rsquo;Â’s you and me -Â– Web users) are OK with degraded user experiences. I mean, for years we had great desktop applications to do things like calendaring and email and even mapping software. Then came the initial Web, where HTML 3.2 and some JavaScript meant that Web apps just couldn&amp;rsquo;Â’t be as nice as local apps. And now we&amp;rsquo;Â’re all very excited about things like Evite, Gmail, and Google maps. But compare Google Maps to Streets and Trips, which I did recently, and the experience with S&amp;amp;T is much better. Same with Outlook vs. Gmail (usually, anyway). Heck, most people read blogs through a Web browser, not an aggregator, even though aggregators are much more efficient.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XML File Formats in Office 12</title>
      <link>https://starkravingfinkle.org/posts/2005/06/xml-file-formats-in-office-12/</link>
      <pubDate>Thu, 02 Jun 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/06/xml-file-formats-in-office-12/</guid>
      <description>&lt;p&gt;Brian Jones, program manager on the Word team &lt;a href=&#34;http://blogs.msdn.com/brian_jones/archive/2005/06/01/424085.aspx&#34;&gt;posted&lt;/a&gt; news about the new XML file formats in Office 12. I have posted a few times on &lt;a href=&#34;https://starkravingfinkle.org/posts/2004/05/using-xml-as-file-format/&#34;&gt;XML&lt;/a&gt; &lt;a href=&#34;https://starkravingfinkle.org/posts/2004/06/high-on-xml/&#34;&gt;file&lt;/a&gt; &lt;a href=&#34;https://starkravingfinkle.org/posts/2005/03/xml-vs-serialization/&#34;&gt;formats&lt;/a&gt;, so I am interested in what Office is doing. Some interesting points:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Full fidelity. As good as the binary format.&lt;/li&gt;&#xA;&lt;li&gt;Compressed. Lots of file parts stored in a structured ZIP archive, similar to &lt;a href=&#34;http://www.oasis-open.org/committees/office/faq.php&#34;&gt;OpenDocument&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Fully documented. Whitepapers, documentation and XSD schemas.&lt;/li&gt;&#xA;&lt;li&gt;Robust. A lot less likely to get a corrupt file that can&amp;rsquo;t have pieces recovered.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;IMO, the above points could be true for any product using an &lt;a href=&#34;http://xml.openoffice.org&#34;&gt;XML package format&lt;/a&gt;, but the fact that Office is doing it means millions of users can escape the data roach motel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - Drawing On WebBrowser</title>
      <link>https://starkravingfinkle.org/posts/2005/04/mshtml-hosting-drawing-on-webbrowser/</link>
      <pubDate>Sun, 24 Apr 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/04/mshtml-hosting-drawing-on-webbrowser/</guid>
      <description>&lt;p&gt;Hosting the WebBrowser in your application makes it easy to create slick-looking textual UI&amp;rsquo;s. HTML is a fairly expressive markup language and the results can be very professional with little difficulty. The graphical side is a little less impressive. Thankfully, SVG and VML (native support in the WebBrowser control) go a long way to fill the gap. Both have capabilities that blow away good old Win32 GDI drawing. Even so, there may be times that you wish you could grab an HDC for the WebBrowser control and start drawing on it. The WebBrowser control actually has a system built into it that allows you to do just that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XML Services In Desktop Applications</title>
      <link>https://starkravingfinkle.org/posts/2005/04/xml-services-in-desktop-applications/</link>
      <pubDate>Sun, 24 Apr 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/04/xml-services-in-desktop-applications/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s pretty fair to say that I&amp;rsquo;d like to change the way I write desktop applications. I am tired of the UI framework lockin that comes with traditional desktop development. I&amp;rsquo;ve posted a &lt;a href=&#34;https://starkravingfinkle.org/posts/2004/12/dhtml-based-desktop-applications/&#34;&gt;couple&lt;/a&gt; &lt;a href=&#34;https://starkravingfinkle.org/posts/2005/02/svg-dhtml-applications/&#34;&gt;times&lt;/a&gt; about using DHTML+SVG to create a desktop application UI. I have been working on prototypes in DHTML+SVG, as well as &lt;a href=&#34;http://www.openlaszlo.org/&#34;&gt;Laszlo&lt;/a&gt; (server-less deployment is now available) and &lt;a href=&#34;http://www.xamlon.com/&#34;&gt;Xamlon&lt;/a&gt; (they have a cool new flash-based system in addition to the .NET system).&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - More Tricks</title>
      <link>https://starkravingfinkle.org/posts/2005/04/mshtml-hosting-more-tricks/</link>
      <pubDate>Sat, 02 Apr 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/04/mshtml-hosting-more-tricks/</guid>
      <description>&lt;p&gt;Here are a couple miscellaneous tips for using the WebBrowser while in &lt;a href=&#34;https://starkravingfinkle.org/posts/2004/10/mshtml-hosting-editing/&#34;&gt;design (edit) mode&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;setting-focus-in-design-mode&#34;&gt;Setting Focus In Design Mode&lt;/h2&gt;&#xA;&lt;p&gt;With the WebBrowser control in design mode, there are times that focus (and the blinking cursor) are not set correctly. For example, with focus in the editor, ALT+TAB away from your application, and then back again. Focus may not be set back into the editor. Here is a simple way to fix it. Put this code in an event or message handler that gets called when your application is re-activated:&lt;/p&gt;</description>
    </item>
    <item>
      <title>SVG &amp;amp; DHTML Applications</title>
      <link>https://starkravingfinkle.org/posts/2005/02/svg-dhtml-applications/</link>
      <pubDate>Sun, 06 Feb 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/02/svg-dhtml-applications/</guid>
      <description>&lt;p&gt;I have been tinkering a lot lately with the concept of writing DHTML-based desktop applications running in a custom web browser. The custom browser would be made to look like the host shell of a standard Windows application with normal menus and toolbars. One of the pieces missing from DHTML applications in the past has been the lack of a graphics rendering system. Scalable Vector Graphics (&lt;a href=&#34;http://www.w3.org/TR/SVG/&#34;&gt;SVG&lt;/a&gt;) fills this hole nicely. In fact, SVG will create graphics that rival any graphics library, desktop or otherwise. If you have not played with SVG, you owe it to yourself to have a look.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - Editing Tricks</title>
      <link>https://starkravingfinkle.org/posts/2005/02/mshtml-hosting-editing-tricks/</link>
      <pubDate>Thu, 03 Feb 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/02/mshtml-hosting-editing-tricks/</guid>
      <description>&lt;p&gt;Show Table Borders&lt;/p&gt;&#xA;&lt;p&gt;This is a little feature like you find in MS Word. It will display table invisible borders in light gray color so you can see the structure of the table even if borders are turned off. The feature only works when the WebBrowser is in design mode. Since it&amp;rsquo;s an &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/library/en-us/com/htm/oin_oc_9bg4.asp&#34;&gt;IOleCommandTarget&lt;/a&gt; editing command ID, it&amp;rsquo;s quite simple to use:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;IHTMLDocument2* pDoc = ...;&#xA;&#xA;// Turn on editor mode&#xA;pDoc-&amp;gt;put_designMode(CComBSTR(L&amp;#34;on&amp;#34;));&#xA;&#xA;// Execute some commands&#xA;IOleCommandTarget* pCmdTarget = 0;&#xA;hr = pDoc-&amp;gt;QueryInterface(IID_IOleCommandTarget, (void**)&amp;amp;pCmdTarget);&#xA;if (SUCCEEDED(hr)) {&#xA;  pCmdTarget-&amp;gt;Exec(&amp;amp;CGID_MSHTML, IDM_SHOWZEROBORDERATDESIGNTIME,&#xA;                   OLECMDEXECOPT_DONTPROMPTUSER, CComVariant(true), NULL);&#xA;  pCmdTarget-&amp;gt;Release();&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Note the MSDN lists &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/workshop/browser/mshtml/reference/mshtml_editing_ref_entry.asp&#34;&gt;editing ID&amp;rsquo;s&lt;/a&gt; separately from &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/workshop/browser/mshtml/reference/commandids.asp&#34;&gt;regular ID&amp;rsquo;s&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - More Editing</title>
      <link>https://starkravingfinkle.org/posts/2005/01/mshtml-hosting-more-editing/</link>
      <pubDate>Sat, 29 Jan 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/01/mshtml-hosting-more-editing/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2004/10/mshtml-hosting-editing/&#34;&gt;Previously&lt;/a&gt; I talked about exposing the HTML editor hiding inside the WebBrowser control. I also talked about &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/library/en-us/com/htm/oin_oc_9bg4.asp&#34;&gt;IOleCommandTarget&lt;/a&gt; and how you can control formatting and layout features of the editor. It won&amp;rsquo;t take long before you discover that the IOleCommandTarget command ID&amp;rsquo;s are somewhat limited. At some point, you will need to insert specialized text or HTML at the current cursor location or replacing the current selection. Luckily for us, there is an easy way to do it: &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/workshop/browser/mshtml/reference/ifaces/txtrange/txtrange.asp&#34;&gt;IHTMLTxtRange&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello JavaScript</title>
      <link>https://starkravingfinkle.org/posts/2005/01/hello-javascript/</link>
      <pubDate>Thu, 13 Jan 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/01/hello-javascript/</guid>
      <description>&lt;p&gt;Coming from a C++ background, I found JavaScript very comfortable when I started doing DHTML programming. I was impressed with some of the things it could do with properties and functions. Other dynamic languages, Python and Ruby for example, have been getting lots of press lately while JavaScript has been quietly powering the Web.&lt;/p&gt;&#xA;&lt;p&gt;That seems to be changing. I am reading a lot more about JavaScript. This is due in large part to Google&amp;rsquo;s &lt;a href=&#34;https://gmail.google.com/&#34;&gt;GMail&lt;/a&gt; and &lt;a href=&#34;http://www.google.com/webhp?complete=1&amp;amp;hl=en&#34;&gt;Suggest&lt;/a&gt; (&lt;a href=&#34;http://serversideguy.blogspot.com/2004/12/google-suggest-dissected.html&#34;&gt;how it works&lt;/a&gt;). These are great examples of what can be done with DHTML and created a lot of buzz. The &lt;a href=&#34;http://javascript.weblogsinc.com&#34;&gt;JavaScript Weblog&lt;/a&gt; posted a summary of &lt;a href=&#34;http://javascript.weblogsinc.com/entry/1234000597025597/&#34;&gt;predictions&lt;/a&gt; that seem to be shared by &lt;a href=&#34;http://piecesofrakesh.blogspot.com/2005/01/web-applications-wave-of-future.html&#34;&gt;others&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - User Content</title>
      <link>https://starkravingfinkle.org/posts/2005/01/mshtml-hosting-user-content/</link>
      <pubDate>Wed, 12 Jan 2005 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2005/01/mshtml-hosting-user-content/</guid>
      <description>&lt;p&gt;I have been &lt;a href=&#34;https://starkravingfinkle.org/posts/2004/09/mshtml-hosting-building-uis/&#34;&gt;posting&lt;/a&gt; about using MSHTML to display HTML-based content in your Windows applications. Some of the reasons I started doing this in my own code include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Easy way to create a modern looking task-based UI.&lt;/li&gt;&#xA;&lt;li&gt;Flexible and extensible, with a built-in script engine (JavaScript) and style system (CSS).&lt;/li&gt;&#xA;&lt;li&gt;Based on open standards&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;There is another interesting by-product:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Very easy to allow end users to add their own custom HTML.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;You&amp;rsquo;re running a full-blown web browser inside your application. All you need to do is provide some way for the user to specify their own URL. It could be from within the application UI or maybe a special registry key. You pass the URL to &lt;a href=&#34;http://msdn.microsoft.com/workshop/browser/webbrowser/reference/ifaces/iwebbrowser2/navigate.asp&#34;&gt;Navigate&lt;/a&gt; and their custom content appears in your application. What a great way to &lt;em&gt;open&lt;/em&gt; your application to your end users.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - Calling JavaScript From Host</title>
      <link>https://starkravingfinkle.org/posts/2004/12/mshtml-hosting-calling-javascript-from-host/</link>
      <pubDate>Tue, 21 Dec 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/12/mshtml-hosting-calling-javascript-from-host/</guid>
      <description>&lt;p&gt;I don&amp;rsquo;t know how often someone would want to call a JavaScript (JS) function in the WebBrowser control from the host application. Since the host can control many, if not more, aspects of the HTML content externally using IDocHostUIHandler or the MSHTML DOM interfaces, it seems unnecessary to implement a method in JS and call that method from the host. But, if you need to for some reason, here&amp;rsquo;s how to do it:&lt;/p&gt;</description>
    </item>
    <item>
      <title>DHTML-Based Desktop Applications</title>
      <link>https://starkravingfinkle.org/posts/2004/12/dhtml-based-desktop-applications/</link>
      <pubDate>Mon, 13 Dec 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/12/dhtml-based-desktop-applications/</guid>
      <description>&lt;p&gt;Recently, I&amp;rsquo;ve had several discussions with other developers about UI frameworks. One of the more interesting outcomes is my new desire to create desktop applications using traditionally web-based frameworks. I know it sounds weird, but after looking at the current UI framework landscape and factoring in the latest directions in rich Internet applications, it may not be too crazy. People like &lt;a href=&#34;http://weblog.infoworld.com/udell/2004/12/03.html#a1126&#34;&gt;Jon Udell&lt;/a&gt; and &lt;a href=&#34;http://www.adambosworth.net&#34;&gt;Adam Bosworth&lt;/a&gt; have spent considerable time discussing the subject. Currently, there are several possible UI frameworks to choose from for commercial, shrink-wrapped applications (it&amp;rsquo;s what I do):&lt;/p&gt;</description>
    </item>
    <item>
      <title>OOD - Less Is More</title>
      <link>https://starkravingfinkle.org/posts/2004/11/ood-less-is-more/</link>
      <pubDate>Sun, 28 Nov 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/11/ood-less-is-more/</guid>
      <description>&lt;p&gt;My primary professional development language has been C++ for as long as I remember. It still is and I have no strong desire to move to something else. That also means that, many years ago, I embraced the Object Oriented Design (OOD) methodology.&lt;/p&gt;&#xA;&lt;p&gt;I have derived &lt;strong&gt;Cat&lt;/strong&gt; and &lt;strong&gt;Dog&lt;/strong&gt; from &lt;strong&gt;Animal&lt;/strong&gt; many times. At first, it took a while to see the object hierarchies, but it became easier. I loved object hierarchies. The deeper, the better.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - Editing</title>
      <link>https://starkravingfinkle.org/posts/2004/10/mshtml-hosting-editing/</link>
      <pubDate>Sat, 02 Oct 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/10/mshtml-hosting-editing/</guid>
      <description>&lt;p&gt;Did you know that you can turn WebBrowser into a decent WYSIWYG HTML editor? It&amp;rsquo;s true and it&amp;rsquo;s relatively simple. There are actually two ways to turn on the editor mode: &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/workshop/author/dhtml/reference/properties/contenteditable.asp?frame=true&#34;&gt;contentEditable&lt;/a&gt; markup attribute, and &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/workshop/browser/mshtml/reference/ifaces/document2/designmode.asp?frame=true&#34;&gt;IHTMLDocument2::designMode&lt;/a&gt; method. Since we are talking about embedding WebBrowser in an application, the IHTMLDocument2::designMode method is the most typical choice.&lt;/p&gt;&#xA;&lt;p&gt;The basic steps are:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2004/09/mshtml-hosting-building-uis/&#34;&gt;Navigate to &amp;ldquo;about:blank&amp;rdquo;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://starkravingfinkle.org/posts/2004/09/mshtml-hosting-building-uis/&#34;&gt;Wait for the blank page to load&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;set designMode to &amp;ldquo;on&amp;rdquo;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;At this point you should be able to type, select, cut, copy and paste into the WebBrowser. But more than that, the editor allows you to quickly add various kinds of HTML formatting markup, such as: Font (Name, Size and Style), Colors, Horizontal lines, Paragraph and line breaks, Justification, and Indenting. It does this through a nice little interface called &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/library/en-us/com/htm/oin_oc_9bg4.asp?frame=true&#34;&gt;IOleCommandTarget&lt;/a&gt;. The interface has only two methods: QueryStatus and Exec. The interface can be used with many different OLE servers, such as Microsoft Word and Excel, but it is especially useful with WebBrowser.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - IDocHostUIHandler</title>
      <link>https://starkravingfinkle.org/posts/2004/10/mshtml-hosting-idochostuihandler/</link>
      <pubDate>Sat, 02 Oct 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/10/mshtml-hosting-idochostuihandler/</guid>
      <description>&lt;p&gt;We can&amp;rsquo;t discuss embedding WebBrowser in an application without also discussing &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/workshop/browser/hosting/reference/ifaces/idochostuihandler/idochostuihandler.asp?frame=true&#34;&gt;IDocHostUIHandler&lt;/a&gt;. The IDocHostUIHandler (and IDocHostShowUI) interface is the standard method provided by Microsoft for customizing how WebBrowser works when hosted in an application. Some of the things you can use IDocHostUIHandler to do include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Disable standard right-click, context menu (or provide your own version)&lt;/li&gt;&#xA;&lt;li&gt;Turn off the 3D border and scrollbars&lt;/li&gt;&#xA;&lt;li&gt;Give the WebBrowser scripting engine access to your special purpose COM methods&lt;/li&gt;&#xA;&lt;li&gt;Handle accelerator keys and URL&amp;rsquo;s before MSHTML gets them&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;IDocHostUIHandler is an interface that you need to implement. How you implement depends on your development language and environment. For most languages, it means deriving a class from IDocHostUIHandler, adding code to the methods you want and returning safe, default values from those you do not want.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - Odds &amp;amp; Ends</title>
      <link>https://starkravingfinkle.org/posts/2004/09/mshtml-hosting-odds-ends/</link>
      <pubDate>Wed, 08 Sep 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/09/mshtml-hosting-odds-ends/</guid>
      <description>&lt;p&gt;In this post I wanted to cover some miscellaneous things you may want to do with your embedded WebBrowser. On its own, the IWebBrowser2 interface does not support doing much more than we already covered in previous posts. However, if you start using the MSHTML DOM interfaces, much more functionality is available. Here is a list of simple things you can implement without too much difficulty:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Retrieving HTML from the WebBrowser.&lt;/li&gt;&#xA;&lt;li&gt;Retrieving the HTML of the current selection.&lt;/li&gt;&#xA;&lt;li&gt;Finding text in the HTML and selecting it.&lt;/li&gt;&#xA;&lt;li&gt;Creating an image of the current HTML.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;retrieving-html-from-the-webbrowser&#34;&gt;Retrieving HTML from the WebBrowser&lt;/h2&gt;&#xA;&lt;p&gt;There are times when you might want to get the currently loaded HTML from the control. You may want to save it to a file or parse it for information. For this functionality, you have to use the IPersistXxx interfaces. These are the same we used to load HTML into the WebBrowser from memory. The same works in reverse:&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - Mozilla</title>
      <link>https://starkravingfinkle.org/posts/2004/09/mshtml-hosting-mozilla/</link>
      <pubDate>Mon, 06 Sep 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/09/mshtml-hosting-mozilla/</guid>
      <description>&lt;p&gt;Before moving ahead with the MSHTML hosting posts, I wanted to take a moment to talk about alternatives to WebBrowser. I am sure you are familiar with the Mozilla webbrowser. Started as an open source project by Netscape, Mozilla and its suite of companion projects are quite an achievement. One of the Mozilla projects is an ActiveX wrapper around the rendering engine which conforms to the IWebBrowser2 and DWebBrowserEvents2 COM interfaces. Created and maintained by &lt;a href=&#34;http://www.iol.ie/~locka/mozilla/mozilla.htm&#34;&gt;Adam Lock&lt;/a&gt; the project has come along way. There is even minimal support for the IHTMLDocument DOM interfaces.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - Building UI&#39;s</title>
      <link>https://starkravingfinkle.org/posts/2004/09/mshtml-hosting-building-uis/</link>
      <pubDate>Fri, 03 Sep 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/09/mshtml-hosting-building-uis/</guid>
      <description>&lt;p&gt;My &lt;a href=&#34;https://starkravingfinkle.org/posts/2004/08/working-with-mshtml-hosting/&#34;&gt;last&lt;/a&gt; &lt;a href=&#34;https://starkravingfinkle.org/posts/2004/08/mshtml-hosting-the-basics/&#34;&gt;posts&lt;/a&gt; have dealt with using the WebBrowser component to display HTML pages inside your application. We have seen how it does not take much to embed the control to create your own little mini-webbrowser. In this post I want to go a little further than building a webbrowser. Lots of applications are using a &lt;em&gt;web-like&lt;/em&gt; UI. Applications like Intuit Quicken, Microsoft Outlook and Money actually use the WebBrowser control to achieve their web-like UI&amp;rsquo;s. Microsoft Office task panes and other &lt;a href=&#34;https://starkravingfinkle.org/posts/2004/06/task-based-ui-design/&#34;&gt;inductive UI&amp;rsquo;s&lt;/a&gt; can be developed using the WebBrowser control.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MSHTML Hosting - The Basics</title>
      <link>https://starkravingfinkle.org/posts/2004/08/mshtml-hosting-the-basics/</link>
      <pubDate>Fri, 27 Aug 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/08/mshtml-hosting-the-basics/</guid>
      <description>&lt;p&gt;Hosting IE in your application is a relatively straight forward process, provided your development environment supports the use of ActiveX controls. Each language/framework has its own way of doing it: VB works directly with the WebBrowser control, MFC has its CHtmlView wrapper classes, Delphi has the TWebBrowser wrapper and C++Builder uses TCppWebBrowser. Create one of these somewhere in your application and your on your way to displaying HTML pages.&lt;/p&gt;&#xA;&lt;p&gt;Before I go any further, I want to point you to the MSDN documentation of &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/workshop/browser/prog_browser_node_entry.asp?frame=true&#34;&gt;reusing the WebBrowser control&lt;/a&gt;. It will be an invaluable reference to you.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working With MSHTML Hosting</title>
      <link>https://starkravingfinkle.org/posts/2004/08/working-with-mshtml-hosting/</link>
      <pubDate>Fri, 27 Aug 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/08/working-with-mshtml-hosting/</guid>
      <description>&lt;p&gt;On the surface it seems like a great deal. You can actually embed MSHTML, the IE HTML rendering engine, in your own application. There is a lot of cool, simple features you get out-of-the-box. As soon as you get more advanced in your features, you find things are not so simple.&lt;/p&gt;&#xA;&lt;p&gt;First, lets clear up some terminology:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;WebBrowser - is an ActiveX control that you can embed in your applications to create a mini webbrowser. It will display HTML pages just as well as IE itself.&lt;/li&gt;&#xA;&lt;li&gt;MSHTML - is a set of COM interfaces that you can use to programmatically access the elements of an HTML page. The interfaces also allow you to take part in Dynamic HTML events as well as behind the scenes operations like editing, custom rendering and behaviors, and selection.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;WebBrowser depends on MSHTML. In fact there is not much beyond navigating to an HTML page that you can do with WebBrowser alone.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mini-Milestones Can&#39;t Slip</title>
      <link>https://starkravingfinkle.org/posts/2004/08/mini-milestones-cant-slip/</link>
      <pubDate>Wed, 18 Aug 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/08/mini-milestones-cant-slip/</guid>
      <description>&lt;p&gt;I am a big proponent of the &lt;strong&gt;staged delivery&lt;/strong&gt; concept of software development. McConnell&amp;rsquo;s treatment really brought it home for me when I first read &lt;a href=&#34;http://www.stevemcconnell.com/sg.htm&#34;&gt;Software Survival Guide&lt;/a&gt;. The recent Agile methods also preach the same ideas. It&amp;rsquo;s just good sense: &lt;em&gt;Always have a buildable, releasable product&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The reason for this post is not to act as a cheerleader for staged delivery. It&amp;rsquo;s to vent-off some steam. At work, we have created a system of mini-milestones we are using to implement staged delivery. The other day we decide to &lt;strong&gt;slip&lt;/strong&gt; a mini-milestone! Feature-creep /scope-creep caused us to miss a milestone!&lt;/p&gt;</description>
    </item>
    <item>
      <title>More on Task-based UI&#39;s</title>
      <link>https://starkravingfinkle.org/posts/2004/07/more-on-task-based-uis/</link>
      <pubDate>Sat, 31 Jul 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/07/more-on-task-based-uis/</guid>
      <description>&lt;p&gt;Microsoft published the first &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/library/en-us/dnforms/html/winforms07202004.asp&#34;&gt;article&lt;/a&gt; of a two-part series on Inductive UI (IUI) design, their buzzword for Task-based UI. This one covers a couple things:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How IUI can help users get frequent tasks completed faster.&lt;/li&gt;&#xA;&lt;li&gt;What is a frequent task.&lt;/li&gt;&#xA;&lt;li&gt;How you can implement a IUI design using a .NET library.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you have ever seen an IUI design (think Task Panes in MS Office 2003), you will almost immediately see Web-style similarities. The article discusses this, referring to Dialog-style versus Web-style UI&amp;rsquo;s. The author does note that in many cases experienced users will prefer Dialog-style UI&amp;rsquo;s over Web-style. While I can agree with the sentiment, it usually happens in cases where the Web-style UI is designed to perform a long, drawn out wizard process. In most cases, such Task Panes, Web-style UI&amp;rsquo;s are just as unobtrusive and straight forward as the Dialog-style counterparts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Getting Started With P2P</title>
      <link>https://starkravingfinkle.org/posts/2004/07/getting-started-with-p2p/</link>
      <pubDate>Sat, 10 Jul 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/07/getting-started-with-p2p/</guid>
      <description>&lt;p&gt;I finally have a reason to try to implement P2P in a development project. I have used TCP sockets on several occasions and I have played around with UDP broadcasts as well. What I am trying to do with P2P needs to be more reliable than the UDP broadcasts.&lt;/p&gt;&#xA;&lt;p&gt;The first thing I did was Google for &amp;ldquo;P2P framework library&amp;rdquo;. Unfortunately, not many relevant hits came back. The most popular was the Java-based &lt;a href=&#34;http://jxta.org/&#34;&gt;JXTA&lt;/a&gt; toolkit. I work in C++, so it does not help me. Microsoft has a &lt;a href=&#34;http://msdn.microsoft.com/library/default.asp?url=https://starkravingfinkle.org/downloads/list/winxppeer.asp&#34;&gt;Peer-to-Peer&lt;/a&gt; toolkit, but it requires WinXP SP1 with Advanced Networking. I need to support OS&amp;rsquo;s older than that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Selling The Dream</title>
      <link>https://starkravingfinkle.org/posts/2004/06/selling-the-dream/</link>
      <pubDate>Fri, 11 Jun 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/06/selling-the-dream/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s bound to happen sooner or later. Every so often &lt;a href=&#34;http://radio.weblogs.com/0001011&#34;&gt;Scoble&lt;/a&gt; (Microsoft blogging wunderkind) posts something that makes me question his sensibilities. One of his latest &lt;a href=&#34;http://radio.weblogs.com/0001011/2004/06/11.html#a7730&#34;&gt;posts&lt;/a&gt; stopped me dead in my tracks. The post was a reply to a Jon Udell &lt;a href=&#34;http://weblog.infoworld.com/udell/2004/06/09.html&#34;&gt;post&lt;/a&gt; on UI technologies in Longhorn. I thought Udell&amp;rsquo;s post asked questions any professional should be asking. Scoble tries to bring it into focus by saying:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Ahh, but Jon, the real play here is one of programmer productivity&lt;/p&gt;</description>
    </item>
    <item>
      <title>High on XML</title>
      <link>https://starkravingfinkle.org/posts/2004/06/high-on-xml/</link>
      <pubDate>Wed, 09 Jun 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/06/high-on-xml/</guid>
      <description>&lt;p&gt;I have &lt;a href=&#34;https://starkravingfinkle.org/posts/2004/05/using-xml-as-file-format/&#34;&gt;talked&lt;/a&gt; about our experimentation with XML as a file format. This is going very well. Since we started working with XML and its related technologies, other ideas started popping up. It&amp;rsquo;s not like XML is some magic concept, but it does open your mind enough to see other opportunities. Like creating a centralized Web Service to act as a repository for projects. You don&amp;rsquo;t need XML to do something like that, but since XML and Web Services go together, it&amp;rsquo;s easier to visualize how a service like that could be built off of (or into) our persistence system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Task-based UI Design</title>
      <link>https://starkravingfinkle.org/posts/2004/06/task-based-ui-design/</link>
      <pubDate>Tue, 08 Jun 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/06/task-based-ui-design/</guid>
      <description>&lt;p&gt;Developing new products is great for trying new things. There is no legacy and lots of freedoms. One of our areas that is screaming for experimentation is the UI. UI models have been changing in recent years. Many products are taking more of a &lt;em&gt;Web&lt;/em&gt;-look. If you start digging into the design reasons, you&amp;rsquo;ll run across discussions of &lt;strong&gt;Task-based UI&lt;/strong&gt; or &lt;strong&gt;Inductive UI&lt;/strong&gt;. It&amp;rsquo;s not hard to find examples, especially from Microsoft: Windows XP uses Task Panes and Web-isms in many parts of the Shell; Office XP also makes heavy use of Task Panes; Applications like Quicken and Money have very &lt;em&gt;Web&lt;/em&gt;-like UI&amp;rsquo;s.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RAD Test Scripting</title>
      <link>https://starkravingfinkle.org/posts/2004/05/rad-test-scripting/</link>
      <pubDate>Fri, 28 May 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/05/rad-test-scripting/</guid>
      <description>&lt;p&gt;The other day, some developer coworkers and I were talking about ways to make it easier for our Test group to create and maintain test scripts. Test scripts are a very important piece of the software development puzzle. But test scripts don&amp;rsquo;t find &lt;strong&gt;new&lt;/strong&gt; defects. Test scripts are really good at finding &lt;strong&gt;breakage&lt;/strong&gt;. That&amp;rsquo;s why scripts are run on new builds as BVT&amp;rsquo;s or release candidates as part of a larger regression suite. For me, few things are worse than uncontrolled breakage to keep a project from hitting deadlines.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Defects Love New Code</title>
      <link>https://starkravingfinkle.org/posts/2004/05/defects-love-new-code/</link>
      <pubDate>Mon, 24 May 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/05/defects-love-new-code/</guid>
      <description>&lt;p&gt;People who know more about software development processes than me, and write books on the subject, frequently talk about metrics like &lt;strong&gt;Defect Density&lt;/strong&gt; (defects per thousand lines of code). Say your development team averages 10 D/KLOC. If you start working on the next version of a product with 1M LOC and eventually add 100K LOC, you could look into your crystal ball and expect 1K defects. Holy crap! Honestly, it could be worse. In my experience, adding code to a 1M line product is likely to break lots of the existing code as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Test Scripts == Source Code</title>
      <link>https://starkravingfinkle.org/posts/2004/05/test-scripts-source-code/</link>
      <pubDate>Mon, 24 May 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/05/test-scripts-source-code/</guid>
      <description>&lt;p&gt;How is it that a software development company that understands the value and importance of the code their developers write doesn&amp;rsquo;t place the same value on the code their testers write? Good development processes apply to tester too. Regression test scripts are the health indicator of the development process. Build Verification Tests (BVT) or Smoke Tests are very important and, typically, rely on code written by testers.&lt;/p&gt;&#xA;&lt;p&gt;Some mistakes I have seen in the past include:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Persisting Can be Painful</title>
      <link>https://starkravingfinkle.org/posts/2004/05/persisting-can-be-painful/</link>
      <pubDate>Sun, 23 May 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/05/persisting-can-be-painful/</guid>
      <description>&lt;p&gt;We are considering changing from an OLE Structured Storage based file format to an XML based file format our flagship product. OLE Structured Storage has served us well, but we are starting to hit walls, especially with versioning and backward/forward compatibility. Yes, forward compatibility!&lt;/p&gt;&#xA;&lt;p&gt;The product, mainly C++, has objects that save and load their state using a storage system. The storage system is IStorage/IStream and all of the objects know it. That&amp;rsquo;s a minor problem that can be fixed. The bigger problem is the fact that the object hierarchy &lt;strong&gt;defines&lt;/strong&gt; the structure of the file stream. That means any change to the object hierarchy changes the structure of the file stream. Or, any significant change in the object model (version 1.0 to version 2.0) makes it very painful for v2.0 to read v1.0 files. Why the headache? Since each object is responsible for saving/loading is own piece, an object in v2.0 may need to remember what it looked like in v1.0. Even worse, what if an object in v1.0 no longer exists in v2.0? It can get pretty ugly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using XML As File Format</title>
      <link>https://starkravingfinkle.org/posts/2004/05/using-xml-as-file-format/</link>
      <pubDate>Sun, 23 May 2004 00:00:00 +0000</pubDate>
      <guid>https://starkravingfinkle.org/posts/2004/05/using-xml-as-file-format/</guid>
      <description>&lt;p&gt;In my last &lt;a href=&#34;https://starkravingfinkle.org/posts/2004/05/persisting-can-be-painful/&#34;&gt;post&lt;/a&gt;, I talked about some persistence issues we are working through and how persisting to XML could make things easier for us. In this post, I want to talk about using XML as a file format. Assuming we switch to an XML based file format for our products, there are questions I have regarding the &lt;em&gt;proper&lt;/em&gt; use of XML.&lt;/p&gt;&#xA;&lt;p&gt;Looking around, I can see at least 2 different categories:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
