January 5, 2009
IT Conversations Needs Web Editors
As you’re probably aware, IT Conversations, and other Conversations Network Channels, are made possible through the efforts of a small army of Web site editors and audio engineers.
We have a terrific team of people who help out and Doug’s put together a great system for managing the workfow of producing shows Now, with a bit of attrition in the ranks of both our website editors and series producers and a new channel on the way, it’s time to add to the team once again.
If you’d like to help us write descriptions for our programs, track down and crop photos and sync the occasional slideshow, here’s your chance. The word “volunteer” isn’t quite right since in fact Web editors are paid (thanks to donations from our paid members), but you’re not going to get rich. You’ll get a whopping US$15 for each description you write - US$25 if you also sync a presentation’s slides to the audio.
You’ll find details on TeamITC (as we call it for historical reasons) and our Apprenticeship Program on The Conversations Network web site.
Posted on 8:56 AM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
itconversations
Pricing Bulk Cold Storage and Real Engineering

Image by penguincakes via Flickr
James Hamilton has put together an analysis of the cost of bulk cold storage. That is, the cost of storing data, including the fully burdened cost of power in a data center, without the associated transport fees. The answer: $0.80/GB/year.
Wow—that’s cheap. And of course it’s getting cheaper. When James did a similar analysis using numbers from two years ago, the cost was $2.50/GB/year.
One thought I had as I looked at James’ analysis is that we don’t teach enough people to do these kinds of calculations. Not that there’s anything particularly difficult about the math, but there are things to know and techniques to use.
I often say, quoting Pat Taylor, one of my professors in my undergraduates days in metallurgical engineering, that an engineer is some one who can do for a dollar what any fool could do for two. Of course, building performant, efficient code is part of this, but so is understanding the cost of bulk storage and other resources and using that in the trade-off.

Posted on 8:26 AM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
storage
s3
amazon
aws
engineering
January 2, 2009
Installing IE6 and IE7 Side by Side
Image via Wikipedia
If you do Web design, and who doesn’t these days, then you might be interested in seeing how your site operates in multiple browsers. You could, of course, create a virtual machine for each version of Internet Explorer that you want to test against. But there’s a better way.
There is a repository of standalone IE versions all the way back to 3.0. Tredsoft has an installer that will install any or all of these in one convenient package. A few minutes after starting the download, I had IE6 up and running in all it’s, ahem, glory. IE7 runs right along side without a hiccup.

Posted on 11:27 AM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
internet+explorer
web+design
windows
December 30, 2008
Moving Jobs Between Printers in OS X
Image via Wikipedia
My wife printed 6 documents to a printer that is configured on her laptop, but not available. She came to me and asked if I could help. I said she’d have to delete them from the print queue and reprint them to the right printer. “Can’t you just grab them and move them to the right printer?” she asked innocently.
Of course not. Or, can you? Turns out you can. I opened the other printer, highlighted the jobs, and simple drug them over. They started printing. I was pleasantly surprised. File this under “sometimes we want to make things more complicated than they need to be.”

