10 Dec 2009

CKEditor ReplaceAll Config

General No Comments

To place configuration values into the ReplaceAll command for CKEditor, use the following format:

CKEDITOR.replaceAll(function( textarea, config ){
   config.toolbar_Full =
      [
        ['Source','-','Save','NewPage','Preview','-','Templates'],
        ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'],
        ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
        ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'],
        '/',
        ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
        ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
        ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
        ['Link','Unlink','Anchor'],
        ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],
        '/',
        ['Styles','Format','Font','FontSize'],
        ['TextColor','BGColor'],
        ['Maximize', 'ShowBlocks','-','About']
     ];
});

For more configuration options, visit CKEditor’s Developer Documentation.

03 Dec 2009

Image ALT Tags

Quick Tips No Comments

Easily avoid one of the most common mistakes in website accessibilty and SEO optimization by including an ALT tag on all images.


<img src="image.jpg" alt="I describe the image" />

Read more about ALT tags.

01 Dec 2009

Notepad++ 5.6 Released

General No Comments

The newest version of Notepad++ has been released. Changes include:

Notepad++ v5.6 new features and fixed bugs (from v5.5.1) :

   1. Add languages encoding - Chinese traditional (BIG5), Chinese Simplified (GB2312), Japanese (Shift JIS), Korean (EUC), Thai (TIS-620), Hebrew (iso-8859-8), Hebrew (1255), Central European (1250), Cyrillic (1251), Cyrillic (KOI8-U), Cyrillic (KOI8-R), Cyrillic (Mac), Western European(1252), Greek (1253), Turkish(1254), Arabic (1256), Baltic (1257), Vietnamese (1258), ISO8859-1 to ISO8859-16 and a lot of more.
   2. Add auto-detection of HTML and XML files encodings.
   3. Add COBOL, D, Gui4Cli, PowerShell and R language support.
   4. Add Marker Jumper feature (Jump down/up : Ctrl+Num/Ctrl+Shift+Num).
   5. Add indent guide line highlighting for html/xml tags.
   6. Add system tray context menu and new command argument "-systemtray".
   7. Fix Unicode to ANSI encoding bug.
   8. Fix last recent file list menu items localization encoding bug.
   9. Fix last recent file number goes to zero issue.
  10. Add new command argument "--help".
  11. Fix Calltip hint bug and add a new capacity in it.
  12. Add the ability to add the second keyword group for user in both LISP and Scheme languages.
  13. Fix the wrap symbol display problem.
  14. Add SQL ESC symbol '\'.
  15. Fix column editor insert number bug in virtual space mode.
  16. Fix status bar displaying "-2 char" issue for a empty document.
  17. Fix installation of NppShell64 failed issue in installer.

Included plugins (Unicode):

   1. TextFX v0.26
   2. NppExec v0.3.2
   3. Spell Checker v1.3.3
   4. MIME Tools v1.6
   5. NppExport v0.2.8
   6. NppNetNote v0.1
   7. Compare Plugin 1.5.5
   8. Plugin Manager 0.9.3.0

Included plugins (ANSI):

   1. TextFX v0.25
   2. NppExec v0.3.2
   3. Spell Checker v1.3.3
   4. MIME Tools v1.6
   5. NppExport v0.2.8
   6. Light Explorer v1.5
   7. NppNetNote v0.1
   8. Compare Plugin 1.5.5
   9. Plugin Manager 0.9.3.0

Download now

12 Nov 2009

Embed Google Calendar on your website

Quick Tips No Comments

Embedding Google Calendar onto your website is a great way to quickly setup an attractive and interactive events calendar. Watch this video on how to do it:

11 Nov 2009

PHP 5.3 and MySQLi Prepared Statements

PHP No Comments

There seems to be an issue with PHP 5.3 and MySQLi Prepared Statements. The procedural code I wrote works fine in 5.2.x, but once I upgraded to 5.3, the results were bizzare. It would pull about 20-50 characters from the field, duplicate the last several characters over and over again (in and around the div container I had set for it), and even change some of the HTML code that was supposed to be outputted onto the page.

So if you are using prepared statements, I recommend staying away from 5.3 until they get everything ironed out.

06 Nov 2009

Michigan State University Ranks Top 3 in Web Accessibilty

General No Comments

This is a huge honor as I was part of the committee responsible for drafting and implementing the latest Web Accessibility Standards for MSU, and was the lead developer for the Resource Center for Persons with Disabilities website.

Read the article here

29 Oct 2009

Proximity Matters with Users

