web technology is a way of life
26 Sep
I’ve always found that it is easier to drop the query string into an object similar to the $_GET object in PHP. This allows you to grab any query variable by it’s name by simply calling window.query.name or window.query['name'] as well as getting the number of query vars available via window.query.length to simply check if any exist. For the hash, I like to use it as a breadcrumb style path separated by slashes, so here I’ve split it into an array that can be accessed via window.hash[2] and accurately report the number of parts with window.hash.length that reports an empty ‘#’ as 0.
// Query | Hash Globals
window.query = new Object();
window.hash = new Array();
// Populate Query String Object, iterate over each name-value pair
window.query.length = 0;
window.location.search.replace(
new RegExp('([^?=&]+)=([^&]*)?', 'g'),
// populate the object with the values by name
function($0, $1, $2) { window.query[$1] = $2; window.query.length++; }
);
// Split the hash into sections by / or any other char
window.hash = window.location.hash.slice(1).split('/');
window.hash.length = window.hash.length == 1 && window.hash[0] == ''? 0: window.hash.length;
25 Sep
Google Moderator is place for you to ask questions. Will it become the next big thing? I’m not feeling it yet, but check it out on your own. Here’s my Question about JavaScript Libraries.
19 Sep
eCalc is the perfect online scientific calculator with a history and easy to use interface. It even does Hex!
18 Sep
Today Avinash Kaushik of Google and the author of Web Analytics: An Hour a Day spoke this week at Web 2.0 here in NY and today to a private audience at the kb+p offices. This was a great experience. He is a very inteligent and funny person, who really made analytics feel like more than dry numbers. He definately gave me a lot to think about and put a number of great ideas into my head for how to really let web analytics really produce results and improve the goals of the site.
There were three important things (among others) that I gained from his talk:
16 Sep
With the latest launch of Google Chromium for OS X and Linux by CodeWeavers, I thought I should jump into why Google Chrome isn’t exactly worth all the hype, yet. I’m not anti Google, I actually enjoy many of their products, I use gmail, I search with google, I use adwords and adsense, google docs, calendar, gears, etc… But like many of their products (and yes many other companies are in the same boat too) they aren’t perfect yet, and lack a certain number of features; and still contain bugs.
First off, I need to admit that I won’t switch fully over to Chrome until I get a few features that make my life easier. I need extensions, I need my del.icio.us buttons. I hate bookmarks, and having to copy and paste things into del.icio.us is annoying. One other main thing I think is lacking, is that you can’t drag a link to an existing tab. This is a feature that IE 8 is also lacking and it completely annoys me. It’s not as if the feature is overriding an existing feature or is somehow made easier by another one.
Also Chrome doesn’t render certain things properly that which of course have plagued Safari in the past. An example is bmwusa.com, which has a current issue with certain flash elements being properly rendered in Safari and now the same for Chrome which relies on the WebKit Engine. Having webkit as the basis will only serve to compound issues that plague Safari and force developers to spend even more time on niche browsers.
This leads me to my final point that as a Web Developer Google being the behemoth it is will now force developers to make sure that Chrome is in their list of browsers when they QA. When you have a limited amount of time and limited resources, it is quiet common to drop certain browsers from QA, such as Opera and Safari 2, since their market share is often quite low. Granted this is sometimes not the case if you know your audience or are forced by client standards or clients with Mac fetishes. But at any rate, make sure you check out Google’s Chrome FAQ for Web Developers.
Not really an issue, but important to note are the JavaScript issues that John Resig has found with Chrome.
16 Sep
Because Ninja’s Rule and so does physics, N a downloadable game shows why Ninja’s are better than Pirates.
15 Sep
Seinfeld & Gates “At Home” TV Ad features Jerry and Bill again sitting at the dinner table and still playing with shoes. I love the somewhat subtle Windows log on the backpack sitting next to Jerry on the bed.
15 Sep
Ever develop a web site that displays different content based on the visitor’s browser’s language settings? The server side code would look for the accept-language header and then do it’s magic. But how do you test this easily. Introducing Modify Headers for Firefox. Simply setup a new header with these parameters and you can start browsing as if you spoke Spanish (or whatever other language you prefer):
Action: Modify
Name: accept-language
Value: es-mx,es-us,es
11 Sep
I would like a web analytics platform that focused on the results of analysis and not the numbers. I came up with the idea of visitor profiles that could be used to gauge the high level understanding of visitors. Then when you want to truly understand your visitors you dive into the data along with your masters degree.
My idea for profiles consists of grouping many data points into categories. Here are just 4 profiles for an average site, many more could be created based on the content and focus of the site. These profiles can be adjusted to look at data for the whole site or simply sections of it:
Bouncer - The type of visitor that reaches your site and leaves immediately, something often seen when users visit from banners or paid search links. Less than 2 page views in 30 seconds or less.
Browser - A visitor that wants to see everything on the site, yet they don’t stay anywhere long enough to actually intake the content. Views 90% of the pages on the site in less than 30 seconds per page (thus a site of 40 pages would consider a visitor a Browser even with a session of 18 minutes.)
Enthusiast - Someone that really explores and gains something by visiting your site. Views at least 40% of the site, but also performs such actions such as viewing videos to completion, filling out registration/send to friend forms, downloads content (basically a visitor that interacts with the content.)
Casual - This is the default bucket, they didn’t bounce, they didn’t try to surf the whole site faster than Michael Phelps and they didn’t interact a lot.)
These profiles can then be used to determine how the site is being used as a whole. So if your site launched a new feature and Bouncers increased overall or simply in that section then you need to look into why that happened. Or if changed your layout or navigation flow or appearance and Browsers weer the most popular profile, then you could establish that visitors were just trying to understand the new flow or were even lost trying to find the content they wanted. What you gather from the results may be speculative, but I’m sure it’s more than knowing that 1,675 visitors viewed 1.37 page views per session.
UPDATE: A while ago I found Quantcast and found it interesting but at the time it didn’t have a very significant base of data. But now that the company is a few years older, and to complete some more research into the space of Web Analytics I came across them again today. They have on their site a similiar concept to my ideas, that they label “Site Frequency”. I think this is right direction and should be something that they should expand on and make more prominent in their dashboard of data.
10 Sep
It is finally time for joelnagy.com to be updated. I haven’t changed things here for quite a while and want to use this space as a way for me to communicate my thoughts and ideas on web technology. I’ve been a web developer since 1995 and have worked on many web sites, web applications, and web technology software. Over the last 13 years I’ve developed for telecommunications, educational and advertising companies among others. Explore my linkedin.com profile to learn about who I am and where I’ve been. I currently work for dotglu an interactive marketing company that is part of kirshenbaum bond + partners which is a medium sized advertising company. I head up their web development department and work on projects for companies such as BMW, Diageo, Panasonic and NetJets.
During a stint with Arc90 I wrote and contributed to a number of blog entries about web technology ideas and JavaScript code snippets:
Sometimes you are truly better off starting from scratch: There are definate reasos when code reuse is a bad idea
Brain Games: How video games are cerebral and useful
Javascript : The Second Coming: Why JavaScript is very important today, more than ever before
Ideas:
Search Clouds: An idea for applying meta data to search results
How to Trust Email Again: An concept that applies to adding a layer of trust to emails
Tools:
MultiSelect: convert a multiple option select easily into a single dynamic dropdown
Alternating Rows: apply alternating colours to a table with a theme or custom colour list
External Link: place a small image next to a link to pop and external link into a new window
Image Caption: floats an image nicely on the screen with caption applied to it
Link Thumbnail: creates simple web site previews of externally linked sites
Unobtrusive Sidenotes: creates a side floated representation of a sidenote/tangent in a paragraph
The Livescribe Pulse smartpen gets an app store. This little pen is quite amazing, and it just shows that the business model of an app store is already changing the market for every type of electronic device. So when does my…
The Ghostwire (DSiWare) game looks great and reminds me a lot of Fatal Frame.
FloorPlanner is an interesting bit of software built in Flash that allows you design your home in 2D and view in 3D.
The new Stargate Universe [Philosphocal] teaser looks awesome. I stopped watching Atlantis a bit ago because it got boring, I hope this pumps up the energy as BSG did. It has Lou Diamond Philips and Ming-Na in it, that could make…
Here’s a plethora of well designed RSS Feed icons for free!