Feature
Post

Category
General

3DEnvironments Flash Component Review

When Flash first made its debut online, I was really excited about all it could do. Creating more immersive environments online, Flash seemed like it was going to open up a whole new layer of experience and interaction for the web.

Quickly though, like many, I realized that over use of Flash could be a bad thing, and basically tossed it aside. What I didn’t realize at the time is how big of a role Flash was going take online as time progressed.

Now we watch Flash videos all the time, and people are quickly realizing once again how great, properly used Flash can be.

Flash still provides a much more immersive interface than other technologies currently available online, and can be used for a myriad of different things.

Recently, I was able to try out the 3DEnvironment component created by Flashloaded. Flashloaded is a company dedicated to providing the world with innovative and cost-effective Flash extensions and components. One thing that really excited me about the company was that it is based in Toronto, Ontario Canada, only two and a half hours drive from where I live and I am a sucker for Canadian companies.

The 3DEnvironment is a Flash component that makes it easier to create 3D interactive interfaces and environments in Flash.

For example, if you want to create layout tours for a building, allow visitors to fly through the solar system, or create a custom interactive navigational system, 3DEnvironment can help you easily achieve that goal. My favourite demonstration that they have on their site is the colour wheel as I could definitely see something like that used for a variety of applications.

Featuring fully customizable controls and full keyboard and mouse interactivity you can bring together graphics, or movie clip symbols to engage your audience in a new and interesting way. I have seen tutorials on how to create three dimensional effects before, but my limited skills with Flash or 3D modeling have always stopped me from creating anything worthwhile.

I have always then just given in and created a flat website without any flash at all. Trying to convey distances, object size comparisons, and even just simple landscaping, and building layouts is much more difficult with text, and some images. I could definitely see this useful in a variety of different corporate projects as well as smaller freelance projects.

The best thing that any developer or designer can do is find ways to create something without re-inventing the wheel each time, and the 3DEnvironment component from Flashloaded will save you time and energy when developing such environments and interfaces with Flash.

Features

  • Create realistic 3D environments with depth and perspective
  • Build unique interactive interfaces
  • Custom keyboard controls for users to navigate around the 3D environment
  • Mouse wheel support for navigation
  • Move objects in the environment with built-in tweening and customizable tween duration
  • Rotate the world around all three axes (x, y and z)
  • Camera controls for panning and zooming to change the perspective on the environment
  • Add objects through an intuitive user interface, external XML file or using flexible ActionScript controls
  • Built-in preloader for loading external files.
  • Use any movie clip in your library to display in your 3D environment
  • Full ActionScript API - including the ability to move the camera through ActionScript
  • Only 15Kb

Requirements
As with any Flash development, you will need to have one of the following to use 3DEnvironment: Macromedia Flash MX 2004, Flash 8 (standard or professional) or Adobe Flash CS3 for authoring (Windows or Mac). Movies using this component may be published for either Flash Player 7, 8 or 9, ActionScript 2.0.

How Much is 3DEnvironment?
Of course the question that all developers and designers ask themselves when coming on anything that is supposed to save them time is, how much money will it cost? Flashloaded lists 3DEnvironment for $59.95 on their site, and at first I wondered if I could find equivalent value for such a product? After viewing the examples on their site and trying out the component myself, I have to give a resounding “yes”.

The time it would take me to build even one of the examples on my own in Flash would take me longer than a couple hours, and even at a cheap development rate, 3DEnvironment by comparison becomes a value. Also note that the license allows you to use the product to generate content for as many sites as you want.

I really wish I had this product when I was working on a product for a house builder, as it would have been very useful to show off the open plots of land, give a quick way for clients to see what houses are already up and for sale, and creating an interactive, easy to use, user experience.

If you are constantly spending too much time building three dimensional environments and user interfaces in Flash, 3DEnvironments could save you time and energy, allowing you to focus on the finer details. Now if only there was something to make me a better graphic designer…

Feature
Post

Category
Column

What Do You Want to Develop With in 2008?

