Loading....

How To Build a Computer for Your Consignment Software

MiniPeep Consignment or Resale Store Computer

One of the most-common causes of issues with consignment software, is running it on an “unclean” system — e.g. one you’ve had for a few years, an off-the-shelf consumer system pre-bloated with marketing supplements, etc.

You do not need to buy a Dell workstation from a vendor for $1,500 — that’s insane.  The price is that high, not because it’s properly configured and not because everything is taken care of for you before and after the sale.  Sure, everyone’s gotta make a living, but $1,500, to me, points to an underlying issue — i.e. consumers don’t have all of the information they need to have, in order to make an informed decision.  In my professional opinion, the price is that high because vendors can get away with charging such a price, based on store owners getting frustrated and just throwing their hands up and saying, “Just send me a system that works!!!”

So, let’s get down to it.  What do you need in order to have a perfect computer for your consignment software?

It’s really easy:

[hr]

[checklist]

  • A clean installation of Windows 7 Professional 64-bit.
  • An Intel processor, specifically an i3.  (If your DB Server is serving data to more than 5 PCs, skip the i5 and go right to an i7).
  • A minimum of 4 GB of RAM, 8 GB if it’s going to be a database server or a manager’s workstation.  Specifically, Kingston or Crucial RAM.
  • A Solid State Drive (SSD), specifically, Intel SSDs.
  • Lots of USB ports — i.e. 10 or more.
  • A non-admin account for day-to-day use.
  • Proper antivius — e.g. ESET NOD32.
  • A secured Web browser — i.e. Either Firefox w/ uBlock Origin and NoScript, or Chrome with uBlock Origin and Ghostery.

[/checklist]

[hr]

It’s that easy, it really is.

Now, how do you get all of these things and make it happen?  In my professional experience — which is 13 years in the consignment and resale industry — I recommend only one of the following:

[hr]

[checklist]

  • A Gigabyte Brix system.
  • A new Dell business-class system.

[/checklist]

[hr]

I can’t discount the value of Dell’s overnight replacement warranty, although I no longer use Dell, as I found A) it’s not really overnight (usually takes 2 days) and B) unless you request it from Dell, they’ll only bring out a hard drive without Windows on it.  This means, they tell you, “Call your tech.”  Even if they DO bring one with Windows on it, you’re still left with a computer that has nothing on it — i.e. no consignment software, no drivers, no antivirus, system security, etc.  If you have absolutely no help locally, at least having Dell replace the drive gets your computer up and running.  You are still responsible for getting your consignment software, printers, etc. up and running though.  Also, even if you buy a Dell, we still recommend wiping the drive and installing a clean copy of Windows.  We do NOT recommend Lenovo systems – See: Two weeks on, Superfish debacle still causing pain for some Lenovo customers.

With a Gigabyte Brix system, you’re getting a faster system, a smaller system (important for shops with limited counter space), and a more-focused system for your consignment software.

While The Computer Peeps can build one for you, fully configure it, and include an overnight replacement warranty, you still don’t *have* to buy one from us, if you’re capable of doing these things yourself.  Or, you can get the parts and then have us configure it for you.

So I see this as one of the following:

[hr]

[checklist]

  • Order all of the parts yourself, build it, and configure it.
  • Order a “kit,” which is all of the proper parts, but you still have to configure it.
  • Order a “kit” and have The Computer Peeps or your local tech configure it.
  • Order a pre-configured, warrantied system from The Computer Peeps.

[/checklist]

[hr]

I want to put the control in store owner’s hands, not the vendors — they make enough money.  I’m a realist though and I know not everyone has the time or experience required to build a system — I just want you to know you can and it’s easier than you think, if you’re inclined to do so.  🙂

Dean, just shut-up and tell me which parts to buy!

You got it!  K, if you want to do this yourself, here is the parts list:

[hr]

[checklist]

[/checklist]

[hr]

If you’d rather have us ship you all of the parts in a kit so you can assemble it and either configure it yourself or have us configure it from here, we can do that too.

And finally, if you’d just like to have the system perfectly-configured, shipped to your store, and guaranteed with an overnight replacement warranty, then one of our MiniPeeps is the best option.

