Browser

Where is the passion for extending Microsoft apps?

Justin James offers his theories about why there isn't much coverage about IE plug-ins in comparison to Firefox.

 

It seems like every few weeks one of the many IT newsletters and Web sites I read publishes an article about Firefox extensions. For instance, a few days ago, I read Jack Wallen's "10 Firefox extensions you can't live without." Heck, I even wrote an article about Firefox extensions a few years back for TechRepublic.

But when was the last time you saw the same type of article about Internet Explorer plug-ins? I can understand why there aren't these types of articles about Safari and Opera because their market share is pretty low, but Internet Explorer has a huge user base. I have a few theories about why there isn't much coverage about IE plug-ins.

My first theory is that writing plug-ins for IE is more difficult than writing plug-ins for Firefox. I have not actually tried to write a plug-in for either browser, so I really cannot say if this is the cause of the disparity. But if IE is significantly harder to write plug-ins for, then the number and overall quality of IE extensions would definitely be lower.

Another theory I have is that no one cares to extend IE. This could be caused by any number of factors, but I would bet that a lack of passion is part of it. Let's face it -- you need to be committed to Firefox to use it; after all, it involves you actively downloading the setup kit, installing it, and so on. IE simply has apathy as a prerequisite; all you need to do is not care what browser you use (or not know of browser alternatives), and you are an IE user. The end result is that Firefox users are much more likely to be passionate about their browser of choice, and therefore more likely to extend it.

A related idea is that Firefox users are much more into tweaking their systems than IE users. As a result, there is a ready market for Firefox extensions, while IE extensions might simply flounder. Likewise, it is possible that no one gets much response from an article about IE extensions, while a similar Firefox article might receive good feedback, so the incentive to write about IE plug-ins is less.

It could also be possible that IE is considered "good enough" to not need many extensions. I know... that sounds completely crazy. But frankly, the vast majority of users I know (even those with a lot of extensions installed) rarely seem to actually use the extensions outside of search toolbar widgets. Looking over the "extensions I love" articles I've read, I just can't see many of the extensions being useful more than once or twice a month for the average person; many of the extensions address non-problems. I can see why some people might be annoyed by a missing feature, decide to write a solution, and post it on the Internet, but I don't see that many people being motivated to use the extension. (By the way, the "extensions I love" articles are almost always well written, interesting, and expose me to new things, and I am in no way disparaging these articles or their authors.)

Ten years ago or so the "in" thing for developers was to allow users to "skin" (or apply "themes") to their applications. Everyone rushed to add this functionality to software, code widget vendors rushed to create widgets that made it easier to write applications that could be skinned, and so on. It was ridiculous. A few major applications had a devoted following of skinners (Winamp comes to mind), but the vast majority of skinnable apps never got skinned. Even though Winamp was a popular target for skinning, Windows Media Player (which is also skinnable) did not get nearly as many skins for it, even though its market share was high. Windows Media Player even had a pretty easy skinning system, more or less.

Likewise, we can draw a parallel between extensions for Eclipse and extensions for Visual Studio. Every time I look into Eclipse, there seems to be a healthy ecosystem of free and open source extensions to it. Visual Studio has extensions available, but the majority of them that I see are commercial items. The ecosystem of quality free and open source extensions just is not there.

I can keep drawing parallels between products that get extended a lot, and the Microsoft equivalent which does not, despite having support for extensions. I can come up with theories as to why this is all day long, but I'd love to hear what TechRepublic members think might be the cause of this situation.

J.Ja

Disclosure of Justin's industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.

-------------------------------------------------------------------------------------------------------------------

Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!

About

Justin James is the Lead Architect for Conigent.

21 comments
chance
chance

I think you may have basically summed up most of the reasoning, but you left off accessibility of said widgets. Firefox has made widgeting their browser a top concern, giving users an easy means of finding and installing widgets whereas IE has kind of played catch-up to this. Their database of addons is no where near as user-friendly and it isn't something that is pushed nearly as hard by MS. I believe this, above all else, may be a critical factor. I would *kill* for an IE instance of FireBug..speaking of which, need to re-google and see if there is / has ever been an addition added.

Retired007Geek
Retired007Geek

Actually, I'm quite passionate about it. Since retiring from the Gov't I've made some nice extra cash builing Excel and Access solutions for small businesses. VBA is a great tool for this since most small businesses already have Office on all their machines anyway. Just create the VBA to control the functioning and they are off and running w/o any kind of investment other than my time. Since I have developed a library and base application front end my clients all benefit from not having to pay for that development and just for their business case specific code. Works great & less filling! Of course MS can also mess up the small developer as well as the big money making ones. Their removal of the FileSearch object from VISTA messed up my front end code. Now I have to use DIR() and then write a sort routine to do what was builtin with FileSearch. Go figure, why would they remove this useful feature!

Mark Miller
Mark Miller