So with 2008 right around the corner, it is time to reflect on what has happened in 2007, and what we are looking forward to in 2008. I have watched as frameworks, javascript (ajax) and new versions of a variety of different programming languages picked up steam this year, but what are you hopeful for in 2008 in regards to developing new applications. Are you waiting for PHP 5 to build up more of a following, a new framework to make your development process faster, and more efficient, or a new version of an application that will finally have all the features you have been waiting for?

Personally, I am looking forward to WordPress 2.4, with its new administration panel design, ajax to start looking a bit old, and used in better ways, and more lightweight but powerful applications. If anyone knows of a more modern and up to date piece of software like Crimson Editor, please let me know.

I would love to hear what you are most looking forward to and why, as we finish up what was an amazing 2007.

Feature
Post

Category
General

Client Work Over the Holidays

So now that we are into the holiday season, it might be a good time to remind you all to make sure you plan ahead for the holiday season. Don’t let clients pressure you into working rather than spending time with your family or friends. I know what it is like as I have made this mistake in years past. Everyone wants their projects done before the new year, even if it isn’t reasonable to make such a request.

At the end of November, I started telling everyone that any work started wouldn’t be done until after the seventh of January. This gives me plenty of breathing room when it comes to completing work, and makes sure that client expectations are set properly. I can now celebrate the holidays, and New Years without the burden of client work eating away at me.

This is a smart idea for another reason. Ever work on a project and not being able to get the feedback you need to finish it? Well, the holiday season is the worst for that. No one is ever at home or in their office, and if you don’t get the information you need, and finish your work on time, it only makes you look bad.

Be smart, plan ahead, and enjoy your holidays.

Feature
Post

Category
Publishing

The Dangers of Buying a Blog

So, for a while now, I have been watching Sitepoint, and other places where you can buy and sell sites. I have also watched as numerous sites I know well have been bought and sold, and there is one major thing I have realized: on average, a site will lose up to a third of its traffic after being sold.

I know this is a generalization, but from what I have seen over the last couple of years proves to me that I am right, especially where blogs are concerned.

Most blogs are focused around a certain person or persons running the show. They post on the site, deal with advertising, and design. As a reader, you build up certain expectations and when a site is sold, all of these expectations crumble as the new owner always does something different with the site.

So my first piece of advice to a potential blog purchaser is to make sure that you factor in this drop, as pretty much nothing you can do will stop it from happening, and the stronger the personality of the original owner, usually the greater the drop in traffic.

An example being Paul Scrivens’ sites. The guy has a very strong personality, and a certain style of writing, but even more than that, he has fans that follow him around, and are interested in what he is doing. As soon as he leaves a site behind, a certain group leaves as well, and there is nothing the new owner can do other than hire Paul to write more articles on the site they have purchased.

So does that mean you shouldn’t buy a blog? Well, of course not. Buying a blog, even one with a strong personality can be a great business move, and allow you to access an audience you might have missed before you purchased the blog, but make sure you factor in this drop, and make it part of your plans.

When purchasing a blog, make sure you have some promotion methods in place, some big ideas, and some powerful writers to help carry the site through the transition, and remember, the more you change, the more you can expect the original audience to go somewhere else. It is a very hard business issue that is more apparent in blogs than pretty much any other type of site.

I would love you hear your ideas on other dangers you’ve experienced in buying or selling a blog, and if you have bought a blog, was there a traffic dip, and how did you combat it?

Feature
Post

Category
Code

Client Friendly WordPress Themes: Header.php

So today I wanted to take some time to talk about how you can make a WordPress theme more friendly for your clients, friends and general distribution by taking advantage of the template system built in to WordPress.

We are going to start with the header, an often misunderstood part of the WordPress theme. The part of the theme that can do a fair bit of the heavy lifting in a theme.

Here is the full text of the code I am going to dissect for you today:

PHP:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2.  
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.  
  5. <head>
  6.  
  7. <title><?php if ( is_home() ) { ?><? bloginfo('name'); ?>&nbsp;<?php bloginfo('description'); } else { wp_title('&nbsp;'); ?>&nbsp;by&nbsp;<? bloginfo('name'); } ?></title>
  8.  
  9. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  10.  
  11. <link rel="shorcut icon" type="image/x-ico" href="<?php bloginfo('template_url'); ?>/favicon.ico" />
  12.  
  13. <link href="<?php bloginfo('stylesheet_url'); ?>" rel="stylesheet" type="text/css" />
  14.  
  15. <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/javascript/imghover.js"> </script>
  16.  
  17. <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" />
  18. <link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" />
  19.  
  20. <?php wp_head(); ?>
  21. </head>
  22. <body>
  23.  
  24. <!-- header START -->
  25. <div class="Header">
  26. <h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>
  27. <div class="Desc"><?php bloginfo('description'); ?></div> 
  28. <!-- header END -->
  29.  
  30. <!-- container START -->
  31. <div class="Container">

The first thing that is relevant to WordPress theme authors is the title tag. Most people, by default just put the name of their blog, and a catch phrase as their title and while this is all well and good, for search engine optimization purposes, you might want to go another route. Sure, there are WordPress plugins that can help you add more optimizations to your blog, but I don't like to have to rely on plugins, unless I have to, especially when I am going to be giving a theme to someone else.

PHP:
  1. <title><?php if ( is_home() ) { ?><? bloginfo('name'); ?>&nbsp;<?php bloginfo('description'); } else { wp_title('&nbsp;'); ?>&nbsp;by&nbsp;<? bloginfo('name'); } ?></title>

What I have done here is to basically say, "if we are on the home page, show the blog's name, and description, otherwise show the title of the current article and then the title of the blog." While this is not perfect, it is a huge step up from just showing the blog's name, and description on every page, and every article.

The bloginfo('name') and bloginfo('description') come from the WordPress administration under, the Options -> General panel in the sections that say, Blog Title and Tag line.

The next line of note includes another reference to bloginfo, but this time asking for the template URL.

PHP:
  1. <link rel="shorcut icon" type="image/x-ico" href="<?php bloginfo('template_url'); ?>/favicon.ico" />

This allows us to easily grab things from the themes folder, even if the user renames it for whatever reason. You will see this referenced in a few places in my WordPress themes, including the rare times I want to call a graphic without using CSS.

PHP:
  1. <img src="<?php bloginfo('template_url'); ?>/images/coolgraphic.jpg" />

The next relevant line is dealing with the stylesheet. WordPress looks for style.css when using their templating code, so make sure your style sheet is appropriately named.

To reference it, just use the following code:

PHP:
  1. <link href="<?php bloginfo('stylesheet_url'); ?>" rel="stylesheet" type="text/css" />

Next, we have the RSS code. This will allow certain browsers like Firefox, or websites like Bloglines, to find the RSS feed you want associated with the site.

Each type of feed that WordPress creates must be linked to if you want them to appear. Some people pick and choose which formats they like and display them, but I display the two most common: RSS 0.92 and RSS 2.0.

Here is the code to do that:

PHP:
  1. <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" />
  2. <link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" />

You will notice that almost everything I have mentioned thus far has made use of the very useful bloginfo function, and if you want to learn more about it, I suggest reading the WordPress Codex.

PHP:
  1. <?php wp_head(); ?>

If you want your theme to work with plugins that exist, then adding in the wp_head call is very important. This little function allows a vast number of WordPress plugins to add all sorts of code to the top of the theme. I have seen far too many of them not include it, and thus a huge number of users complained.

PHP:
  1. <h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>

The above code includes the get_option('home') function which is just one of the ways of linking back to the main page of a blog. I use this option to link to specific pages as well, though I don't always recommend it.

With this information, and the WordPress Codex, you too can start to make your WordPress theme work well, no matter who uploads it.

Idea for this post by Chris Garrett of the449.

Feature
Post

Category
Strategy

Promoting Your Articles

One of the biggest questions I get pertains to promoting an article online. Once you have written something amazing, it doesn't really matter until people read it, and the best way to get it read is to promote it on social bookmarking/networking/news sites like Digg, Reddit, and others.

Of course you have already heard this all before, and you want to know what the "secret sauce" is that gets certain people on the front page of sites over and over, and the answer is simply: connections.