Posted on 7:52 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
osx
printing
December 27, 2008
Asymmetric Follow a Core Web 2.0 Pattern
Image via Wikipedia
James Governor wrote a post on asymmetrical follow as a core Web 2.0 pattern earlier this month. I ran across it when JP referenced it in his quest to decide if Twitter is a publishing platform.
James uses this metaphor to explain asymmetric follow:
You’re sitting at the back of the room in a large auditorium. There is a guy up front, and he is having a conversation with the people in the front few rows. You can’t hear them quite so well, although it seems like you can tune into them if you listen carefully. But his voice is loud, clear and resonant. You have something to add to the conversation, and almost as soon as you think of it he looks right at you, and says thanks for the contribution… great idea. Then repeats it to the rest of the group. That is Asymmetrical Follow.From James Governor’s Monkchips » Asymmetrical Follow: A Core Web 2.0 Pattern
Referenced Sat Dec 27 2008 16:49:30 GMT-0700 (MST)
Twitter is perhaps the best example of asymmetric follow. Most people don’t follow everyone who follows them. If they did, the Twitterverse would be divided into cliques (in a graph theoretic sense). It’s not. I suspect there are very few disconnected islands of uses on Twitter unless they’ve set out to intentionally create one.
Asymmetric follow is, in fact, one of the things that makes Twitter so interesting. As I see the interactions that those who I follow have with people I don’t, I expand my circle of people who I follow. I see interesting things that I would never see any other way and hear interesting viewpoints that I would otherwise miss. That brings us to JP’s post.
JP spent some time doing a little experiment:
Now for me one of the ways of testing something as a publishing platform (as opposed to a communications medium) is the depth of language used, the breadth of subjects covered. So I started “testing” Twitter. What I did was enter “random” words into Twitter search, and observe the results. I converted that into a game. The rules were simple:
- I had to know the word and what it meant
- It had to be a word that had found its way into the language proper, as opposed to one that was “technically” included, that made its way only because it formed part of an obscure branch of science.
- The number of results returned had to be zero.
I read a lot. I have been reading voraciously for over forty years. I read widely. And I have a good head for words, coupled with a decent memory. Years of playing around with crosswords and Scrabble have, if anything, sharpened my vocabulary.
Yet it took me several attempts before I found a zero. Aristology was my best for some time, with just one result returned, until I tried zeuglodont. Bugloss returned two, which was pretty good.
From Twitter from Aristology to Zeuglodont
Referenced Sat Dec 27 2008 16:54:40 GMT-0700 (MST)
JP’s point is that people are discussing almost everything imaginable on Twitter—not just the innanities that we might presume at first glance. Asymmetric follow ensures that you’ll be exposed to a wider range of those ideas than you would otherwise. A powerful one-two punch.
Note: James also discusses some of what’s behind Twitter’s rearchitecture, including Scala Lift and the use of the publish and subscribe metaphor for supporting asymmetric follow in his piece which is interesting in it’s own right. He references one of JP’s posts on Twitter’s architecture from last December that’s definitely worth a read.

Posted on 4:57 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
twitter
follow
social+networking
cs462
Infrastructure Automation Increases Operational Efficiency
Last week Jeff Atwood wrote a piece about why throwing hardware at a problem makes sense in some situations. He’s careful to avoid the trap of thinking that throwing hardware at a poorly designed program will do more than buy you a little time, but makes a good point:
Clearly, hardware is cheap, and programmers are expensive. Whenever you’re provided an opportunity to leverage that imbalance, it would be incredibly foolish not to.From Coding Horror: Hardware is Cheap, Programmers are Expensive
Referenced Sat Dec 27 2008 15:42:36 GMT-0700 (MST)
Riffing on that, Gordon Weakliem makes a related and somewhat contradictory argument: Programmers are Expensive, But Operations are More Expensive. Gordon’s point is that hardware has to be managed:
It’s pretty simple to manage a single server, but each additional server starts to increase operational complexity. Before long, you’re hiring people to manage the additional servers, and these people have a different skill set. They’re not programmers, they’re experts at running networks. A good engineer is a godsend to a programming team, relieving programmers of all kinds of tasks that shouldn’t be distracting them, and that programmers probably aren’t that good at anyway. But operations experts aren’t cheap either, maybe not the price of a programmer, but not cheap by any stretch. Furthermore, horizontal scale introduces new problems: power consumption, heat dissipation, etc.From The Eighty-Twenty Solution: Programmers are Expensive, But Operations are More Expensive
Referenced Sat Dec 27 2008 15:44:33 GMT-0700 (MST)
Gordon later states that large, complex systems of servers have to be carefully deigned to be manageable.
It’s true that services like Amazon and Google are examples of massive horizontal scale, but these systems didn’t happen by accident. They were the result of careful planning and good architectural principles. The danger in the “throw hardware at the problem” aphorism is that it’s really easy to ignore true architectural problems in the process. As always, there’s a balance between thinking an acting that’s at play. Like all silver bullets, Moore’s Law comes with caveats.From The Eighty-Twenty Solution: Programmers are Expensive, But Operations are More Expensive
Referenced Sat Dec 27 2008 15:46:11 GMT-0700 (MST)
Most modern as-a-service offerings rely on multiple servers with myriad functions. It’s silly, and I’d sure Jeff would agree wholeheartedly with this, to ignore the architecture of this system. Further, not using infrastructure automation to take as much operational expense out of the system is foolish.
I’ve been singing the praises of Puppet for months. Kynetx is a long way from achieving our operational goals, but what we’re done using Puppet and Nagios allows two very part time people to manage and monitor more than a dozen servers. If you’re not using Puppet to manage your servers, you’re spending more time and money on operations than you need to.
Posted on 3:59 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
kynetx
operations
programming
engineering
puppet
nagios
automation
cs462
December 23, 2008
Innovation and the Secret Sauce

