Why is they always problems?

Why is they always problems, jQuery?
Why is they always problems!!!!$#%!?

So I was minding my own business peacefully putting together this little website. Nothing all that complicated even to me even though I hadn’t built a site in a while.

Though there was this one feature powered by  waypoints.js  and jquery.counterup.js that kept going wrong.

We had this little bit of animation in place to make 2 sets of numbers count up to the actual stats we wanted to display. The counter action should trigger whenever the div was in view: by scrolling down the page to the stats div, the numbers should start “counting up” and then stop on the right number. And it should fire more than once. Go back to the top and scroll down again no matter how many times the numbers should count and stop on the right numbers. It worked OK until around the 5th or 6th time you scrolled down. Then line 62 of jquery.counterup.js would throw an error: Uncaught TypeError: Cannot read property ‘shift’ of null. Stats would still animate but the final numbers would be the wrong ones.

CounterUp is in GitHub https://github.com/bfintal/Counter-Up and I tried digsite’s fork . This fork fixes the problem when jquery.counterup.js is used with the more current versions of waypoints.js. But then it only allows the stats animation to trigger once. We wanted it to be triggered any time the stats div came into view. Then I want back to the original and found this issue: https://github.com/bfintal/Counter-Up/issues/23 which was fixed around a week ago – just when I needed to wrap up my little web project! A web miracle! The same error (Uncaught TypeError: Cannot read property ‘shift’ of null) is logged in Console but the stats numbers stay correct each time the animation is triggered and then stops, thanks to the fix by https://github.com/zxl9171.

Which LightSpeed Point of Sale Will Work Best For Your Next Endeavor into eCommerce: LightSpeed OnSite or LightSpeed Retail?

resized-photo-1431605695381-f4a9c3cdd150

The title is a bit of a trick question really.

Because by the time most folks go looking for advice or help with an eCommerce site, they’ve already got one. They’ve also usually already bought (or signed up for) a Point of Sale System. Problem with this way of going about it is, by the time they need help they’re locked into one system or another, having often invested a serious amount of cash.

Whether the $$$$ was allocated for an eCommerce site or the latest cutting edge Cloud Point of Sale system – they’re hardly ready to do a 360 degree turn and start from scratch with something else based on my ramblings (though some might call them findings based on solid empirical data!).

Hardly anyone I’ve worked for has ever made a choice of a Point of Sale based on how it’s going to work out for the eCommerce site they have always wanted.
Why would it matter to the eCommerce site which POS you buy? For the reason that most POS systems do not synchronize your brick and mortar sales with your eCommerce site sales.

Possible headache:

2 stores, 2 inventories that are unconnected. One store is the eCommerce site with manually updated inventory and the other is the brick and mortar inventory updated by walk-in sales. So a customer buys a product in the brick and mortar – the eCommerce store is essentially clueless until someone logs in and updates stock manually. Not such a huge nightmare for small shops with slow sales. But I’ve known a few people who would groan very loudly if they ever had to do anything manually. But what if you have an eCommerce site with lots of daily transactions as well as lots of in-store sales? Pretty soon you’d be burned out having to manually update the eCommerce stock counts (to match inventory to real life).

Which is why when (around 10 years ago) when LightSpeed for Mac came on the scene some people got real, real excited. Because, from the beginning, one of LightSpeed’s major claims to fame was if you had its eCommerce connector from its POS to its web store, brick and mortar inventory synced with web store sales and vice versa – the inventory pool was one and the same!

Because I know you’ve already read this short post on the difference between LightSpeed Retail and LightSpeed OnSite and you know what eCommerce means
(e = electronic. Commerce = providing goods and services in exchange for money – you add products to your website, people buy them, repeat).

Now let’s get one thing straight. If we can’t get anything but this one thing straight we are still ahead of the game: LightSpeed is first and foremost a Point of Sale system. It is not an eCommerce solution. An eCommerce solution is a package of software that makes up and runs an online store. An online store is only as good as the software that powers it. Yes, LightSpeed has built an eCommerce solution named LightSpeed Web Store which we will discuss in more detail in a later post. But please let’s just make it clear in our minds that LightSpeed’s main focus is providing Point of Sale solutions.

Low cost! Easy to setup! No programming required! It practically runs itself! – a sales rep, lying to you.

So, back to “Which LightSpeed Point of Sale Will Work Best For Your Next Endeavor into eCommerce: LightSpeed OnSite or LightSpeed Retail?”. Let’s first assume you know that you don’t need a Point of Sale system if you don’t have a brick and mortar store.

These are many of the points people have to consider when choosing between the 2 kinds of LightSpeed Point of Sale systems. It’s called real life.

  • Limited Budget
  • Limited Time
  • Steep Learning Curve
  • Employee Knowledge Skills

Do you have a small budget? Do you have only yourself to rely on to learn all the steps and processes for getting setup with LightSpeed? In other words, how much work are you willing to do and do you have to do it all by yourself?

Low upfront cost and not having that much time are the main reasons people choose LightSpeed Retail. And they are naturally attracted to the fact that when they sign up for it they can add the LightSpeed Web Store to the monthly charges for 51.00 USD.
Yeah, yeah, yeah: so what if low prices are based on whether or not you agree to pay 14 months upfront?

