Friday, April 30, 2010

Turning the Tables or The Great DIVide

With some good-natured needling from a friend and with much sadness, I have turned the tables on using tables in my HTML and have crossed over the great DIVide to using DIVs. Now to be honest, DIVs may be more like what I was used to coding, way back in the day when I was a photo typesetter and used to have to hand code my layouts and preview them on another monitor. What is photo typesetting? Check it out, here. But, as the saying goes, to go forward you must look back.

DIVs are containers. If you have ever used QuarkXPress (note proper spelling), you know exactly what I am referring to. You make a text box or a photo box and then dump stuff in it, and then you can drag it around on the page and do stuff with it. Same idea. If you're using a tool like Dreamweaver, you can place a box on your page and then use CSS to format the box and the content within. Or if you like, you can use a text editor like BBEdit and code it, then preview it in a browser.

While tables did give you the ability to keep things together, it was a pain sometimes to have to work within its confines. For example, while creating a navigation menu, Fireworks would create a table where every menu item was a separate cell in a table and when it went in the layout sometimes adjusting the table would pull the menu out of alignment. Then I would have to spend the time to pull each menu item out of the cell, place them all in the same cell, then combine all the cells into one.

With DIVs you can numerically position items on the page and format each DIV separately. Making changes or tweaking position is a simple matter of changing a line or two in the CSS. Granted, it will be a little harder for some people to wrap their brains around, but in the end the code is cleaner, easier to read and most likely a little faster loading than tables. Discrete boxes also offer the ability to integrate backend code, say, from a database, more simply.

Downsides? Well, duh. Aren't there always? In this case, the downside is browser interpretation. Some browsers may interpret the code a little differently and therefore your page may vary slightly from one to another. However most browsers like Firefox, Safari, Chrome, Opera are pretty consistent. The bad boy on the block? Of course, Internet Explorer. You can forget version 6 altogether (it was given an internet funeral this past March) and plan on testing using version 7 and 8.

I am in the process of redesigning the TeKno Ziz site, and I am using DIVs. Stay tuned for the upcoming release. What's your experience with tables and DIVs and all things HTML? Let's hear what you have to say.

Friday, April 02, 2010

I want my CMS!

Content management is all the craze these days. Server-based, web-based, local, remote, templates, themes, databases, plugins, extensions, PHP, MySQL and all those other things you hear – what's it mean for your website? What's the advantage? What's the cost? Maybe most importantly, what are the downsides? Let me try to make some sense of this for you.

Simply put, a Content Management System (CMS) is a way of managing your website without the aid of the programmers who built the site and without having any knowledge of programming. Ideally. In reality, it's a little more complex than that, depending on the method you choose.

Some mid level web design applications like iWeb, SandVox, RapidWeaver allow you to "skin" your website – that is, use new designs simply by selecting one from a menu and applying it to your site. Neat. Now you can change the look anytime you want. You are limited to layouts provided by the developer or third parties and sometimes you may need to pay extra, but for those who don't have any aspirations to design, it may be the perfect solution. This is a real basic form of content management. Well, design management anyway.

Another method harkens back a couple of years to Macromedia's Contribute, now owned by Adobe. In this scenario, the developer builds the site with "editable" regions that the client can access using a special browser application. There, they can make edits to text, insert images, links and even new pages, without compromising the integrity of the site or the design. This is kind of the reverse of the first method, where only the content is managed, not the design.

Adobe has taken Contribute and now has made it available online as InContext Editing. The backend works pretty much the same, but the front end can be accessed via any browser. A free service now, Adobe plans at some point to make it a subscription-based service.

Open Source Software (OSS), free software supported by the developers and users, moves us into another realm of possibility where you have much more power but also more complexity. These CMS apps are often based on PHP and MySQL, a programming language and database respectively, which are administered via your browser. There are three main categories that I will mention, community software, blogging software and discussion boards. They all are variations on a theme, so to speak, and deal with communicating either one-to-many or many-to-many.

Two of the more popular packages for use in community sites are Drupal and Joomla! They offer a boatload of features and third party developers have created many more. However, these are very structured applications and therefore you must work within their strictures. And partly due to their impressive feature sets, they are somewhat more complicated to set up and maintain. Design in particular is difficult and you may need to look to others to provide you with a theme you can purchase and install. You can view my GratefulTread mountain biking site I built using Joomla! You can have articles, images, even slideshows and videos. You can attach documents, and the site can also have many contributors. Polls are another popular feature that is available.

When discussion and many-to-many interaction is required, bulletin board (or forum) software is the way to go. It can be used as a stand alone site or as a bolt on to an existing site. Often times, it is used as a source of support and community discussion about that particular company's site or product. Its focus is mainly textual although you can attach images and documents to your posts. Think of it as big chat room where all your posts are permanently stored. phpBB and SMF are a couple of examples of the many options out there.

Lastly, when the speaker is primarily a single person wanting to communicate to a group, a blog might be just right for you. Easy to manage, you can publish articles, images, slideshows and more. People can link via RSS feeds (many of the other app mentioned here can also), as well as leave comments, and some packages can link to other products by the same company. Two of the most familiar would be WordPress and Blogger (from Google). The web design tools I mentioned at the start of the article also have built-in facilities for generating and maintaining blogs. This category of apps is maturing quickly and provides many of the same features as some of the big boys, but without the complicated overhead.

In response to the inherent complexity of theme design for some of these software packages, a company called Extensoft has provided a solution. Their application Artisteer allows you to design a template and then export it in a format that can be used by several of the apps described in this article. It's available on both the Mac and PC platforms. Download the trial and check it out.

To ease the complexity of installation many web hosting companies have resorted to One-Click installs of many popular open source applications. Some feature both total automation and partial automation for those who wish to work beyond the basic install options. Check your web host's Control Panel for more information. Those of you using my web hosting service can log in here, and go to InstallCentral to check out the offerings.

Oh, and one more thought to mention. When the abilities of these apps are either too much, too complicated or just not right, you can look into a custom-designed CMS by TeKno Ziz. We can build it right into your existing site or integrate it into a new site design, but in either case it will be ready to meet your needs now and in the future. The great part of our solution is that 1.) it is specifically tailored to your needs and your business and 2.) we make it easy for you, through our web based administration page, to post, upload and edit your content. Call or email us for more information. See live working samples of our custom CMS work at HPS Wine, FutureChefs and Agnes Strecker Dance Studio. More jobs currently in production.