I gotta give Southwest a little praise, I just had one of the best customer service experiences of my life. My company's email server went down this past week (major pain). So when I booked my flight on SW for a trip to Houston, I didn't get the confirmation email with all the useful Flight numbers etc etc. I called up their 800 number and *gasp* I didn't get put into a phone tree. I was routed immediately to a customer rep. I froze for second trying to remember why I called. When you're expect a game of telephone Guess Who? a human voice can be quite a shock.
So this post just goes to show that good, old-fashioned customer service can create some worthwhile buzz marketing. Well...OK, maybe not be as useful as an article on Boing Boing or the like but it has to be worth something.
I should also mention the revamped SW website is very sleek. Definitely Web 2.0.
Quality Reads
Wednesday, February 28, 2007
Monday, February 26, 2007
A Great Example of What Web 2.0 Can Do...
There are an amazing number of Web 2.0 clones out there doing stuff with RSS feeds or colloborative writing or web-based IM. OpenCongress.org is taking a different approach turning inaccessible information into something useful. Get a snapshot of the Congress' docket in a matter of minutes. I haven't had time to exhaustively check the website so it might have an underlying political agenda. In concept its a great idea. Post your take in the comments.
Thursday, February 22, 2007
Management Style
I started to notice a re-occurring theme with one of my bosses (yes, I have multiple), every time he gives me work it always has to be done yesterday. Luckily, I don't have a problem working under tight deadlines pimping out a Delorean. My other two bosses provide a nice cushion of 1-2 days before any of their assigned tasks become due. Why, when they're all in the same business, can two individuals setup goals for their subordinates earlier than Boss #1?
One concept, two words: Goal setting. I think most motivated individuals are very good at identifying short-run tasks and long-run goals for themselves. Yet, that same behavior doesn't translate when they become management. As a manager, you're not setting goals/tasks for yourself as much as your team. The best managers have to realize that their time is best spent keeping their subordinates plates full and collective eyes on the prize. Returning to my original statement. My first boss, nay anyone who calls himself/herself a boss, has to take the time to not only plan strategically for the company but their team members. No plan is worth its weight if you don't communicate it.
Be Proactive Not Reactive.
Tuesday, February 20, 2007
The Implosion of the Decade a Month Late
Silly me. I forgot to post the video of the New Haven Coliseum implosion a month ago. You can actually see my apartment building in the opening frame of the movie. Its just above the coliseum. I was standing across a bridge on the right side of the opening frame.
Enjoy.
Monday, February 19, 2007
Where's the Web Headed
I originally saw this video on John Battelle's Search Blog. Definitely worth a watch for anyone who thinks there's more to Web 2.0 than hype.
Cheers to Michael Wesch, PhD for putting it together.
Cheers to Michael Wesch, PhD for putting it together.
A Little Skype Toolbar Gotcha
Things have been straight hectic since I got back from Ireland. Two big deadlines staring me right in the face. To make sure my blog keeps rolling on, I have this little Skype Toolbar gotcha. I've been using Google Docs a little more recently since I've been bouncing between a number of different computers (with different OS's). The Skype Toolbar for Firefox has a nice feature where it turns all the phone numbers on a webpage into a click to call link (obviously you need SkypeOut for this to work on all numbers). Seems like a nice feature, in walks Google Docs.
Nothing breakthrough here. Just a Google Doc with a phone number on it. Check it out after I save and re-open the document.
I guess you shouldn't be suprised by this. Skype converted the number into a single click to call. However, what you may not immediately notice is that the HTML version of this document has been edited by Skype to include the link. Below is what happens after saving and reloading again.
Whats that garbage around the phone number? Unloaded image icons?! I don't want that in my document. Since Skype works on your browser, Google Docs thinks that the changes were made by you and saves them accordingly. Check out what it looks like in print mode.

The unloaded image icons are having children. Great. Just what I need on all my business documents.

Since I rarely expand the Skype Toolbar, I never noticed this button before. It turns off the phone number highlighting. Problem solved.
Moral of the story: Know your Firefox extensions.
Yes, I know. Ridiculously quick resolution. I told you I'm busy.




The unloaded image icons are having children. Great. Just what I need on all my business documents.

Since I rarely expand the Skype Toolbar, I never noticed this button before. It turns off the phone number highlighting. Problem solved.
Moral of the story: Know your Firefox extensions.
Yes, I know. Ridiculously quick resolution. I told you I'm busy.
Friday, February 02, 2007
Off to the Emerald Isle
The Intersection of Time & Money
I'm in the struggle of my life. The struggle to find that happy middle ground between time and money.
Friday, January 26, 2007
Prototype's new Website
Prototype, one of the most widely used javascript frameworks, just moved to a new website. They did a great job filling out the API documentation and the site is very well designed.
There is only one thing missing, Search! The documentation doesn't have a search portal so I knocked out a Custom Search Engine (over at Google Coop). Check it out here.
Yes, the URL is ugly but you can add it to your Google Personalized Homepage and never have to type it again.
Enjoy.
There is only one thing missing, Search! The documentation doesn't have a search portal so I knocked out a Custom Search Engine (over at Google Coop). Check it out here.
Yes, the URL is ugly but you can add it to your Google Personalized Homepage and never have to type it again.
Enjoy.
Thursday, January 25, 2007
Return of the Command Line

Cheers!
Tuesday, January 23, 2007
Can Business meet Web 2.0...
So you're working at a company that could use some collaborative applications. I'm in the same boat. Pitching a major expense to your boss may or may not fly depending on your position. I know I like to point out free/cheap options where ever possible. Here's the catch, how do you suggest using a Web 2.0 company that doesn't seem to have a viable business plan. What do I mean by that? If you're looking on their website and you can't figure out how their making any money, their business plan is suspect. Bringing me to my main point, I can't justify using a company if I don't know they're going to be around next year and beyond. I'm speaking strictly from a business setting. Almost everyone at my company falls into the category of non-technically inclined, which I'm convinced means "don't read" and "no patience".
What do you do?
You want to provide people with the tools to keep their jobs manageable. At the same time, you don't want someone to take time to learn an interface that might be gone next year. Its not like a desktop application that is physically installed on someone's computer. When a website goes down, its gone along with all the information you have stored there.
Quite the catch 22.
Has anyone else gone out on a limb and integrated their operational process with a Web 2.0 company? If so, how're things going and have you run into any serious pitfalls yet?
What do you do?
You want to provide people with the tools to keep their jobs manageable. At the same time, you don't want someone to take time to learn an interface that might be gone next year. Its not like a desktop application that is physically installed on someone's computer. When a website goes down, its gone along with all the information you have stored there.
Quite the catch 22.
Has anyone else gone out on a limb and integrated their operational process with a Web 2.0 company? If so, how're things going and have you run into any serious pitfalls yet?
Monday, January 22, 2007
Filter :: A New Format
After a couple months of semi-regular posting. I've decided to switch gears with my blog and focus on being a "filter" (note the Google Reader Items above). I'll still be posting at least once a week but my current project is taking up most of my free time. The project is based on Adobe's new cross-OS platform Apollo. Very exciting stuff, I'll keep you up-to-date on my progress.
Monday, January 15, 2007
Is Wazap worth 7.9 Million?
I realize the gaming industry is big money, 12.7 Billion. So any substantial funnel for gaming information, such as a search engine, has a huge marketing potential. But I'm not impressed with Wazap.com. They just received $7.9 million in second round funding. That brings their total to $11.9 million in funding for a product that looks exactly like a Google Coop Search for Gaming information. If I had $7.9 million laying around and I was that enthusiastic about the idea, I'd set out to create my own site. For less than half that amount of money, a decent web development group could build a new search portal from scratch and purchase a 30-second commercial during the Superbowl. I'd definitely end up ahead in exposure (at least in the US) and $$.
I could be underestimating Wazap in a couple areas, such as their draw in Germany, China, and Japan. Perhaps its a powerhouse site and I don't even know it. Also, I didn't play around with their search functionality for more than a couple minutes, its all in German.
To decide for yourself, check out the links below:
I could be underestimating Wazap in a couple areas, such as their draw in Germany, China, and Japan. Perhaps its a powerhouse site and I don't even know it. Also, I didn't play around with their search functionality for more than a couple minutes, its all in German.
To decide for yourself, check out the links below:
Friday, January 12, 2007
2 Strikes Against the iPhone
Lets be honest the iPhone is pretty sexy. It has the figure of a widescreen tv, the fun-loving persona of an iPod, and the warm embrace of OS X. So whats wrong with this picture.
Two things so far:
- Closed API, no third party application development
- Cingular -- Worst Customer Service Ever
As for Cingular, they just suck. Take a look at the hassle you have to go through in order to get out of one of their contracts. I wish the phone industry interpolated a little more than it currently does. So I could take the iPhone to any provider I wanted.
In the end, I'll probably still get one but I'll hate myself for it....
Wednesday, January 10, 2007
The Over-Marketed Early-Adopters
Warning....This falls into the rant category.
I just glossed over this list of the Top 100 Web 2.0 sites posted on digg. People have been prophesying the Web 2.0 burst for a year or so but for the first time, after checking out this list, I think I agree. Below are all the websites from the aforementioned list which actually charge for their service:
Web applications that intends to use advertising should have a strong reason built into the product. Pandora, a web-based personal dj, is a great example. A flash music player only takes up a small section of webpage providing ample advertising real estate. Also, its radio-like nature gives it precendence in the advertising-based business realm. They are utilizing a proven approach that traditional companies are open to.
Another thing Pandora seems to get right is they're selling ads for their web space in house. It amazes me how many advertising-based sites seem to be using Google Adwords. Horrendous. FYI, if you run one of those websites, a 900 pound gorilla is gobbling up the majority of your income.
Why don't more websites charge for their services? Some argue that people don't like to pay for online services -- advertising is the only way to create a cult-like following found with the big 2.0's.
Why don't more people purchase online services? I always have concerns when purchasing an online service that I'll read an article tomorrow telling me about a comparable FREE application. If you really standout from the crowd that shouldn't be an issue.
Checkout all the duplicates:
The defining characteristic between Web 2.0 winners and losers will be tangible product differentiation in the eyes of the average user. Tangible as in: x integrates with y much better than z does. Moreover, tangible in the sense it that the average person can understand its purpose. You can't get someone excited about Google Reader if they've never heard of an RSS/Atom feed...even worse, if you explain the concept and they don't understand why its useful.
PS-FotoFan was the fake service listed under Video/Photo Sharing
I just glossed over this list of the Top 100 Web 2.0 sites posted on digg. People have been prophesying the Web 2.0 burst for a year or so but for the first time, after checking out this list, I think I agree. Below are all the websites from the aforementioned list which actually charge for their service:
- Sprout (Hosted Email Management)
- Jajah (VoIP)
- Skype (VoIP)
Web applications that intends to use advertising should have a strong reason built into the product. Pandora, a web-based personal dj, is a great example. A flash music player only takes up a small section of webpage providing ample advertising real estate. Also, its radio-like nature gives it precendence in the advertising-based business realm. They are utilizing a proven approach that traditional companies are open to.
Another thing Pandora seems to get right is they're selling ads for their web space in house. It amazes me how many advertising-based sites seem to be using Google Adwords. Horrendous. FYI, if you run one of those websites, a 900 pound gorilla is gobbling up the majority of your income.
Why don't more websites charge for their services? Some argue that people don't like to pay for online services -- advertising is the only way to create a cult-like following found with the big 2.0's.
Why don't more people purchase online services? I always have concerns when purchasing an online service that I'll read an article tomorrow telling me about a comparable FREE application. If you really standout from the crowd that shouldn't be an issue.
Checkout all the duplicates:
- Personal RSS Feed Aggregators
- Tiny Tiny RSS
- Klipfolio
- Google Reader
- InstantFeed
- Web-Base Microsoft Office Replacements
- Video/Photo Sharing (one of these is a fake service, see the bottom for the answer)
- Flickr
- VideoSift
- MotionBox
- Dabble.com
- Vimeo
- FotoFan
- YouTube
The defining characteristic between Web 2.0 winners and losers will be tangible product differentiation in the eyes of the average user. Tangible as in: x integrates with y much better than z does. Moreover, tangible in the sense it that the average person can understand its purpose. You can't get someone excited about Google Reader if they've never heard of an RSS/Atom feed...even worse, if you explain the concept and they don't understand why its useful.
PS-FotoFan was the fake service listed under Video/Photo Sharing
Thursday, January 04, 2007
Timing Your Vacation
Scott Berkun had a great post on how to select the best dates for your vacation. I must admit that I enjoyed working the week between Christmas and New Years. Zero phone calls. Euphoric. I'm getting my R&R right before things kick back into full swing (Feb. 3-11) with a trip to Ireland. Yes, the Guinness factory is on my todo list. To use an Irish phrase, should be great crack.
*This is a definitely a strategy of the GTD (Getting Things Done) clan.
*This is a definitely a strategy of the GTD (Getting Things Done) clan.
Monday, January 01, 2007
My Goals in 2007

I have read a number of blog posts about people's goals for 2007 and it got me thinking about what I want to accomplish. Here's my list:
- Finish RSScholar, my web-based RSS/Atom feed creator, and release it publicly. The concept is to allow professors, students, and intellectuals alike to easily tag and share journal articles. I hope to have the beta version finished before the end of the week.
- Continue to establish my presence as an operations guru. I've found many small business don't take full advantage of the current technology revolution (web, software, and hardware). Its amazing how much time you can free up with a little integration. I hope to expand my consulting business 200%-300%, which is a little deceiving since I'm working full-time with one company right now.
- Get out west and enjoy at least one amazing powder day. I love my work but you have to keep everything in balance. I'm thinking Alta, Jackson Hole, or Big Sky (you never have to fight a crowd in Montana).
- Enjoy Life.
Wednesday, December 27, 2006
Add A Translation Tool To Your Blog
I added Google Analytics to my blog a couple weeks ago because I was interested to see where my web traffic was coming from. I was surprised at the percentage of views coming from non-English speaking countries (~33%). I started wondering if all these individuals were adept at reading English or were just muddling through my posts to get to the code (most of the views were for my code-related entries). After a minute or two of contemplation, it dawned on me I could make their life a whole lot easier by providing a translation tool. So, I jumped onto Google Translation and took a quick look at how they structure their URL variables. Here's the HTML/Javascript widget I came up with:
The form posts to Google's Translation Service and seems to do a good job of converting the page to the selected language. Please be aware of two things:
To use the widget, just copy and paste the above code into the proper section of your blog Template. If you are using Blogger, paste the code into a "Third Party HTML/Javascript" module.
The widget works great and provides a nice way for people to read your posts in their native tongue. Please let me know if you run into any problems. I'll be more than happy to troubleshoot issues as they arise.
Enjoy!
<form action="http://www.google.com/translate" onsubmit="this.u.value=window.location.href" method="GET">
<input value="en" name="hl" type="hidden"/>
<input value="UTF8" name="ie" type="hidden"/>
<input value="" name="u" type="hidden"/>
Select Language: <select name="langpair">
<option value="en|fr"/>French
<option value="en|de"/>German
<option value="en|it"/>Italian
<option value="en|pt"/>Portuguese
<option value="en|es"/>Spanish
<option value="en|ar"/>Arabic BETA
<option value="en|zh-CN"/>Chinese (Simplified) BETA
<option value="en|ja"/>Japanese BETA
<option value="en|ko"/>Korean BETA
<option value="en|ru"/>Russian BETA
</select><br/>
<input value="Translate" type="submit"/>
</form>
The form posts to Google's Translation Service and seems to do a good job of converting the page to the selected language. Please be aware of two things:
- The languages listed in Beta can mess with the page layout a little bit. Remove those from the select box option list if thats a major concern for you.
- The WHOLE page will be translated. If some of your posts deal with code examples, they will be turned into some bizarre/humorous pseudo-code.
To use the widget, just copy and paste the above code into the proper section of your blog Template. If you are using Blogger, paste the code into a "Third Party HTML/Javascript" module.
The widget works great and provides a nice way for people to read your posts in their native tongue. Please let me know if you run into any problems. I'll be more than happy to troubleshoot issues as they arise.
Enjoy!
Tuesday, December 26, 2006
Saturday, December 23, 2006
watch() :: One of Many Missing JS Functions in IE
I've been playing around with Adobe's Flex for a couple months now and one feature that keeps impressing me is the ease with which you can bind Actionscript variables to UI Elements. I started wondering if there was any way to attach an onchange event to a JavaScript variable so I could replicate the effect with HTML controls. After a little searching on Mozilla.org, I found the watch() function. You can check out the documentation here. Essentially, it will run a function that you define every time a JS variable is changed. Something very useful if you use data access objects to pass information back and forth in your AJAX applications. The problem is that IE doesn't support the method (surprise, surprise). So I set out to create a work around. Here's the resulting function:
First, I start off by extending the Object Class by adding a new method called xwatch (cross-browser watch). If the browser supports watch() then the native function is used otherwise my IEwatch method is used. IEwatch polls the variable specified looking for a change in the variable's value. Kinda crude but it works. I haven't run into any problems with race situations yet.
I also created the function below to bind a JS variable to another Object. You could use it to bind a variable to a text input or the innerHTML property of a div etc etc.
Note, these Classes required prototype.js to function.
/* Cross Browser Watch Function */
Object.prototype.xwatch = function (prop,func){
if(!Object.watch){
new IEwatch(this,prop,func);
}
else{
this.watch(prop,func);
}
}
var IEwatch = Class.create();
IEwatch.prototype = {
initialize: function(obj,prop,func){
this.obj = obj;
this.prop = prop;
this.func = func;
this.oldvalue = this.obj[this.prop];
setInterval(this.check.bind(this),50);
},
check : function(){
if(this.obj[this.prop] != null && this.obj[this.prop] != this.oldvalue){
this.oldvalue=this.func(this.prop,this.oldvalue,this.obj[this.prop]);
}
}
}
First, I start off by extending the Object Class by adding a new method called xwatch (cross-browser watch). If the browser supports watch() then the native function is used otherwise my IEwatch method is used. IEwatch polls the variable specified looking for a change in the variable's value. Kinda crude but it works. I haven't run into any problems with race situations yet.
I also created the function below to bind a JS variable to another Object. You could use it to bind a variable to a text input or the innerHTML property of a div etc etc.
/* Data Bind Functions */
var dataBinding = Class.create();
dataBinding.prototype = {
initialize: function(sourceObj, sourceProp, destinationObj, destinationProp){
this.srcObj=sourceObj;
this.srcProp=sourceProp;
this.destObj=destinationObj;
this.destProp=destinationProp;
var temp = this.update(this.sourceProp, this.srcObj[this.srcProp],this.srcObj[this.srcProp]);
this.create();
},
create: function(){
this.srcObj.xwatch(this.srcProp,this.update.bind(this));
},
update: function(id, oldvalue, newvalue){
this.destObj[this.destProp] = newvalue;
return newvalue;
}
}
Note, these Classes required prototype.js to function.
Subscribe to:
Posts (Atom)