Aug
11
2008
3

Inside the Calculators – Part II – PHP

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

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.[2]
  • 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.[3]
  • 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!

  1. Can’t we all just get along? []
  2. 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. []
  3. 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. []
Aug
05
2008
3

Inside the Calculators – Part I – Javascript

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 website calculators work.

In late 2004 I spent some of my free time working on a calculator for the 1997 Permanent Disability Rating Schedule 100% pure javascript (the only programming language I knew at the time). I had several reasons for never publicly releasing this calculator:

  • Uniformity. Not all computers and browsers perform all javascript functions the same way.
  • Speed. A pure javascript calculator would require the user to download all of the code – not just the parts they needed.
  • Protection. Anyone with a modicum of technical knowledge could simply downloaded the calculators, and then post it as their own.
  • Obsolete. With SB 899 and the 2005 Permanent Disability Rating Schedule, my calculator became nearly obsolete. I scrapped it rather than building a second calculator.

The current workers’ compensation benefits calculators use very very little javascript. Doing so has meant that I don’t have to worry about different computers/browsers, users only need to download the code they need to run a single calculation, and my calculators don’t work without my server.

Next up, PHP!

Use of this site constitutes agreement to its Terms of Use, Privacy Policy and Legal Disclaimer.
Copyright 2007 - 2017 - PDRater – PD calculators and Jay Shergill
Powered by WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes