Tuesday 30 September 2008

What's in a name?

The hardest part of setting up a web server can be selecting a domain name (yes it can be even worse than reading about LAMP servers!). The problem arises because names need to work for your website and product, they need to be catchy to remember and they need to be unique. It's the latter that presents the biggest problem with over 180M websites how do you make yours stand out? The other component of this problem is that every word in most of the dictionaries in the world have already been registered by someone else, most of the surnames in the world are registered and lots of short made-up 4-6 character words have been registered. Now can you get someone to type www.theworldsbestchocolatechipcookies.com (yes, it's available), but it would take some work to make the name a success. If you're a UK business then the .co.uk address space is slightly less cluttered, but it can still be difficult. I got fed up with our governments obsession with giving everybody access to our web mail and browser history in the name of national security so in a moment of anger I set up a domain leuteria.com (by Wednesday evening it might have a home page). Leuteria is the English spelling of a Greek word meaning freedom; but I spent an evening going through all the English and Latin words in the thesaurus relating to liberty to find them all taken. The challenge is that we live in a world of brands and so if you want to put a business on the web you need to choose a name and build a brand around it -extreme creativity may be called for.

WebServer Howto -choosing a server

At the end of the day a web server is just a piece of software that listens (on port 80) for requests from the internet and returns data streams to the requesting device (typically a browser). However, like most things there is more to it. The web server has to be able to handle multiple requests simultaneously without getting confused, may have to check that a request is valid and may have to run a program written in Perl, PHP or Python to create the data to be sent to the user. There are lots of web server applications in existence but the market is dominated by two major applications, Apache and IIS (Microsoft’s Internet Information Service). Apache became the dominant web server in early 1996, IIS achieved number 2 position in December 1997. Today Apache has about 50% market share and Microsoft about 35%. Web servers are usually hosted on Linux or Windows servers. Linux is popular because it is free, robust and open source which makes for a large support community. For server scripting (producing dynamic content via programs resident on the web server) there are a number of options. For many years Perl was the dominant programming system but PHP is now more popular. Python is a recent addition and is increasingly popular. For websites that use a database to store data there are a wider range of options. In the open source space there are 2 major database products MySQL and PostgreSQL with MySQL now dominant. Proprietary databases include Oracle, Microsoft’s SQL Server and IBM’s DB2. Some of these products are available in free versions with limited power or functionality. Thus we need to put together a complete system and run it on an operating system which leads us to a discussion of leading web server architectures. A term commonly used for web servers today is LAMP, which stands for Linux-Apache-MySQL-PHP (or Perl or Python). Some people run Apache-MySQL-PHP on windows, which gives the acronym WAMP and for those that use IIS you end up with WIMP. Microsoft offer a complete solution based on active server pages and SQL Server which doesn’t have a silly acronym. Most low cost web hosting companies offer LAMP servers as the software is free, reliable and well understood. Many offer a full Microsoft solution with IIS and SQL Server, WIMP and WAMP servers tend to be built by it departments who base everything on Microsoft Server but want to take advantage of the low cost of implementation and power of PHP and MySQL. It is possible to build a LAMP server on a PC by getting one of the popular Linux distributions and installing the appropriate packages. Ubuntu offer a server OS called JeOS (Just enough Operating System) that can be used to build a simple LAMP server with no extraneous software. It is also possible to install Apache-MySQL-PHP on any PC running windows. The easiest way is to get XAMPP from Apache Friends; this allows you to instal and run a fully functional web server with almost every feature you could want. However it is intended for development and personal use and has almost all security turned off so don’t connect it to the web. Warning once you put a web server on the internet it will be attacked on average every 15 minutes by a web-bot, Trojan or script-kiddie. They know most of the obvious flaws and security holes so if you don’t set it up right –someone will get you. Wikipedia links: PHP Python Perl Apache Linux MySQL PostgreSQL Note: Although Wikipedia accuracy is of concern, on technical topics the level of contribution is very high. For real Tek-Heads It is possible to download and run a LAMP server on a PC using virtualisation. Get VMware Player and VA LAMP and you can have an industrial strength LAMP server running on your PC in about 45minutes (subject to download speed!)

