Easy-to-make iPhone
Easy-to-make iPhone

A company once told me someone had offered to build permanent disability calculators for their website in three months for $7,500.  One said six months and $20,000.  Recently, another suggested it would take them a year and $40,000.  My response is usually some variation on “You’ve got to take that deal.  You’re wasting your time talking to me.”

It’s no big secret that building a great product takes a lot of work.  The important thing to remember is that just because something is easy-to-use, that doesn’t mean its easy-to-make. 1

Real iPhone
Difficult-to-make iPhone

Let’s take the iPhone for example.  Everyone will concede its an easy phone to use.  However, it was released more than two years ago on 6/29/2007. 2  In that time the other players – BlackBerry, LG, Nokia, and Palm have all been trying to catch up.  If this easy-to-use phone were easy-to-build everyone would have their own version.

Look, there’s no special magic to building a website like this.  Really, anyone can do it.  All you have to do is learn the calculations inside-and-out, deconstruct the math involved in the various calculations, learn some client and server side programming languages, learn a content management system, make it all work together, keep current on changes in the law, start all over again each time the law changes, and earn the respect of the workers’ compensation community.  Once done, you’ll have your very own workers’ compensation calculator website!

To return to the lesson of the iPhone, building a touch screen phone that can play music and surf the web is totally doable.  Doing it right is another matter entirely.

  1. Visit the link for a PDF of a cut-and-fold iPhone.  Thanks Gizmodo! []
  2. Wikipedia link. []

Wordpress
Wordpress

A friend of mine owns and operates a number of websites – all of which run on ASP/.NET/MS-SQL servers.  He knows what he’s talking about, but he’s fairly dismissive of WordPress, PHP, and MySQL.

All this time I’ve been raving about WordPress, telling him that you can basically do anything with it.  I’ve mentioned how easy it is to use, how easy it is to maintain, its open source, how many global corporations use WordPress to build their websites, how its the tool of choice for so many designers, and how huge the WordPress community is.

In the meantime, he’s referring to his millions of rows in his “real-SQL, MicroSoft SQL” database.  I believe he’s been stuck thinking of PHP and MySQL as “kiddie” stuff, just not ready for big time.

That is, he’s been dismissive of WordPress until about two months ago.  In the last two months other people (SEO consultants, professional designers) have been raving about WordPress to him too.

I think he’s finally coming around.

Wordpress
Wordpress

I’ve been upgrading to the latest releases of WordPress as soon as each one comes out.  And, its a good thing too.

Over the last week or two a website named “Wordpresz.org” ((I’ve edited the link so that it goes to WordPress.org instead.  I don’t want contribute to these hackers fooling anyone else.)) was discovered.  The people who created this website were using a vulenerability in WordPress version 2.6.2 to redirect users to their website.  Their website purported to release WordPress version 2.6.41.  The problem was that they had hacked one file in the installation package to create a bigger security vulerability.

This just goes to show that:

  1. Monitor for Updates. Many programs these days automatically check to see if new versions are available.  If the program does not have this feature2 , its a good idea to check about once a month or so.
  2. Update Frequently. Not all software updates are equal.  If the program is being updated to fix security vulnerabilities or improve the program’s stability, you definitely want to install the update.  This website’s installation of WordPress was already “inocculated” against this kind of attack because I had alled version 2.6.3 almost as soon as it came out.
  3. Use Official Sources. WordPress is open source software built using PHP and MySQL.  Since the program is open source, its easier to modify the code. ((As Uncle Ben said, “With great power comes great responsibility.”))  The themes and plugins available through WordPress.org are reviewed by other users for malicious code and for possible improvements.  If you’re not certain how to examine source code for malicious code, its best to only use official sources.
  1. The latest version is 2.6.3 which is just version 2.6.2 with a small but important security fix. []
  2. Or if you turn it off, as I sometimes do. []

Wordpress Upgrade
Wordpress Upgrade

Quick Update

or those of you keeping score at home, I’ve updated to WordPress v2.6.3 last night. 1  This version was released as a security fix.  Unlike other WordPress upgrades, this one took only a few seconds.

Less Quick Updates