In this week’s Technometria podcast, Craig Burton joined Scott and I to discuss some of his ideas about innovation. Craig reviews topics covered in three of his recent essays and talks about how innovation is often misunderstood. He reviews how technology companies make mistakes with customer demographics, as well as how to distinguish innovation myths from innovation realities. He also presents an example of true innovation as he describes how Novell created software infrastructure as a new software category.
Here’s links to the essays:

Posted on 5:45 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
itconversations
technometria
innovation
Working the Infrastructure
Image via Wikipedia
I ran across a couple of interesting blog posts that got me thinking about infrastructure and automation.
The first was from Markus Frind, the CEO of Plentyoffish.com. Markus reported that according to hitwise.com, Plentyoffish was the 13th most heavily trafficed site last year. It may be the most popular site you’ve never heard of if you’re not into online dating.
The interesting part of that is that all this is done with just a handful of servers.
- PlentyOfFish (POF) gets 1.2 billion page views/month, and 500,000 average unique logins per day. The peak season is January, when it will grow 30 percent.
- POF has one single employee: the founder and CEO Markus Frind.
- Makes up to $10 million a year on Google ads working only two hours a day.
- 30+ Million Hits a Day (500 - 600 pages per second).
- 1.1 billion page views and 45 million visitors a month.
- Has 5-10 times the click through rate of Facebook.
- A top 30 site in the US based on Competes Attention metric, top 10 in Canada and top 30 in the UK.
- 2 load balanced web servers with 2 Quad Core Intel Xeon X5355 @ 2.66Ghz), 8 Gigs of RAM (using about 800 MBs), 2 hard drives, runs Windows x64 Server 2003.
- 3 DB servers. No data on their configuration.
- Approaching 64,000 simultaneous connections and 2 million page views per hour.
- Internet connection is a 1Gbps line of which 200Mbps is used.
- 1 TB/day serving 171 million images through Akamai.
- 6TB storage array to handle millions of full sized images being uploaded every month to the site.
Did you catch that? The 13th biggest Web site by visitors is run on five servers! I’m in awe. Note that these are Windows servers.
The seconds was a post about Gnip’s numbers:
- 99.9%: the Gnip service has 99.9% up-time.
- 0: we have had zero Amazon Ec2 instances fail.
- 10: ten Ec2 instances, of various sizes, run the core, redundant, message bus infrastructure.
- 2.5m: 2.5 million unique activities are HTTP POSTed (pushed) into Gnip’s Publisher front door each day.
- 2.8m: 2.8 million activities are HTTP POSTed (pushed) out Gnip’s Consumer back door each day.
- 2.4m: 2.4 million activities are HTTP GETed (polled) from Gnip’s Consumer back door each day.
- $0: no money has been spent on framework licenses (unless you include “AWS”).
These too are impressive numbers in their own way. Built entirely on EC2, this is a service that represents a different way to skin the cat with cloud-based computing.
One of the things I liked about the Gnip post was their discussion of architecture and simplicity. One thing struck me: no database.
The reason that stands out is that that was a major design goal for me as I set out to design and build the Kynetx Network Service (KNS) that forms the core of out product offering. I’ve had such headaches managing services with databases that I was determined to keep them out. We made tough decisions sometimes that would have been easier to do with a database in that architecture.
Sometimes that works and sometimes it doesn’t. In the case of a dating site, it’s hard to imagine how some kind of database wouldn’t be central to the design. In the case of Gnip or Kynetx, the service can and should be delivered without it. Plentyoffish has scaled well by scaling vertically (5 beefy servers) whereas Gnip and KNS are designed to scale horizontally virtually forever.