The biggest weakness in all of the social promoting sites is the fact that if you have many people give a thumbs up to your story, you will move up the ranks and get a fair bit of traffic, even if you don't make the front page.

While systems like Digg and others are wise to group voting, you can continue to build up great stories and promote them by increasing your group, and only using groups that would enjoy the story to boost it up in the rankings. If you have a friend that wouldn't be interested in an article you wrote, don't send it to him or her. You can then create lists of about a dozen or so people, for different sites, interested in different things and tailor your promotion list accordingly. With a big enough pool of people, you can get your best articles promoted rather easily, and then, if they are really good, the community, once they are exposed to the article, will do the rest, and sometimes bring your post to the front page, where it will then be insulted in all its glory.

How do you increase the pool of people you can call on to help with promoting your post? Make friends! Network with people in the same boat as you, and when you have written your best articles, let them know. It might not always get the response you want, but if you give them the option of promoting it through one of the social news websites, they might just do that, even if they are just doing it to bookmark it.

Bloggers are very approachable. Even us here at Devlounge love to hear the ideas you might have in regards to content we should be publishing, so say your peace on the contact page.

Promote your articles often, become part of the social news/voting community, and make friends. All systems have their weaknesses, and in this day and age, if you don't work those weaknesses to your advantage, you won't get noticed. It is a sad truth, but a truth none the less.

Feature
Post

Category
Column

E-Books: Useful or Useless?

As I continue to build up my own blogs, as well as other blogs, I watch as people make a fair bit of money, through selling their content in an e-book form. After reading more than a dozen of these so-called "expert" accounts of how to increase traffic, get more RSS subscribers, boost your PageRank and otherwise build up your blog into a money making system, I realize that many of these books are completely useless.

Many are missing the context on how to enact the tips they give you, and basically give you step one, step three, and step five in the process, making sure they you make the e-book publisher more wealthy, while not really creating any real advantage to you. The information is valid, and if you had the full process, it could help you, but another thing they don't tell you is that their ideas only work for the first people that try them out. Users, search engines and advertisers quickly get wise to new "systems" (schemes) and quickly block, remove or otherwise change their system so such tactics no longer work.

Are e-books just playing on our hopes and dreams of striking it rich online or can they provide real value?

I have gone and read some of the most prominent ones, and I have to say that there are very few that I have learned anything from. Most give out information which can be freely found elsewhere, and they really don't convey their lessons any better than the free sources.

They question then becomes, why do people buy e-books? Does the fact that it isn't free drive people to place value on the product? Are we all just lazy hopefuls? Or are there some e-books that are really informative, helpful and worthwhile? Not that we would ever do it, but if Devlounge became a paid site, for $25 a year, would you all pony up the cash to continue to read, or would you move on to other free sources?

Please feel free to have your say in the comments below.

Feature
Post

Category
Publishing

WordPress Tip: Disable and Remove Unused Plugins

As WordPress continues to evolve and change, and your blogs grow as well, you may no longer use certain plugins, but forget to deactivate them and this could lead to a huge security issue down the road.

WordPress 2.3 and above has been great about letting you know when there are updates to certain plugins, but if you ignore this update message, or if there is no update notification, and you leave a plugin active, you could be opening your WordPress blog to being compromised.

Plugin authors don't always think of everything when creating their plugin, and I would hate to see anyone have their blog be hacked due to a vulnerability in a plugin, so please, if you aren't actively using and updating your plugins, remove them, as you will be closing potential security risks.

I know it is something not widely talked about in the community, but there is no reason to have four or five dozen plugins on your WordPress blog if you are only using three or four. I try to stay away from using extra plugins as much as possible, and I also steer away from any plugin that isn't actively developed.

If you follow my advice, you will have taken another step to protect your blog, and in this day and age, that is never a bad thing.

I also highly recommend updating your blog to WordPress 2.3.1 if you haven't already, and making sure you back up your blog both before and after the upgrade. If your blog is compromised, a working backup can reduce the data loss.

Feature
Post

Category
Column

Don’t Depend on Free Services

