November 28, 2004

Firefox: Why Microsoft Should Be Worried

I inadvertantly posted this earlier while it was still under development. Sorry for the confusion.

Firefox turned 1.0 last week, and in the process managed to hit 1,000,000 downloads in one day. Put that into perspective - Firefox is in the neighborhood of 5 MB, which means that the mozilla.org servers had something in the neighborhood of 5 terabytes of data streaming over their pipes. From a pure networking standpoint, that's pretty amazing, not to mention the indication about how major a release Firefox has become.

A few Netcraft statistics are perhaps just as revealing. Netcraft measures browser usage on the web, and according to its data, Firefox has managed to capture about 4% of the browser share just since October when the 1. 0 preliminary review was released. Given that the movement of any given browser usually tends to be in the neighborhoods of tenths of points from month to month, this jump was phenomenal. Firefox and Mozilla combined now occupy roughly 7% of the browser market, most of it at the expense of Microsoft's Internet Explorer. IE dropped below 90% or the market for the first time in several years.

I've seen a number of articles on the web asking whether Microsoft should be worried about the rise of Firefox, especially given their own market-share of around 90%. After all, ASP.NET is increasingly putting the orientation of web pages regardless of which server the browser is aimed at, a server-centric philosophy that seems to be consistent with the stance that the company took after moving from a rich client model in the late 1990s.

Personally, I would contend that Microsoft does need to worry ... a great deal. Internet Explorer is more than just a browser ... it is a critical piece of infrastructure that is used in any number of applications, including applications that don't necessarily talk to the web. The ability to create dynamic interfaces is not something to take lightly, as such systems are far easier to update, more readily customizable than precompiled binaries, and are often simpler to write applications around, for the vast majority of all such applications. Given that a significant proportion of such applications are written not for the home user but for the enterprise, Internet Explorer may in fact anchor Windows in businesses even more than Microsoft Office.

Given that, Firefox represents a significant threat to Microsoft. I have been working with Firefox and XUL for roughly three months now, building a number of tools for a content management system including a customized WYSIWYG XML editor and a versioning system monitor. With some work, I've managed to make these tools work across Windows, the Macintosh and Linux, using a combination of Mozilla's XUL, Javascript, and XSLT. The editor, as one example, overrides the Firefox menu, making it possible for me to actually piggyback on top of a user's version of Firefox to get the functionality that I need.

I am writing this blog using the editor I built on the Firefox XUL library and API, with the editor actually running as a tabbed pane within the browser itself. While it is certainly possible (and I'll discuss in more detail how it can be done) to set up such core functions as cut, copy and paste, text searching, undo and redo, and so forth through Javascript code, by building on top of the web browser itself I was able to effectively get all of this for free, leaving me with more time to implement functionality specific to the company's requirements. Perhaps the closest analogy I can think of as to the power of this would be as if you had access to the source code for Internet Explorer, could make changes to the interface using XML and Javascript, and could then run it on any platform without complex recompilation. The XAML model comes closest, but XAML is also still at least two years out, and it's unlikely that you'll actually get a chance to manipulate (or even see) the source code for the XAML rendering engine.

Yet for all this, perhaps the most intriguing aspect of Firefox is its ability to integrate multiple extensions. It's worth considering that most of Firefox is in fact an extension of some sort - some extensions are just bundled more tightly with the original package. Third party extensions exist to do everything from translate or speak selected text to showing the weather for the next few days. Some, such as the Web Developer's Toolkit, can actually work very nicely with an editor to show the dimensions and paths of images, boundaries of tables and divs, and activating and deactivating Javascript and Java components on the fly. These extensions can in fact be utilized in conjunction with your own applications as well -- I use a number of them with the editing suite I've developed, again letting me concentrate on the relevant business logic on my end rather than trying to reimplement everything from scratch. This capability will also increase considerably by mid-next year, when SVG and XForms are integrated into the mix - making it possible to generate rich, intelligent forms and interactive multimedia using SVG, XBL bindings and data-aware form components.

The Anatomy of Mozilla

I've been rather blithely throwing around terms and acronyms here that may be familiar to the XUL developers among you but may otherwise be somewhat mysterious to the rest of you. Consequently, digging into the innards of Mozilla may both end up explaining some of this and giving you a better understanding of what exactly applications such as Firefox can do.

Conceptually, Mozilla (and by extension Firefox and Thunderbird) can be broken down two ways: Gecko and SeaMonkey. Gecko is a set of core objects, written primarily in C++, that handle the detailed rendering and memory management of web-based applications. Gecko is perhaps the oldest part of the Mozilla project, started from scratch to better perform the drawing of web pages than the older Netscape browsers did. You can thank Gecko for Firefox's surprisingly fast speed in rendering. Gecko serves as the interface between tbe application and the native graphical rendering system (such as GDI on Windows or XFree86 on Linux and Unix based systems), freeing up developers from having to explicitly access this layer directly.

Gecko, however, is a largely invisible layer from the application developer standpoint. If you're writing an application, you are much more likely to be interfacing with it through SeaMonkey (you can probably begin to detect the direction of the Mozilla Foundation's code name strategy at work here). SeaMonkey provides the code interface layer that makes it possible for us ordinary mortals to write applications, and even to take over the Mozilla browser in order to create our own. SeaMonkey exposes an XML language called the XML User-interface Language (or XUL) that provides a set of building blocks that control various components - textboxes, formatting boxes, status bars, menus, lists, trees, and so forth, along with abstractions for creating key bindings, event observers and referential commands. This set is fairly rich (there are more than one hundred such tags), but it can also be extended with the HTML element set (useful for creating formatted markup within applications) and will further be augmented with the SVG tag-set by March 2005, and XForms by early 2006.