Admittedly, prior updates probably only take about 10 minutes, max.  This 10 minutes includes roughly 9 minutes of backing the website and database up and 1 minute of actually uploading the new version.  Since the 9 minutes of backing up is essentially all processing/downloading time, there’s nothing for me to monitor which makes the whole process very painless.

Upcoming Updates

The kind folks over at WordPress have been hard at work on the version 2.72  If you scan through the above link, you’ll get to see what the new WordPress 2.7 control panel/dashboard is supposed to look like.

Best Thing About WordPress

(If you just can’t wait, skip down two paragraphs.)  Regular readers have heard me go on and on about the virtues of WordPress3  The interesting thing about new versions of WordPress is that any upgrades would be seamless to a website visitor. 4

A website that is easy to read is a function of the author

Website content is really all that matters to a website visitor.  Visitors don’t care about what software a website owner is using – just as long as the content is useful. 5

A website that is easy to write is a function of the program

The single best thing about WordPress is that this program makes maintaining a website a breeze.  I would recommend WordPress to absolutely anyone interested in creating a website.  For the novice, the program makes it easy to write, edit, and delete single pages or the entire website without any knowledge of programming.  For the tech-minded, the program makes it easy to install, upgrade, and personalize a website.

If you know a little PHP, MySQL, and javascript you could do some c-r-a-z-y things with WordPress. 678

  1. Talk about unnecessary decimal places. []
  2. I call them “kind” since a lot of these people are working for free. []
  3. You know, you three should really form some kind of support group for people who read unnecessarily nerdy and self-referential blogs. []
  4. I think its interesting, anyhow. []
  5. If they don’t care about what kind of software, they sure as heck don’t care its version 2.6.3. []
  6. You could even put together your own workers compensation calculators and EAMS search engines! []
  7. Am I going overboard with these footnotes? []
  8. The answer is “No, I’m not going overboard.”  In the immortal words of Ferris Bueller, “You can never go too far.” []

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, PHP, and AJAX in creating these permanent disability and permanent impairment calculators.

As I mentioned in the prior post in this series, my first few versions of this website and its workers’ compensation calculators did not use MySQL.  The initial versions of this site only saved information – which meant I only had to use PHP to open a file on the server, add an extra line of information, and then close the file.  This had several problems:

  1. Once my website became more popular, it was not uncommon to have more than one user online.  That meant the server tried to open the file – but couldn’t since it was already open.  This caused the program to freak out.
  2. In order to view just a little bit of information, I had to download the entire file.  This got crazy pretty quickly.
  3. Each time the file got larger, it would take slightly longer to open, append with more information, and close.

MySQL is an incredible tool for storing, organizing, and retrieving a large amount of data.   Like PHP, it is also open-source.  This means it is:

  • Well supported.  There are lots of online resources and books to help you learn.
  • Secure.  Lots of people spend a lot of time thinking of ways to prevent security vulnerabilities.
  • Customizable.  You can configure or even rewrite it, if you wish.
  • Interoperability.  You can save it to just about any format – including MS Excel spreadsheets.
  • Free.  Unlike Oracle or any of the MS alternatives, it is totally free.

So, why did I avoid MySQL?  I didn’t want to have to learn a whole new programming language.  I had to learn how to set up a database, tables within the database, how to search for information in a table, how to put information into a table, and how to change information which was already in a table.  There was a lot of trial and error.  I ended up doing some pretty cool things in the process of learning this language.  Some examples:

  • Teaching others some of the basics of MySQL
  • Writing a program for cataloging books
  • Writing several programs which performed various calculations to track invoices, billings, etc
  • Setting up several blogs/websites

The end result of learning this language is a more interactive website.  One of the last incarnations of this site was a version that would show different color schemes, advertisers, and messages depending upon the user.  All of this was made possible by large amounts of data stored in MySQL.

Thus ends my technical overview of my workers’ compensation permanent disability calculators!  If you have any questions, please feel free to email me or leave a comment below!

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.1

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!

  1. A download of “www.google.com” was approximately 30,000 bytes and a download of “www.yahoo.com” was approximately 300,000 bytes. []