Quick Tips No Comments

Build your site and write your copy with the focus of connecting to your users geographically. Whether you reinforce or create the illusion you operate nearby, the results can lead to more sales.

Source – JIAD: Does Place Matter When Shopping Online? Perceptions of Similarity and Familiarity as Indicators of Psychological Distance

29 Oct 2009

Element Design Quick Tips

Quick Tips No Comments

A new feature that will be immediately added to the blog are “Quick Tips”. These are short, several sentence articles that describe an important aspect of designing and developing a website. For a full listing of tips, click “Quick Tips” on the right navigation.

25 Oct 2009

JIAD Case Study – Scalability & Speed

General No Comments

“The Journal of Interactive Advertising (JIAD) is a refereed online publication designed to promote our understanding of interactive advertising, marketing, and communication in a networked world.”

JIAD

The original site was extremely difficult to maintain. Changing one word on the navigation meant changing that same word on well over 100 files. The only way to edit articles was to find the HTML file and make changes directly to it, requiring someone with knowledge of HTML and access to a FTP client. The editorial board, which is a collection of many of the authors, had to also be manually edited. Each of the 70+ members had their own HTML file associated to them, which again, a design change to one meant going through each file and making the same change again.

The goals of the redesign was to:

  • Increase site scalability
  • Increase server speed and stability
  • Create an easy way to edit articles
  • Design a better in-site search engine
  • Promote search engine rankings
  • Attractive, minimalistic design

Easily Edit Articles

The first task of the redesign was to increase the efficiency of editing articles and board members. To do this, the site was converted into a fully database-driven website.

A small custom content management system was developed to allow easy page changes to the site. Since JIAD was now database driven, a WYSIWYG (What You See Is What You Get) editor was put into place. Anybody who has experience with Microsoft Word can easily make changes. While you make changes to the text, the editor converts everything to HTML code in the background.

Editing an Article

Editing an Article

Scalability

Another benefit of a database driven website is the decrease of the amount of files to run the site. For displaying articles, JIAD went from over 100 files to just one. This one file can handle hundreds of thousands of articles, and making a change to this file will instantly change all articles.

Each article in the database is also assigned to a specific “Issue”. By doing this, all of the article lists and issue pages are automatically generated. Making a change to an article title or authors automatically updates it’s associated issue page.

Increasing Speed

With over 400 unique visitors a day, it was important to ensure that the site would never slow down. To accomplish this, JIAD was first moved to Element Design’s business class servers. Furthering the speed increase, a caching system was developed for the website.

The caching system that was developed combined both a database-driven site with the speed you get from a file driven website. Before the caching system, when a user visited an article page it then had to access the database and retrieve all necessary information. Once the system was in place, the user now accesses an HTML file that had been automatically generated from the database. The speed benefits come from the fact that not a single user accesses the database when viewing the article, compared to in the past when 100% did.

Search Engine

The previous site search engine was lacking in bringing up relevant search results. Another problem with the original was that the search engine was extremely slow, and slowed down the rest of the site when it was being used. Another issue with it was that the search results were displayed in a ugly, white page that was not part of the JIAD design and look.

A solution to the search problem was to use Google Custom Search. With it, I was able to implement a Google search engine without ever having the user leave the site. Even though it is using Google’s algorithms, functionality, and speed, it was customized to only bring up results within the JIAD site.

The entire site was correctly indexed in Google’s servers due to its standards compliant and accessible code. The logical site structure and clean URLs (the URLs lack question marks and complicated code) also assisted in this, which resulted in JIAD ranking even higher in the search engine results.

Since the site redesign, JIAD now has an impressive Google Page Rank of 6, and searching for “JIAD” or “Journal of Interactive Advertising” now displays a list of site links within the results.

15 Oct 2009

META Keywords do not matter

SEO No Comments

I briefly discussed keywords and how they do not effect rankings in my previous post, “The Truth about SEO”. Google has recently verified this in their blog, and has brought up some good points to consider.

First, watch this video on an explanation on why they have chosen to ignore keywords:

Is it even worth having META keywords on your site? Search engines such as Yahoo and others place a small amount of importance on the keywords, but there is no guarantee that it will stay like this in the future.

When it comes to an Adwords campaign, you will most likely buy keywords you already have in your META keywords (since they are the keywords you consider to be the most important). Now think of a competitor doing marketing research, all they have to do is simply check which keywords you have listed, then directly target your company with their campaign. Without listing the META keywords on your site, you leave them only to guess.