I just wanted to take away some of the myths about which computer you need and why.  It’s important for consumers to have truthful, accurate information, so they can make an informed decision before purchasing.  My goal isn’t to sell computers.  My goal is to put the best computer in place for consignment and resale store owners, so they know this isn’t “magic” or something they need to spend thousands of dollars on.

Why Is My Consignment Software Slow?

Slow Consignment Software

It’s likely not your computer, nor your network.  Even on the fastest hardware, using Solid State Drives (SSDs), specific screens or even the entirety of your consignment software can respond slowly and show ‘Not Responding‘.

Why?  It’s the programmer’s fault — blame your software vendor.  When you write software, if you don’t take one additional step, then your software will not be multi-threaded.  The result is, if the software has to wait for something, the program will appear to lock-up and you won’t be able to click or type, until the program has finished the task.  Sound familiar?

Let’s show an example of this.

I wrote a little test application, which counts to 10.  Watch what happens if I don’t do anything to make it multi-threaded:

[hr]

Non-Multi-Threaded Example
Non-Multi-Threaded Example

[hr]

Notice how you can’t see it count up to 10?  You have to wait 10 seconds until you see the results.  Notice how I could click Button #1 and Button #2 before I told it to count to 10, but once I told it to start counting, Button #1 and Button #2 no longer worked?

Now let’s take a look at how a multi-threaded application handles the same event:

[hr]

Multi-Threaded Example
Multi-Threaded Example

[hr]

Notice how you can actually see it count up to 10 now?  I can also click my other buttons while it’s counting.  i.e. the program responds and doesn’t make me wait until it’s finished doing stuff.  😉

How does one make an application multi-threaded?  First, let’s look at the code as it is, without making it multi-threaded:

[hr]

Non-Multi-Threaded Code Example
Non-Multi-Threaded Code Example | Click to Enlarge

[hr]

Now let’s look at the same code, once it’s been made to be multi-threaded:

[hr]

Multi-Threaded Code Example
Multi-Threaded Code Example | Click to Enlarge

[hr]

If this looks like gibberish to you, no worries.  🙂  Let’s take a closer look.

In our non-multi-threaded example, when we click our ‘Go’ button, it just starts what it’s been told to do, without any consideration as to what happens while it’s counting:

[hr]

[hr]

In our multi-threaded example, notice when we click our button, it doesn’t just “go do stuff.”  Instead, it has a simple command that tells it, “Hey, go get this little piece of code and run it in its own thread.”:

[hr]

[hr]

The result, is an application that responds while it’s busy.  One line of code is all it took.

So why wouldn’t a programmer utilize this to prevent their software from locking-up while it’s busy?  I can only imagine, but as you can see in the examples above, it’s not because it takes a long time to do, nor is it complicated, nor does it cost anything.  It’s simply an approach to application design and some take the rough, “just go do this” approach, while others are sensitive to how their users’ experience will be.  They don’t want their users to have a bad experience, which leads them call in and complain about the software locking-up.  If a user has to call to report an issue, it takes time out of everyone’s day.

Now, there are some factors that can lead to slow performance — e.g. a really old processor, or a really slow network — but that’s the whole point.  i.e. The programmer has to should take into consideration, what happens when her/his software encounters environments that can have a negative impact on the software.

In summary, applications that lock-up, are something most any programmer wants to avoid.  It only takes a line of code to change this, so why not utilize this feature as much as possible?  Good question.  😉

I hope this sheds some light on why consignment software stops responding, while it’s busy.

Liberty4 Consignment Known Issues

These are known issues with the Liberty4 Consignment consignment software system.

Resaleworld, if any of these issues are fixed in an update, please post a comment below with the version that fixes said issue and I will update this post.  Thank you!

[hr]

Known Issues