It is possible to put together applications with nothing but XUL, but they are generally trivial applications at best. As with any other application framework, the structural elements usually need to be bound together with some code of procedural code. SeaMonkey borrowed a page from Internet Explorer here (as well as .NET) - rather than building one language inextricably into the interface, SeaMonkey breaks the process up into two distinct technologies - XPCOM and XPConnect. XPCOM performs the same role for Mozilla that COM does for pre-.NET windows applications - it queries and binds object interfaces and makes them available for other coding applications to utilize. This cuts down on the requirement of maintaining a static-API, and provides a vehicle for writing binary extensions as XPCOM objects. While the two layers are not identical, there is enough similarity between XPCOM and COM that an ActiveX container for Mozilla should soon be supported, making it possible for Firefox applications to run ActiveX controls while at the same time providing a layer of security that prevents them from being the threat they've become under Internet Explorer.

To get around coding a specific language to SeaMonkey, XPCOM is designed to be accessed through XPConnect, a binding layer that maps XPCOM to a specific language's interfaces. Currently the primary such language is Javascript 1.5, though plans are in the work to incorporate Javascript 2.0 once that language goes through its final development phase and is approved by the ECMA (a body, incidentally, that has quietly become the de facto holder in trust of programming languages in general). I've covered some of the features of Javascript 1.5 before, including the use of setters and getters, robust regular expression support, the use of constants, and multiple try-catch statement support. However, bindings for other languages, including Python and Perl, are available, and a much more complete Java binder is also under development. Because of the open nature of Mozilla, I would not be at all surprised to see a C# implementation in the near future as well.

The list of XPCOM objects is quite impressive. A partial list includes the following functionality:
  • Core Functionality (See below)
  • Accessibility Components
  • Address Book Support
  • Clipboard and Selection
  • Content and Layout Managers
  • Cookies
  • HTML and XML DOM Support
  • HTML Editors
  • File and Stream Interfaces
  • Graphics Creation and Manipulation
  • Interprocess Communication (IPC)
  • LDAP
  • Localization
  • Mail Support
  • Network Support (Sockets, et al)
  • News Support
  • Preferences Objects
  • Security
  • Web Browser control
  • Web Services (SOAP/WSDL based)
  • Window Management
  • XML Support (Schema, XSLT, XPath)
  • XUL
The Core functionality provides a number of useful data structures (including dictionaries, arrays, property bags and enumerations) and language type support,along with threading libraries (and pools), timers, event resources, and exception management. While some of these are not necessarily that useful in Javascript, they do have definite utility in other languages such as C++. The graphics library includes interfaces for actually drawing on surfaces within the various objects, though accessing these services can be a little convoluted. The mail, LDAP and news support point out a subtle but important fact about Firefox and Thunderbird - they are simply applications that both sit on the same API - meaning that you could in fact build integrated mail services directly into Firefox if you wanted to.

XPCOM exposes these services and objects via a contract ID, something analogous to the classid used by Microsoft tools. The following, for instance, illustrates how you could create a new local File object:
var file = Components.classes["@mozilla.org/file/local;1"].

