Loading....

Liberty & Connection Failures

Connection Failure

If you run Liberty, you’ve likely seen Connection Failures more than once.  More-so, you’ve likely been hit with this either in the middle of the day, or come in to the store in the morning to hear the dong, dong, dong, dong and see the cascading errors covering your screen:

[hr]

http://thecomputerpeeps.com/images/snaps/dean/15/2016-09-19_1218.png

[hr]

What Does A Liberty Connection Failure Mean?

Liberty utilizes MS SQL Server to store and retrieve your data — this is a good thing.  MS SQL Server is its own, stand-alone program which Liberty communicates with.  Just like you make a phone call to someone, Liberty makes a ‘call’ to MS SQL Server when it needs to put new stuff in to or get stuff out of the database.  If it can’t get through to MS SQL Server — e.g. MS SQL Server isn’t running, your server computer is offline, your WiFi connection drops, you have both a wired + WiFi connection on your PC, etc. — it will pop-up a Connection Failure error.

Why Do These Errors Pop-up Over and Over Again?

The Connection Failure in and of itself isn’t a *bad* thing.  Liberty actually properly ‘handled’ the fact that it couldn’t connect to MS SQL Server.  The reason it pops-up over and over and over again, is because Liberty is using a Timer component to try and connect to the database every second.  That timer is set to Tick every second, which is why when it can’t connect, you’ll see the error and hear the dong, dong, dong, dong every second.  The problem at this point, is you’ve lost control of Liberty and you can’t close it.  This is the first and primary issue with how Liberty handles the Connection Failure.  Instead of letting the Timer Tick event tick over and over again, every 1,000 ms, it should recognize it cannot connect to the database, set the Timer to Disabled, and then provide you, the user, with a more-intuitive message and response — e.g. “Uh oh!  It looks like Liberty cannot connect to your main computer running MS SQL Server.  Please check your connection and make sure MS SQL Server is running.  Try again?

This issue is so prolific and creates such a delay for our clients, we’ve made our own Kill Liberty button so they can safely kill the running process:

[hr]

Peeps' Kill Liberty Button
Peeps’ Kill Liberty Button

[hr]

What The Heck Is a Timer?

In software, sometimes you want to *do stuff* every X seconds/minutes — e.g. every 15 minutes, check for new updates.  To do this, you can use a specific component available in most programming languages, called a Timer.

[hr]

Timer Component Properties
Timer Component Properties

[hr]

A Timer is a component you can add to your program and then set it to ‘tick’ on a regular interval.  The default interval is typically 100ms, so to make it tick every second, you’d set it to 1,000 ms (one thousand milliseconds = one second).

Great, now it’s ‘ticking’, but what is it actually going to do when it ticks?  In Liberty’s case, it tries to connect to the database every second.  When it can’t connect, it pops-up an error letting you it can’t connect, then it ticks again, then it pops-up, then it ticks again, and so on.

That it knew it couldn’t connect to the database, means it properly handled (responded-to) the exception (unexpected event/situation) it encountered.  When an exception is handled, the programmer has a choice of what to do.  At the very least, it’s typically best to inform the user of the issue with a pop-up message.  You can take this one step further though and add additional things to do when an exception is handled.  One of those things, in this situation, would be to stop the Timer.

[hr]

Timer Tick Sub-Routine
Timer Tick Sub-Routine

 

[hr]

This way, it doesn’t keep ticking over and over again, thus, preventing the non-stop pop-ups and providing you with a way to either ‘try again’ or close the program altogether.

This is an old, old issue in Liberty and I shouldn’t have to point this out to the vendor in order to improve Liberty users’ experiences.  My goal though, is to make my clients’ lives easier and this single issue, is one of the most common and difficult to handle issues for our clients.  If The Computer Peeps have to be the ones to bring attention to issues and get them fixed, then so be it.

