Tuesday, July 31, 2007

The correct way to embed Adobe Flash in your web page

One of my pet peeves is when I go to a "professionally designed" website and there is that annoying outline around their embedded Adobe Flash objects. This only effects Internet Explorer (of which only about 88.66% of you) due to a process called "Activating an ActiveX Control's Interface" which was added to IE 6 in response to loosing a patent lawsuit with a Eolas (Eolas seems to me to be one of those companies that does nothing but patent ideas and then sit on them until they can sue... a prime example of what's wrong with the patent system in the United States). Essentially, it means that you can no longer use the APPLET, OBJECT or EMBED tag on a web page if you expect your user to interact with that control unless the user "Activates" it my clicking on it. But there is a work around, use JavaScript to embed your control instead of HTML. A pain in the butt, but it works.

Luckily there is SWFObject, a nice little JavaScript file that makes embedding Adobe Flash (the most common ActiveX control in world) easy. You include swfobject.js, create a DIV where the flash should be shown and then create SWFObject object with a few parameters (location of the .swf file, size, frame rate, etc.).

I know a lot of websites are created by designers on using the Mac... which means they usually test their websites on either FireFox or Safari. But, please, please, please be considerate of the other 88% of us and use SWFObject for your embedded flash.

Flash Activation Workaround (SWFObject): $0

Total cost of project to date: $59.99

Monday, July 30, 2007

Yikes, competition! Where did that come from?!?!

I was watching CNBC today when a story came up about a couple of Web 2.0 companies... the first is a well established company (you have all heard of this company) that I've viewed as competition for my current project and the second is a new one that I hadn't heard of. When I conceived of my project, many years ago, there was definitely no competition. Now, in seeing that there is some competition, I was confident that my novel slant on this area would perhaps not blow the competition out of the water, but at least give me a fighting chance to create and capture my own niche. Company number two is doing exactly what I was going to offer... Damn it!

I supposed ignorance is bliss, but that is no excuse for keeping my head so down into the code that I am not aware of others in the field. I thought I had identified all the possible competitors until this one came out of nowhere.... they are VC funded, been around for several years and have a product that they are actively selling. They were even mentioned on Techcrunch in April (I must have skipped that day, sorry Michael!)...

I heard that if you have an idea, 5 others in the world also have that same idea, it's simply up to you to decide to run with it or not. Maybe I should had run with this idea six years ago when I first wrote it down instead of continuing to struggle with Company X?

Fear not, my loyal readers. I've learned a few things from Company X; competition can catch up fast and a CNBC mention does not make a company golden. And after doing the most minimal research on this company's web site, I can already see that they have expenses in body count and infrastructure that I'm hoping to avoid and still provide world class service. I've also got some ideas on how users interact with my product and a different focus of what the product accomplishes that they haven't touched on... yet. Unlike six years ago, I'm a veteran of small company strategy, finance, marketing and have the wounds to prove it.... just ask my wife, Kitten.

I think I'll post a question for my friends over at Found+READ and see if anyone has some advice on keeping my paper bag covered head held high. I just hope the folks over at TechCrunch20 don't have a memory that goes all the way back to April (that's centuries ago in Internet time, right?).

Friday, July 27, 2007

YUI for that Web 2.0 interface

The big buzz these days is about AJAX. You constantly see press AJAX enabled site that does this and does that... but AJAX is really only a way of getting data back and forth between your browser and the web server without having to refresh the page every time... what really gets people excited is how that data is displayed with interactive controls. Just as I felt it necessary to spend "Big Bucks" on the design of my site it seems that having these interactive controls is the user perception threshold that is required to truly be a well regarded Web 2.0 site.

For "Company X" I looked at using ASP.NET AJAX (formerly codenamed Atlas), being a C# Microsoft .NET shop it was a pretty logical choice. It's free (as long as you've already dropped the bucks to have IIS servers, .NET development environment tools, etc.) and is, even in it's current 1.0 version, an extremely full featured library with lots and lots of controls. The main idea of ASP.NET AJAX is to hide the dirty details of hooking up AJAX, JavaScript, DOM (Document Object Model) on multiple browser types from the programmer and make it seem just like plain old ASP.NET programming. I expect to see ASP.NET AJAX embedded into the next version of Visual Studio. But we are on a budget here, so what a poor PHP programmer to do?

I went to my handy Google Search box and typed in "AJAX interface library" and the first item on the list was the Yahoo! UI Library (YUI). The kind folks at the Yahoo! Development Network have release this library of cross browser compatible JavaScript controls (many of which work with AJAX methodology) under a BSD license... which means gives them some credit, but otherwise it's all yours to do with as you please.

Along with a bunch of base utility functions there are some great controls such as AutoComplete (a favorite among AJAX aficionados), Calendar and, my personal favorite, TabView. They also have a neat little app / control called Logger that allows you to put debug statements in your JavaScript and then watch them fire off in a floating control panel. Should be extremely useful for tracking down those inevitable JavaScript bugs.

Just for giggles I figured that if Yahoo was giving this out, their natural enemy must also have an offering. After look around a bit (I typed "google javascript UI" into Google) I found the Google Web Toolkit. It has many of the same features as YUI except that the AJAX part is already built out, but only for the Java language. So if you're doing your project under a Java server this toolkit might be more appropriate that YUI.

JavaScript UI Controls (Yahoo! UI Library): $0

Total cost of project to date: $59.99

Wednesday, July 25, 2007

Taking advantage of the Feebies!

I'm getting to the point with my project where I need to start testing the ability of my code to send of emails. I tried using the SMTP/POP3 services associated with my Gmail account, but I found it to be incompatible with both the native mail function and PEAR mail objects in PHP. What I needed was a mail server for my domain.

I originally thought about using EC2 (the Elastic Computing Cloud) from Amazon for hosting and I may still do so in that my architecture is designed to load balance out to child servers once a user logs into a main web server, but what I need right now is a cheep Linux web and mail server.... and I found it!

As you recall, I bought a template from TemplateMonster.com for my project's look and feel. The email I received which explained how I could access the template I had purchased also listed some "bonus offers", including 1 year free hosting from Globat.com. After looking around the Globat site to get details on their capabilities I signed up using the coupon from Template Monster.

For security, in additional to a credit card, Globat uses a system where an automated system calls you up to confirm your phone number. You press a web form button and a voicemail robot calls you up 30 seconds later on the phone number you provided during registration and reads off a three digit code, you type that number in the web form and you are informed that your site will be provisioned very soon and that you'll be receiving an email with your new server information shortly. So I waited... and waited... and waited... finally I went to bed, assuming it would be provisioned overnight.

The next morning I woke up to find nothing. I opened a trouble ticket with Globat billing and soon received an email back saying that I would have to fax a copy of my credit card and drivers license to them. I thought my website was being provisioned, but I guess not. I faxed the front of my credit card and drivers license to the phone number provided. Meanwhile, I received a second email stating that in order to provision my website I would need to fax both the front AND BACK of my credit card and my drivers license to a completely different fax number. Now I was confused.... I was just about to fire off another email when, KABOOM, a email came in with my provisioning info (URLs, password, etc.).

So, besides the provisioning hoops they make you jump through, I have been pretty happy with their service. I don't have terminal access to the web server, but I can FTP and use their control panel to control my server (MySQL, email accounts, etc.) My only hiccup so far was finding out that they use port 587 instead of the standard port 25 for SMTP... I had to use their online chat system to speak to a help desk person to figure this out as this information is not mentioned anywhere in their FAQs or online help.

Web Hosting (1 year from Globat.com): $95.40 + $19.99 setup - TemplateMonster.com coupon = $0

Total cost of project to date: $59.99

Wednesday, July 18, 2007

Who and how many are visiting from where?

Back in the good old days I bought a few Urchin licenses. It was fairly easy to setup and gave reports that you had to massage a bit to get the answers you needed. Urchin was purchased by Google in April of 2005 and was soon turned into Google Analytics. Google turned it into a free product (up to 5 million pageviews unless you have an active Google Adwords account, then it's unlimited pageviews).

The interface is now simple to use and you have to append just a few lines of JavaScript code to your webpages to get it started. I created two profiles, one for this blog and one for my project.

I highly recommend this to anyone who needs to know where their visitors are coming from and how many visitors your actually have... in other words, everybody should have this installed on their website.

Website Analytics (Google Analytics):$0

Total cost of project to date: $59.99

Friday, July 13, 2007

Big bucks on design!

You can have the most useful product in the world, but if your website looks like crap, people will devalue your service. That's why I decided to spend some big bucks on website design.

I've worked with a lot of design people over the years. It takes a special relationship to communicate what you want to a designer. No one comes to you with a blank slate and no one can read your mind. I've often found it useful to work with designers using the following steps:

1. Tell them about your product/service using lots of emotional terms

2. Show them a site that has the look and/or feel you're looking for

3. Once they deliver something, make sure your get all the source files

4. Redo the whole thing yourself

Now step 4 may seem a bit cynical, but in this high speed, immediate gratification world we live in, it is a total pain to call a design guy up and wait two days for a delivery just to make the smallest changes to your site. You should know how to graphically edit your site just like you can programmicly edit your source code. Why not just do it myself from the beginning if I'm going to redo everything? I've often found it easier to edit than create. I'm a whiz a photoshopping photos, but I couldn't draw a stick figure to save my life.

Which brings me to my latest find, Template Monster! I was reading TechCrunch and their little square sponsor banner caught my attention. I clicked through and signed up for a nice 15% discount due to it being their 5th year anniversary. Template Monsters has hundreds of pre-designed websites from dozens of professional designers. Many of the templates are ready to go for certain businesses (I saw a lot of nightclub and nail studio website templates for instance) with just changing the text... but I wanted one that I could manipulate for my idea.

I found it! Nice color scheme, sort of that Web 2.0 "jelly" look and lots and lots of white space for me to put my interface into. I threw it into my electronic shopping cart, but when I went to check out their system said my coupon was not longer good! I had just received it!

I went back into my email and, sure enough, the fine print said that the coupon was good from May 22nd to June 4th. Why in the world were they giving out coupons, especially through an expensive placement like TechCrunch, that are expired?

I'm not giving up my 15% discount, no sir-ee! I tried to use their chat system to speak with a support person... this went nowhere quick. The support chat operator threw me over to the billing chat operator who informed me that my coupon had expired (duh!) and then threw me back to the support operator who just ignored me. I decided that an email to billing and support at Template Monster with cc's to a couple of emails I had at TechCrunch (after all they were the ones advertising this discount which didn't exist anymore) was in order. A few hours later I received a now valid coupon from Ben Lee at Monster Templates. Thank you Ben!

Now I'll get to see how fun it is to try and get this material into Smarty templates.

Visual Design (Monster Templates): $52 ($61 - 15% Discount coupon)

Total cost of project to date: $59.99

Friday, July 6, 2007

Why are the simple things so hard?

I spent the last six days putting together my application for the TechCrunch20 conference.... massaging ever word to properly convey (in 500 words or less) my "Pitch"

Damn that's hard! As I have stated before, I'm not a writer, but I have found that once I get into the groove it's way too easy to keep going and going and going.... you get the idea. Trimming words to meet a 500 word maximum is really difficult to do, especially when it took such effort to get them out of me in the first place.

Is my idea terribly complex? No, not really. Is my idea revolutionary? I haven't seen anyone attempt it before and the few people I've shared it with seem impressed. Can I explain it in 500 words? Sure... but explaining something and truly conveying every special nuance are two different things: especially an idea you've had brewing around in your brain for the last five years.

The business model explanation section was easy. Competitive landscape too. "The one liner" kept throwing me for a loop because I kept coming up with one good "one liner" after another as I wrote the 500 word pitch. I'm definately going to need a good PR firm once this thing gets out of beta.

It's 11pm eastern on Friday night, the final due date for the application is at midnight (I assume pacific time, but I could not be sure). After having my loving wife (let's call here Kitten... I do!) gave it a once over, I draft a nice cover letter email, attach the application in word document form and send it off from my gmail account.

Ah, what a relief. A week of work accomplished and sent off to the benevolent folks at TechCrunch to consider... then, 30 seconds later, I get the following automated email response back from the TechCrunch email server:

This is an automatically generated Delivery Status

Delivery to the following recipient failed


Technical details of permanent failure:
PERM_FAILURE: SMTP Error (state 16): 554 The message was
rejected because it contains prohibited virus or spam content

What the hell!!!! Maybe their mail filter doesn't like .doc files generated by Google Docs? So I export the application document as a PDF, recreate my cover email and send it off. A minute later, BOOM, I get the same message back from their server. Could it be that they don't like attachments at all? I quickly copy the material from my document, paste it into yet another copy of my email cover letter and send that off. You guessed it, a minute latter I received the same error message.

Now I'm a be panicked / perturbed... so I write an email to 20@techcrunch20.com that explains what I'm experiencing and asks for HELP!!!! I start scanning the TechCrunch blog to see if anyone else was experiencing the same issue when I get a letter from Heather Harde, the CEO of TechCrunch. She says that they haven't detected any errors with their email account, but since I was having issues I could send my entry directly to her email and she would be happy to confirm receipt. I'm saved!

I email the PDF version off to her... wait a white (biting my nails off) and then receive a email from her saying that she has received not just one, but three copies of my submission. Now, I can go to sleep.

Thank you Heather for diligently manning your post late on a Friday night.... This Unknown Founder is truly grateful.

Word Processing (Google Docs): $0
Email Service (gMail): $0

Total cost of project to date: $7.99

Sunday, July 1, 2007

TechCrunch wants me!

Okay, well not exclusively me... but they do want submissions from the best company's they can find to launch new products at their conference. And what can be newer than a company that just started a few days ago!

Thank goodness, TechCrunch specificly stated "no business-stage requirements". Innovation, I've got. A business model, I've got. Competitors? Sure, but that just shows that there is a market! Application due date is July 6th for the conference in September... Doah! Looks like The Unknown Founder (TUF) will be once again burning the midnight oil.