Business
Protect Client Search Engine Placement with 301 Redirects
This is a big win for us web developers. It helps maintain all the SEO work that has gone into a site, and lets us move site architecture around with minimal impact.
Many times I run across companies whose website just went from ASP/CFM/JSP/PHP/CGI/HTML/HTM to ASP/CFM/JSP/PHP/CGI/HTML/HTM. Fill in the blank, migrating from one platform to another is a big deal. To make matters worse, how is a search engine supposed to know NOT to link to an old file, and to redirect the same relevancy to the new file?
The magic of 301 Redirects
301 is an HTTP Status code (just like 404 and others, 403, 500, etc).
301 tells browsers and search engines that a page has been “Moved Permanently”
How can you do a 301 redirect?
First off, do NOT attempt redirecting unless you know specifically what to do. Trying to implement a meta-refresh tag will hurt you more than it will help. Search engines have become wise to the meta-refresh game that spammers have been involved with. Do not do it.
There are 2 routes to take, server side, and code side.
Server Side 301 Redirects
If you’re lucky enough to be working on a server supporting .htaccess files, your life is easy.
- Create a file called “.htaccess” in the root of your website
- Open the file in a text editor
- Set the contents to the following (replacing original, and new):
Redirect 301 /original/original.html http://www.yoursite.com/new/new.html
RedirectMatch 301 (.*)\.htm$ http://yoursite.com$1.html
- In IIS (internet services manager), right click on the old file
- Select “a redirection to a URL”
- Enter the URL for the new page
- Select “The exact URL entered above” and “A permanent redirection for this resource.”
- Click “Apply”
| PHP | header( "HTTP/1.1 301 Moved Permanently" ); |
| ASP | response.setStatus(301); |
| JSP | response.setContentType("text/html"); |
HttpServletRequest req1=(HttpServletRequest) request;
StringBuffer ReqUrl= req1.getRequestURL();
String RequestUrl=ReqUrl.toString();String source;
String str; source = RequestUrl;
str = source.substring(0, source.indexOf(".jsp"));
response.setContentType("text/html");
response.setDateHeader("Expires", 0);
response.setHeader("Location", str+".php");
response.setStatus(301); Papervision3D update
So far so good with Papervision3D. It took me a few hours but I’m already mostly up and running with the new framework.
Later on I will post each step that I made in working with Papervision3D.
When I learn a new framework I like to learn each of the basic tools first in their entirety. It helps later on when dealing with more complicated ideas.
Along the way I’ve run across a few extremely useful sites:
- Mad Vertices – Jim Foley’s Brain. Flex, Flash, Papervision 3D, Swift 3D and other cool stuff.
- InsideRIA – Useful blog touching on more complex flash / actionscript 3.0 issues
- EverydayFlash – Creative use of technology. A blog about 3D Flash and Actionscript by Bartek Drozdz
Papervision 3D work
Among us flash web developers, who hasn’t tried creating a 3D engine of their own before?
I think it’s par for the course for any flash programmer who has taken linear mathetmatics or 3d coding classes at some point in our histories.
I’ll admit, my last official adventuring into 3D engine work was maybe 8 years ago back when I was in the Computer Science program at Boston University.
At that point it was mostly implementing ray tracers, DirectX 3D transforms and other basic 3d manipulations (stick figures, kinematics, reflectivity, etc.).
Flash has been much more “complicated” as it were. Given the processing limitations it’s always been a game of artifically implementing 3D effects, as opposed to creating a real 3D engine.
In my upcoming project, I’ll be playing with Papervision 3D (Blog, Project Home, Official Site).
I’ve followed Papervision3D for a while now, watching as site after site wins awards.
The most interesting thing, is that the sites that win awards for implementation of Papervision3D don’t implement extraordinarily complex 3d sites (at least so it seems, maybe that’s the magic) but artfully integrate a 3d engine into their experience:
- Barcinski & Jeanjean – I love the unique “loader”, as well as simple early interactions to allow for loading, while the user doesn’t think loading is going on.
- Fat-Man Collective – A great website fully integrating a 3d engine with design, seamless, simple, and very effective.
- 13Flo – Ignore everything you think a website had to be, just take a look at this.
Results will be posted here.
AJAX Effects, including Heatmapping
I saw an article on Digg today, 20 Excellent AJAX Effects You Should Know.
They go through the usual stuff, auto completing forms, inline editing, fancy uploading, email, file directory, etc.
The most interseting, to me at least, is the “ClickHeat Clicks Heatmap“.
The other effects are all standard, they are very useful, but as is noted in the article — heatmaps are an underused aspect in web development.
Way back when, I used to work on Heatmaps (although I didn’t have a name for it). I had created a webpage that was just a grid of 5×5 transparent pixels. The point of that, was that each pixel reported the mouse position on mouseover. Back then (this was in 1998 now), I had tried to find a way to get the browser to be able to track down where the user “looks” with the mouse, while on your website.
Can’t we all understand just how powerful this is?
We can finally, clearly, see what a user is looking at with their mouse. I know I do this — move my mouse around as I’m interested in something in an article. I don’t know why I do it, but I do.
Here’s just some quick ideas:
- Identify if the users can “see” parts of your navigation, or if they are ignoring it
- Which articles are they looking at?
- Optimize the functionality to report on a single user, and record the time of the mouse position — giving a view of exactly where a user moves their mouse (they may provide this functionality)
- Adding mouse movement tracking (the software seems to only report clicking locations)
jQuery becomes an official part of Microsoft and Nokia Frameworks
As posted on the official jQuery blog, “jQuery, Microsoft, and Nokia“, jQuery is being made an official part of the development platforms for both Microsoft and Nokia.
That’s going to be quite the blow to other frameworks. Does this mean Scriptaculous will be slowing down?
I think this may have been strategic, as Apple has pushed Scriptaculous, and other developers have been using the Yahoo AJAX kit, as well as the Google AJAX kits.
All in all, great news for the talented jQuery team. A great piece of software that is changing the way the web is being built.
Flash Optimizations of onClip enterFrame events
I’m going to be writing up a tutorial and exploring the benefits of what I am about to propose, this is for conversation and discussion.
When creating MovieClip objects that update their status every frame they enter, traditionally you bind a general loop to their “onClipEvent(enterFrame)” or other methods to bind to the onEnterFrame method.
Inside is normally a loop that executes perpetually with each frame refresh. When objects build up with this logic, the framerate in Flash movies can dwindle. This is especially evident on slower functioning computers.
I will be testing out a method to enhance movieclips who don’t need to always be looping. For example, if you have a navigational structure with 3 elements. Lets call them Home, News, and Contact. These navigational elements need to animate themselves when told to do so by the main flash animation.
Normally I would bind a method to “setTargetXY”, “doAnimation”, and let the main handler “onEnterFrame” handle the animation from there.
But what about when the movie isn’t moving the navigation around?
I propose the doAnimation should always have a “this.start()”. Additionally when the animation is over, the main handler should “this.stop();” to stop the moving from entering frames and continuously checking for an “isActive” or other qualifiers to begin animation calculations.
I’ve informally done this before just out of optimizing code, but I think a more formal approach may be beneficial.
Does anyone know if the flash player automatically does this? Tests for logical qualifiers in movie loops, and stops them until those qualifiers change?
It could be a nice optimization to the way Flash player handles static objects who have a loop with a single if statement wrapped around.
G1 – Will it support flash?
One of the biggest questions I have right now, is will the G1 support flash?
The famous “Google Phone”, competing with the iPhone — so far I cannot confirm or reject the possibility that it supports flash.
The lack of flash support on the iPhone is my biggest problem with the phone.
Some other various pieces of information I have gathered, mostly negatives about the G1:
- it is almost 30% thicker, 20% heavier
- smaller screen
- forces the user to use google accounts for email / contacts
- does not sync with desktop applications
- Built in compass (think of applications in Streetview, and other geospacial technologies)
- Google Street View support
Apple’s controversy regarding stealing ideas from Intelliscreen
Intelliscreen is an application for jailbroken iPhone’s. The application modifies the “locked” iPhone screen (normally your background with an unlock slider), and adds information collected from various sources.
After I got my new iPhone 3G, I had the privilege of fearlessly jailbreaking my old iPhone. I installed the application, it was great. When you pick up your phone you saw news, weather, and messages all without even unlocking your phone.
To the right you can see what the Intelliscreen image looks like. Very useful.
Recently Apple has announced they will be releasing the same functionality legitimately on the iPhone. This is of course through a patent filing.
Everyone has been saying that Apple was stealing from Intelliscreen. This coming as everyone is hearing the story about the furniture salesman who “invented” the iPhone (here’s a hint how that’s going, he’s still a furniture salesman).
In recent light, it turns out the filing actually dates back BEFORE the Intelliscreen application came out. That’s right, the patent dates back to June 2007, whereas the Intelliscreen application didn’t come out until May of 2008.
I think the consumers win out on this one, as Intelliscreen has had time to test the application in a small subset of iPhone users. Apple will officially release the alterations to the home page.
I hope Intelliscreen doesn’t get left out in the cold, as they made some nice software.
Feedburner, WordPress and Blogs
Running and maintaining a blog is a learning experience for me.
First thing I’m learning, there is no instant gratification.
Second, fortunately, there are tons of tools out there to help you.
I’ve just stumbled across a post at TD Creative, with regards to Feedburner. It highlights some things that feedburner will do for you.
Highly recommended read, I’m looking into it at the moment.
Chrome – Holding Steady
I had posted earlier that I had setup Google’s new Chrome browser.
Now it’s been at least a week that I’ve been using it and I wanted to post some comments.
First of all, I don’t consider a “beta” browser. I know whenever I test out a new browser it feels like it’s almost unusable for a period of time. It’s been getting much better since the IE4 days, but there’s still always a sense of “this isn’t ready yet”.
Being a web developer, I dread new browsers because … thats just one more environment you have to test in.
With this browser, I feel like it is already a final product. Already I’m excited about the integration of “Gears”, the slim application like interface when you “Create application shortcut”, how fast it seems to run, and the possibilities it introduces for Javascript and AJAX online.
Some minor issues I would, however, like to raise are:
- I had a tab freeze, and the other tab froze as well — I had thought each tab was supposed to be entirely independent from one another in processor space and prevent this. Maybe I’m misunderstood?
- It seems the great “V8” team that Google had put together is in competition with SquirrelFish Extreme in terms of pure performance. Needless to say, I’m no expert in this, and it’s probably one of those benchmarks that highly favors a browser, or isn’t indicative of the complete functionality of an engine.
- This is entirely a subjective point, but I don’t like the way the Taskbar icons look. I know I’m tuned into Firefox and IE’s icons for the web, but I always get confused with the 3 colors in the Chrome taskbar icons.
- Whos’ taking advantage of the new functionality the most? I remember years ago seeing links to who was taking advantage to IE4′s new capabilities, does anyone have a list of site’s that are built to embrace Chrome? (maybe an idea for a future project)
Please share, it makes me happy:
Subscribe to Email Alerts
Make a Donation
Popular Posts
Follow Me
Recent Posts
Archives
Tags
Blogroll
- 456 Berea St
- ActionScript 3 Design Patterns
- adactio – home of Jeremy Keith
- ajaxian
- Boxes and Arrows
- Chris Brogan
- CSS Globe
- InsideRIA
- Jarrod Michael Studios
- Johan Brook: Designer and Developer
- Mad Vertices
- NETTUTS
- Portsmouth Community Calendar
- Roomware Blog
- Signal vs. Noise
- Six Revisions
- Snook
- Style Grind
- Tiago’s Weblog
- Viget Extend
- Vitamin
- Whats the latest
- Woork
- zupko.info