If you haven't heard by now, TinyURL has gone down. The popular URL shortening service went down sometime in the night, and has yet to come back up yet. With so many services depending on the free TinyURL service, I am surprised that it has been down for so long.

When Text Link Ads decided they were going to use TinyURL for their referral links, most likely in an attempt to hide the links from Google's eyes, I was shaking my head. Never trust a free service as a layer between yourself and your customers. Currently, if you click on a referral link on a blog, it gives you a pretty 404 page not found error. This outage also effects the very popular Twitter service which currently uses TinyURL to shorten URL's automatically.

Sure it can be nice to use a free service to make your business better, but there should be a system in place for when it goes down. I recommend those that are using the system like Text Link Ads, and Twitter, invest in TinyURL if you are going to continue to use it, as outages like this don't just make TinyURL look bad, but also the companies that depend on it.

Twitter could have easily avoided this problem by building in a fail safe system to check TinyURL and make sure it is up, if not, then use one of its many competitors during the outage. A simple and effective fix that TinyURL might not really like, but it would make the user experience seamless, which would make Twitter look good.

If you are going to use a free system, make sure there are things in place to deal with faults, as services you depend on may not always be available, and can ruin how people view your business.

Update: TinyURL is back up and running with no word excusing the outage.

Feature
Post

Category
Publishing

Reset a WordPress Password from phpMyAdmin

If you are managing a WordPress installation and for some reason, maybe a hacker, you no longer have access to your Administration panel using your user name and password, then it might be time to change that information using WordPress' database.

Even if you don't have CPanel, you should have access to phpMyAdmin. It is a simple, but powerful, application that allows you control over your databases, and can be easily used to change all kinds of information stored in the MySQL databases it manages.

Step 1: Do You Know Which Database WordPress Uses?

Before we do anything else, we have to assertain which database WordPress is using. If you only have one WordPress publishing system installed, this isn't a problem. If you have used an automated means of installing WordPress, you probably don't remember what database you have used.

Even worse, if you are like me and have over a dozen WordPress installations spread on a few different databases, with some using the same database, figuring out which one you need to change can be a nightmare.

The easiest way to figure out which database you are using is to FTP into your hosting, and open the wp-config.php file with a text editor. It will give you the database name, which we will use later in this tutorial.

Step 2: Getting to phpMyAdmin

MySQL Databases Link in CPanelIn a CPanel environment, you will most likely have a button called MySQL Databases. It may or may not look like the image over to the right, but none the less, it should be there somewhere.

Clicking on it will list all of your current databases, as well as other information. Don't concern yourself with all this right now. Move to the bottom of the page, where there should be a link that says, phpMyAdmin.

Step 3: Finding Your Users

A new window will most likely have opened. It will have two panes. On the left hand side you will have a list of databases. Click on the one related to the WordPress installation we are going to work with.

Look for a table called wp_users in the left hand pane. It is usually the last item in the list.

*Note: If your WordPress table prefix is not wp_ then you will be of course looking for your custom prefix user table. You can find your prefix in the wp-config.php file.

Click on the user table link, and in the right hand pane, the information will change. At the top there should be a few links. Click Browse.

It should then look something like the following image.

phpMyAdmin WordPress User List

Step 4: Editing the Password

You will notice there is a field called user_pass. This is where the password is stored in WordPress. Find the user you want to edit, and click the pencil image next to the red X. This will allow us to edit the entry.

phpMyAdmin WordPress Edit Password

You will notice the password is strange, and not plain text. This is because for security reasons, WordPress stores the passwords as an MD5 hash.

We can't just enter a normal text password, and should replace the MD5 hash of the password we don't know with the MD5 hash of a password we do know.

To create an MD5 hash, I usually just search for "online MD5 hash" on Google, and come up with some great online tools for creating the result I need.

Example: Javacript MD5

In such tools, I enter what I want the password to be, click a button to process it, and it spits out the MD5 hash that I want to enter in the user_pass field.

Click Go to save the change, and then log in to WordPress using your new password.

Sidenote

If a hacker was able to change your password, or other information in WordPress, upgrading should also be one of the first things on your mind once you change your password.