Since your subject was about "Microsoft Apps" and not just IE, I'll say that Microsoft Office gets extended all the time. There's a whole field for Office programming. It used to be about programming in VBA, but nowadays it's all about .Net (particularly VB.Net). I think the reason is that Microsoft has invested in reaching out to developers and showing them how to program for Office. It has not done the same for IE. In fact a few years ago I was talking with an MS developer about creating an app. to keep track of usernames and passwords for web site registrations. I said I was frustrated because while I had created my app. I didn't know how to make it so that it could secretly transfer the information to IE, without doing a copy and past from the clipboard. He told me, "There's a way to do it. Just check out MSDN." Then I had a "lightbulb" moment. I remembered that MS often put COM hooks into their applications so that they could be extended. I said, "Oh! Is there a way to automate IE through COM?" He nodded "Yes." It had never occurred to me before that moment. Why? MS has never talked about it, to my knowledge.

Tony Hopkinson
Tony Hopkinson

On the part of MS. Let's face it. Invent a good add on for an MS product. Free or commercial. If it goes popular and gets 'big', what is going to happen. MS will break yours and offer something similar in the next version. Not worth the effort....

w2ktechman
w2ktechman

Since I am not a developer, this may be totally wrong. I think there are a number of reasons for it, not just one or two. Some of your theories seem to me to be good theories. However, it seems that in the open source community, many things move faster. This is largely because many open source developers HATE Microsoft. Microsoft stands for commercialism completely. Look at extensions that are offered, many that I have seen (even from MS for their apps) have a price tag attached. Heck, I saw something that was free for open source, that an MS similar item (by MS) was more than $25. I dont think it is a wonder at all, I think part of it is drive by the developers to produce and contribute to the open source community!

CharlieSpencer
CharlieSpencer

By downloading FF, the user has already shown an interest in using something other than default IE. Let's remember IE it wasn't possible to write plug-ins for versions of IE prior to 7. FF was designed to accept extensions from the beginning so developers have had longer to work. Some IE 7 users not be aware it can be extended, thinking its just IE 6 with a face lift.

1bn0
1bn0

First and foremost. Opera has always been on the leading edge of browser development. It had tabbed browsing long before anyone else even knew what it was. It included mouse gestures (my favourite feature) and many others that would suddenly become the Greatest knew add-in to FIrefox or Mozilla or even IE. To Opera users it was just , Yaawwnnn. Have you come up with any thing new. The other aspect is the FREE as in Freedom, side of the alternate application. The add-ins are a response to the avaialability of the aplications and their extended feature set. The people who write the extended fetures are giving back to a project that they feel they ahve benefited from. Microsoft and its applications just can't get there.

Justin James
Justin James

It's not just IE plugins, either. Microsoft has *always* been bad about providing a central repository for plugins. I think part of the problem is the perception that they are always in semi-competition with people who develop for their platforms... get too big, and Microsoft either tries to put you out of business or tries to buy you. The Visual Studio Gallery seems to be the one exception to this rule; it is a good repository (I like that I can get an RSS feed from it, to see when new stuff is added), and TONS of stuff is going in there, at least one new item a day, I think! J.Ja

Justin James
Justin James

Oddly enough, my employer makes 100% of their money from selling Word add-ons. You are right that Microsoft has reached out a lot to Office developers, including the Visual Studio Tools for Office (VSTO). No other application has that level of support or documentation for plugins *in the Microsoft ecosystem*. At the same time, it all requires Visual Studio and Office, a combination which costs $1,000 minimum, which makes it cost prohibitive for an individual to work on it at home. That's why nearly all of the Office add-ons out there are commercial products. I don't think people are really "passionate" about extending Office, but they do appreciate the money making opportunity. I know my company does! :) J.Ja

Justin James
Justin James

The company I work for has been writing and selling add-ons for Microsoft Word for many, many years, aimed specifically at the legal industry. Over the last 10 or so years, Microsoft has barely made any improvements to Word in terms of the legal industry's needs, despite the millions of dollars that many ISVs are making filling the gaps. :) J.Ja

Justin James
Justin James

It's odd, one might think that the possibility of making money on an extension might motivate a developer to write one. On the other hand, I think that given what the typical person would be willing to pay for the typical extension (say, $5 - $20) would often not make up for the headaches of trying to collect the money, supporting the product, etc. especially since so few consumers purchase software now. I know that for me, I would not bother trying to sell something in that price range unless it was aimed at "enterprise class" usage where I might be able to sell 100 or 1,000 copies per purchase order. J.Ja

Justin James
Justin James

Are you sure that IE was not extensible prior to IE 7? Besides toolbars and plugins to handle certain MIME types? J.Ja

chance
chance

Hmm.. Visual Studio Gallery? I will have to look into it. I think Microsoft is slowly making the transition into a different role where they are suddenly starting to realize that they should focus on what they are good at, platforms, and then encourage people to build upon them. One of the problems they face though is due to their size, its very difficult to collaberate and centralize everything into one location. You have some repositories that are great like their gadget repo while others are terriable or worse yet, practically unknown to their users / potential developers. I think this particular issue is a *significant* factor they need to work on.

Mark Miller
Mark Miller

