SquarePeg Systems




It’s now been one year ago when I put my shingle out on this website and created SP Information Systems, LLC, aka SquarePeg Systems.  It was an experiment after doing a year of somewhat consistent side-projects outside of my day job by taking a step forward and being, well, a bit more serious about it while still trying to maintain my day job and my family.

2009 was a memorable year for a lot of people, as it was for the Hostetler house for several reasons.  For my little LLC, though, it was all really good.  I was as busy as I wanted to be — usually busier.  One surprising thing was how busy I was — there were really no lulls yet I didn’t have to market myself at all.  My customers usually found me, or at least inquired about getting help from someone.

What did I do the most of?  Nothing. Or, really, everything.  Including:

  • PHP
  • Django/Python
  • JavaScript
  • Networking
  • Linux Administration
  • SCO Administration
  • Window Vista
  • WordPress consulting
  • Web Design
  • Database Design
  • eCommerce
  • SEO

I did more of some things than others, of course.  But I still dipped my toes into each and every thing on that list.  Amazing, huh?

Thanks for a great first year — the shingle it out. Let’s keep it going.

After months of work, the Omaha franchise of  Zee Medical  is online at ZeeMedical.net.  Zee Medical specializes in first aid, safety equipment, and training  for large and small businesses. Chances are, you have seen their first aid kits in the break rooms of many offices (I know that I have).

Zee Medical’s traditional model is for customers to  phone or fax their order in, and Zee sends a van to the customer with the equipment  for delivery.  Some customers did not want the delivery person on site, but instead wanted to order supplies over the web and have them shipped to them.  I had done some other work for Zee in the past and they asked me to work on this effort with them.  This started out as an fairly straightforward ecommerce site, but interesting challenges got into our way:

  • They already had a domain registered for email, but when trying to update information to the new webhost, the registrar was unresponsive about letting us in to update on information.  At the beginning they answered our requests, but after that we were ignored. Luckily, we were able to pick up the ZeeMedical.net domain and just go with that.
  • Zee wanted to start with their whole catalog — 1300+ products had to be imported with as many images matched up as possible.  They gave me a spreadsheet and I wrote several iterations of a Python script to convert the spreadsheet to SQL to be inserted into the ecommerce engine’s MySQL database.  Later, a separate script to insert each  matching image to each product was written as well.  This took a lot of time and some manual fixes as well.

Because of the complexity of the import data and the fact that I wanted to get into the code and tweak some things, care had to be taken on what engine was chosen. I knew that Zee Medical didn’t want a lot of fancy features but just something basic. I looked at ZenCart and osCommerce, known workhorses of the PHP ecommerce world, but getting data imported and customizing the code to what I needed was going to be a nightmare.    After some searching I found OpenCart – clean code with a simple database and a good MVC model.  The bad news was that it’s lack of maturity led to it’s own challenges.

These will be expanded upon in a later  post, but some of the bad points were:

  • Lack of a plugin or module system. While there are some OpenCart “modules” available, the installation requires manually updating some of the main PHP files.  This is problematic when the plugin was written with one version of OpenCart and those files changed in subsequent versions.
  • OpenCart comes  with a long list of payment processors, but most of them are “in development” which means they were listed in the Admin interface but I wasn’t able to turn them on. I found someone that had a for-pay module for Authorize.Net that worked beautifully, so I just used that.  But I don’t think I should have had to.
  • No real documentation.  There was nothing I could give to Zee Medical so they could read and play around with the Admin side.
  • Some interface issues with the admin. Like no way to filter by category on the products, etc.  There is a primitive search facility that works well for what it is. But most of our pain comes from having over 1300 products to manage.
  • Two configuration files — one for the public store and one for the Admin site.  But the configs, however, were relatively the same!

Did I like OpenCart at all?  Yes I did!  Here are some good points:

  • Strict adherence to the MVC pattern.  This made tweaking the code and the templates extremely easy and cut down on side effects.  I did things in OpenCart I wouldn’t have dared to do in ZenCart.
  • The Reports and Mailing Info in the Admin side.  Although not required for what Zee Medical gave me when we started, they were a “wow” factor when I showed off the functionality.
  • I found that the site is rather fast.  Maybe leanness due to a fairly new codebase or maybe it shows how they well they implemented MVC, but it seems to load a lot faster than most basic ZenCart and osCommerce sites do.

On a last note, I was again impressed by how good of a host  BlueHost is. I was able to easily get into the database, fix code on the server, make backups, etc. through their well-implemented cPanel.  And the times we needed support they were timely and helpful to what we needed.

So again, let me introduce to you  Zee Medical, another satisfied customer of SquarePeg Systems!

Welcome to SquarePeg Systems!

This is a small consulting company that I have been thinking about for over ten years. The name in my head changed, what the company did changed, but it has always been in the back of my mind.  In the past year, different things have come together to tell me that this idea of mine could work.

Feel free to look around what I’m talking about.  And please excuse the mess while things get set up here.