createInstance(Components.interfaces.nsILocalFile);
The first part of the expression,
Components.classes["@mozilla.org/file/local;1"]
creates a reference to the local file class defined by the contract ID, "@mozilla.org/file/local;1". This is a class reference, not an instance reference (it points to a particular class definition, rather than one specific instance of the class). The createInstance() function in turn creates an instance of this object, using the Components.interfaces.nsILocalFile interface to expose that particular interface on the instance. A given object may conceivably have more than one interface; this code makes it easier (and more cost efficient in terms of computing) to get the specific interface properties. Once this object is retrieved, you can use its properties and methods in exactly the same manner you would do so in any other language.

The final piece of the SeaMonkey language is the XML Binding Language (or XBL). This XML-based language provides a transformation mechanism that will take user-defined tags written in XUL files and convert them into an internal XUL representation, complete with properties, methods, and event hooks. XBL provides a way of creating more sophisticated elements, and is in fact used within XUL itself for the definition of things such as tab-browsers, which combine tab boxes and browsers into a single component.

A very simple XBL file, one that builds a box with OK and Cancel buttons, might look something like this:


XUL (example.xul):

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://example/skin/example.css" type="text/css"?>

<window
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<box class="okcancelbuttons">
</window>

CSS (example.css):

box.okcancelbuttons {
-moz-binding: url('chrome://example/skin/example.xml#okcancel');
}

XBL (example.xml):

<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="okcancel">
<content>
<xul:button label="OK">
<xul:button label="Cancel">
</content>
</binding>
</bindings>

The XUL file creates a reference to a CSS file, while in turn uses CSS selector and rule syntax for defining the bindings between a given class (okcancelbuttons) and an XBL file and the associated "okcancel" binding item. Real XBL can become much more complex than this, of course, but this is a topic for a different article.

As expected, SeaMonkey also handles the bindings between CSS and the XUL applications, with XUL heavily utilizing CSS not just for simple "styling" but for the actual creation of complex components through XBL. The CSS support that exists as a consequence is VERY impressive, including certain features that have been floating for a while, such as support for multiple flow columns.

The final piece of any XUL application is the use of overlays. An overlay is a XUL file that changes the XUL (and associated scripts) of a given application. By overwriting or extending (as a form of inheritance) you can do such things as create overlays on Firefox or Thunderbird itself. I do this myself to override the default load and save menu items and replace them with my own, making it possible for me to save to a custom XML schema and load from that schema later.

Firefox is an example of all of these principles in action, by the way. If you have Firefox running on your system (and maintain the Java SDK on your system), create a copy of the browser.jar file located in the chrome directory of your Firefox distribution somewhere outside of the firefox application folder. You can use the Jar file extractor from the SDK to convert this into a directory:

jar xvf browser.jar

This will create a folder called content, which in turn will hold the various XUL, XML, and CSS files for the Firefox browser. It is worth spending the time looking at these closely. One of the things you should realize pretty quickly on is that almost all of Firefox is contained within these XUL files, not in some form of C++ application, and that a significant portion of the coding for Firefox is handled by Javascript.

Firefox is remarkable to me in that it is one of a new breed of applications, built around an XML interface and scripting yet fully capable of handling some of the most serious challenges that any "formal" application written in C++ or even Java can handle. It is also eminently accessible, in a way that a lot of other applications aren't. It is this model, as much as any widgets or features of the Firefox application, that is the real story here.

Implications

I'm looking at the November 22, 2004 issue of eWeek on my desk at an article entitled Browser wars back on. I think that sums it up pretty well. Firefox is not just a shot across the bow to Microsoft -- stealing 5% of market share is much like taking out the yard-arm on your ship with that cannon-shot. A major portion of Microsoft's control over that market share has come from the fact that you could access other components from within it, turning the Internet Explorer shell into a general purpose shell for hosting any kind of application. No other browser out there has really managed to pull it off and still be able to maintain its quality as a browser.

Firefox opens up that possibility. It's not that much of a stretch to envision Open Office creating wrappers around their UNO wrapper class to make them work within Firefox, and as the editor application I've written myself illustrates, you can actually go a long way toward building commercially viable enterprise-level applications just using the core components from Firefox. The addition of SVG support and XForms provides another point of attack against both Power Point and InfoPath, and its not hard to envision data-access tools appearing in the next year (perhaps powered by XQuery?) that will give Access a run for its money. Such applications could run on multiple platforms with little or no modification, would be a menu-item away from normal browsing (and could easily run in one browser tab while you maintain your mail in a second tab and surf the web in a third).

