Search blog.co.uk

Archives for: June 2008

The standard way of working

by cc0028 @ 2008-06-27 - 13:35:23

I've been taken to task, in absolutely the nicest way possible, for introducing into this corner of the blogosphere a whole lorry-load of acronyms and abbreviations without taking the time properly to explain them. Hopefully this article will explain some of them and introduce some other matters that many think are important.

You'll no doubt agree with me that the world has been changed radically by the recent advances in the communications industry. This applies across the board: from iPods to iPhones and from email to the World Wide Web. Given that we agree, I'd like you to consider for a moment whether or not you think that this could have happened had there not been large numbers of open standards for implementors to follow in producing their wares. Without standards, would an Orange phone be able to talk to its Virgin peer; would you be able to download your music from your iPod to your computer; would you be able to send an email from Thunderbird to have it read in MS Outlook?

When you think about it, you soon see that all these things can happen because sets of standards exist that allow products from different manufacturers to interact. Your email, for instance, is sent using SMTP (the Simple Mail Transfer Protocol) and received using, probably, POP - the Post Office Protocol.

Where do these standards come from?

For the wider internet, the body that oversees the standards process is the Internet Engineering Task Force (IETF). These are the people that brought you SMTP and POP(see above). They also brought you the HyperText Transfer Protocol (HTTP) - the protocol behind the World Wide Web - and some of the worst formatted Web pages you are ever likely to see.

The standards produced by the IETF are enshrined in Requests For Comments (RFCs) - a rather quaint nomenclature that I'll leave you to research on your own.

You will have noticed that the word Protocol crops up a lot. It's the final P in SMTP, POP, HTTP, FTP, EPP and so on. A protocol is a standard way of behaving. If a program adheres to a protocol, we can predict how it will behave. If we can predict how it will behave, we can interact with it.

The World Wide Web has its own set of standards that are overseen by the World Wide Web Consortium (W3C). They are responsible for the likes of the HyperText Markup Language (HTML) and Cascading Style Sheets (CSS). These two standards define how content is to be presented in Web browsers. If you write standard HTML and CSS, you should be able to guarantee how your page will look in any browser - as long, of course, that the browser implements the standards. And thereby hangs a tale.

This is the moral of today's story. When standards are undermined, we all suffer.

In the 1990s, Microsoft and Netscape went head-to-head in what became known as the Browser wars. Both companies added their own proprietary Extensions to HTML, meaning that you had to have their browser in order to Take advantage of the extra functionality. Of course, there was no advantage, and the HTML standard became thoroughly subverted to the extent that it became referred to in this context as Tag soup.

Worse was to come, however. Microsoft, through the use of illegal tactics for which it has since been punished (if not punished enough) in US courts, won the browser wars hands down. Having done so, the only way to view the Web sensibly was in their browser (IE5 and later IE6), which they hooked into their operating system so effectively that this meant, in effect, you had to run a Windows computer to view the most important new communication medium since Gutenberg. Microsoft owned the Web.

Or nearly ...

By the skin of our teeth we have been spared the nightmarish conclusion to the history above. Due to a combination of factors - Microsoft's increasing unpopularity, anti-trust findings against Microsoft in the USA and Europe, the professionalism of some Web developers, the growth of the Open Source movement, the resurgence of Apple and the popularity of Firefox - Microsoft's position gradually became untenable. Forced by the courts to Unbundle Internet Explorer from the Windows operating system, and harried by Web developers for whom IE6 was a totally unnecessary evil that just made their jobs harder, they eventually had to capitulate and cover over most of the worst of the IE6 bugs in Internet Explorer 7. Internet Explorer 8 promises to be standards-compliant Out-of-the-box.

This means that fairly shortly, you will be able to view Web pages in any browser, confident in the knowledge that you will be seeing exactly what everyone else is seeing. You win, because you can choose the browser you like, not just the one that the Operating System manufacturer wants you to have; developers win because they can guarantee how their pages are going to look, and browser makers win because they can be guaranteed a level playing field. The only losers are those who do not want to play fair and who want to own what is, in effect, a public resource: the World Wide Web.

So that says it for the Web, but I'd like you also to think a bit wider. What about your word processing documents and spreadsheets? What about your slide presentations? Is it right that the format of these files should be in the hands of a single vendor, kept secret to make sure that others can't compete?

Isn't the logical outcome of this that your Office Suite vendor actually owns your data? If they won't supply you with their program (because they think you're a Pirate or because you're simply too poor to afford to buy it, or because they can't because they've gone bankrupt), doesn't this mean that you only have access to your data if they let you? What does this say about your privacy? If you can't see their code, how do you know that they aren't reading your documents and sending copies back to S.M.E.R.S.H. headquarters in - erm - Washington?

It follows, for me at least, that proprietary Office Suite formats suppress competition, make innovation outside of the inner circle impossible and make it possible for office suite makers to supply buggy, intrusive and possibly dangerous code without anyone being any the wiser. I'm not saying that this happens, but it could. I would say, though, that innovation has been stifled and that the quality of code in proprietary products is sometimes horrific.

It is for this reason that the Open Document Format (ODF) has been developed and adopted as an international standard by the International Standard Organisation (ISO)

