Archive for January, 2008

Iconize Textlinks with CSS

Thursday, January 31st, 2008

Have you ever clicked on a link and been surprised with the result? The worse culprit for this I would say is PDF documents.

PDF documents open up the Adobe Reader inside the browser, and most users don’t want this. They usually want to download it to print. Instead this ugly program loads and it takes a long time to load.

How can we let the user know what they are clicking on, so their are no surprises?

The simple answer is put a little logo on the link. At PoolieStudios.com they have come up with an easy solution. It looks at the extension of the file that you are linking to in your “href” and puts the appropriate icon next to it.

No manual work is needed, but the only catch is that it doesn’t work in IE6 due to the advanced CSS selector used.

Posted in Uncategorized | No Comments »

Aptana IDE

Wednesday, January 23rd, 2008

A couple of months ago I was introduced to a web IDE that I had never used before. Of course you have all heard of Dreamweaver and FrontPage but Aptana is different because it is open source and free

Its specialty has developed into AJAX and JavaScript development. JavaScript is one of those few languages that doesn’t seem to have a lot of code assist in IDE’s. This one however gives you full JavaScript support.

As well it supports other unique elements such as easy Rails, iPhone, and Adobe Air development.

It can be a little sluggish as it is built in JAVA and takes a lot of resources, but it does have great power

Recently they just released an AJAX server called JAXER. It is a bit tough to get your head around, but it is supposed to be similar to Tomcat for JSP’s and Servlets. It provides some extra functionality that they have already done for you

View the Aptana website for more information

Posted in Software | No Comments »

Search Engine Friendly URLS

Tuesday, January 15th, 2008

I am sure you have all seen the sites that have urls that look similar to books.php?id=4353. A URL like this not very friendly to users or even search engines. No person is going to remember that book number. Along with this search engines do not always properly crawl this.

Wouldn’t books/harry-potter.html make both users and search engines happy?

You might ask how an HTML file parse PHP code in this example. Well it works by using a simple .htaccess Unix file in the appropriate folder. You only need a couple lines in this file to make it work. Below is some sample code for the basics.

RewriteEngine On
RewriteRule ^books/harry-potter.html$ books.php?id=4353

Explanation

  • Line 1: Turns on the URL Rewrite Engine
  • Line 2: First half is a regular expression of what a user enters into the browser and the second is where that is redirected.

Now this is fairly simplistic as this only work if a user types in the exact harry potter url. We can also make this Rule work for multiple books and change the parameter in the PHP file using a regular expression.

RewriteRule ^books/([a-z-]+).html$ books.php?title=$1

In the above code we are saying anything that after /books/ and before .html take that combination of letters and redirect to books.php with those values assigned to the title. The OPTIONAL parentheses allow us to use what is in between like a variable. The first parentheses are represented by $1, the second $2, etc.

Examples

  • books/my-sweet-book.html calls books.php?title=my-sweet-book
  • books/testing.html calls books.php?title=testing
  • books/asp-unleased calls 404 not found because the .html is missing

Posted in SEO | No Comments »

MVC Controller Design Pattern

Thursday, January 10th, 2008

MVC which stands for Model-View-Controller is a pattern I have been intrigued with lately. I first got introduced to the concept when I began experimenting with Ruby on Rails. It enforces a separation of responsibility.

The view should not need to know what the database is. It should focus only on what it needs to display content to the screen. The model contains database specific code to perform the basic CRUD options (Create, Read, Update, and Delete). Lastly the controller contains business logic and bridges the gap between the view and model.

I found that separating code into these 3 layers is not always a straight-forward process, but it does have its long term benefits.

  • easier to maintain due to things being abstracted away and not all clumped together
  • code is reusable because each layer is not tightly coupled to each other
  • changing databases is easier due to all database access being in one area not throughout all pages

Posted in Web Programming | No Comments »

Internet Explorer Bugs

Thursday, January 3rd, 2008

While I was working on creating this new website, I was again reminded of all the frustration caused by Internet Explorer. It has numerous CSS bugs that sometimes make you pull your hair out. You design a website to perfection in a CSS-savy Firefox, but when you test your website in another browser (as all web designers should do) it looks beyond awful. Your DIVs have a 3px gap, or worse it has doubled the margin it should.

I have found out by doing a few website by now, that the best way to approach this is to design your site in Firefox using a couple great extensions (Firebug and Web Developer Toolbar) and as your doing this apply CSS hacks(* html) to get IE to behave properly.

Posted in Uncategorized | 1 Comment »

 
connect with me!