None of this will happen overnight, of course, but its easy enough to see the general trendline. Already it is prompting Microsoft to come back with a number of new extensions and innovations on its own browser, though in most cases these extensions still rely upon the existing ActiveX architecture. The biggest danger that Microsoft faces from this comes in its tendency to pick and choose which standards it chooses to comply to; a truly standards compliant development system is likely to be far more politically attractive than one that is closed and proprietary, especially where it counts -- not in the big enterprise settings where the adoption of any new technology usually takes place only after such a technology has become very settled but in the spare bedrooms and coffeehouses and garage work-stations of the individual developers who are the ones who are learning (and in many cases developing) the technology of the future. For them, Firefox and the Mozilla Application Suite represents a huge step forward, one that will have reverberations for the next decade and beyond.

82 comments:

Anonymous said...

What a wonderful invention it is, this thing we call the Internet!

Anonymous said...

Great Blog! I wanted to share this with you. Are you tired of the Internet Marketing Rat Race? business exclusive home lead


Check this out when you have time :-)

Mohawk Man said...

You have an interesting blog here. Some of the things people put are kind of strange. Another cool site is a based business home idea successful site that is about Home biz stuff.

Anyway, I like your blog and will proably be back.

Take care.

Free Traffic System said...

Hello,

I am your free generator traffic niche member with
href="http://www.freetrafficsystem.com">Free Traffic System
site.

I offer your to make free generator traffic articles cross-change between our web sites.

Kind regards,
Nick

Anonymous said...

Hey, you have a great blog here! I'm definitely going to bookmark you!

I have a web hosting package site. It pretty much covers ##KEYWORD## related stuff.


Come and check it out if you get time.

Anonymous said...

Hey, you have a great blog here!

I have a christian web hosting site/blog. It pretty much covers ##WEB HOSTING## related stuff.We offer everything from business to personal web hosting. Packages starting at $3.95 a month. No setup fees. Low cost domain registration, SSL certificates, merchant accounts and web design.

Come and check it out if you get time.

Anonymous said...

Hey, you have a great blog here!

I have a increase site surf traffic web site. It pretty much covers ##Website Promotion## related stuff.

Come and check it out if you get time.

Thought I would try posting to a blog. I have never done this.
Hope I'm doing this right? If I have done anything wrong please let me know.

The only time we have a test before the lesson is in LIFE.

Anonymous said...

Hello,
You have a great blog here!

Life is the only time where you get the test before the lesson.

I have a e commerce web hosting site. It pretty much covers ##WEB HOSTING## related stuff.

Come and check it out if you get time.

Anonymous said...

Hey, you have a great blog here!

Just wanted to say hello world and send a blog.
Hope I did this right?

I have a buy web site traffic site. It pretty much covers ##WEBSITE TRAFFIC## related stuff.

Come and check it out if you get time.

Thanks again

Anonymous said...

Thats a great view point. I had not really considered it from that perspective before regarding work at home directory. Put it this way, most people who are rich have their own businesses many of which started as a work from home based business. I have an article based webs site discussing such issues as work at home directory which should be an eye opener for most people thinking of starting their own home business. Keep up the great information with your blog.

Anonymous said...

Wow, I really like this one. I have a website that talks mostly about internet make money over ways You should check it out sometime.

Anonymous said...

I just bookmarked your blog. I will try to post often.

Do you think gas pricing is ever going to go down? I founds some gas saving tips at baby surfing


Keep in touch :)

Anonymous said...

WOW… this internet marketing firm blog just keeps getting better. I got some great ideas from this internet marketing firm posting. I can’t wait for the next internet marketing firm article

Anonymous said...

Well written blog on marketing site strategy web I have a related blog on marketing site strategy web

Anonymous said...

Great site about adult web site design Keep up the good work! website design bathurst

Anonymous said...

I love your site.

I can help people who plan to move to San Diego save $5,000 to $25,000 on the purchase of their next home by negotiating with the seller. indianapolis real estate indianapolis real estate

Come and check my website out if you get time :-)

Anonymous said...

Hey, you have a great blog here! I'm definitely going to bookmark you!

I have a microsoft gdi detection tool site/blog. It pretty much covers ##KEYWORD## related stuff.

Come and check it out if you get time :-)

Anonymous said...