Microsoft, unsurprisingly, have been fighting the adoption of ODF tooth and nail. They have tried to push through their own, competing standard (OOXML), despite there being an existing standard (ODF) and despite the fact that OOXML is not a complete standard (language warning). There have also been allegations of committees being stuffed with Microsoft representatives, of coercion if not bribery and of a lack of diligence in following voting procedures.

Be that as it may, Microsoft do seem to be on the point of capitulating on this one. There is an ODF converter for Microsoft Office (produced by Sun Microsystems) and Microsoft have promised full ODF support in the next version of Office.

I haven't often used this blog for propoganda, but I would urge you to get the ODF converter for Microsoft Office and to use it when exchanging documents. When native support for ODF arrives you can use it with even less hassle. Alternatively, you could use openOffice.org, which already contains full native support for ISO ODF. You can download and install it for free. It's free and open source.

It is, after all, your data. The best way you can protect it is to support the standard.

Declare your independence!


 
 

Beyond lies the Web

by cc0028 @ 2008-06-25 - 09:20:28

It's about time I explained my absence from the blogosphere.

As retirement approaches, I find myself increasingly engaged in private projects, in the hope - I suppose - that something will turn up that will keep me busy when I don't have to get out of bed to go to work. So when my niece asked me to look at her Web site, I was only too pleased ...

She's a writer, and it turns out that she has two sites. Her personal site relates to her writing activities: but she also runs a consultancy business, called UrbanWords, that has its own Web site. The former was already up and running, whilst the second was mainly at a planning stage.

When I first looked at it, Sarah's personal site was a complete mess. It had been produced using some Microsoft tools, failed every validity test in the book and simply didn't work in any other browser apart from Internet Explorer. So I agreed to correct it and to develop the consultancy site, using the same look and feel.

This in itself would not explain my prolonged absence. Neither site is particularly big or particularly complex. In fact, they were up and running within a couple of weeks - with every page passing the W3C validator tests at the XHTML 1.0 strict level. The real work arrived afterwards.

During the time the Sarah Butler and the UrbanWords sites were being implemented, Sarah won an Arts Council grant, partly financed with lottery money, to undertake a project that had as one of its deliverables a Web site. So I agreed to do that one as well.

The result is the A Place For Words site.

As you will see if you follow the link, this was a much bigger project and involved working with a graphics designer. The intention is to get this site into a Content Management System as soon as we can, so that Sarah can update the content of the site as time goes by. For this purpose, we chose the open source Joomla! application. So I've now acquired a small library of books about Joomla! and will be trying to move the site over the next few months.

All this has been quite a lot of work. I have had a very nice box of chocolates from Sarah out of it, though. It arrived totally out of the blue just before Sarah left on holiday recently: a hat-box shaped container with some of the most luxurious chocolates I've ever tasted. John Lewis partnership, it says on the label. Highly recommended.

So, what with three Web sites and the EPP module I blogged about yesterday, time has been a little short.

Oh! and I'm still learning French. Next month I go to Caen in Normandy for a one-week residential course. Carole and I will then meet up in Paris and have a few days there before returning to Cardiff in time for the Eisteddfod Genedlaethol (National Eisteddfod), that is taking place in the fields just across the road from where I work, this year.

The plan is to return to France this autumn, perhaps going to the south - Montpelier appeals. But we've no definite plans yet, so who knows. I guess it partly depends on how many Web sites I find myself developing ...

EPP

by cc0028 @ 2008-06-24 - 22:32:37

The 'Extensible Provisioning Protocol'. No, I'd never heard of it either, but it's the subject of the IETF RFC 4930 and a few others as well. Basically it's a protocol used by internet domain registries to receive commands from and send replies to their registrars concerning the domains under their control.

Say I was interested in buying one or more domains that began with 'peredur'. I could express this interest to a domain name registrar who would, on my behalf send a 'check' command to one or more registries to see what domains beginning with 'peredur' were available. To do that, they would send a <check> query to various registries and come back with a list of what was available, if anything. Let's say that peredur.com and peredur.org.eu were available and that I wanted to buy them.

The next step would be for me to enter into an agreement with the registrar to buy those domains and then the registrar would send the appropriate EPP <create> commands to the appropriate registries.

Now, my son happens to be a domain name registrar, amongst his other talents, and he wanted to make an EPP client (the bit that talks to the registry, by issuing the commands) available to potential domain holders, and since his site is powered by the DotNetNuke content management system, he hunted around to see what was available in C# to do this job. It turns out that there's very little, if anything, available; so he employed an outside developer to produce something for him.

Unfortunately, they soon hit problems, so he turned to me to see what I could do.

I haven't programmed at this low level for years, and never in C#; but as a matter of fact it turns out not to be all that hard, once you've got your mind around the RFC. So we currently have a class library and a console-based user interface that can connect to an EPP server, parse the returned <greeting> message, login, send a <check> command and receive the response from the server and, ultimately, log out. It's not very pretty as yet, but it does work.

The next step is to pretty it up a bit and use it as a demonstration prototype to see if anyone else is interested in it - and to use it for Matthew's purposes as well, wrapped up in a DotNetNuke module.

Looking around the Web, we see lots of interest in a piece of software like this, and we're surprised how little there is available. Maybe we'll have something sellable here. Who knows?

Footer

The content of this website belongs to a private person, blog.co.uk is not responsible for the content of this website.