Posted on 5:37 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
December 19, 2008
Azigo's RemindMe Service and Kynetx
Yesterday Azigo (Parity) launched it’s RemindMe service. RemindMe uses Information Cards to represent relationships that are meaningful to the shopper and then overlays Google and Yahoo! with reminders to indicate when those relationships might be valuable. For example, if you’re a AAA member, you get a discount at Hertz. RemindMe will alert you to that fact.
The reason I’m jazzed about it is that Kynetx Network Service (KNS) is being used to provide the overlays. In our partnership, Azigo is supplying the cards and selector (including the browser add-on). The add-on calls our service depending on what cards are installed and we update the page.
The selector only works on Windows for now, but the service works on both Internet Explorer and Firefox. KNS is browser and system independent, so it’s a good combination. If you’re on Windows, go install the selector and a card or two and try it out. As an example, install the AAA card and then do a search for “hertz” or “car rental.”
Kynetx is convinced that Information Cards are a key technology that will be necessary to transform the current ad hoc Web experience. A firm foundation of identity allows context-aware services to be built that are both general and powerful. Combining cloud based services with an Information Card-based browser add-on yields real transformative power. Without it, Information Cards are all about data. With KNS, Information Cards are about action.

Posted on 2:45 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
kynetx
azigo
infocards
kns
December 18, 2008
Parallels Has a Command Line Tool Too!
When I wrote the head to head review of Parallels and Fusion for InfoWorld, I also did a sidebar on remote control of hypervisors and guests.
At the time I wasn’t aware that Parallels also has a command line tool called prlctl for managing the hypervisor and controlling guests. A simple “man prlctl” told me all I needed to know and a minute later, I was starting, stopping, and suspending guests from the terminal. The screenshot to the right (click to enlarge) shows it in the process of suspending a Vista operating system guest on my machine.
In addition to power-on settings, you can create, clone, delete, and perform other operations on guests, manage snapshots, and change guest settings. The tool can work remotely if needed—I just used it on my local machine. An API is available if you want to write your own tools to interface with Parallels.
There are a lot of little known power-user features in both Parallels and Fusion. Partly that’s because both companies have targeted Windows users as the primary customer and thus highlight features that they’ll appreciate.

Posted on 8:28 AM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
parallels
fusion
virtualization
infoworld
December 16, 2008
Javascript Debugging in IE
Image via Wikipedia
I’ve spent the last several days immersed in debugging Javascript in Internet Explorer. It’s not as bad as it could be. After all, I’m using jQuery and that cuts down on the cross-browser incompatibilities.
In it’s normal usage, Kynetx Network Services (KNS) compiles our domain specific language, called KRL, into Javascript. Since we test that the Javascript is compatible with multiple browsers, normal rule evaluation is pretty safe.
However, like any good DSL, KRL has a way of dropping out of the DSL and into the base system—in this case Javascript. That’s when things get dicey. There are so many ways of creating browser problems when you’re working with Javascript and CSS.
In Firefox, the venerable Firebug add-on is the tool for debugging CSS and Javascript. I use it’s console all the time to execute Javascript against the page and see what works and what doesn’t.
Alas, Firebug isn’t available for IE. There are a few “for pay” tools that are supposed to be similar, but I haven’t been able to see to my satisfaction what I’d get for my money. I also understand that Visual Studio has good tools.
When I was at Add On Con last week, Joshua Allen from Microsoft said that you should develop in IE8 because it has the best developer tools. I found that to be true—although they still leave a lot to be desired compared the Firefox.
The first thing you have to do is turn on debugging in IE by making sure that the “Disable script debugging” options are unchecked.
The error messages you get are pretty cryptic, but they at least give you a clue about where to look. The worst part is that they don’t give you the name of the file where the error occurred. Ugh. @whitmer suggested Companion JS (not free for commercial use). I haven’t tried it, but it looks like its a step above the stock debug messages.
Another good tool is the IE Developer Toolbar (free). This gives you the ability to browse the DOM, change CSS properties on the fly, clear the browser cache, etc. As far as I can tell there’s no actual Javascript debugging and certainly no console. Still, being able to see the DOM, especially as its modified by Javascript components has been a great help.
I found this tutorial on using Web Developer Express Edition to debug Javascript, but I haven’t tried it.
So far, that’s what I’ve discovered. I’m sure there are better ways and tools. I look forward to someone educating me.