Checking HTML formatting within post

This is just some text to try and see how the blog handles embedded tags.

Heading Level 1

Heading Level 2

Heading Level 3

Normal text with bold italic strong and emphasised text in line. Examination of the code shows that each title line is a div and has not just a heading tag but also a class so CSS is used to provide finer grain control of rendering.

Getting Started

Through this course it looks like I'll be doing 3 websites for reasons that will become apparent. Obviously a website on good web design is a website, but I need a couple of real tasks to "do in anger" to understand what I do and don't know how to do. Health and Safety in the Archdiocese of Southwark As part of my job I need to develop a website for Health and Safety management for my employers. This site will have a mixture of static and dynamic content. Some of the pages are information and links but some will present specific lists of information relevant to each of the 184 parishes and 563 buildings the site is designed to support. As the first stage of design I've produced a list of probable pages that will need to exist. First pass is 15 static and up to 10 dynamic pages. I've presented my initial list as a table below:-
Information Pages Record Pages
Static Dynamic
Overview of H&S H&S Audit results
Contacts (Diocesan) Action Items
Working at Height Parish Details
Control of Substances Hazardous to Health Location Maps
Portable Appliance Testing Building Plans
Building Electrical Inspection and Standards PAT Register
Trip Hazards NICIEC test reports
Disabled Access Fire Plan
Fire Fire Extinguisher Maintenance Records
Management and use of Fire Extinguishers Fire Alarm Test and Inspection
Lightening Conductors Asbestos Register
Asbestos
Organising Events -what to consider
Use of Church Premises by third parties
Links Page (government and safety agencies)
Christian Education Centre Website The building I work in has a website which is pretty dire. It's built using a web building toolkit and has obvious flaws. The site is at http://www.cectootingbec.btik.com/ The front page is an interesting example of flawed design. If you open the site full screen and then drag the right margin of your browser in and out you will see that there is a centred object as the header and a right justified object as the footer with the main site content anchored to the left -so it moves all over the place. It's supposed to be an accesible site but there is no alt text for the image and the email contact detail has been made an image (to prevent spam from web crawler software) so you can't copy it to your email program -this image also has no alt text so a sight impaired user cannot access the email address! The good news is that it uses CSS for layout -so it passes Nick's "no tables for layout" rule. The good news (from my point of view) is that the site is fairly static and only has 10 pages, all linked from the front page -so it's uncomplicated. Final Comments As we're interested in web design it's worth analysing the code for this blog. If you hit the bold button in the editor it produces the following code <span style="font-weight: bold;">text to bold</span>. Let's discuss that in the class. Also the table was created by cut and paste from excel -none of the fancy table detail is my own work!

Saturday 27 September 2008

First Full Day on Course

Really enjoyed the Saturday session. I liked the session on website planning. I'm a bit Neanderthal on project management as I come from a background that tends to say "you know what you have to do, get on with it". I was told on a management course in the early 1980's that Management Consultancy was born in the late 40's when somebody suggested to the president of General Motors that it might be a good idea to write down a list of things to do and then give them priorities. I'm starting a website on "Good Web Design" at pmwebdiploma.wetpaint.com. I've chosen to use a wiki at this point as they're ideal for shared editing and updating as things progress (a blog is linear in nature, so less useful).By the end of the project, it might end up as a dedicated section on my own web -but one has to start somewhere. Wikis also allow you to have To Do lists, priorities &c. so they make a good management tool. For anyone reading this who is not familiar with wikis they are multi-contributor websites where allowed users can edit and update web content in a shared manner. They are great for sharing know-how and accumulating information. The most famous wiki is wikipedia. The drawback of wikis is that you don't always know who is the expert so they can actually contain incorrect information. There is much debate on the internet as to how reliable wikipedia is and indeed if there is a way of ensuring its accuracy without breaking the fundemental nature of what a wiki is. The good news for Nick is that wikipedia isn't owned by Google. If anyone wants to contribute to my web diploma wiki, create an account and request edit permissions.

Wednesday 24 September 2008

Let's start at the very beginning

This is the start of the course and we've been told to start collecting info and assesing web technolgies... Lets' see how we go :)