What people don’t know is the fact that with LightSpeed Retail + LightSpeed Web Store you have to love one of the approved themes that can be downloaded from the Theme Gallery in the LightSpeed Admin Panel – you might have to learn to love them because in an out of the box situation without any 3rd party solutions (whose services cost money), you’re stuck.

Here’s something not that many people know:
With LightSpeed Retail + LightSpeed Web Store the Web Store theme is not accessible with an FTP program or Control Panel/File Manager. You can make changes, like font colors or how big the type is, using the CSS editor in the Admin Panel. CSS controls how content looks.

Just having access to the Web Store theme CSS is not nearly enough access to be able to extend the Web Store content, not to mention it makes theme development impossible.

Unfortunately, having a small budget and limited time can sometimes mean learning to love what you get with the deal you made.

If you have Mac computers and a somewhat larger budget and would really like to have a custom Web Store think about LightSpeed OnSite also known as Lightspeed for Mac.

Tiny Little Update

Here is a great review of LightSpeed Retail. I don’t think the reviewers are biased toward either type of POS. It’s just a very well put together article that really breaks things down well. The article was first written in 2013 but was updated on Sept. 2015. Read the comments as well. Nothing like feedback from actual users!

Do You Know For Sure Which Type Of LightSpeed Point of Sale You Use, LightSpeed OnSite Or LightSpeed Retail?

Believe it or not, not everyone who uses LightSpeed Point of Sale knows which kind they’ve got. It’s not really their fault. Where there was only 1 product, now there are 2 and both have had a few names. LightSpeed OnSite (official name) used to be named LightSpeed Pro. Before there was LightSpeed Retail (official name), LightSpeed Pro was simply named LightSpeed Point of Sale. To add to the possible confusion, LightSpeed Retail is also sometimes called LightSpeed Cloud.

Here are the key differences:

  • LightSpeed OnSite aka LightSpeed Pro, is exclusively for Macs. It’s an application that’s installed on your Mac computer. It matters what kind of computer you have.
  • LightSpeed Retail aka LightSpeed Cloud, is web based. What kind of computer you have doesn’t matter.

Next: Which LightSpeed Point of Sale Will Work Best For Your Next Endeavor into eCommerce: LightSpeed OnSite or LightSpeed Retail?

Bootstrap 3 post-migration: what if your search form depends on Bootstrap 2.3.2 Typeahead plugin?

You migrated and now bam: Uncaught TypeError: Object [object Object] has no method ‘typeahead’ : (

In Bootstrap 3 the typeahead plugin was left out, didn’t make it, is deprecated (harsh) in favor of not having it at all ( also harsh) – or using Twitter Typeahead and here I thought Bootstrap was Twitter. Shows you how much I know.

You spent a couple minutes migrating to Bootstrap 3 ( OK a couple hours) as soon as the first release candidate came out, like a good little early adapter and now your search form doesn’t typeahead because Bootstrap 3 is acting like it has no idea what that is and so now you just have to suffer. Right? Well, you can still grab the plugin from 2.3.2 bootstrap.js and include it as a regular old js file and the typeahead action in your search form will come back… so it’s not the end of the world after all.

If it were up to me I’d be all Bootstrap 3 all the way but I have to work with LightSpeed Webstore 3 (whose themes are all based on Bootstrap 2). So I can’t just scrap Bootstrap 2 and move on to 3, it’s not up to me. I can’t replace their core files ( LightSpeed Web Store includes CSS & Javascript from Bootstrap 2 in your theme, of course you can remove it with .remove(); if you’re really hardcore).

So if you’re like me and making custom WordPress & LightSpeed Web Store 3 themes you will find yourself having to still have to keep some Bootstrap 2 stuff.

Another weird bit is .collapse. How .collapse is handled in 3 and in 2.3.2. I’m not going to tell you how long it took me to find out why I couldn’t get a simple toggle to work.
Whenever something “javascripty” doesn’t work I blame the javascript. But there were no errors in the console so that was a stumper. You would not think it but CSS can be just as dangerous as javascript. I use dangerous jokingly, but it’s true. Think how powerful display: none is.

2.3.2 .collapse {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition: height 0.35s ease;
-moz-transition: height 0.35s ease;
-o-transition: height 0.35s ease;
transition: height 0.35s ease;
}

3.0.0 .collapse {
display: none;
}

.collapse.in {
display: block;
}

.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition: height 0.35s ease;
transition: height 0.35s ease;
}

See what they did? They moved the CSS transition from .collapse to .collapsing – 2 doesn’t have .collapsing.
So because I am using both – making a WordPress theme on Bootstrap 3, a LightSpeed theme on 2.3.2 and 3 ( only the CSS though) I had to add some extra over ride to my Web store theme:

#mything .collapse {
display: block;
}
#mything .collapse.in {
display: block;
}

Both 2 & 3’s js adds inline style to the collapsed element – height: auto and height: 0px;
Because of the CSS conflicts between 2 and 3 versions of .collapse and the missing .collapsing class in 2,
this little over ride actually works but only in combination with the inline styles.

There is a really, really, good reason why you shouldn’t try to use 2 versions of the same thing on the same site running on top of each other. But I wanted to see how Bootstrap3 worked.
It’s really much better, surprise!!!

OK, I’m done. Happy Sunday. What, I should be out in the fresh air because it’s a gorgeous day?