Posted on 8:11 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
debugging
internet+explorer
kynetx
firefox
Fusion vs. Parallels: The Horse Race Continues
My second review of Fusion and Parallels appeared today in InfoWorld. I reviewed Fusion 1.0 and Parallels 3.0 a little over a year ago. They’ve both had major upgrades since then, so it was time for another look.
The bottom line is that there’s not a lot of difference between these two products. They both perform well and do what you’d expect them to. They both have lots of cool features—especially for Windows users on the Mac—the core audience. The differences are minor. While some of those differences might be the reason that you’d prefer one over the other, they’ve not a reason why everyone should prefer one to the other.
I concentrated on a few things that many people want to do that can be tricky for virtualized environments: printing, 3D graphics, P2V conversions, and integration. The biggest disappoint in those areas was the graphics. My conclusion was that while both have come a long way, they’re not to the point where you can get rid of your Bootcamp partition if graphics performance is important to you.
I also put together a sidebar on remote control for guest machines. Parallels introduced an iPhone app whihc is mostly a cool way to illustrate that the hypervisor has a networked API. Fusion has support for vmrun, VMWare’s command line control program.
Here are a few things I wrote up as part of the review that fell on the cutting room floor:
I ran into an occasion to expand an existing drive in Fusion (one of the big benefits of virtual machines) and found the process to be easy, but slow. One catch: you can’t have existing snapshots on the drive. That makes sense, but deleting a snapshot is slow work and if you’ve enabled auto snapshots, you might have a lot of them.
If you’ve going to run applications using Unity or Confluence, the guest OS—-XP or Vista—-doesn’t matter much. XP will run almost all the software that Vista will and presents a smaller workload for the hypervisor. In Unity and Confluence, the user is opting to run Windows application in an OS X experience. Vista may not present many advantages in that setup.
Parallels 4.0 uses a different virtualized hardware stack than earlier versions. As a consequence, when you convert a Vista machine from an earlier version of Desktop, you will probably be asked to “reactivate” you copy of Vista. The problem is that the reactivation has to occur before the Parallels Tools can be loaded and the tools have to be loaded before the network will work. You’re forced to do a phone activation. I’ve put details describing how this works in an earlier post.
Fusion supports multiple displays in full screen mode while Desktop does not. Using multiple displays is as easy has selecting an option in the “View” menu and then entering full screen.
While both products allow you to choose whether the host or guest OS should be optimized for performance, Parallels has a feature called “adaptive hypervisor” that allocates host resources on the fly based on how you’re using the machine.
Both systems have made strides in making Windows installation as painless as possible—-an important feature for switchers who may have never installed an operating system before. For example, both now automatically detect the OS and version from the installation disk and set reasonable defaults.