[checklist]

  • When adding an account Note, if the field contains greater than 255 characters, you will receive a String or Binary Data Would Be Truncated error.  Tying on-screen feedback to the text changed event to let the user know once they’ve reached the limit, disabling the Save button, or providing a clearer error message, would resolve this issue.
  • Point of Sale takes 30 seconds or more to load, when utilizing Payment Logistics for credit card processing.
  • If RWD.exe is unable to connect to the database, TTimer, which polls every second, will continue to remain active and polling, thus triggering never-ending Connection Failure pop-ups/program crash dialogs until the RWD.exe process is manually killed.
  • When viewing the Account Detail screen, focus/tab index is set to Tab #1.  If a barcode is scanned, it will overwrite the account number and due to the  nature of barcode readers (i.e. they perform a carriage return), focus will then tab to the First Name field.  The result is the Account #, First Name, and Last Name will be erased and replaced with the Item ID.  Proactively preventing this change by either making the fields read only, or trapping barcode scanning input, would resolve this.
  • If RWD.exe crashes/ends unexpectedly, it will erase the RWD.cfg file and replace it with “{“Shutdown”:”1″}“.  The result is Liberty can no longer connect to the database or access its settings until RWD.cfg is restored from backup.
  • The Liberty update breaks its Taskbar shortcuts, making them white/null shortcuts.  This is reproducible through 4.5d.
  • Clicking the Item # column on the Inventory tab to sort, will not sort the datagrid the very first time it’s clicked.  It has to be clicked a second time and from that point on, it will sort accordingly.
  • Blank Coupons can be created in Point of Sale (i.e. no form validation), which will break reports which attempt to show Coupon data — i.e. you cannot run the report for your blank coupon, even though you can select the blank coupon.
  • RWDBUtil.exe does not utilize multi-threaded programming techniques and thus, the interface locks-up/becomes unresponsive for 20+ seconds while attempting to connect to an inaccessible database.
  • The login dialog suffers from a focus issue, which results in the login dialog losing focus and going behind any windows that pop-up along with it — e.g. the splash screen.  Attempts have been made to resolve this, by closing the splash screen after 5 seconds, but the focus issue persists and the login remains hidden until the splash screen goes away.
  • Liberty will crash and generate an Access Violation, if you attempt to print tags and your printer is offline/unavailable.
  • The default range of tags to print is 1-99999, thus, if the user clicks ok, Liberty will attempt to print tags for all items in their account.  Checking to see how many tags are about to be printed, allowing the user to set this threshold, and trapping the attempt with a confirmation dialog, would resolve this.
  • If Liberty’s RWDBack.exe backup utility is scheduled to make automatic backups, it will continue to make backups until it fills-up the backup destination.  Backups will ultimately fail, without warning.  Allowing the user to set a finite amount of backups to keep, checking the available disk space, and providing a proactive alert to the user, would resolve this.
  • Liberty utilizes the Float data type for storing prices, resulting in penny rounding issues.
  • The period is at the beginning of the sentence, “.Backup task completed successfully” in Liberty’s RWDBack.exe backup utility.  This has persisted through the last 5 updates.

[/checklist]

ConsignPro Known Issues

These are known issues with the ConsignPro consignment software system.

Brian @ ConsignPro, if any of these issues are fixed in an update, please post a comment below with the version that fixes said issue and I will update this post.  Thank you!

[hr]

Known Issues

[checklist]

  • ConsignPro update does not utilize “if older, overwrite“, thus, installing the update will not change your CP.exe version.  The update installer has to be ran a second time, choosing ‘Repair’, to force the update to replace CP.exe with the newer one.  This is reproducible through v9.17.
  • ConsignPro does not appear to utilize implicit SSL when sending emails and instead, appears to utilize explicit.  The result is, many ISPs will block email attempts, which is why some stores can send emails and some cannot.
  • ConsignPro does not support TLS (Port 587).
  • ConsignPro will lock-up for 30 seconds or more at launch, while it attempts to send the owner emails.  This only happens if ConsignPro is unable to send emails, either based on its lack of support for explicit SSL, lack of support for TLS, or invalid email settings.
  • Security Vulnerability — ConsignPro utilizes standard FTP to upload nightly backups, for clients utilizing the MyResaleweb backup service.  The username and password are transmitted in plain text.  All stores’ backups are stored with full read/write/execute access, in an unencrypted file and thus, are susceptible to data theft.  Utilizing a secure upload process, changing the file-level permissions, and removing the backups from the VPS once uploaded, could all help alleviate this issue.  This has been reported to Brian @ ConsignPro multiple times.
  • If CP.exe crashes during shutdown, it can write bad values to the Employee table — specifically, the fields which control employee access.  The result is the logged-in employee, will no longer be able to access ConsignPro upon the next login and will only be able to view the Make Sale screen.

[/checklist]

Back To Top