Hello, just happened to locate your blog on 2003 publisher. I wanted to say thank you for having an informative blog like this. If you have a chance, please drop by my site. We provide fresh resources on 2003 publisher. I will be sure and bookmark your site and return again. Thanks, Larry

Anonymous said...

I saw something similar about mystery shopping business

Anonymous said...

While surfing the net looking for Websites similar to my site about work at home typing I came across your blog about work at home typing It is nice to see that there are people out there who are willing to give us insights into
their daily lives through their blogs.

Anonymous said...

the best place to find 100 free adult personals in my opinion is 100 free adult personals

You can find lots of stuff 100 free adult personals related just click

100 free adult personals

Anonymous said...

web site hosting directory Web Hosting Ecommerce Your source for the latest in the web site hosting directory industry, News, links and latest web site hosting directory developments.

Anonymous said...

interesting discussion on colorado income property I have a related blog on colorado income property

Anonymous said...

Intresting Post
Feel free to visit
Advanced Business Marketing
For mor tips.
Feel free to leave your Comments.

Anonymous said...

I discuss this topic daily myself. I also have a website that talks about make extra cash at home related things. Go check it out if you get a chance.

Anonymous said...

Yo, This blog is pretty neat. You should check out mine sometime. It pretty much covers home based business opportunity seeker related stuff.

Anonymous said...

"I was looking for some specific info on **keyword** and found it here on your site and wanted to drop you a note telling you how impressed I was with the information you have posted here. I also have a web site & blog about **keyword** so I know your site is top-notch! Keep up the great work. -John"ppc search engine internet marketingppc search engine internet marketing

Anonymous said...

I really enjoyed the topic you chose to write about. I'm definitely going to bookmark you! best site traffic web It pretty much covers best site traffic web related stuff. Come and check it out if you get mlm advertising.mlm advertising

Anonymous said...

nice site :)

Check out 1960112 adult finder friend from message new sweetness1960112 adult finder friend from message new sweetness 1960112 adult finder friend from message new sweetness

Anonymous said...

Think that could give you some Search Engine popularity, and traffic???

Anonymous said...

Enjoyed your blog.
Please visit
Advanced Business Marketing

And leave your comment.

Anonymous said...

I love your budget web hosting blog.
I will have to put this in my favorites.
I have a site about budget web hosting
also. I welcome new vistitors.

Anonymous said...

good resource here. I would also link to auto trader uk

Anonymous said...

I have seen a lot about christian home based business.

See how a 33 yr old ex-bouncer replaced his income and learned even more about christian home based business

Seriously, It only took about nine months. There is a lot of hype out there about christian home based business so don't get overwhelmed.

It's real though. A sixty year old industry that does $100 Billion a year in sales. Isn't that worth ten minutes of your time?

Click Here Now

Anonymous said...

And A Link Back To Your Web Site Excite You?

Webmaster said...

Just checking out the other blogs on autosurfing cash online and came across yours, not bad, just getting ideas for my autosurfing cash onlinepage and might start a new blog. Take Care.

Anonymous said...

I have found a site that has information on germany travel info ,germany travel info, and germany travel info . You may find it very useful at germany travel info

Anonymous said...

Sometimes, these gambles pay off, but there are occasions when they fail miserably,

Anonymous said...

I really enjoyed reading your Blog about paris flea market. I also have a Blog/Website about paris flea market come check it out!! Have a great day!

Anonymous said...

Hi, Nice blog you have here. Lots of great info on san diego chargers cheerleader. I have a san diego chargers cheerleader related site. It has lots of information, discussion, stats etc. on san diego chargers cheerleader. Please check it out if you get a chance.

Anonymous said...

Greetings from North Cack-A-Lacky! I enjoyed your thoughts, although I give Firefox even a little more credit than you do, I think ;) See what I mean here: internet explorer 4.0

Anonymous said...

Hey nice blog!

I want you to come join this site about adult adultfriend finder friend

Its cool Adult Friend Finder

Click the adult adultfriend finder friend link above and join :) see you there

Anonymous said...

Hey blogger do you know that you can make cash from your blog?

Its so simple a child could do it!

This goes for anyone reading this too.

You can make up to $0.40 per visit with this nice affiliate program called Zangocash

Its one of the best programs out there at the minute and can suit any blogger or webmaster!

To sign up and start earning money right away!

Just click this link below
earn or make online money

So why not start earning today!

Anonymous said...

affiliate site web is great