Posted on 1:13 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
infoworld
virtualization
fusion
parallels
December 11, 2008
The Future of Browsers
The final session of the day is a panel on the future of the browser. On the panel are Joshua Allen of Microsoft, Mike Shaver of Mozilla, and Nick Baum of Google. Noticeably missing are Opera (excused due to distance) and Apple (absent without excuse). Douglas Crockford, of Javascript fame, is the moderator.
Douglas asks is the add-on the best model for letting users solve their frustrations with the lack of capability in a browser. Joshua talks about Microsoft’s goal to move toward extensibility through Web standards where ever possible and get away from native apps. Mike says that add-ons solve the problem of having multiple special purpose applications. The browser allows a piece of software to accompany the user on the Web as part of the browser experience.
Mike says there will be convergence on similar functionality but doesn’t think there will be a common set of touch points for all browsers and all plug-ins. I think that means no common API, but I’m not sure.
Douglas asks if there should be a standards process around the add-on. Joshua doesn’t think we need standards for convergence to happen. He says “its pretty clear what others are doing for extensibility and it’s pretty easy for others to adopt it.” Mike doesn’t think it makes sense to codify behaviors that we might want to change later. We don’t know enough to create standards yet.
The Web is under attack by proprietary platforms like Air, Silverlight, etc. They have clear and obvious advantages but they have one big disadvantage: their lack of openness. Nick says that we need to accelerate the inclusion of the capabilities of these closed platforms in open standards and browsers. “We need more stuff in the browser faster.” Mike says that the competition of Web browsers has led to improvements like Javascript being 10x faster now. Joshua thinks that stories about the threat to the Web are highly overrated. The Web has made great strides over the last few years.
Joshua says that no one controls enough of the market to have veto power, so everyone needs to work together.
Douglas: the biggest threat to openness is mobile. Mobile platforms have been trying to lock into closed systems since it’s inception. Now they’re moving to the Web, but trying to make the mobile Web something different in order to control it. Nick thinks that the trends are toward open platforms for the Web (references iPhone and Android). This is the right direction. Mike says that we need to continue to improve the mobile experience so that it’s the same as the non-mobile web.
Joshua thinks there’s some wishful thinking there because with a cell phone the company that supplies bandwidth controls the physical infrastructure. Without rules that require carriers to allow competing backend services, they will continue to create walled gardens. Mike argues that as mobile platforms get more capable it will be more and more difficult for service providers to lock users into their own services.

Posted on 5:40 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
addoncon
addons
internet+explorer
firefox
browsers
Multi-Platform Add-On Lessons Learned
Words of advice from the multi-platform add-on session at AddOnCon:
- Start from the beginning to support multiple browsers by not using features that are specific to one or the other.
- Keep things like XPath expression standard
- Test IE add-ons on Vista and IE8 first—especially if you’re going to use an external process.
- Using an external process in IE can greatly increase testability
- Modularity and code portability
- The learning curve for IE add-on development is steep. Once you’re on top, it flattens out and gets easier.
- Crashing the browser is easy in IE and the opportunity for conflicts is high
- Make sure your code can generate debug reports and give the user the opportunity to forward them (debughelp.dll is your friend)
Posted on 3:01 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
addoncon
addons
programming
windows
internet+explorer
firefox
Add-on and Mashup Development: Leveraging 3rd-Party APIs
Image via Wikipedia
An add-on in Firefox is Javascript, XUL, and CSS. Any part of the Firefox UI can be modified by an add-on. Version control is built-in as is an upgrade mechanism. Platform APIs allow an add-on to access anything on the machine. That’s good and bad. There are security issues, but it makes add-ons very powerful because you have full access.
One of the nice things about moving a mashup into an add-on is that you do away with many of the cross-site scripting restrictions that make mashups hard, or even difficult.
Much of what you do is the same. Javascript, DOM and XUL are pretty much the same and work as you’d expect. What changes is the ability to do XHR calls easily and in the background. JSON can be encoded and decoded as functions rather than using eval. Avoid using eval inside plugins because of the upgraded privileges that add-ons enjoy. As an add-on you run in the context of the browser window (chrome) so you have access to both the chrome and content windows. Avoid allowing content window scripts to access the chrome.
Tools for debugging include Firebug and LiveHTTPHeaders. Venkman allows you to debug Javascript code inside the add-on (not just the page).
Some examples: Ubiquity, Snowl, Zemanta, Operator, and lots of Twitter and weather related examples. And of course, don’t forget Kynetx.
Some resources:
- XUL Tutorial
- The Extension developer IRC channel at Mozilla

