Sunday, May 6, 2007

High-level site design - Decide before you configure

Tikiwiki has a very high number of configuration possibilities. This flexibility is at once attractive and also daunting. The purpose of this blog is not to explain all the options, but to work through a single design, showing how choices are made to support the design. As we go along, comments and questions will help to direct us to the critical deicisions and clarifications.

Design is what saves us from a total melt-down. What do we want this site to do?

The overiding purpose of the site is to provide a collaborative environment to create useful how-to knowledge. Breaking that down, we need tools for collaboration and tools for capturing and sharing knowledge. Background requirements are the same as those that any site needs: an attractive, easy-to-use design, with clear information that invites and keeps a community.

In the old days, a lot of Q&A of potential users would occur to make sure that we design exactly what the users want, the equivalent of laying out the sidewalks in advance. In these, *ahem*, modern times, we're going to plant grass. Then we'll wait to see where users walk, and then, instead of putting in the sidewalks, we're going to hand them a pile of bricks and tell them to build their own sidewalks. Then we give them concrete, and flagstones, too.

If that metaphor confused you, here's what I mean. As long as we give our users tools that are easy to use for collaborating and for building knowledge structures, and possibly some help with using the tools, they should be able to build what they need organically. As long as they don't say, "Who wants to walk there anyway?" You have to give them enough value to stay and build the sidewalks, and the stairs, and the walls, and the ... you get the idea.

What tools are we talking about? Going back to the list we used to select tikiwiki, they're the following:
and Tikiwiki has some others that we'll explore as we go along.

As you explore a new piece of software, it's a good idea to break it down to pieces of activities you can do piecewise, rather than try everything at once. One reason is because it makes it easier for you to learn, and it helps you isolate problems when things don't work the way you think they should. We'll tackle the task in the following way:
  1. User security model
  2. General attractiveness
  3. Wiki pages
  4. Forums
  5. Blogging
  6. Social networking
After configuring these options, we'll take stock and see where to go next.

Installing TikiWIki

Using siteground.com, it's not too tough to install tikiwiki. Once you have your domain name set up, you have access to your cpanel. Cpanel is a utility that allows you to manage your site without knowing unix or programming. To find cpanel, login, and click as shown below.



You'll see the following options. Click on cpanel and login.



When CPanel comes up, ignore most of it for now. Click on Fantastico at the bottom.



Fantastico is a installer. You'll use it to install tikiwiki. Once fantastico comes up, click on tikiwiki.


Then, select new installation. Notice that tikiwiki has been installed on karateforge.com. This same tool is used for future upgrades.

Choose your domain to install. In this case, the one we are building, how2why4.com. Then click install. Notice that the administrator login is set as admin with password admin.



If all goes well, you'll see something similar to the following, and can click "finish".



The next item of business, after fantastico installation, and you should do it right away, is to change your admin password before someone else does. Go to the site how2why4.com and login:


Use the admin login and admin password. The system will force you to change the password as follows.




Tikiwiki is installed and you're set up as the administrator.

Now, to tell the whole truth, I actually had a little trouble. I am installing not my first domain, but one of several on my account. I purchased the domain name how2why4.com for $14.95, but I forgot to purchase a domain slot. So, I set up a subdomain, when I should have set up an addon domain. I could get to the site by a more complicated path than the domain name, but I couldn't get to the domain name itself. This frustrated me.

If you've followed the path, you know that I got the problem resolved. It's not unusual to have some problems. What's unusual in my experience, is the level of support I got from the help desk at siteground. Once I filed a trouble ticket, they turned it around in a matter of no more than 3 minutes. They explained to me what I did without calling me names, and I got it fixed.


In the next post, we'll talk about what we want to do with the site, so we have an idea about what configuration options to choose.

Choosing a Wiki for Web 2.0

The essence of web 2.0 is for your visitors to contribute their own content. The appeal of this from a website's owner is that:
  • It makes for a richer user experience
  • It relieves you of the responsibility for all the content
  • By working together, people accomplish amazing things
Some of the hallmarks of a web 2.0 site are:
So we're looking for a system that can support these features.

When I first got started, all I wanted was to be able to create a wiki. I thought wikipedia was pretty neat and I love creating knowledge, so I thought, "why not use mediawiki?" MediaWiki is the software behind wikipedia. I was ecstatic to find that siteground offered installation with their package and I was very tempted. But I noticed that there were other options, including PHPWiki and TikiWiki. There was some description on siteground that lead me to investigate more.

I came circuitously to a comparison page on wikipedia which showed me many more wiki software options. I also came to the feature page of tikiwiki, which opened my eyes to the other options outside of just wiki pages that I would need to accomplish the site I wanted to create. I was also led to the open source community, sourceforge (which inspired the name of my site KarateForge.com). These pages led me to create the feature list above, to which I added the following requirements:
  • Must be free (very important);
  • Must be easy to administer;
  • Must install easily on my hosting service;
  • Must be seamless among the modules;
  • Must be supported by a large enough community to protect the investment of my time, and to help me when I got stuck.
I won't take you through all the evaluations. I signed up for wikipedia, made some changes. I actually installed mediawiki myself, which is not straight-forward, and also found it a learning experience everytime I wanted to administer something. I read blogs, and I installed tikiwiki, too.