i found here searching for the word affiliate site web and your site was listed high on the word affiliate site web
GOOD JOB

affiliate site web

Anonymous said...

RSS Announcer instantly and automatically submits your RSS feeds

Anonymous said...

Bueno!! I was doing some research about buy xango and came across your blog. Was glad to see you writing about buy xango because I have been working on a site to help people who sell buy xango!! Gracias!

Anonymous said...

Hey, you have a great blog here! I'm definitely going to bookmark you!

I have a central.net ebook microsoft sell site/blog. It pretty much covers ##KEYWORD## related stuff.

Come and check it out if you get time :-)

Anonymous said...

At the end of Each lesson their will be Valuable FREE Marketing Networks where you will be able to

Anonymous said...

I have a pretty cool site about Check out enzymes work

Anonymous said...

auction tool A Name Brand Products at Wholesale Prices auction tool

Anonymous said...

greeting card at wholesale prices A Name Brand Products at Wholesale Prices greeting card at wholesale prices

Anonymous said...

hey did you know you can get a free ipod pretty easily?
just go to www.getipodsforfree.com, sign up and do an offer

Anonymous said...

Hi there, Nice little blog you've got going on there.

Keep it up!

This might interest you if you're after some more web site traffic The contents of this site will explode your hits! Auto surf and recieve 50,000 credits free - Join free! advice free legal traffic violationadvice free legal traffic violation

Anonymous said...

Hey I have 42 free free xxx daily video clip at my blog! You can download them all, no problem, Think of them as porn trailers. Free Videos

You can post a comment to your website at my blog too :) Thanks!

Anonymous said...

gay dating personals
gay dating personals

Find a date at gay dating personals

Anonymous said...

Here is a good place lifestyle to find a high value for money hosting company with all the bells and whistles of overpriced hosting companies.

Anonymous said...

home home honest opportunity,http://allmyvista.com,home home honest opportunity

free downloads of software, php scripts, audio, ebooks and seminar interviews. Make work from home incredibly easy

home home honest opportunity

http://allmyvista.com

home home honest opportunity

Anonymous said...

work from home,http://allmyvista.com,work from home

free downloads of software, php scripts, audio, ebooks and seminar interviews. Make work from home incredibly easy

work from home

http://allmyvista.com

work from home

Anonymous said...

Passare un istante che pensa a questo proposito, ma non funzioni troppo duro.With Respect, Soraya buy nfl ticket online

Anonymous said...

�Me pregunto qu� informaci�n del cheap no fax payday loan necesito saber?Chiao, Shana cheap no fax payday loan

Anonymous said...

Mientras que buscaba blogs, encontr� el tuyo. Tengo uno en Brown Skin Blemishes tambi�n pero no casi tan bueno como el tuyo.So long, Doug Brown Skin Blemishes

Anonymous said...

Hey I agree 100% agree with the last few comments. This blog has great opinions and this is why I continue to visit, thanks! ##link#

Anonymous said...

I am conducting some research on various work from home sites and ran across this page.Even though it wasn't "exactly" what I waslooking for, I think your readers might be interested in reading my work from home page since it incorporates the top sites. As you know, the more information people have before spending their hard earned money -- the better. Sorry for the self promotion, just trying to get the word out while looking for sites to review. On to the next -- thanks!Steve @marketing education

Anonymous said...

How do I embed Firefox browser on a JFrame on WindowsXP?

Anonymous said...

Hey you have a grea blog here I'm definitely going to bookmark you!
doctor ecommerce web site development I have a web development site with a blog about development, web design, hosting and moredoctor ecommerce web site development Come check it out if you get time!

Anonymous said...

Re rss feed business and this blog this is the latest big think in website traffic and money making generation.

"Generate thousands of links back to your website with Lin Referral. Link Referral is completely free and if you want you can upgrade to sell the links on to others. Link Referral takes website SEO to a new level and before long you could be on page 1 of google and earning considerable sums of money. Some people are earning thousands from Link Referral"

Anonymous said...

Great blog on domain name registration and hosting. I've stumbled on a superb money making website. Linkreferral is free to join and drives traffic to your website in an inivitive way (the more sites you visit, the more links you get back to your website.)

I've only been a member of Linkreferral for aproximately 2 weeks but I have already seen the volume of people coming to my site double - if not treble.

Linkreferral is not only driving visitors to my website but as a result my affiliate sales income has doubled also.

I really cannot push this website enough. It is free and it is fantastic!! www.linkreferral.com is a must for money making opportunities online.

