Panelist: So CMS's are kind of near and dear to my heart mostly because I’m a techie although I’m going to try not to talk about anything too techie today. And sometime a techie, it means that I invariably built my own way back in the day and it had all kinds of problems and now we’re on the other people’s stuff. So, what we’ll discuss today is a framework. It’s not a meat grinder, a style methodology. That is, you’re not going to put a bunch of crap on the top and grind it and then out comes an answer. It’s more way of how to think the problem in hand. I see a lot of vendor friends here. I’m hoping that they’ll stand up and cheer and say, "You know, this is exactly what we’d like our customers to do because when they do that, they’ll come to a conclusion that our product is how you should proceed." Really, it’s intended to help you keep track of the questions that you’ve asked and making sure you’re asking all the people that should be asked and that you haven’t missed anything. |
|
02:06 |
So we’re going to talk about three models of how to look at a content management system. We’ll get to this in a little bit. And four lenses. In other words, four different types of folks that are going to be using or interacting with, or somehow involved, more or less in this process; and talk about some little bit of vocabulary. Here are some things that I’m not going to discuss. I’m not going to pass judgment on products except maybe ones I've written. Some will probably get named. I’m not going to talk about any Science, Computer Science or otherwise. This is the APS track knot – the technical track after all. I’m also not going to talk about how to do a very detailed technical analysis of these products because A) that would be outside the scope of this form; and B) it tends to be widely varied. So for today, what is a CMS in the context of this conversation? It’s a piece of software or collection of pieces of software that work in concert to be employed for the purpose of executing a communication strategy on the Web by producing one or more websites or related artifacts. That’s a big mouthful, but essentially it means, for some people this can be a product that they go to use other websites. For some people, it could be a product that goes to house their news collection or keep track of their events or whatever. The term is fairly broad. What assumptions for this today? Basic understanding of these terms. You don’t actually need to know any details about them. You just need to know that CSS is a language that used to describe design on the Web and that HTML is to define structure. Really, that’s actually about it. You don’t really need to know much, I hope. And you should feel free to stop me because I am a technical person which means I can get my mouth running on technical topics and go on and on and on. So please feel free to raise your hand and say, "No, no, no. That’s way too deep," if you think it’s out of scope for this. |
04:34 |
Second, please feel free to ask questions. What we’re going to do is we’re going to go through this framework description and then we’re going to have a discussion about it. So I’d say about 20 minutes or so. We’ll be into a point where we can start looking at different features or properties of systems and talk about how to describe them in terms of this framework. So it’s going to be interactive. Come up, use the microphone, because these are being recorded or not and I’ll repeat your question. So, these products which I’m sure most of you know by now, but maybe not, are not all created equally because, well, they all take content, whatever that means. Text, images, a pull-in from other websites and automated manners, takes something and produces websites. But the way they approach doing that – meaning the storage of that information, the retrieval of it, aggregating it together, how you manipulate using the system – all that, it’s all approached very differently or similarly perhaps between different products. So the software architecture design decisions that got made, either explicitly or implicitly through the creation of that product, affect how you use them as tools to achieve your goals. I will talk a little bit… We’ll give a little bit of structure to that a little bit later. But these effects are both positive and negative from your individual perspective depending on what your needs are. Sure, over the years people had made great things that work for everyone, for one small niche, but they don’t work for everybody else and what they’re doing. |
06:37 |
What is CMSDK mean? It’s kind of a play on something that come up in the software development world. So SDK stands for Software Development Kit and the term just popped into my mind and I said, "Well, it’s a decision kit." So Contact Management System Decision Kit or maybe a discussion kit because it’s really about getting people talking about what their actual needs are and how the product choose these needs. For a lot of people, it might be "don’t care". I’m sure that you all don’t fall into that category today, of course. So, three models. The first model, I’m going to describe is a what I call the Web echo system model and that is you have this product that sits in the center of things on the left like templates or CSS or manual content entry or photography. And it all consumes into this product and then the product outputs things like pages, sites, applications; and then there’s arrow that feeds back into itself because many times you have content that get produced by one part of the CMS that gets consumed by another part. For instance, you might have an events calendar that gets displayed on multiple pages. |
08:01 |
These models that we’re talking about are ways to think about this product. So you can ask questions about it. For instance, if you saw a product that says "We do RSS." You might think about it in terms of this echo system of pulling feature or pulling items from separate pages and then producing an RSS feed. The second model is, or I call the software stack model. I’m sure you’ve all seen these pictures. They go through a couple of them here. So you imagine that at the bottom you’ve got several hardware; and in a little bit above that you got some storage or software; and then above that, you’ve got tools. So this will be a software stack describing something like Dreamweaver and Contribute. There’s no intermediary content management system software in the middle. It’s writing directly to the file system. You know you got your IT administrator set up a share, everybody gets to go in and edit stuff. It’s still producing Web content. It’s still producing websites, so you might call it a CMS. But it’s when you look at it as a stock of software, it’s much less rich than a lot of the full products out there like this one. You might have a couple of APIs stuff in there so that one system holds all of your content information in some sort of representation that’s useful for it and then editing and publishing stuff on top of that. Or maybe you got a system over here which also exposes an API out at the top. In other words, you can write software that interacts with this content management system software. So you can imagine the different product like Contribute and Dreamweaver are ones that maybe wouldn’t be able to write a piece of software to work with but another one… I’ll name open-source products just so we don’t play favorites. Something like Dribble or something like that might be one that is built out so that you can write a piece of software that creates content and then interacts with it. |
10:20 |
Or you might have a model that looks like that which is where you got all these features on the top. You can edit, you can publish, you have an API signature software that interacts with it; and then you, from a customers perspective, don’t care about what’s underneath because it’s supposed to be on the Cloud. They don’t worry about server software and whatever. So from your perspective, a software stack looks like that and that for that particular product. The third model is probably the simplest one. It’s the skills required model. When I’m looking at this feature or this property, does it require a lot of specialized skills to work with it or not? Related but not identical, complex versus simple, feature capabilities, does everything for you? It’s not a rule but many times something that is more flexible and can do more things for you requires a higher skill set because it’s necessary more complex. It’s not a rule though. I don’t put it up here as one of these metrics because you can actually design things that are complex and flexible but also easy to use. So, it can vary. So I just decided and leave it at skills. Any questions about those three models? Do these concept of model makes sense because I struggled with this on my mind for what word to use and models are worded, gets to use them, all that academic stuff that I used to sit in before I got a real job. |
12:05 |
So, lenses. So, who is going to be looking and working with this system, either through the evaluation process or through when you’re actually using it. So I came up with four – four good categories, I think. Professional communicators, these are the folks that are working in your communications office. They’re the ones that are responsible for the content on your site. End users, delegates. These are people that have to go in and update content but are not necessarily professional communicators. They might have a hundred other jobs but they have to go in and add new pages or add events, change numbers on pages periodically. You know, when number of publication counts goes up for faculty member, something like that. Programmers and integrators. Depending on your site, your staff, you might have people that are responsible for integrating content on the server, on this website, with other administrative systems like your HR systems or the faculty data systems or any number of other system. So those folks are going to look at the system differently than the end users and the professional communicators. And then, you have IT people. I separate out IT and programmers. IT is the folks who, in the case of piece of software you buy and install in your servers, these are the folks that are going to ask you, "How many servers do you need? You need a database server. How much memory does it have to have? Is this going to have to stay up all the time or is it going to go down?" Those are the things that they’re worried about. They’re worried less about how the software works and were worried about what resources they need to allocate for it. |
14:00 |
There are other lenses that I’m not really going to talk about today but are important for discussion of buying a large product that is going to cost a decent amount of money upfront and then cost a lot of institutional time over the years that it's in used. The executives, they know they want to know things like how much does this cost. I’m not really going to worry about that today. I’m going to assume that figuring out how and asking questions about how this product works and what its features are, are what you’re worried about. And then once you figure that out, then you go tell the people how to pay for it. Purchasing cost, politics, existing investment, this framework can be used, in my opinion, for evaluating your existing system. So you can see there against what your needs are. If you’re not asking questions in a structured manner, it might be hard to see why people are frustrated with it. So you’ve got lenses and models. They can put that together into a matrix where you can then – we’ll talk a little bit about this in a second – you can take a feature like RSS or a property like it’s scalable, whatever that means, and say, "Well, if you look at it’s scalable from the Web echo system model, that probably means it has a lot of throughput. It can handle a lot of content. It can handle content quickly." The professional communicators, they’re not really going to… You know, it’s scalable, they just really care that it’s all working all the time. But the IT folks are going to ask questions. "Is this something we install on our servers? We have to get licenses for Windows." Or whatever questions they might have. |
16:00 |
If you look at scalability from a software stack perspective, you might not necessarily be interested in… It doesn’t have a lot of throughput. You might say, "OK, is this something that can support lots of different access methods." Then, skills required. Some vendors are software or service where it would require almost no skill to keep it scalable. Skill is pick up the phone, call the vendor. "Why isn’t it fast?" That’s how you get it more scalable. And of course there can be more models. There can be more lenses. So, any questions so far on that? That make sense? So the vocabulary portion, I want to talk a little bit about is about one of the premises of this was you look at either open source software's websites or vendors’ websites and they have a list of bullet points of what it can do. And they'll use adjectives like powerful, usable, scalable; and they’re all right. Well, I supposed they’re usually right. I suppose they could be lying but we’re just going to assume that they’re right but it means right within, in a particular context because, again, they made decisions in the product's development that impacts whether or not it’s scalable in what we’re looking at before, this matrix from one of these different perspectives. So before you start… OK, let’s talk about this nouns-versus-adjective thing. So, and the rest of these, I want to talk about the feature or capability as a noun in a system. Such as it does RSS or it does facilitate content reuse or it has blogging capabilities, versus an adjective – property, it's powerful, it’s easy to use, scalable. |
18:19 |
So, you take all these words that you've come up with about your needs or you've gone to website and you see all these features that people talk about. Or either your customers come to you and said, "We need this," and you can establish a virtual – I guess you don’t have to put it down in paper but maybe it’s a good exercise – a whole stock of those matrices where you collected for each of these nouns or adjectives. You had made sure you or you sought out people who can look at the system from one of those perspectives, from one of those three-times-four different perspectives. And once you have that, you can hopefully have not forgotten the right question to ask, not forgotten for each of those features, all the different perspectives that are involved. And you have this whole huge collection where you can hopefully, maybe, think more critically about your needs, what’s really important. But what I think is the most important thing and it will come out of this, is that if you do a good job of this, it will be plainly obvious the things you’re giving up with each particular product and their approach. And of course, this won’t tell you what to pick. Like I said it’s not a bit grinder. Everybody’s got different needs. All products have different perspectives and capabilities. |
20:02 |
So, what I want to spend… I think we're about 20 minutes in or so. I want to spend the rest of the time – I think it’s pretty simple model – spend the rest of the time talking about a feature or set of features that you guys need. What you’ve been using, how you might answer from those different perspectives and get people talking about, "Well, I’m a programmer, so I care about whether it’s got APIs." What do you think the communicators care about that? You, as a programmer, might say, "Well, if it doesn’t have APIs, it makes it very difficult for me to integrate that other system that you have over there with your list of email addresses from Alumni Affairs." And so now, the communicator understands hopefully because you framed it in their perspective why it might be good to choose a product with APIs, even though this other product over here that doesn’t have good APIs looks prettier to them. Now it’s easier to enter a content. So, there’s some topics up there. I’d like people to either to look at them and say, "I think we should talk about that" or just to turn and say, "Well, we think you’re full of it and just go keep on talking for another 15 minutes." Anybody? John? John: Is there something particular you want to see? Panelist: Not at all. John: And you're just looking for examples of features that might be... Panelist: Right. So that we can walk through an execution of filling out this matrix. John: Sure. I’ve got one. Panelist: OK. John: Just based on my experience with content management systems that I saw it back and I know that our users will insist on a system that needs to have a very easy to use manual railroad system for an ad page or ad host, what its not straightforward how to tell the content management system where… |
22:17 |
Panelist: So like the navigation generation, for instance. John: Building map, building navigation and then finding the content, finding and managing content. Panelist: OK. So, to repeat for he recording and everybody else, what John mentioned was, "Hey, the CMS he uses or whatever you’re talking about, or just for example, I say the one that he uses, he has had users complain that "Hey, we can create a new page, no problem, but where exactly does it fit in the information architecture of the site?" So from a software stack model, I would start asking questions like, "Well, am I writing to the file system? Am I writing to some sort of web interface that allow, that describes where these things are organized in a hierarchical fashion? Does it forward? Is there a metaphor like that?" From a skills required perspective, I might think about it in terms of, "Do I have to think in advance? Am I forced into deciding where in information architecture to put that file? Do you have to come up with this proverbial information architecture in the first place before? And does somebody who’s designing the site have to establish what that IA is before all these other pages are added?" So if you’re talking about ongoing maintenance or if you’re talking about original site creation. From the communicators’ perspective, I think that’s all from that kind of communicators' perspective, "Do we have to do work upfront? Do we have to control information architecture? Do we want to control the information architecture?" And contributors? They’re going to look at and say, "Well, do I have to – when I know, I want to create this page – Do I have to have all these information when I start and have to know it upfront? Or could I kind of create a page while it sit there before it’s published or whatever the term is?" Can I make it a work in progress? Or is it going to enforce me to fill out a lot of predetermined information before I can actually make the page?" Sometimes you want that, sometimes you don’t, |
24:33 |
Programmers. They're probably going to ask questions like, "Is it a strict hierarchy, like an XML document or you got a tree? Everything starts at the top or is it more like a graph, like a social graph where you got these notes over here that they all interconnect. Is it automatically generated or you have to write custom code automatically to generate it?" I know the product that Cornell uses has a built-in hierarchical, automatically generated navigation, but if you want to do anything more sophisticated than that, you have to write custom code. IT administrators. They probably don’t care about that particular one. Can you think of anybody else who might have a skin in that game for instance,a real skin in that game? Can anybody else think about any other way to look at the concept, the content management system, other than those three models, that might illuminate this issue of easy insertion and navigation venues? |
26:05 |
So OK. No pressure. Let’s do one or two more. You can kind of get the idea of... Yeah? Sure. OK. Does anybody else want to kind of do what I did by looking at it from different perspective for content re-purposing? Because, like I said I’m a programmer. I can only guess what content creators really think about that kind of thing. But I can say things and then get feedback with people. So, content contribute or content reuse. So the one thing that I would add to that was looking at it from… That's from the… The last one you talked about there might be from the communicator, the pro-communicators' perspective. They want to write this copy in one place and have it show up in different places but they want to make sure it’s got the same voice and the correct grammar and everything that pro-communicators want that we programmers are like, "Yeah, whatever. It’s just text." Looks like lorem ipsum to me. Yeah. I’m just kidding. I see my content people aren’t here. Yes, this is good. The one thing that comes to my mind there though is, "OK, does this system have an ability to… If you delegated control for this website widely in your organization, how does that content writer who’s updating that one bit of reuse content know where it's used everywhere." That might be a question I’d ask. Is there a feedback in the system where in its master location it could list, "Here are the five other locations it is being used"? Because, I’ve seen when that kind of content reuse gets used, at least in the programmer world. |
28:24 |
Here’s the problem that happens. You build a piece of software that you’ve got three problems you’re trying to solve and you figure out one solution that fits those three. And then you add in another problem and you go in and adjust the solution except it screws it up for one of the other ones. So maybe this copy only works if in these three sites right now, and if you were to change some verbiage on it, it wouldn’t make sense in some fourth site that you added later. The programmer/integrator perspective, I want to ask how am I querying that information. Can I pull that out into an RSS feed? Can I have those snippets created from another source? News integration system is a common one. You might have it in a large place like Cornell. We’ve got our Central News Service and they produce RSS feeds of our news stories and we want to publish them on our website. So, if I tie that back into this framework, what I would say is you’re observing that problem. You don’t have control over that process but you’re the IT person seeing this as a problem. You could answer all this questions, maybe add of few different lenses or add a few another couple models. And then sit down with the folks who are, let’s say, not to be mean but those print folks, those folks who just do printing stuff. Does anybody use print anymore? I’m just kidding? Very just kidding because I know it’s still very valuable, but this is a Web conference, after all. And you’d say. "Well, look. Here are the ramifications of approaching it from a Photoshop in design perspective to start. What are your costs associated with not doing it in this alternate way?". And maybe, it actually makes more sense to the organization to do it that way but nobody has been presented with this, "OK, here’s how this looks from other perspectives." Like with a car or an automobile. There are different ways to look at that. It’s a system of components that are all working together or it’s just a car that gets you from place to place. |
30:46 |
A content management system, it almost always is not just a single piece of software that you go and you install and you're done and it produces a bunch of websites and that’s it. It’s got to get content from somewhere. Is that all manually entered? Is that all being drawn automatically or manually from other systems? And that is producing things. So, it outputs Web pages maybe used by other systems, maybe called by Google, maybe a different logo version of these web pages. The reason I chose the term ecosystem is that in a natural ecosystem, you have, let’s say, carbon dioxide and oxygen. You have oxygen gets consumed by people versus carbon dioxide which then gets consumed by plants, which then get in by people. So you got the cycle. Everything kind of fits together. The Web is very much like that as well. We’ve got either the CMS or you’ve got the CMS and your other CMS is on campus or you’ve got your campus and then all the other campuses and systems out there. Or you can look down at a very small level inside the CMS and say, "Well, I’m keying things in and then I’m spitting it up the other end." They all consumed and interconnect. |
32:13 |
Does that at all make any sense? Audience: [32:16 Unintelligible] Panelist: So, I think every CMS is an example of this CMS. The one that we use at Cornell, for instance, has the ability to do manual content entry. It has the ability to run processes and suck in information from RSS feeds. It has other bubbles that I didn’t put up here. For instance, it’s one of the products that you have to install in server and run and it actually can do extra things that a published-type CMS can out-of-the-box. Like do user identification and log-in because it’s, actually, it’s not a static Web server; it’s running this content management system and publishing service all right in one. Did that answer your question? Audience: [33:24 Unintelligible] Panelist: I know that you do. Audience: [33:28 Unintelligible] Panelist: OK. Well, let me give the example. I know that some of the pages on the Animal Science website are hand-maintained or at least were. Dreamweaver? OK. So, to a certain extent that hand maintenance is inevitably itself a content management system. The storage medium is your file system and the access tools are Dreamweaver or Notepad and you going in and making changes and keying stuff up. So in that sense, the CMS here is the file system and you add photography to it and then it produces websites. It doesn’t do other things like feeds and widgets but you don't necessarily need that. All right? Thank you all. [Applause] |