I am an experienced asp.net developer and asp.net mvc and I have my own CMS that I have written but starting to think there should be another approach.

When someone asks you to develop them a website how do you develop it so that they can add pictures,slideshows, content, news items, diary events.

On a side note do you give them a design for the home page and inner page and thats it. I'm just thinking if they turn around and say 6 months down the line I want a jquery slideshow on the right hand side of this page how do you or CMS's handle it?

  • 1
    Did you first ask them if they want to do that? – Tim Post Jan 3 '11 at 18:25
  • Ask someone what they may want to do in the future?? My CMS handles it but I just wanted to get an idea of what people use to handle dynamic page designs. I have experienced numerous times people come back and say "If this page could have this here and this page have this..." – Jon Jan 3 '11 at 18:43

I tend to ask for content as soon as possible, largely because most customers are very slow to come up with it, so if you don't ask for it on day one you won't get it ahead of deadline and this will somehow be your fault in the eyes of the customer. It's annoying but it's how the world works.

I find that adding the initial content myself is a good way to verify that the site is working the way I expect it to and it gives the user something to work with when I hand it over. In my experience that extra practical testing and the amount of hassle you avoid by not expecting them to understand all your paradigms from the very start is well worth the time cost of a bit of cut-n-paste work.

Prior to content if I'm showing things off I use the Lorem Ipsum text ( grab a bunch from Lipsum.com ) as an obvious placeholder, same as most designers seem to.

In terms of adding Features I don't like to give them any new type of thing that isn't there at the start unless basic they ask for it directly. So if they decide that they want a slideshow I want them to come back to me and ask for it - I may have it ready and have no problem integrating it ( indeed I should do those things if it is an anticipated feature ) but that extra bit of work involved in coming back to me means we can make sure it does exactly what they expect, make sure it fits with the rest of the design and - importantly for day to day life - justify a maintenance agreement.

Once a feature is there on a site, unless its something that is likely to introduce unwanted complexity for users, I would aim to set it up so they could add more of the same kind of thing by themselves. But for the first one, I like to be in control ov that.

  • I understand all that and I do follow that practice normally my question was more about implementing content management and offering flexibility to clients in case they want a slideshow on page x on the right and a image on the left & right on page y – Jon Jan 3 '11 at 18:23
  • @Jon If you're trying to make a one-size-fits-all for every customer you'll ever have, you're going to give yourself a headache (and have an overly-bloated platform) very quickly. Doing things this way is why a lot of web sites out there look very "cookie cutter". Nothing beats a site built exactly to your client's specs (and gathering specs is a large part of your job in building something for them). – Michael Todd Jan 3 '11 at 18:44
  • @Michael Yup I've had the headaches and ended up with the CMS I have thats why I was keen to see what others do. You must provide a basic CMS surely so they can edit content? – Jon Jan 3 '11 at 18:48

Not to be unhelpful, but it depends.

I make functionality available based on the need for it to be there. If you have a "generic" type of content management system, I would suggest being able to turn on/off features that are or are not a requirement of the customer's content.

Getting Content

I usually make defining the content part of the initial project requirements document. These requirements are signed-off on by myself and the client before starting anything. Even if they don't get you real content to work with, you need to know minimally what type of content to build for and handle so you can prove you met requirements.

Dealing with changes

Any requested changes (e.g.: "Turns out we DO want to have a photo gallery after all!") have to go through proper change request process that will adjust the pricing and scheduling to match. Create an addendum to the requirements document, and a sign-off on it from both parties.

In the case of larger changes that require working up a design past the home page and generic sub pages (i.e.: almost anything that isn't just textual content). I treat this as a separate smaller sub-project. I work up a design (and price) for that specific area, and like everything else, make them sign-off on it before proceeding.

  • Sounds like I'm doing myself out of business. I have built my CMS pretty much so clients can login in and can put an image here, text there etc etc. Do you use your own CMS or off the shelf? – Jon Jan 3 '11 at 18:46
  • @Jon - It largely depends on the client's budget and need for customization. I'm usually of the mind-set that the only thing the end-user they should be managing is the content, not the design. So I have my own system that allows me to completely customize the front-end on a client-by-client basis. That said, I'm not opposed to using an off-the-shelf system if that's all they want/need/can afford. – Ben L Jan 3 '11 at 18:55

To save yourself any unexpected surprises, you should definately try to get content sent to you as early as possible. Creating pages with standard 'lorem ipsum' content is all well and good, but until you actually start putting real content in you won't be fully confident that what you're building meets the clients requirements, regardless of what any spec says. You'll surprised what some client's can send over as 'content'.

One thing i'd strongly recommend though - it sounds like you've built (or are building) your own custom CMS. As web-developers, we've all gone down this route at least once, but my advice is this - don't! There are plenty of good CMS's out there for you to use which have already solved the problem for you. Pick a flexible CMS with a good community behind it, then you'll have access to a lot of modules / packages that already provide a lot of the features your client's might ask for. You'll give your client's much better value for money, as you can spend your time implementing the actual site rather than worrying about your core product.

As you're working in ASP.NET, i'd recommend taking a look at Umbraco, which my company uses. It takes a very lean approach to content-management so doesn't have a bloated UI crammed with features your client won't need, and is instead designed to be extensible allowing you can plug-in your own bespoke functionality quite easily. I've also heard quite good things about N2 and Composite C1, but have no personal experience of them.

Your Answer