Anonymous said...

Great blog....now...ADVICE TIME!! - If you need more key web site traffic builder then congratulations I've come to the right place, try key web site traffic builder - this is the best place online to get massive volumes of internet traffic back to your blog for blog publicity purposes. Within a week I had trippled my volume of traffic - Signup is free and before you know it you will flying up the Google search egine - guaranteed!! - Signup is free you have nothing to lose. Best of luck with it and continued success with your blog!!

Anonymous said...

.com myspace photo sharing

Anonymous said...

ads classified free toronto

Anonymous said...

I have found 4 thing that will give you a better internet experience at www.webmenues.com
1. Skype is a little piece of software that lets you make free calls to anyone else on Skype, anywhere in the world.
2. Firefox protects you from viruses, spyware and pop-ups.
3. Every time you use the Internet, you use the Domain Name System (DNS). OpenDNS is faster, safer, and smarter than the DNS you use now.
4. Google pack is:safe, useful software for your computer
firefoxfirefox
Feel free to pass it on to everyone you know!

Anonymous said...

date day idea valentine

Anonymous said...

Hi

Sorry to intrude but I saw your blog, noticed you have anonymous posting enabled and thought you might be interested in this great search engine optimization tool for your blog and website (if you have one) that a techi mate recommended to me. Apparently it's all the rage in the IT arena.

I am involved in adult affiliate and I've found the best way of promoting my blogs and websites is The amazing link referral program. Don't worry it is absolutely free to join and you can generate visitors to your site by visiting others. It is really quick and easy to set up and the traffic you generate will help your website increase in google ranking. Give it a go now!!

I have generated amazing traffic from this program - increasing my affiliate sales and cannot recommend this enough. Believe me, if you have tried all the other programs on the market that you have had to pay for then you realise this one is the best - and it's free!!!

Best of luck with the blog!! I hope you get as much out of this program as I have ;-)

Anonymous said...

hand hand job job link ra.info ra.info site video video

Anonymous said...

.





Hi matey

I'm sure it was this blog I was reading a while back where someone was looking for an SEO tool for driving more traffic and get more hits for their website.

Anyway, I was speaking to a techi guy at work who gets to know all the latest stuff and he uses the free Link Referral Program.

His website on business card free amongst other stuff has seen traffic explode since he started using the Link Referral Program - consequently his affiliate sales commissions and business sales went through the roof PLUS his website increased in google ranking which was an added bonus!!

If anyone else has any good ideas for driving more traffic to blogs/websites then please share with your online business blog buddies. Ta ;-)










.

Anonymous said...

.





Hi matey

I'm sure it was this blog I was reading a while back where someone was looking for an SEO tool for driving more traffic and get more hits for their website.

Anyway, I was speaking to a techi guy at work who gets to know all the latest stuff and he uses the free Link Referral Program.

His website on affiliate internet marketing super amongst other stuff has seen traffic explode since he started using the Link Referral Program - consequently his affiliate sales commissions and business sales went through the roof PLUS his website increased in google ranking which was an added bonus!!

If anyone else has any good ideas for driving more traffic to blogs/websites then please share with your online business blog buddies. Ta ;-)










.

Anonymous said...

.









RE: web site promotion software



Thanks for recommending the free Link Referral Program for search engine optimization (seo) - I've signed up and am considering upgrading to the affiliate program - looks like a winner to me!!








.

Anonymous said...

job library minnesota

Anonymous said...

A pal of mine had a website featuring self promotion and he was desparate for more website traffic. He scoured the internet and tried all the pay-for software programs including Trafficseeker, Addweb, IBP and many, many, more. All they succeeded in doing was crippling his site's page ranking and cosequently he plunged down the google search engine ranking. He then discovered a new way of getting genuine visiting traffic back to his webitse.

The system has been such a success that he has upgraded his account and now refers others up to the program.

If you are looking for free website promotion, free traffic, free marketing, free advertising then look no further Linkreferral is here!!

Anonymous said...

Hey, you have a great blog here! I'm definitely going to bookmark you!

I have a nursing home site/blog. It pretty much covers ##KEYWORD## related stuff.

Come and check it out if you get time :-)

Anonymous said...

Risk Free Program. No Selling Or Inventory. Call 1-800-719-8268 Ext.B0116

Anonymous said...

Best Penis Enlargement Pills, product reviews and articles. Visit Penis Heal: www.penisheal.com