Posted on 12:43 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
addoncon
addons
mozilla
firefox
mashups
Porting Add-ons from Firefox to IE
Image via Wikipedia
Joshua Allen of Microsoft is speaking about porting add-ons from Firefox to Internet Explorer. IE add-ons have been less popular for a few reasons:
- Building for IE is difficult
- Debugging tools are few and far between
The best reason to target IE as well as Firefox is that the Web is about interoperability. The point of the Web is any use anywhere can get your stuff and use it. There’s no competitive advantage to an add-on company to be in one browser. Being in as many browsers as possible is important.
Joshua uses Oomph, microformats tool, as an example. You can download it and see how an IE add-on is built. Also, check out Oomph for Firefox: Microsoft’s Microformats IE plugin as Greasemonkey script, for contrast.
Using CLR for IE add-ons is not well supported because you can only have on version of CLR installed per iexplorer.exe. That means if something else requires a different version, you won’t work. You need to work in all CLR version > 1.1.
Add-ons in IE are loaded as DLLs based on a list in the Registry. These are in-process with iexplorer.exe and there is one instance per tab.
When you building a sidebar (“Vertical Explorer Bar” in MS parlance) you get a Win32 window that you can do anything in, but you should embed WebOS in it and use Web standards.
Protected mode creates a low integrity sandbox for add-on code. That means you can only save to the temporary files folder.
The best way to deal with Web services is to use common AJAX techniques. Use cookies for persistence. Background processing is best done by calling a service from DCOM.
Don’t mix SSL and non-SSL content. Local files can’t mix with Web files unless you stamp them with the Mark of the Web (MOTW). There’s no way to intercept headers.
For testing and debugging, start with Vista and IE8. Vista has the most restrictive security and good developer tools. If i works there, it ought to work with other IE and OS versions.
To deploy, you have to create an MSI installer (use WiX v3) because you have to deploy a DLL and update the registry.
The bottom line, as I listen to this, is that doing add-ons for IE is just a lot harder than for Firefox. That doesn’t mean it’s not worthwhile, but it does indicate why there are so many more add-ons for Firefox.

Posted on 12:16 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
addons
addoncon
firefox
internet+explorer
Add On Business Models
Image via Wikipedia
The opening panel at Add On Con is made up of Kimbal Musk of OneRiot, Alec Jeong of CoolIris, Alex Iskold of AdaptiveBlue, Geoff Mack of Alexa James Joaquin of Foxmarks and Adam Boyden of Conduit. The participants had to introduce themselves with a haiku. That was pretty entertaining.
Alexa arguably has the first and most well known business based on an add-on. The Alexa toolbar was made popular by webmasters who promoted the toolbar as a way of elevating their rankings. This was a double edged sword since it also muddied their data for a while. Get people excited so that they promote the service.
Foxmarks synchronizes bookmarks across machines by keeping the bookmarks in the cloud. They have 9.5 million downloads and 2 million active users. The Mozilla add ons site (aka AMO) has been a key factor in that growth. A new kind of SEO: determine the qualities that make a “featured” add on. Also actively promote your add on on your Web site.
Conduit builds a toolset for others to create toolbars, so their distribution model is indirect. They have 40 million people use a toolbar based on their platform every month.
CoolIris has 1 million downloads to date with zero dollars spent on marketing. Five key distribution channels: download sites (AMO, etc.), use partners, upgrades from other add-ons, word of mouth—especially blogging, Twitter, etc., and their own home page.
Glue has a social component which leads to natural word-of-mouth distribution. They also offer services to websites that makes use of their add-on so the websites become partners in th distribution.
Should you require registration? Foxmarks is the only add-on in the top ten at AMO that requires registration. Registration introduces friction in the download process but aids in retention. People who go to the trouble to register are more committed to using the add-on.
Some add-ons (like Alexa) are passive—the user doesn’t have to do anything for the add-on to work. For non-passive add-ons, active users is a better metric than downloads or installs. Good user experience is crucial to maintaining user participation.
Revenue is clearly the bottom line for any business model. Conduit makes money by enabling publishers to place interesting content on the toolbar. OneRiot is also making revenue by building toolbars for other people. This drives search traffic to OneRiot (where the primary revenue is made, though I can’t tell how). Most business models don’t earn revenue from the toolbar, but from the other business that the toolbar supports.
Some add-ons that provide an alternate experience (like CoolIris) have room to run ads right in the add-on. There’s disagreement (as you’d expect) about how users react to this.
Here’s one recipe:
- You have to create an insanely great product that people will want to install, use, and share.
- Use the unique position of being a piece of software running in the browser to drive traffic to your web property.
- Monitize the web property.
Audience asked a question about barriers to entry. People are very concerned about sharing their personal data. If your add-on requires a loud service, getting that right can be a barrier.
Audience asked a question on charging for the add-on. A common framework or platform for doing this would be a boon for the community. Most business models currently require a large install base and charging would hinder that.
Small, unobtrusive add-ons (like icons in the status bar) are unloaded much less frequently than large toolbar or sidebar style add-ons. The Alexa toolbar has 95% more churn than the smaller Alexa add-on.
As an aside, Jeremy Liew of Lightspeed was the moderator of this panel and he did a great job. He’d done his homework and asked good questions.

