No Flash, please
No Flash, please

There are many different ways to put together a website.  Flat HTML which does not interact with the users at all.  Javascript enabled pages which allow the user to interact with the webpage a little.  AJAX enabled pages which allow the user to interact with the web server and even other users.

The worst way imaginable for a website to be built is one entirely powered by Adobe Flash animation.  I know of at least one workers’ compensation defense firm that has an all Flash website – and I feel sorry for them.  Their clients probably never use their website.  They’re squandering one of their best marketing tools.

Here are just a few of the problems with Flash websites:

  • Bandwidth. A picture of the word “website” is much much larger than the text “website.”  In a similar way, a Flash website is going to be much much larger than the same information presented in pure HTML.  The bigger your website, the longer it will take for it to load.
  • Maintenance. The smallest change to the website needs to be handled by the original web developer.  If you “invest” in an all-Flash website, you’re basically hiring that web developer for life.  With traditional websites, you can hire any code monkey to adjust your website.
  • Unnavigable. Flash websites do not work with the browser’s “Back” button.  If your users can’t navigate your website in a normal fashion, they will leave and never come back.
  • Search Engine Optimization. Or, SEO, as it is known in the business.  If your website is basically a bunch of moving pictures, it can’t be indexed by a search engine, so it doesn’t know what your website is about, so it doesn’t know when to show it to people who are searching for exactly the kinds of things you are trying to sell.
  • Repeat Business. If your website is meant to be something people look at once and never return to, I suppose its fine. The problem with a Flash website is that it will not allow users to bookmark or link to particular pages.  This means if your clients really love a particular page on your site they can’t e-mail the link to their co-workers!

I know why web developers sell Flash websites.  These websites show off how great you are at creating swooshing logos and nifty pages transitions.  And, if your client ever needs a little change, they have to come back to you or pay someone else to build them a website from scratch. ((Heaven forbid you have a new hire or, you know, the law changes.))

I also know why businesses invest in Flash websites.  They want something stylish and unique.  In reality all truly successful website forgo snazzy animations for functional user friendly pages.  If Amazon, eBay, and Google don’t build their websites out of Flash, why should you?

This isn’t to say that Flash animation doesn’t have its place.  It think its great for product demos, presentations, and banner ads.  Its an excellent way to present information in a graphical format.  That said, you should never ever purchase a Flash website.

Website Development Tips:

  • Never build a site out of Flash.
  • Never use Flash to show words.
  • If its good enough for Google, its good enough for you.
  • Focus on what your customers want to see, not what you want to show them.
  • Make it easy for your customers to tell people about you.

I recently gave a brief overview of my permanent disability and workers’ compensation benefit calculators. In that post I wrote a little bit about how my online benefits calculators work. Since then I’ve posted about my use of javascript and PHP in creating these permanent disability and permanent impairment calculators.

As I’ve mentioned in those prior posts, both javascript and PHP have inherent downsides. My very first attempt at online benefits calculators using javascript and ASP actually suffered from all of the downsides of javascript and PHP. Those first calculators used tons of user’s computers’ resources, bandwidth, and server power. However, learning more about AJAX enabled me to build a set of calculators which benefited from the strengths of javascript and PHP while minimizing, if not eliminating, their weaknesses.

The acronym “AJAX” refers to “asynchronous javascript and XML” – a collection of other technologies which allow a webpage to communicate with a web server without requiring an entire page download.

Example 1: A calculator without AJAX calculating “6 x 7” would send information to be calculated to the web server. The web server would then respond by giving you an entirely new page with the answer, “42”. However, in order to download that answer you would need to download a whole new page – and all the images, text, and code associated with it. Even a normal web page could be between 30,000 and 300,000 bytes in size. ((A download of “www.google.com” was approximately 30,000 bytes and a download of “www.yahoo.com” was approximately 300,000 bytes.))

Example 2: A calculator with AJAX calculating “6 x 7” would send information to be calculated to the web server. The web server would then respond by sending back just the answer, “42”. This would be 2 bytes.

If my calculators needed to download of 300 kilobytes for every single operation, a simple calculation could take about 30 seconds on dialup and a full 1 second on broadband. Although 1 second doesn’t seem like a long time – it is in the internet age. Most of the calculations on this site take approximately .500 seconds using a broadband connection. I would guess that about 90% of that time is due to network latency/network lag – which wouldn’t be much different for a dialup connection.

For the first few months after the launch of this website, it did not use a MySQL database. I actually went to some pretty ridiculous extremes to not have to learn a new programming language. I eventually gave in, learned how to use MySQL and am a better programmer for it.

Next up, MySQL!

I recently gave a brief overview of my permanent disability and workers’ compensation benefit calculators. In that post I wrote a little bit about how my online benefits calculators work. My last post in this series was about how and why these permanent disability and workers’ compensation benefits calculators use javascript.

I had tried Microsoft’s ASP (active server pages) in experimenting with a prior version of my permanent impairment calculators, and while functional, the coding was a complete mess since I didn’t fully understand what I was doing. To make matters worse, the only manuals on ASP I could find gave examples using VBScript – which is MS’s version of javascript. ((Can’t we all just get along?))

Just over a year ago a friend of mine encouraged me to try PHP. (Thanks Johnny!) Its syntax, the way in which you write code, is very similar to javascript and was fairly easy to learn.

Unlike javascript, PHP is run only on the web server. There are a lot of benefits to moving all of the calculations from being performed by a user’s computer to my web server:

  • Uniformity. All calculations will always be performed by the web server in the same exact way – irrespective of the user’s computer.
  • Speed. Since all calculations are performed on the web server, the user’s computer doesn’t need to do any number crunching.
  • Protection. All of the formulas, tables, and magical incantations used to generate the calculations are kept only on the web server.

But, PHP isn’t without its downsides:

  • PHP is being used to perform a calculation, even when javascript would be faster. Javascript takes longer to crunch the answer, but you have to “wait” for PHP to send a request to the server and wait for the answer. ((I say “faster,” but we’re talking about the difference between 10 milliseconds for javascript to calculate the answer and waiting 400 milliseconds for the server to return the answer.))
  • A pure PHP calculator would require the user to send the web server the entire page and wait for a whole new page to load. Every calculation would take a full second or more using a pure PHP calculator. ((A second might not seem like a long time – but it is when you’re using a computer. I’d bet that if these calculators took 1 second for everything (such as finding an occupational code or work restriction) no one would use them.))
  • When PHP is used to perform handle all calculations, there is more of a strain on the web server itself.

Using AJAX (more on this later) to create workers’ compensation benefits calculators has allowed me to take advantage of all of the strengths of javascript and PHP and minimize the negatives of these technologies.

Next up, AJAX!

Here’s a (simplified) overview of how my permanent disability/impairment and workers’ compensation benefits calculators work. As I’ve mentioned elsewhere, I wrote these website calculators using javascript, PHP, MySQL, and AJAX.

In a recent post, I created a really simple test for cell phones using the above languages. Here’s what was happening:

  • The user clicks the button “Cell Test.”
  • The javascript embedded in the button detects the “click.”
  • The javascript embedded in the button then tells an AJAX program that the button was clicked.
  • AJAX sends a little bit of information to the web server – saying that the user clicked that button.
  • The PHP program on the server is notified that the button was clicked.
  • The PHP program checks a MySQL table to see what it should happen when that button is clicked.
  • The MySQL table returns the answer, what should happen when a button is clicked, to the PHP program.
  • The PHP program takes the answer from the MySQL table and sends it back to the AJAX program.
  • The AJAX program takes that information and, using a little bit of javascript, displays the answer in your web browser.

Easy!