The French do things differently ... in technology as in many things.
In the 1950s they had an 819-line TV system that was, even by (some) current standards, high definition. Their colour television was so different to those used almost everywhere else that it was nicknamed 'System Essentially Contrary to the American Method'. And they made a roaring success of a telephone-based text system ... called Minitel.
This weekend Minitel will finally be turned off. It was the place the French went to check the weather and news; book tickets and shop; and find porn. It was, as the BBC story puts it, the France-Wide Web: 26 thousand services used by 26 million people from the early 1980s until this Saturday. To those people in the UK (mostly travel agents) who remember Prestel ... BT's equivalent service ... this will seem amazing. But the key factor was probably that every telephone subscriber in France was given a terminal, even though that did apparently strain the telco's finances.
The news about Minitel prompted me to consider the lifetime of systems, and especially how computing and the internet are constantly evolving; even at a structural level with the change to IP addressing that has just started. Do you have any routers, or computers, that may need modifying to work with IP version 6? Will your machines work with new versions of the OS ... especially if you have an older Mac Pro that won't work with the new version of OS X. In my case, with a small amount of equipment used for work, it's easy to keep track of such things. For a large company it must be a nightmare, and means that you need a reliable system to track the state of all your hardware.
At least when my elderly audio amplifiers went 'bang' the other day I know I can still get them fixed and get them working again ... computers don't work that way, sadly.
Friday, 29 June 2012
Thursday, 21 June 2012
Usability – at what cost?
This aspect of interactivity has been one that has changed radically from the early days of IT usability. We used to have to have dedicated usability labs, large numbers of testers, cameras, lights and sound, bells and whistles, belts and braces and so on.
Even Jacob Neilsen, acknowledged veteran guru of the field, has had a very different take on the numbers needed for interactive usability application testing. His latest posting on this makes compelling reading as he advocates five people for the great majority of tests except for certain applications and depending on reasons for testing. The time,effort and numbers involved, let alone dedicated resources like usability labs, mean cost of course, so it is good news that Neilsen’s maximum cost-benefit ratio lines up pretty well with just five test subjects.
Underlying this movement from large expensive tests to small focused ones is a shift away from the onus being put on quantitative research in favour of qualitative research. Yes, I hear your groans! This quantitative versus qualitative debate has dogged art versus science since the academic year dot. However, Neilsen puts a refreshingly simple spin on it.
He goes on to cover some weak reasons why developers are pushed into larger studies and agrees that he himself probably uses more like eight people but gives his reasons. He mentions card sorting. We haven't looked at this specific technique before so what is it?
Card sorting? It is a knowledge elicitation technique for assessing navigation category preferences in interactive applications. This is important when you find that your users are not fulfilling their needs in visiting your site – especially when they can't find the item they wanted to buy, for example. You see the issues. It involves giving testers category headings and asking them to sort them into hierarchies so that navigation preferences can be mapped from use. Remember, insights to drive design. See User Focus for short, uncomplicated answers to your card sorting queries; and Knowhow (non profit), How to use card-sorting to structure your web site, 19th June 2012.
Books have been written about this technique so don't be fooled by the over-simplistic approach to it. If you want more detailed info try Donna Spencer, Card Sorting : Designing Usable Categories, pub. Rosenfeld Media, 2009.
Even Jacob Neilsen, acknowledged veteran guru of the field, has had a very different take on the numbers needed for interactive usability application testing. His latest posting on this makes compelling reading as he advocates five people for the great majority of tests except for certain applications and depending on reasons for testing. The time,effort and numbers involved, let alone dedicated resources like usability labs, mean cost of course, so it is good news that Neilsen’s maximum cost-benefit ratio lines up pretty well with just five test subjects.
Underlying this movement from large expensive tests to small focused ones is a shift away from the onus being put on quantitative research in favour of qualitative research. Yes, I hear your groans! This quantitative versus qualitative debate has dogged art versus science since the academic year dot. However, Neilsen puts a refreshingly simple spin on it.
“... the vast majority of your research should be qualitative – that is aimed at collecting insights to drive design, not numbers to impress people in PowerPoint.”Jacob Neilsen, June 4th
He goes on to cover some weak reasons why developers are pushed into larger studies and agrees that he himself probably uses more like eight people but gives his reasons. He mentions card sorting. We haven't looked at this specific technique before so what is it?
Card sorting? It is a knowledge elicitation technique for assessing navigation category preferences in interactive applications. This is important when you find that your users are not fulfilling their needs in visiting your site – especially when they can't find the item they wanted to buy, for example. You see the issues. It involves giving testers category headings and asking them to sort them into hierarchies so that navigation preferences can be mapped from use. Remember, insights to drive design. See User Focus for short, uncomplicated answers to your card sorting queries; and Knowhow (non profit), How to use card-sorting to structure your web site, 19th June 2012.
Books have been written about this technique so don't be fooled by the over-simplistic approach to it. If you want more detailed info try Donna Spencer, Card Sorting : Designing Usable Categories, pub. Rosenfeld Media, 2009.
Friday, 15 June 2012
Can ... can't ... shouldn't
There have been a few newsy stories that caught my eye today.
There's the schoolgirl whose popular blog about her school dinners has been stopped by the local council. The BBC's Rory C-J reckons it's just a publicity stunt and the council explain that they have now stopped photographs being taken in the school canteen. [Later: they've changed their collective mind now!]
What I find interesting about this story, apart from the delightful blog itself, is that it looks as if 'the management' (fans of Hale and Pace should do the accent here of course) only got worried when the mainstream media picked up on the story.
The Register reports on a statement by Sarah Lamb of the group Girl Geek Dinners saying that sexism in TV shows such as The IT Crowd is preventing women from thinking about a career in IT. Reg reporter Anna Leach refers to Ms Lamb as a Girl Geek Dinner lady (you can see why this comes second in the list can't you?) but funny as that is I applaud any attempt to get girls interested in any kind of science or technology. (I once had a bit of a row during a BBC appointment board with the Editor of Blue Peter about this.)
Mind you: turning it off and on again does fix most problems with digital technology. Buffers get clogged, memory overflows, civilisations rise and fall. You know the sort of thing. And you did watch The IT Crowd didn't you?
Which brings us untidily to the subject of browsers. Once upon a time you had to buy them ... my first even came in a box! For the first edition of our book we needed to put a browser on the accompanying CD-ROM (which was built like a web site) and only Microsoft were willing to waive any licence fee. So I do have a bit of a soft spot for Internet Explorer ... up to it's final majestic Mac implementation of IE 5.5.
Since then we all know that it's been a bit of a pain, especially when it ruled the browsing roost. It was famously quirky (including a quirks mode) and had an unsympathetic approach to standards in the any colour as long as it's black style pioneered by Henry Ford.
I've tended to do web builds that worked about the same across the main browsers, but then I don't do nothin' fancy. The acres of conditional CSS that's needed to cope with browsers these days seems crazy. I could almost believe it's a kind of reverse taxation, where the cost burden is shifted from the browser writers to the web designers.
'Enough!' I hear you cry. Or at least I hear the cry from Australia. The online retailer Kogan.com has now implemented an IE7 tax of 0.1% for every month since IE7 was launched (now standing at 6.8%). Since they sell things like televisions this could be no small thing. Their web site even calls it an Internet Explorer Tax and points out that "you or your system administrator has been in a coma for over 5 years". The tax, says the site, is to recoup some of the cost of coping with IE7's quirks: apparently this was as much time as Chrome, Safari and Firefox combined but for only 3% of the customers.
Do you think you could sell that one to your clients?
There's the schoolgirl whose popular blog about her school dinners has been stopped by the local council. The BBC's Rory C-J reckons it's just a publicity stunt and the council explain that they have now stopped photographs being taken in the school canteen. [Later: they've changed their collective mind now!]
What I find interesting about this story, apart from the delightful blog itself, is that it looks as if 'the management' (fans of Hale and Pace should do the accent here of course) only got worried when the mainstream media picked up on the story.
The Register reports on a statement by Sarah Lamb of the group Girl Geek Dinners saying that sexism in TV shows such as The IT Crowd is preventing women from thinking about a career in IT. Reg reporter Anna Leach refers to Ms Lamb as a Girl Geek Dinner lady (you can see why this comes second in the list can't you?) but funny as that is I applaud any attempt to get girls interested in any kind of science or technology. (I once had a bit of a row during a BBC appointment board with the Editor of Blue Peter about this.)
Mind you: turning it off and on again does fix most problems with digital technology. Buffers get clogged, memory overflows, civilisations rise and fall. You know the sort of thing. And you did watch The IT Crowd didn't you?
Which brings us untidily to the subject of browsers. Once upon a time you had to buy them ... my first even came in a box! For the first edition of our book we needed to put a browser on the accompanying CD-ROM (which was built like a web site) and only Microsoft were willing to waive any licence fee. So I do have a bit of a soft spot for Internet Explorer ... up to it's final majestic Mac implementation of IE 5.5.
Since then we all know that it's been a bit of a pain, especially when it ruled the browsing roost. It was famously quirky (including a quirks mode) and had an unsympathetic approach to standards in the any colour as long as it's black style pioneered by Henry Ford.
I've tended to do web builds that worked about the same across the main browsers, but then I don't do nothin' fancy. The acres of conditional CSS that's needed to cope with browsers these days seems crazy. I could almost believe it's a kind of reverse taxation, where the cost burden is shifted from the browser writers to the web designers.
'Enough!' I hear you cry. Or at least I hear the cry from Australia. The online retailer Kogan.com has now implemented an IE7 tax of 0.1% for every month since IE7 was launched (now standing at 6.8%). Since they sell things like televisions this could be no small thing. Their web site even calls it an Internet Explorer Tax and points out that "you or your system administrator has been in a coma for over 5 years". The tax, says the site, is to recoup some of the cost of coping with IE7's quirks: apparently this was as much time as Chrome, Safari and Firefox combined but for only 3% of the customers.
Do you think you could sell that one to your clients?
Labels:
blogging,
blogs,
obsolescence,
women in IT
Thursday, 31 May 2012
Digital Project Managers: who wants what? (Part B)
A continuation of last week's look at what's wanted from a Digital Project Manager's Role.
Here's an amalgamation of several wish lists from job descriptions for a Senior post. The promising thing is that there is no question of what a Project Manager is now, whereas there used to be - and the role wasn't described in this way or by job title. Now there's career progression from Junior, Digital Project Manager to Senior Project Manager. Overall we're positive about this trend. But the recruiters seem to ask for the earth in some cases!
Senior Digital Project Manager
Experience: 5 years minimum of web and social media sites. Prince 2 or equivalent, and/or Agile certification
Salary: £30-60k (non London, but UK based) up to £80k London
Role: managing projects from initiation to launch, managing cross-functional teams, clients, and non-technical personnel, get projects out on time, to brief and to budget. Manage new and potential clients, advising on usability/user planning, accessibility, making business cases, online marketing and branding, delivering successful and profitable projects across technologies, extracting and clarifying requirements from clients, assess risks, manage stakeholders.
Knowledge needed: User-focused website design, user experience and user psychology, Digital project planning, Project management tools and techniques, Team/studio management, Relationship building and account management, Managing suppliers, Open-source frameworks, Technical limitations and constraints, Search engine marketing, Social media marketing
Competence in: Taking briefs and listening to what the client is looking to achieve, Writing proposals with recommendations, have an eye for detail but also be creative, producing an outline of the site/app's proposed functionality with costs, Information architecture planning and mapping, Producing wireframes, Facilitating and contributing to discussion around a project's creative treatment, Writing project specifications, Producing realistic project timelines and then managing the project in accordance with that timescale, Setting and controlling project budgets, Managing change requests effectively, presenting outcomes of campaigns with recommendations, quality assurance, managing conflict, have strong presentation and negotiating skills.
Technical abilities: (Some jobs state several front-end and back end skill sets, internet security, and content management systems among others.)
Here's an amalgamation of several wish lists from job descriptions for a Senior post. The promising thing is that there is no question of what a Project Manager is now, whereas there used to be - and the role wasn't described in this way or by job title. Now there's career progression from Junior, Digital Project Manager to Senior Project Manager. Overall we're positive about this trend. But the recruiters seem to ask for the earth in some cases!
Senior Digital Project Manager
Experience: 5 years minimum of web and social media sites. Prince 2 or equivalent, and/or Agile certification
Salary: £30-60k (non London, but UK based) up to £80k London
Role: managing projects from initiation to launch, managing cross-functional teams, clients, and non-technical personnel, get projects out on time, to brief and to budget. Manage new and potential clients, advising on usability/user planning, accessibility, making business cases, online marketing and branding, delivering successful and profitable projects across technologies, extracting and clarifying requirements from clients, assess risks, manage stakeholders.
Knowledge needed: User-focused website design, user experience and user psychology, Digital project planning, Project management tools and techniques, Team/studio management, Relationship building and account management, Managing suppliers, Open-source frameworks, Technical limitations and constraints, Search engine marketing, Social media marketing
Competence in: Taking briefs and listening to what the client is looking to achieve, Writing proposals with recommendations, have an eye for detail but also be creative, producing an outline of the site/app's proposed functionality with costs, Information architecture planning and mapping, Producing wireframes, Facilitating and contributing to discussion around a project's creative treatment, Writing project specifications, Producing realistic project timelines and then managing the project in accordance with that timescale, Setting and controlling project budgets, Managing change requests effectively, presenting outcomes of campaigns with recommendations, quality assurance, managing conflict, have strong presentation and negotiating skills.
Technical abilities: (Some jobs state several front-end and back end skill sets, internet security, and content management systems among others.)
Friday, 25 May 2012
Digital Project Managers: who wants what? (Part A)
Despite the economic vagaries, the job market for Digital Project Managers appears strong. So what skill-sets are companies looking for? Do you measure up? Below we’ve amalgamated what's been asked for under a Digital Project Manager role and next week we look at the Senior role. Quite an eye-opener!
The most whacky but apposite description about a skill was "to be able to talk the technical" or "talk coding and creative". We interpret those as managing cross-functionally. Then we found "produce a clear paper-trail across the project development", we interpret that as use project management tools. And to "get" creative processes (dude?), we interpret as to understand the mind-set of your creatives – the diversity of the cross-functional team? What about the "can-do" approach which also asks for strong control of clients? What about "some kind of coding background" but to manage creatives?
Recruiters expect understanding and experience across all the digital platforms and media types (site builds, micro sites, social media, game builds, ecommerce, web tv, imedia, apps, campaigns, etc.). The job types were sometimes specific to industry sector (publishing, finance, luxury products, retail, medical, fashion, telecoms, broadcasting, etc.), but the expectations of the role were pretty similar.
This is only scratching the surface of the variety and type of role available. The good news is that the wider needs of Project Management for digital are being identified better now than a few years ago. There is more emphasis on managing the stakeholders/clients, as well as the developers; there is recognition of making a business case that suits the clients' business needs; there is more recognition of how complex it is to manage cross-functional teams. Digital sector specific experience becomes crucial. The mix of platforms is growing and the knowledge associated with their development through experience is key. Happy job hunting.
Next week we’ll be looking at the Senior Digital Project Manager’s Role.
Digital Project Manager
Experience: 2-5 years
Salary: £25-35k (non London, but UK based) up to £80k London
Role: managing projects and programmes from concept to delivery, confidently managing internal development teams to deliver briefs, managing internal and external clients/stakeholders, planning digital campaigns, managing various delivery platform development, producing time, cost and scope documentation, managing and allocating resources, manage schedule, budgets, assets, monitor and anticipate risks like scope creep with timely solutions to mitigate them, link objectives of the client to present and future needs, exceed expectations for delivery and performance,
Knowledge needed: understanding of the technical landscape, strategic marketing ideas translated into digital solutions, enthusiasm for technologies and digital communication, brief designers, developers, Art Directors, Information Architects,
Competence in: experience of using appropriate project management tools including Prince 2, Agile, Scrum Master, Basecamp, Merlin, Sifter, MS Project etc., SEO techniques and metrics, content production/copywriting for web, high-volume, quick-turnaround projects, working alongside Account Teams, managing up to 20 projects a day, excellent project management skills, excellent administrative skills, managing change control in projects, meeting budgets.
The most whacky but apposite description about a skill was "to be able to talk the technical" or "talk coding and creative". We interpret those as managing cross-functionally. Then we found "produce a clear paper-trail across the project development", we interpret that as use project management tools. And to "get" creative processes (dude?), we interpret as to understand the mind-set of your creatives – the diversity of the cross-functional team? What about the "can-do" approach which also asks for strong control of clients? What about "some kind of coding background" but to manage creatives?
Recruiters expect understanding and experience across all the digital platforms and media types (site builds, micro sites, social media, game builds, ecommerce, web tv, imedia, apps, campaigns, etc.). The job types were sometimes specific to industry sector (publishing, finance, luxury products, retail, medical, fashion, telecoms, broadcasting, etc.), but the expectations of the role were pretty similar.
This is only scratching the surface of the variety and type of role available. The good news is that the wider needs of Project Management for digital are being identified better now than a few years ago. There is more emphasis on managing the stakeholders/clients, as well as the developers; there is recognition of making a business case that suits the clients' business needs; there is more recognition of how complex it is to manage cross-functional teams. Digital sector specific experience becomes crucial. The mix of platforms is growing and the knowledge associated with their development through experience is key. Happy job hunting.
Next week we’ll be looking at the Senior Digital Project Manager’s Role.
Digital Project Manager
Experience: 2-5 years
Salary: £25-35k (non London, but UK based) up to £80k London
Role: managing projects and programmes from concept to delivery, confidently managing internal development teams to deliver briefs, managing internal and external clients/stakeholders, planning digital campaigns, managing various delivery platform development, producing time, cost and scope documentation, managing and allocating resources, manage schedule, budgets, assets, monitor and anticipate risks like scope creep with timely solutions to mitigate them, link objectives of the client to present and future needs, exceed expectations for delivery and performance,
Knowledge needed: understanding of the technical landscape, strategic marketing ideas translated into digital solutions, enthusiasm for technologies and digital communication, brief designers, developers, Art Directors, Information Architects,
Competence in: experience of using appropriate project management tools including Prince 2, Agile, Scrum Master, Basecamp, Merlin, Sifter, MS Project etc., SEO techniques and metrics, content production/copywriting for web, high-volume, quick-turnaround projects, working alongside Account Teams, managing up to 20 projects a day, excellent project management skills, excellent administrative skills, managing change control in projects, meeting budgets.
Sunday, 13 May 2012
Those elusive perfect project management tools
Yes, where are they?
The range and number of project management (PM) tools has increased significantly and some work across mobile too. But there still seems to be the basic problem of the tool not exactly suiting how you work. People complain that they have to tailor the way they work to suit the tool. For example, Microsoft Project came out of the large, very long, and detailed software development projects prior to the Internet. It has myriad features; so many that it is hard to get started because you have to understand its logic and relate it to what you are doing.
Then the communication flow tools, like Basecamp, proved popular because they allowed people to stay in contact and pass information around efficiently whilst keeping a record of the communication. Some say it grew out of the Lotus 123 type of corporate communication tracking but was web based and therefore more versatile.
Now we have tools that concentrate on the costing and automated billing processes. These are time trackers that allocate a rate according to the person or role, and as you enter the time they have spent on a task, the program calculates exactly how much the effort has cost. These are popular with ad agencies because they tend to suit the way they have worked with clients in the past for traditional media, and now interactive media is added into the equation, they want it to operate in the same way.
Project management tools have an inherent logic in the way they are structured. They mirror a human approach, a philosophy, despite trying to offer a systematic process to make projects flow efficiently for all involved, and to fairly cost the work done as the project unfolds. In the end, the biggest clash is still between the visual creatives (web designers, graphics) and the way they work, and the programmers who are creative but within their own systematic logic inherent in the symbolic, abstract computer languages they have to work with. The wordsmiths (content creators, marketers) also embody their own approaches in the words used.
We get back to that thorny problem of coordinating across cross-functional teams to produce any interactive application on any platform. The mix of people reflects the mix of philosophies that drive their expertise and so that's why one PM tool never seems to fit all. Does that leave us any closer to a solution? Well, people can adapt. They can appreciate or learn to appreciate how a system can help them despite causing them some teething problems. Tools are getting more versatile. People are getting more used to having to use some form of PM tool.
After trawling the web trying to find people in our industry raving about "the perfect pm tool", I only found the one: but that's refreshing. See Phil Matthews and Trello, my Perfect Project Management App.
Anyone else have a PM tool to rave about?
The range and number of project management (PM) tools has increased significantly and some work across mobile too. But there still seems to be the basic problem of the tool not exactly suiting how you work. People complain that they have to tailor the way they work to suit the tool. For example, Microsoft Project came out of the large, very long, and detailed software development projects prior to the Internet. It has myriad features; so many that it is hard to get started because you have to understand its logic and relate it to what you are doing.
Then the communication flow tools, like Basecamp, proved popular because they allowed people to stay in contact and pass information around efficiently whilst keeping a record of the communication. Some say it grew out of the Lotus 123 type of corporate communication tracking but was web based and therefore more versatile.
Now we have tools that concentrate on the costing and automated billing processes. These are time trackers that allocate a rate according to the person or role, and as you enter the time they have spent on a task, the program calculates exactly how much the effort has cost. These are popular with ad agencies because they tend to suit the way they have worked with clients in the past for traditional media, and now interactive media is added into the equation, they want it to operate in the same way.
Project management tools have an inherent logic in the way they are structured. They mirror a human approach, a philosophy, despite trying to offer a systematic process to make projects flow efficiently for all involved, and to fairly cost the work done as the project unfolds. In the end, the biggest clash is still between the visual creatives (web designers, graphics) and the way they work, and the programmers who are creative but within their own systematic logic inherent in the symbolic, abstract computer languages they have to work with. The wordsmiths (content creators, marketers) also embody their own approaches in the words used.
We get back to that thorny problem of coordinating across cross-functional teams to produce any interactive application on any platform. The mix of people reflects the mix of philosophies that drive their expertise and so that's why one PM tool never seems to fit all. Does that leave us any closer to a solution? Well, people can adapt. They can appreciate or learn to appreciate how a system can help them despite causing them some teething problems. Tools are getting more versatile. People are getting more used to having to use some form of PM tool.
After trawling the web trying to find people in our industry raving about "the perfect pm tool", I only found the one: but that's refreshing. See Phil Matthews and Trello, my Perfect Project Management App.
Anyone else have a PM tool to rave about?
Friday, 4 May 2012
Databases: relational instances or NoSQL
Rather like that man who would occasionally emerge from a shed on the Fast Show, these days I am mostly working on databases.
So far they have been relational databases, based on a plan devised in 1970 by a man named Edgar Codd who worked for IBM in California. In this model data is split into tables and they are interlinked by using keys (usually numbers). A table is basically a flat file, like a spreadsheet and has a number of records (eg people) with fields (such as their name). If you want to record the companies they work for you could have a field in the people table with the company name but, more likely, you will have another table of companies which contains the information about each company. The relational bit is that there would be a reference number (an ID) for each company and it is this ID that would be included, in a 'companies' field, in the people table in order to link the person to the company. In this way several people can work for the same company. Incidentally, the process of separating out data so that repeated stuff (like the company data) is in another table and is cross-referenced is known as normalisation.
This model starts to fall down, by becoming more complex, if the relationships become multi-connected. Let me give you an example.
You have a database of CDs. A CD has, as what we call its attributes, such things as a title, an artist, a release data and a list of songs. Two things are problematic here: artist names can vary subtly between albums and each album has a different number of songs on it. Because of this you can't have a simple relationship between the record for an artist (in the artist table) and the CD or between a song (in the song table) and the CD. This is because the artist has more than one name and a song may be on more than one CD.
To deal with this you can use instances of the links between the tables and all these instances go into a separate table. For the artist there is one instance for one name by which the act is known (eg Prince) and one for another (the Artist Formerly Known as Prince) and the album links to whichever instance is appropriate (and gets the artist's name from it) and the instance then links to the main artist information. Similarly with songs, although usually ... but not always ... the song's name remains the same for each instance.
Doing this adds versatility to the database but it increases the number of tables and can also reduce performance.
Such complexity is one of the reasons that the 21st Century approach to databases is widening beyond the relational model (scalability is an even more crucial one) and although many of the big players on the web, such as Facebook and Twitter, use such a database there are others. Google's Big Table being perhaps the best known. These collectively seem to be known as NoSQL (because they don't use the SQL query language), although if you read the discussion page associated with the previous Wikipedia link, it does seem to be a controversial topic. I should add that Wikipedia's Talk pages are always worth checking.
I don't think relational databases are quite dead yet, and not all of us have Google's voracious appetite for data ... but it's clearly something to keep an eye on. What do you think?
So far they have been relational databases, based on a plan devised in 1970 by a man named Edgar Codd who worked for IBM in California. In this model data is split into tables and they are interlinked by using keys (usually numbers). A table is basically a flat file, like a spreadsheet and has a number of records (eg people) with fields (such as their name). If you want to record the companies they work for you could have a field in the people table with the company name but, more likely, you will have another table of companies which contains the information about each company. The relational bit is that there would be a reference number (an ID) for each company and it is this ID that would be included, in a 'companies' field, in the people table in order to link the person to the company. In this way several people can work for the same company. Incidentally, the process of separating out data so that repeated stuff (like the company data) is in another table and is cross-referenced is known as normalisation.
This model starts to fall down, by becoming more complex, if the relationships become multi-connected. Let me give you an example.
You have a database of CDs. A CD has, as what we call its attributes, such things as a title, an artist, a release data and a list of songs. Two things are problematic here: artist names can vary subtly between albums and each album has a different number of songs on it. Because of this you can't have a simple relationship between the record for an artist (in the artist table) and the CD or between a song (in the song table) and the CD. This is because the artist has more than one name and a song may be on more than one CD.
To deal with this you can use instances of the links between the tables and all these instances go into a separate table. For the artist there is one instance for one name by which the act is known (eg Prince) and one for another (the Artist Formerly Known as Prince) and the album links to whichever instance is appropriate (and gets the artist's name from it) and the instance then links to the main artist information. Similarly with songs, although usually ... but not always ... the song's name remains the same for each instance.
Doing this adds versatility to the database but it increases the number of tables and can also reduce performance.
Such complexity is one of the reasons that the 21st Century approach to databases is widening beyond the relational model (scalability is an even more crucial one) and although many of the big players on the web, such as Facebook and Twitter, use such a database there are others. Google's Big Table being perhaps the best known. These collectively seem to be known as NoSQL (because they don't use the SQL query language), although if you read the discussion page associated with the previous Wikipedia link, it does seem to be a controversial topic. I should add that Wikipedia's Talk pages are always worth checking.
I don't think relational databases are quite dead yet, and not all of us have Google's voracious appetite for data ... but it's clearly something to keep an eye on. What do you think?
Labels:
data
Subscribe to:
Posts (Atom)