Posted on 11:10 AM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
addons
mozilla
internet+explorer
addoncon
December 9, 2008
Travels, Trials, and Browser Tribulations

Image via Wikipedia
I this week’s Technometria podcast, Scott, Ben, and I are joined by Tyler Whitaker and Dion Almaer, who both discuss some of their recent technology activities.
Ben and Dion have recently been hired at Mozilla, where the company is working on new open web tools for developers. They talk about some of their long-term and short-term goals, including plans on ways to make it easier to deal with browser differences. In addition, Tyler discusses some of his recent internet connectivity problems and Scott talks about his recent delayed flight and how a website helped him better understand the cause of the problem, as well as quickly inform him when his flight would be arriving at the airport.

Posted on 12:57 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
| Yahoo! MyWeb
Related:
itconversations
mozilla
firefox
December 8, 2008
What's on My Desktop? Four New Apps for Staying Connected

Image by flibblesan
One of the things I love about going to conferences is that there are usually a lot of Mac users there and that means getting the goods on what new Mac software people are using. My last trips to Defrag and IIW were good in that regard as I found out about a few new things that I’m enjoying.
The first, and probably the most useful, is Snackr. Snackr is an RSS reader that displays the most recent articles from feeds you subscribe to as a rolling ticker on the bottom, top, or side of your display. Want to focus on something? Just click the “hide” icon and it scrolls up. Click on a headline and the article appears. It’s made RSS feeds an interstitial activity instead of something I have to remember to do and consequently I’m reading a lot more interesting things.
Another tool I discovered was Tweetdeck. I’ve been a longtime (if anything associated with Twitter can be termed “longtime”) Twitterific user, but Tweetdeck seduced me with it’s ability to create panels for Twitter searches. I wanted to follow all the tweets about IIW and Tweetdeck allowed me an easy way to do that. Along the way I got hooked on it’s built-in URL shortening panel. I went back to Twitterific and missed that, so I went back. Some people complain that Tweetdeck is too heavyweight and it can be. I run it in single pane mode a lot when I’m on a single monitor.
I like Delicios, but frequently fail to bookmark things. I don’t know why, but Pukka has helped. A little scriplet in the browser bar pushes data to Pukka and it does the rest of the work after I enter tags. I know, the bookmark page will do all of this, but it disrupts my browser flow. And I like the sound Pukka makes.
The last app (actually a service) that I discovered was Dropbox. Yeah maybe I’m the last to the block on this. Dropbox’s integration with OS X is what sold me (it also works in Windows and Linux). I get a folder that I just put things in and they get synced to the cloud. Right-clicking on them gives me the public URL I can send out to people in email or Twitter for sharing.
That’s all it takes: four new apps and I’m a happy camper.

Posted on 6:19 PM |
Comments () |
Recommend
| Print
Add to del.icio.us
| digg
|