The upshot is, tikiwiki had
  • All the features that I needed and more;
  • It was free;
  • The modules are all built-in and maintained for each release - so nothing breaks when you upgrade. So far I've upgraded several times from 1.9.4 to 1.9.7 without a problem;
  • It was much easier to administer than mediawiki;
  • It installed easily on siteground;
  • It had a large developer base of about 350 contributors and is actively supported;
  • The community, especially the mailing list on sourceforge.org, has been very helpful.
I installed and began using tikiwiki.

My next post will talk about the installation experience for our new site, how2why4.com.

Creating a new web 2.0 site: choosing a domain name

I decided on a new site for building "how to" and "why for" information for do it yourselfers. I wanted a cool name for the site that also is descriptive and easy to remember. The hard part isn't really coming up with a name, it's coming up with a name that's available. I went back to siteground.com:

I typed in h2y4. That came back as unavailable.

I went to that site, just out of curiosity. I'm not sure what's going on there - some sort of personal family site.

I still liked the idea of the name, so I thought a bit and typed how2why4 into the box and pushed purchase. It came back as available, so I put in my credit card information.

Domain name is the official name for a site name. Wikipedia.org has an article on domain name that probably tells you more than you want to know, but also fills in the blanks.

I then got the following thank you note, directing me to wait for an email up to one hour for the account to be created.















I waited (about 5 minutes), and the email came. It directed me to siteground.com and my pre-existing login. If you're new to siteground, you'll also have to create an account.

[Warning: sharp turn ahead]

I went in and created a subdomain for my existing account using cpanel.

WTH, you might be saying right now, I thought we were starting from scratch. Well, I can't really, without creating a new siteground account. So here's what I need you to do. Try it, and document your experiences for the rest of us. I'm not talking about the whole experience of creating a site. Try creating a new domain name through site ground, including account creation, and send me an email at gedanzuki@comcast.net documenting your experience. Our you can post to the comments. I will publish IMHO the best one as a guest blog, if you want, and include it on how2why4.com.

This is web 2.0, after all. We'll create a place on how2why4.com for the experiences to be documented.

While we're waiting for the site to be spread to all the DNS services, I'll write the next post about why and how I chose to go with tikiwiki.

Subsequent posts will deal with site creation and installation of tikiwiki.

PS: I really want this to be an instance of web 2.0. For more information on what that is vs. the Web, see the wikipedia article, as a starting point.

Selecting a web service

December 2006 - before how2why4.com

My first task in creating a website was to find a service. I'd been on a plane to Chicago that diverted to Houston, so I bought a copy of Wired magazine and was looking through the ads in the back. One ad for a hosting service jumped out at me because of the price and features.

This service was siteground.com. I liked it, because at this time I was trying to learn without spending a lot of money, and because it had great features I was looking for. I want to say emphatically, I have no relationship with site ground except that I'm a happy customer of their service.

Here're some of the considerations that caught my eye, and why:

  • FREE Domain - they help you find a domain name for your site. Isn't that how we all start? If I just pick the right name...
  • 250 GB Web space - I knew I would need lots of space since I was going to be successful. At the time, it was 40GB, now its 250. So far, I'm not even close to using 40GB with multiple websites - more about that when we talk about managing your site.
  • 2500 GB Traffic - thought we just talked about GB, so what's up with this? Oh, yeah, this is monthly traffic - and since I'm doing videos to lots of people, yeah, this sounds good.
  • 99.9% Server Uptime - I know this is important - websites are like parachutes, if they fail the first time someone tries them, they don't come back. I have to say, there have been very brief moments where my site hasn't worked, but just pushing "refresh" always brings it back up. I think that's 99.99, actually.
  • 24/7 Top Customer Care - I've had great support - and even with a computer science background, it can be confusing. These folks are good.
  • CPanel and Fantastico - frankly, I didn't know what this stuff was and didn't care that much. I care now. It's good. I don't have to know unix to manage my site. And I was to meet both, again, very soon.
  • Immediate Activation - no lie.
  • Mediawiki installation, tutorial, servers, etc. - I had just read Wikinomics and was all juiced to start making lots of friends, build a collaborative website, and hopefully some side money. I even wanted my kids to help. That last part was just fantasy. Zing. I played around with mediawiki, but ultimately chose a different engine, also supported by siteground.com - tikiwiki. More on that later.

So you want to build web 2.0 website...how2why4.com

I have this problem. I have a compulsion to share cool things with others. Now, as it happens, the web feeds this compulsion. My compulsion since Christmas 2006 has been to create a successful website that incorporates wiki technology. Why wiki? In the spirit of Christmas, it's nice to share.

Over the holiday break, I deliberately set out to teach myself how to create, manage, and drive traffic to a useful website, and ultimately create a site of high value to its fans. It's not enough to create a website - people have to visit it.

Please share your comments with me as I describe my past and ongoing experiences in learning about websites, web 2.0, wikis, tikiwiki, blogs, webrings, php, mysql, cpanel, youtube, webstats, email systems, RSS, public licenses, podcasting, open source, and all such related things.

Why am I doing this? I used to teach programming, databases, educational technology, and GIS. I miss teaching and conversations with others on topics like this. Please help.

How can I help? Participate in building a new site with me! Let's build a site called how2why4.com. This will be a site to answer how to do something and why for (pardon the grammer) you would want to do it. It's already in progress, so check it out!

~ Gedan