I work a great deal with WordPress. It seems to be a pretty standard open-source software package for building websites these days. Besides the ease of use and flexibility aspects of WordPress, it continues to be remarkably stable and has a huge user base.
However, one of the more difficult things about WordPress (And by ‘difficult’ I mean, ‘for the average person’) is how to create a good looking custom theme and apply it to your WordPress site.
I came across a tool today that blew my mind. It will take a layout (from any website) and instantly create a complete custom theme from it. All you have to do is define the regions you want to assign to the main body and the sidebar(s). Once you define those areas, you simply hit “Download Theme” and you’re ready to go. Simply amazing.
This small but very useful program somehow manages a virtual instance of your host file.
What does that mean for you??
With the click of a button you can switch from your development server to your live server (or any number of other servers). No more closing the browser > updating your host file > Flushing your IP Cache > restarting your browser > clearing the browser cache > HOPING that it worked. Now it is just two clicks > refresh… and you’re looking at a completely different server.
If you develop web sites and ever need to toggle between a live and development sites… get this Firefox Plugin right now. It will save you hours of trouble.
I just found the program that has changed my life forever. Well, that may be an overstatement, but this one is GREAT.
It’s called WinDirStat (short for Windows Directory Statistics) and it does an amazing job of showing how big individual files on your computer are. So, you’re wondering why you are running out of space on your hard drive? Start up this little program and you will be able to pinpoint exactly where the problem is.
I installed WinDirStat on our Small Business server (sbs 2003) yesterday and found over 50gig of unneeded files that I didn’t even know were there.
So, the whole point is that you can easily see where your large files and navigate to them in seconds. On top of that, the files are color coded by file type so finding space-hogging files is made very easy.
Don’t wait. Download this right now. You will be amazed!
Sorry MAC users, this is a Windows program. But if anyone knows of anything like this for MAC, let me know and I’ll add the link in this post. It is known to run on Windows 95 (IE5), Windows 98 SE, Windows ME, Windows NT4 (SP5), Windows 2000, Windows XP, Windows Server 2003, Windows Vista, and Windows 7.
It’s a very small program (631kb)
It’s Open-source : or in other words, FREE
Represents each file as a block and the size of the block is proportional to the size of the file
Block are color coded by file type so you can easily see what types of files are taking up the most space.
I love WordPress. It’s easy to install, easy to use, and sort-of easy to modify the code base.
One of the great plugins available for wordpress is ALO EasyMail Newsletter. It is an email address storage database that allows you collect email addresses, categorize them, and send HTML formatted bulk emails to any/all categories in the list. It works quite well once you get familiar with how it works.
In my usage of this plugin there has been one major problem that I’ve encountered. There is no way to easily insert just one name at a time into the database from the admin area.
You can actually add a single name and address by creating a “user”, but then it asks for a new password and it’s just not that easy.
You can also go into the PHPMyAdmin for the database and add the name directly to the database table “wp_easymail_subscribers“. But this requires you to log-in to the control panel, find the database, etc. etc. So this isn’t Good either.
I have created a simple solution that is user friendly and easy to install. There are just two instructions:
Copy the one included “PHP” file into your “wp-admin” folder
Add one line of code to your wp-content/plugins/alo-easymail/alo-easymail_subscribers.php file
Now you can simply navigate (in WordPress Admin) to your USERS > Newsletter Subscribers page and there will be a new link called “Insert Single Name”. See the image above for a sample of what that link looks like.
How easy is that? Pretty cool.
BULK-INSERT – this can accommodate lists of names and addresses too.
No more making and uploading CSV files. Just copy and paste your list into the provided form field.
This has been tested with ALO EasyMail Newsletter 1.8.7 but should work fine with other versions as well.
This script makes no modifications to the database structure and can easily be deleted by reversing the steps above
This script checks for duplicate entries before inserting. If an existing address is found it sets the “active” field for that address to 1.
Let me know how it works for you. I would be interested in what version of ALO you have it working in.
For the past several years I have been programming websites almost exclusively in PHP programming language. Before that my primary web language was Coldfusion.
I have to say, when I learned Coldfusion (CF) I was just starting out in dynamic data. Just a “Green Newb”. So from the standpoint of a novice, it was a great language to learn on. CF taught me, in an easy to learn fashion, some of the fundamentals of displaying dynamic content on the web. Things like:
Processing online forms
Working with variables and session data
Connecting with a database
Tracking user activity
Displaying content based on user page activity
And much more
However, several years ago I was forced (by circumstances beyond my control) to move on into PHP. So after about 2 months of exclusively using PHP for website content, I was hooked and couldn’t go back.
What I learned very quickly is that CF and PHP share basically the same principals of data flow, but the main difference is that Coldfusion is primarily a tag based inline language. It mingles itself right along side of the HTML tags. So you’ll see code that looks like…
PHP, on the other hand, is typically processed in a different location completely and then the specific data chunks are pulled in and displayed on the page. It might look something like this…
<?php include(‘processing code from a different page’); ?>
<?php echo $tableContents; ?>
I have to say, I really like PHP. When I try to go back and program using Coldfusion I find it difficult to get some of the processes that I do all the time in PHP to work in CF. Working with arrays, for example, is somewhat clunky and difficult. PHP just seems much sleeker and powerful in general.
I think one of the real reasons I like PHP better than Coldfusion is that it is FREE and community run. Sort of an open source type framework. So people are constantly contributing and making it better. CF is owned by Adobe. And while I really like Adobe products in general, CF simply doesn’t have the support base that PHP does.
So my conclusion… If you don’t know anything about dynamic data and want to learn how to interact with a database, display dynamic content, work with variables, etc… Coldfuson is a terrific option. I highly recommend it. But at some point CF will begin to feel too small for you. You’ll start to see some of the limitations. From there you’ll probably want to expand out to something else PHP, ASP, JAVA, C++, etc.
They’re both very good. PHP just seems to be more usable overall to me.
Use the “Color Index” book and get it right every time
I find that when creating a layout for a client, they often have a certain primary color they want to use. Sometimes that’s accompanied by a secondary color. But rarely am I given more than 2 colors to work with and often I get suggestions like “Well, I really like purples and reds”. But as you can imagine this isn’t really very helpful in trying to come up with an overall color scheme.
Occasionally the client will give me a color logo or some other printed material which I can then take some color clues from. But then there are times when I simply draw a blank and don’t know even where to start.
When we consider that we need color settings for the fonts, the header graphics, any logos, links, visited links, text headers, and other detail design elements, we need more than just one or two colors to choose from. The last thing we want is a monochrome looking layout (at least by accident). And the other last thing we want are hideous colors that completely clash with each other and make visitors feel uneasy about being there.
What do you do in those cases where more colors are needed than what you have at your disposal? Grab the Color Index book by Jim Krause of course. This unique book boasts over 1100 color combinations for setting exactly the right tone for your project. I have to say, this book has saved my neck more than once and often sets me in the right design direction. Color is so important in the scope of the project.
For a web designer the Color Index is a must have. For each color combination it shows both the CMYK and RGB values for the colors represented. Truly a handy guide for both web and print media.
The book is one in a series of books that include: The Color Index 2, Layout Index, Idea Index, Type Index, Design Basics Index, Photo Idea Index, and perhaps more. All of which I’m sure are very helpful. If they are anything like the original Color Index, they are absolutely remarkable.
I highly recommend the Color index if you have any reason to be matching colors. Period.
One of my first projects in the Open Source world of software was installing and configuring MOODLE for a client. When I came onto the project (several years ago) I was largely unfamiliar with the whole free distribution program concept anyway. And I was certainly not up to speed on this piece of software. I had never heard of Moodle, I had never installed it, never used it, didn’t even know it existed. Boy was I in for a big surprise. A pleasant surprise.
So what is it? Why would anybody want Moodle anyway?
Moodle is a classroom on the web. Essentially it is designed for organizations or individuals who want to teach, offer courses, test their students, offer grading, allow for student interaction, and much more. This is a complete out-of-the-box solution for any educational or testing Endeavour.
Moodle has configurable options for the following features.
Site Management – design, look and feel, languages, master email settings, adding more plug-ins, etc
User Management – tracking of student progress, courses enrolled, courses yet to complete, profile settings, permission to access certain parts of the site, etc.
Enrollment – restricted access to parts of the course(s), cross course user access management
Assignments and tracking and student upload for assignment completion
Online chat for inter-classroom conversation
Configurable polls for research and general feedback
User Forums for news, class discussions, posting photos or other collaboration materials
Online Glossary where definitions can be created and discussed
Lesson Module – The core of the online classroom including course pages, grading, progress bar, timers, and much more
Quizzes – completely configurable quizzes can be created for each course or topic with multiple choice, T/F, numeric, and essay type answers. Scores are recorded and tracked for both the student and the teacher to review.
Resource Module – a storage place for electronic content like Word docs, PDFs, Flash, video, audio, and more. Available to students according to the teacher’s desired settings.
Surveys – feedback from students
WIKI – web pages that anyone can edit (on a course by course basis)
Workshop Module – Peer assessment of documents with teacher oversight.
These are a ton great features that come standard with Moodle. But don’t worry. You don’t need to use them all to be effective. You can install Moodle and simply add the individual modules as needed. I know people who use Moodle just for the testing ability alone.
But the single greatest feature of Moodle in my opinion is the ‘Enrollment’ process. This can be as restricted as you desire. And there’s no limit to the number of courses you can offer. So for example you can offer one course for free and have another course (in the same installation) for $350. The enrollment cost can either be collected through your Moodle installation OR you can sell the enrollment key(s) through a shopping cart on a completely different site. It’s very flexible and very powerful.
Installation is not super easy though. You do have to know a little programming, but once it’s up and running… there’s no end to the classroom possibilities. And you can configure your courses with no programming knowledge
In most cases the answer is YES. I can think of only a few websites that don’t use database these days. Many have more than one. And it’s not uncommon to have 5 or 10 or more all running at the same time on the same website.
If your goal is to show a couple pictures and display some text, then No you don’t need a database. But if that is the extent of your online goals, you probably aren’t going to be overwhelmingly successful either.
Here are some things to think about in regards to using a database in your website.
The great thing about a databases is that they can take your website to a completely new level. Not only can you store and manage your entire site’s content in a database, you can organize it and display that content in completely interactive ways.
Example #1: Contextual Content. One thing I love to do is have images and ads in various places of a web page that change depending on the page topic, month of the year, how long the person has been on the site, or what pages the person has already seen on the site. For example, once the person has visited 5 or 6 pages on the site I may want to start showing them a 20% off coupon in the side bar. The only way to track and implement this kind of activity effectively is with a database.
Example #2: Minimize the work. I have built websites before that use only one page. The HOME page. The links in the navigation bar don’t lead to any other page, they simply lead back to the home page. The difference in this case is that each link tells the database to show a different block of content on the home page. The person visiting the site doesn’t know the difference. It looks like they are physically changing pages. But the page is actually pulling it’s information dynamically from the database. The site now is completely unlimited in what is can display. This one page site can now easily display 1000+ pages worth of content with not one additional HTML page being constructed. The content can be changed at any time, pages can be added or deleted, and the navigation structure is updated instantly. And it can be updated from anywhere in the world.
Example #3: Responsive links. One of my favorite features that I’ve created is a hit counter for each individual navigation link on the site. The navigation bar was set up to look at the hit count and display the links in popularity order. So as people browsed the site the links would float around to reveal the most popular link(s). The links that people most often visit became the top of the navigation and the ones that people didn’t care so much about sank to the bottom. This had amazing results and actually provided a ton of information about our visitors and their interests.
I could come up with dozens more examples of uses for databases and ‘dynamic’ content. Here are a few. Auto-responder series, test taking, student management, calendars, work schedules, shopping carts (of course), golf tallies, sports ‘winning’ team selectors, online polls, online registrations, application collection and SO much more.
Websites are incredibly interactive. To be successful we have to change our thinking about what they are capable of. Not only can you provide information and services TO your visitors, you can also gather highly valuable information FROM them. There’s literally no end to the things web surfers will give you. They’ll give you all sorts of video (YouTube), expertise (countless forums), opinions (blogspot), audio (iTunes), etc. It’s your job as a website owner to be able to get that information from them.
That’s were a database comes in. Once you get information from your visitors, you need a way to store it, and then more importantly you need a way to organize and retrieve the content. A database makes that easy. Once you know the needs of your web visitors, you’ll be able to provide even better products and services to them.
Here are some common things that databases are used for. (This is not an exhaustive list. There are countless uses for a database)
Email mailing list
Incoming contact requests and information
Booking and reservations
Automatic email series
Gathering visitor statistics
And so many more…
If you are thinking about setting up a website, you may want to take a few minutes and think about how a database can make your life easier. You can easily turn your new website into a tool that will work hard for you 24/7 rather than just a cute display of flashy graphics. A database can be just what you need to accomplish that.
Being in the web site construction business, I talk with people about their websites all the time. One of the most common statements I hear is “I want a ‘knock your socks off’ cool website that really looks good”. To which I reply “Of course – I can do that!”. But in reality what they’re wanting is VERY different than what they’re saying.
So I set out making an awesome looking site for this client only to find out that their REAL goal is to increase profits by making online sales, NOT having a flashy design. Having a great looking site and having a search engine friendly “selling machine” are two very different things.
Now, I’m not saying that you can’t have both a good looking site and a site with great selling potential at the same time. That’s entirely possible. I’m simply suggesting that before starting the important task of constructing an online presence, perhaps we should do some serious soul searching to find out what your real goals are. Here’s why…
There are three areas that are absolutely critical to the success of a website.
The design. Yes you DO need a good looking website or you won’t be taken seriously by your site visitors. First impressions and company credibility rely heavily on the quality of your site’s design.
Visibility. Most often that means search engine marketability. If people can’t find you, your site might as well not be on the web at all.
The “close-ability”. Can your site deliver the goods, service, or information that the visitor needs? AND are those visitors becoming buyers, subscribers, users, or whatever else your goals might be.
The person that comes to me and says “I need an ultra-cool site” is often ignoring number two and three on the list. I can only think of one or two examples where the LOOK is the only thing that is important in a website. Usually visibility and close-ability are as important, if not more important factors in the end.
So the question remains do I need a great design? Or will an average look be fine? Here’s my suggestion. Great design is fine, and even recommended. But never sacrifice your internet visibility and ability to close sales in order to just have a trendy look. If you have unlimited funds to invest, well then, have it all and live large with the biggest and best of everything. But for the rest of us, we need to be smart about it and maybe decide to spend less of our resources on the raw design (and having cool little flashy thingies all over) and more on the usability or online marketing. That’s were you typically see true results.