This issue has been reported to the vendor on multiple occasions and there’s no way they’re not fully aware of this issue.  Which raises the questions — Why has Liberty been allowed to do this for over a decade?  Why hasn’t this been fixed?  Why does it take The Computer Peeps to shed light on these issues?  Why isn’t the support staff and developers @ RSW finding and fixing issues like this without prompting?

SSD Is Where It Be!

Intel SSD

The most common complaint I hear about computer systems is, “My computer is slow!”  There’s the usual litany of items that can cause this, including:

[checklist]

  • Inadequate hardware
  • Viruses/malware
  • Too many programs running

[/checklist]

Most computers either aren’t properly configured from jump, or aren’t well-maintained.  Those that are though can still seem slow at times.  Even with a decent amount of RAM and even if you have an i5 or i7 processor, take most any modern-day consumer or business-class system and it can still *feel slow*.  You’re simply not going to be able to tell the difference between a system with an i3 and an i5, under most circumstances.

It’s Your Hard Drive

So what’s slowing things down?  Chances are, your hard drive is slowing things down.  Traditional hard drives consist of a series of platters which rotate.  Much like a record player, an arm moves back and forth across the surface of the spinning platters.  Spinning isn’t instantaneous though, so there can be delays while the disk spins-up.  Then, that little arm has to move around to read/write data.  Think about what it’s like when you put in a CD or DVD – it literally has to spin up before you can begin using it.  Hard drives work in the same manner.

Since all of your files, data, and programs reside on your hard drive, you *feel* the slowness when you open a file, open programs, or work with your consignment software’s database.

It’s Time for an SSD

Leaps and bounds have been made in recent years, allowing hard drive capacities to grow.  That’s just it though, the capacities have increased, but not the speed.  Thankfully, SSD prices have dropped.

What the heck does SSD mean?

Great question!  SSD stands for Solid State Drive.  You’ve used and even held similar technology in your hands if you have a smart phone or if you have a little USB flash drive.  SSDs are typically the same size as laptop hard drives @ 2.5″ (or even smaller).  You can install an SSD in a desktop PC which provides a tremendous performance boost.

We only recommend Intel SSDs:

[hr]

Intel SSD
Intel SSD

[hr]

SSDs contain no moving parts, so unlike traditional hard drives, you don’t have to wait for the disk to spin-up.  If you want speed, the final frontier is your internal hard disk.  Replacing your traditional hard drive with a Solid State Drive, will give you a dramatic performance boost.  Systems with solid state drives typically boot from a cold power-off to a usable state, in 25 seconds or less.  Applications launch nearly instantly.  There is a substantial difference in perceivable and actual performance, by upgrading to SSDs.

So if your friend, your software vendor, or a local tech recommends a new system, don’t focus on the processor as much as the hard drive.  If your consignment software vendor is trying to sell you a computer system, unless it has an SSD, it’s not worth the price.  99% of the time an Intel Core i3 CPU is going to be *more* than fine for what you’re doing.  Even an Intel Celeron is fine for POS and inventory workstations.  It’s the hard drive that’s going to make or break the system’s performance, so always, always go with an SSD.

I’ll take a system with an i3 and an SSD over an i5 with a traditional hard drive any day.

Liberty Crashes If Liberty Mobile Server Isn’t Licensed

Liberty Crash

In order to run the Liberty Mobile Server app (for-use with iPads), a new serial # from Resaleworld is required.  If this serial # hasn’t been entered and you attempt to run Liberty, it crashes:

[hr]

Liberty Crash Due to No Exception Handling
Liberty Crash After License Check (Click to Enlarge)

[hr]

This effectively locks you out of your Liberty4 Consignment software until you A) enter a serial # for Liberty Mobile Server or B) uninstall Liberty Mobile Server.  Adding a Try/Catch (Exception Handling) to this, would prevent the software from crashing when it encounters something it isn’t expecting.

This issue is reproducible in the latest version of Liberty4 Consignment (4.6b) and this issue has been reported directly to the vendor.

[hr]

Update 9/23/2016 — Issue acknowledged by Resaleworld.

Back To Top