I think it used to just require Office before. I've heard of "Office Developer Edition", but I don't know what that was for. I remember finding out that by selecting some menu options I could get to the VBA editor right inside Word. A code editor and everything showed up. I didn't need VS at all. Now you're right. Office doesn't support .Net natively. You need VS, plus the VSTO extensions if you want an IDE environment for it. It's possible to program Office using the .Net SDK, operating Office through the .Net PIA (which provides a nice interface to Office COM). That's the way it was in .Net 1.1, anyway. I worked on a project a few years ago where they wanted to have a web app. produce and accept Excel spreadsheets, using a database as the back end. It was a real odd setup, and MS doesn't endorse this approach at all, but the customer wanted me to have the web app. literally run Excel on the server to do the processing! So that's what I did. They were cheap, and didn't want to buy a third party library that was designed to do the work in that sort of environment. I checked with them about the scalability issue. MS said that Office wasn't designed to be threaded. It could handle one or two instances running at once, but that would be it. The customer said that was fine, since only one or two people would use the feature during a session anyway. So I used the Office PIAs to invoke Excel (hiding the UI) and VB.Net to do the logic. I remember I had to go into the DCOM configuration and alter a setting for Excel (can't remember what now) to make it work. Once I learned what to do it wasn't hard. It was slow, but it worked out pretty well. I didn't use VSTO at all. Just VS.Net. The way I learned about the COM interface was to do searches on MSDN. All of the example code was in VBA, but it was pretty easy to translate it to VB.Net. The real challenge was getting Excel to shut down properly. If you even had one dangling reference to an Excel object, Excel would refuse to shut down unless you killed it through Task Manager. Not good. Even if I got all the references Excel tended to not shut down. The solution someone came up with was to force the garbage collector to run after all references had been released. This apparently created some sort of risk, since supposedly the GC could lock up your app. indefinitely, but I never ran into that. It worked consistently.

Tony Hopkinson
Tony Hopkinson

Hmm we do some legislative stuff as well. More accountancy type stuff though, MS were a partner and chose to compete with us (badly :D ). Don't trust them, if they found it in their interest they would shaft you in a heartbeat.

CharlieSpencer
CharlieSpencer

I've been wrong before. If it was, maybe I'm not the only one who didn't know it and that perception has carried over to IE 7. Or maybe everyone knew it but me and I'm full of solid waste product.

Justin James
Justin James

Yeah, there is a ton of friction in big companies. It is nearly impossible to manage them. I have never worked in government, but I know a lot of people who have. I *have* worked in Fortune 500 before, a few times. I can tell you that all of the horror stories that my buddies who have worked in government have, I have too. I'm of the beleive that the problem is definitely related to size. A long time ago, I read somewhere (quite probably "The Economist"), that "economics of scale" stop increasing when a company goes past a certain point in any given industry, typically 500 - 1000 employees. For example, the bolt maker can't give you a discount past a certain price, no matter how many you order; once you are buying a certain number of bolts, it doesn't matter if you are Ford-sized or just a mid-sized company, the bolt maker needs to make a profit. On the flip side, the article discussed the *inefficiencies* of scale. Things like "too many cooks in the kitchen", duplication of effort, "information silos", having to spend a fortune on facilities, difficulty attracting and retaining the best talent (they tend to shy away from mega-companies), and so on. It really hammered home this idea that companies in the 500 - 1000 employee range (again, industry makes a difference) are in the "sweet spot" for efficiency. My personal experience bears this out. In fact, for companies that produce software for a living (as opposed to producing it for internal usage), or for whom software is a major component of the product/service they offer, I would make it even smaller! There are no "efficiencies of scale" for a large software company, other than maybe getting a bit of a discount from Microsoft on your MSDN subscriptions. But there are massive inefficiencies that come into play with large software projects. This is why outsourcing/offshoring development is not as cheap as it sound "on paper", because even with 1 developer, you have the management overhead of a 10 person team (constant meetings, planning sessions, communications breakdowns, etc.). J.Ja

boxfiddler
boxfiddler

paid for inefficiency, as opposed to size?

Justin James
Justin James

... is indeed a HUGE problem for them. I've seen some great ideas take so long to reach market that the opportunity was lost, due to their size. It is really easy for projects to get "lost" inside their maze, or to see two or three projects that all sound the same compete for budget and resources. That's the price you pay to be big, though. J.Ja

Justin James
Justin James

At this point, there are 3 ways to program against Office: * VBA running within Office. A few years ago, this was how I made my living. It is bad for 2 major reasons: VBA is a lousy language, and it requires that Office be running in a user session. * Office as a COM component. This is problematic, as you point out, because it is easy to accidentally keep it in memory, which is DEADLY on a Web server. It also measn that you need to deal with COM, which is not fun. I did this a while ago with MapPoint, with very spotty results. All too often, doing things involved making an invisible Office COM control on the screen to work with a file, and I really did not feel comfortable with this approach. * Office being manipulated through VSTO. I haven't actually done this, but I suspect that it would be the right way for any new projects. :) J.Ja

Neon Samurai
Neon Samurai

Not in the full sense of the word anyhow. No plugin manager, no plugins evern discussed. The only things I've seen are the embedded media managers like Flashplayer which remain managed seporately from the browser itself.