We use cookies on this site to remember: your settings, your history, whether you are logged in and to give you a better experience.
More info about cookies
Accept Cookies
Opt Out
You have an excellent choice of browser. Why not add our quick launch app so you can easily manage your shop in the future.Get our free app from the Google Chrome Store.
Login       Register

Raspberry Pi Counting in Binary

As a simple Christmas project at GroovyCart we thought we would have a play with a Raspberry Pi computer, we got various small projects working and we thought it would be worth posting some examples and samples of our code for anyone else that it might benefit.

This article is intended to help people that are developing their Raspberry Pi, however it may also inspire some of our shop owners to turn their hand to a bit of programming.

So the first project we will be looking at will be setting up 3 LEDs on a breadboard and connecting them to a Raspberry Pi that will programatically get them to turn on and off counting in binary. These are the GroovyCart Christmas lights.

Here are the numbers for anyone interested:
001   010   011   100   101   110   111
(0=light off, 1= light on)

Here is a video of the finished project here:

We used a breadboard to connect 3 LEDs to the Raspberry Pi via the GPIO ports, we will skip over that part because there are so many guides to doing that on the internet.

Raspberry Pi connected to a Breadboard
Raspberry Pi connected to a Breadboard.

We found the easiest way to interface with the GPIO ports was using Python, once again there are loads of guides for setting up python on a Raspberry Pi and we don't want to go around repeating what others are already saying.

The red, yellow and white cables are the power cables for the LED of that colour
The red, yellow and white cables are the power cables for the LED of that colour.

So a really quick overview of what we set up. The Raspberry Pi has 26 pins called GPIO pins that can be used to either send a signal out of the Pi or detect a voltage coming into the Pi. From the Pi we connected pin 6 to the Breadboard and used this as the ground for our LEDs. We then used pin 11, 13 and 15 (sidenote: the Pi refers to these as GPIO 17, 21 and 22 respectively) to send a voltage out to power the LEDs.

We also had to put a resistor before each LED and for us the hardest part of the project was finding out what resistors to use.

Now we get to the fun part.

In Python we used PRi.GPIO 0.4.1 to start activating the GPIO pins.

Once this is installed you can pull up a Python terminal window and enter:

import time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(11,GPIO.OUT) GPIO.setup(13,GPIO.OUT) GPIO.setup(15,GPIO.OUT) L1 = 11 L2 = 13 L3 = 15 delay = 0.5 def changelights(led1,led2,led3): GPIO.output(L1, led1) GPIO.output(L2, led2) GPIO.output(L3, led3) print "LEDs = ",((led1)+(led2*2)+(led3*4)) time.sleep (delay) return while True : changelights(False, False, False) changelights(True, False, False) changelights(False, True, False) changelights(True, True, False) changelights(False, False, True) changelights(True, False, True) changelights(False, True, True) changelights(True, True, True) time.sleep (delay)

This will output onto the screen:

LEDs = 0 LEDs = 1 LEDs = 2 LEDs = 3 LEDs = 4 LEDs = 5 LEDs = 6 LEDs = 7 LEDs = 0 LEDs = 1 ....

So lets break it down:

import time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(11,GPIO.OUT) GPIO.setup(13,GPIO.OUT) GPIO.setup(15,GPIO.OUT)

This just sets up the delay and also the GPIO software

L1 = 11 L2 = 13 L3 = 15 delay = 0.5

This initialises the variables, the first 3 lines select the pins we are going to use and the last one is the speed the lights change at.

def changelights(led1,led2,led3): GPIO.output(L1, led1) GPIO.output(L2, led2) GPIO.output(L3, led3) print "LEDs = ",((led1)+(led2*2)+(led3*4)) time.sleep (delay) return

This is just a function used to change the lights and then display a count in the terminal. Functions in Python are done by indentation.

while True : changelights(False, False, False) changelights(True, False, False) changelights(False, True, False) changelights(True, True, False) changelights(False, False, True) changelights(True, False, True) changelights(False, True, True) changelights(True, True, True) time.sleep (delay)

This last bit of code just loops around and also selects what lights should be on.


View/Leave Comments



Contactless Marketing with NFC

At GroovyCart we have been playing with NFC (‪Near Field Communication‬) Chips, these are the chips that can be found in Oyster Cards, Barclay PayTags and in Google Wallet.

NFC chips are very small memory cards that are thin enough to be put into stickers. You can then use mobile phones and other devices to access the data on them wirelessly. There is no battery on the chip so this allows them to be low cost and light weight, they are powered by radio waves from the mobile phone and the data can then be read and edited.

NFC Chips
NFC Chips.

There are different chips of varying signal strength and storage space. The newest of which is NTAG203 which is the smallest and has the best signal strength and storage space, however there are Ultralight C and Standard 1k NFC chips as well of different shapes and sizes.

We have put together a video showing our new business card with an NFC Chip on the back that when put near a HTC One X it boots up a browser and automatically goes to our website.

Chip Type Size Pages (number of storage areas)
NTAG 203 168 Bytes 42
Ultralight 64 Bytes 16

With the new update to android phones (4.1 Jelly Bean) there is a new icon at the top saying NFC with a wave above it. The NFC Chip can be programmed to do many things like loading a browser and adding contact information into the address book without making any changes to the phone, however with an extra app the phone can be told to change wifi information or send E-mails as well as many other things, this makes NFC chips very powerful.

NFC NTAG203
NFC NTAG203.

NFC Ultralight
NFC Ultralight.

NFC NTAG203
NFC NTAG203.

NFC NTAG203
NFC NTAG203.


View/Leave Comments



The New Cookie Policy Laws

So you will now be seeing lots of messages on all your favourite websites talking about cookies and while it may sound like a very tasty subject it's a thorn in the side of web developers and web users alike.

Some European bureaucrat in his infinite wisdom has decided that it was insufficient being able to see what cookies have been saved from the settings menus in the browser and that websites should have to go to the expense of overhauling their sites to ask permission before cookies are saved (even though a site may fundamentally not work like that).

It's worth saying here that cookies are completely safe. They are just small text files that a website can save on the computer once a page has been visited, other websites cannot view these cookies and they are so small in size that the storage space is insignificant. While a website can put whatever text they like in them there would be no point putting malicious code in it because there is no way to trigger the code.

And while cookies may sound very insignificant they are actually very important for websites and are fundamental for the functionality you have come to expect from sites. I am not sure you could even build a fully functional online shop without the use of cookies.

It seems the government is trying to fix the unemployment problem by giving thousands of programmers menial jobs to do.


As well as the massive task of changing all these websites what other problems are there?

Well I'm pleased you asked...

The first few seconds a user spends when they initially come to a website are so important and I cannot overstate this enough, it would be terrible if this time was spent reading about cookies. Websites could find they have a decreased average time on site and an increased bounce rate (users leaving them). Does this now put American websites at an advantage over our own now? Websites spend a lot of time and money making sure the right messages are displayed in the right order in the first milliseconds a user spends looking at the site, and this is going to be counterproductive to all this research.

Displaying messages to the user about cookies can be confusing, worrying and off-putting. Most websites have no choice but to put a large message up on every page, using some of their precious screen space, and I believe this is not what web users want. Every click a user makes is crucial and it is a challenge for web designers to keep their attention so the user doesn't leave the site. This has now been made a bit harder because we will have to get that extra click asking permission to save cookies.

I don't know how search engines are going to handle all this new text information, it is likely that any cookie messages that will be displayed will also be in a prime SEO location, so it could negatively impact sites (however Google are too smart to let this happen). I feel sorry for websites legitimately trying to sell edible cookies because they now have to literally compete with millions of other websites.


I am also unsure why the onus has been put on the websites to improve things, it seems to be the least efficient way to manage this because of the vast number of websites that now need to be changed.

At the heart of this is trying to get web developers and web users alike to question why a cookie has been saved. A web developer needs to ask "Do I really need to save this cookie?" and a web user needs to ask "Do I really want this cookie saved?".

Other ways this situation could have been handled:

  • Simple user education, if internet users knew what cookies are and what they do they can make their own risk assessment.
  • Categorising the cookies, it would be very easy to programatically guess what is contained in the cookie and once this has been done either by the browser or a separate program different cookies could be handled in different ways. This program could look for session ID's and only allow them for a maximum of 30 days, or reject cookies that look like they are storing E-mail addresses.
  • Third party tools for managing cookies, programs could be written that pop up when a cookie is being saved and what that cookie contained, the user could then either accept or reject the cookie. The program could even heuristically learn how to handle cookies in the future. I'm sure some antivirus companies would love to get involved with this.
  • Make it easier for users to see what is contained in a cookie so they can remove it if it is personal.
  • All browsers already give the functionality to view and remove cookies, and I don't think the browser companies should be left with the responsibility either, however one option is to radically improve how browsers manage cookies and how they are managed by the user.
  • Change the cookie system to allow a description of how the cookie is used to be saved, this is the most complex however I love the idea of a small notes field where a programmer can say why a cookie was saved and this gives the user even move information about when and why cookies are used.

In Conclusion:

We are really unhappy about the changes, however we have no choice but to follow the law. I think the reason for making the law change was unnecessary and will have a big impact on many companies when there were other ways that the problem (if there is even a problem and I don't think there is) could have been solved that would have given some companies more opportunities to develop new technologies or update the existing cookie technology.

I also think that some EU council member got caught by his wife looking at porn from the cookies that were left on his computer.

tldr: The websites that are legitimate will have to spend loads of money, time and resources implementing the cookie law, while the websites that are trying to hide their cookies will just not say they save any.


View/Leave Comments



How to get a star rating / review / product price / stock in-line on your Google Searches.

Once again I should say we have already done this for all of the shops running on GroovyCart so you don't need to do anything. We have only put this up for other web developers that need help doing it.

Example 1 - Product with a single price

Here is the most simple example of how to get a product price on your Google Search Listing, with image, price, name, stock, currency and description:

<div itemscope itemtype="http://data-vocabulary.org/Product" > <h1 class="prodname" itemprop="name">Handmade Bracelet</h1> <img src="productimages/c000255/p048537_m_250pxBracelet.jpg" alt="Handmade Bracelet" name="main" class="ProductImage" id="main" itemprop="image"/> <span itemprop="offerDetails" itemscope itemtype="http://data-vocabulary.org/Offer"><h3>PRICE: Was: <del>£7.20</del> Now: £<span itemprop="price">5.40</span></h3></span><br /> <span itemprop="stock">4</span> <span itemprop="availability" content="in_stock">in stock</span>. Quantity: <input name="quantity" type="text" id="quantity" value="1" size="4" maxlength="4" /> <meta itemprop="currency" content="GBP" /> <strong>Description:</strong><br /> <div class="proddesc" itemprop="description">Description would go here but it's so long we have removed it. </div> </div>

Using :
itemscope http://data-vocabulary.org/Product
itemscope http://data-vocabulary.org/Offer

With:

  • itemprop name
  • itemprop image
  • itemprop price
  • itemprop stock
  • itemprop availability
  • itemprop currency
  • itemprop condition
  • itemprop description

Example 2 - Product with a single price

Here is the an example of how to get a product price on your Google Search Listing:

<div itemscope itemtype="http://data-vocabulary.org/Product" > <h1 class="prodname" itemprop="name">Handmade Bracelet</h1> <h2>Sale 25% off!</h2> <img src="productimages/c000255/p048537_m_250pxBracelet.jpg" alt="Handmade Bracelet" name="main" class="ProductImage" id="main" itemprop="image"/> <form id="form1" name="form1" method="GET" action="Input/AddToBasket.php?product=48537"> <span itemprop="offerDetails" itemscope itemtype="http://data-vocabulary.org/Offer"><h3>PRICE: Was: <del>£7.20</del> Now: £<span itemprop="price">5.40</span></h3></span><br /> <span itemprop="stock">4</span> <span itemprop="availability" content="in_stock">in stock</span>. Quantity: <input name="quantity" type="text" id="quantity" value="1" size="4" maxlength="4" /> </form> <p><a href="cart.php?c=255&cat=bracelets">View other products in the <span itemprop="category">bracelets</span> category. </a></p> <span style="display:none;" itemprop="seller">Lucy's Handmade Jewellery</span> <span style="display:none;" itemprop="brand">Handmade</span> <span style="display:none;" itemprop="category">Apparel & Accessories > Jewelry > Bracelets</span> <span style="display:none;" itemprop="identifier"></span> <meta itemprop="currency" content="GBP" /> <span style="display:none;" itemprop="condition" content="new"></span> <strong>Description:</strong><br /> <div class="proddesc" itemprop="description">Description would go here but it's so long we have removed it. </div> </div>

Using :
itemscope http://data-vocabulary.org/Product
itemscope http://data-vocabulary.org/Offer

With:

  • itemprop name
  • itemprop image
  • itemprop price
  • itemprop stock
  • itemprop availability
  • itemprop category
  • itemprop seller
  • itemprop brand
  • itemprop category
  • itemprop identifier
  • itemprop currency
  • itemprop condition
  • itemprop description

Example 3 - Product with a single price (on sale) and reviews

Here is an example of how to get a product price a review star rating on your Google Search Listing at the same time:

<div itemscope itemtype="http://data-vocabulary.org/Product" itemprop="itemreviewed"> <h1 class="prodname" itemprop="name">Handmade Bracelet</h1> <h2>Sale 25% off!</h2> <img src="productimages/c000255/p048537_m_250pxBracelet.jpg" alt="Handmade Bracelet" name="main" class="ProductImage" id="main" itemprop="image"/> <form id="form1" name="form1" method="GET" action="Input/AddToBasket.php?product=48537"> <span itemprop="offerDetails" itemscope itemtype="http://data-vocabulary.org/Offer"><h3>PRICE: Was: <del>£7.20</del> Now: £<span itemprop="price">5.40</span></h3></span><br /> <span itemprop="stock">4</span> <span itemprop="availability" content="in_stock">in stock</span>. Quantity: <input name="quantity" type="text" id="quantity" value="1" size="4" maxlength="4" /> </form> <p><a href="cart.php?c=255&cat=bracelets">View other products in the <span itemprop="category">bracelets</span> category. </a></p> <span style="display:none;" itemprop="seller">Lucy's Handmade Jewellery</span> <span style="display:none;" itemprop="brand">Handmade</span> <span style="display:none;" itemprop="category">Apparel & Accessories > Jewelry > Bracelets</span> <span style="display:none;" itemprop="identifier"></span> <meta itemprop="currency" content="GBP" /> <span style="display:none;" itemprop="condition" content="new"></span> <div itemscope itemtype="http://data-vocabulary.org/Review-aggregate" style="display:none;"> <div itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating"><span itemprop="average">100</span>% <span style="display:none;" itemprop="best">100</span></div> <span style="display:none;" itemprop="votes">3</span> <span style="display:none;" itemprop="itemreviewed">Handmade Bracelet</span> </div> <strong>Description:</strong><br /> <div class="proddesc" itemprop="description">Description would go here but it's so long we have removed it. </div> </div>

Using :
itemscope http://data-vocabulary.org/Product
itemscope http://data-vocabulary.org/Offer
itemscope http://data-vocabulary.org/Review-aggregate
itemscope http://data-vocabulary.org/Rating

With:

  • itemprop name
  • itemprop image
  • itemprop price
  • itemprop stock
  • itemprop availability
  • itemprop category
  • itemprop seller
  • itemprop brand
  • itemprop category
  • itemprop identifier
  • itemprop currency
  • itemprop condition
  • itemprop description
  • itemprop rating
  • itemprop average
  • itemprop best
  • itemprop votes
  • itemprop itemreviewed

Example 4 - Product with multiple prices and star rating reviews

The following has multiple prices, star rating reviews and stock all in the Google Search Listings:

<div itemscope itemtype="http://data-vocabulary.org/Product" itemprop="itemreviewed"> <h1 class="prodname" itemprop="name">Blue Shirt</h1> <img src="productimages/c000255/p048534_m_230pxblueshirt.jpg" alt="Blue Shirt" name="main" class="ProductImage" id="main" itemprop="image"/> <span itemprop="availability" content="in_stock">Available to Buy</span> <form id="form1" name="form1" method="GET" action="Input/AddToBasket.php?product=48534"> <select name="AttributeID" size="4" id="Attributes"> <option value="48857" selected="selected">Small - £13.20 [6 in stock]</option> <option value="48858" >Medium - £14.20 [20 in stock]</option> <option value="48859" >Large - £15.20 [20 in stock]</option> </select> <div itemprop="offerDetails" itemscope itemtype="http://data-vocabulary.org/Offer-aggregate"> From £<span itemprop="lowPrice">3.20</span> to £<span itemprop="highPrice">5.20</span> </div> Quantity:<input name="quantity" type="text" id="quantity" value="1" size="4" maxlength="4" /> </form> <p><a href="cart.php?c=255&cat=shirts">View other products in the <span itemprop="category">Shirt</span> category. </a></p> <span style="display:none;" itemprop="seller">Shirt Shop</span> <span style="display:none;" itemprop="brand">Duchamp</span> <span style="display:none;" itemprop="category">Apparel & Accessories > Clothing > Tops > Shirts & Blouses</span> <span style="display:none;" itemprop="identifier">7702018977901</span> <meta itemprop="currency" content="GBP" /> <span style="display:none;" itemprop="condition" content="new"></span> <div itemscope itemtype="http://data-vocabulary.org/Review-aggregate" style="display:none;"> <div itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating"><span itemprop="average">4.8</span> <span style="display:none;" itemprop="best">5</span></div> <span style="display:none;" itemprop="votes">12</span> <span style="display:none;" itemprop="itemreviewed">Blue Shirt</span> </div> <strong>Description:</strong><br /> <div class="proddesc" itemprop="description">Description would go here but it's so long we have removed it. </div><br /> </div>

Using :
itemscope http://data-vocabulary.org/Product
itemscope http://data-vocabulary.org/Offer-aggregate
itemscope http://data-vocabulary.org/Review-aggregate
itemscope http://data-vocabulary.org/Rating

With:

  • itemprop name
  • itemprop image
  • itemprop highprice
  • itemprop lowprice
  • itemprop stock
  • itemprop availability
  • itemprop category
  • itemprop seller
  • itemprop brand
  • itemprop category
  • itemprop identifier
  • itemprop currency
  • itemprop condition
  • itemprop description
  • itemprop rating
  • itemprop average
  • itemprop best
  • itemprop votes
  • itemprop itemreviewed

Please note this one uses Offer-aggregate not Offer

Example 5 - Reviews page with review summery and list of reviews

Here is an example of having multiple reviews and an overview without a product. We have avoided listing reviews and products on the same page because our product information is far more important than the individual reviews. Because of this we only use the review summery to insure Google displays the product information rather than an individual review.

<div itemscope itemtype="http://data-vocabulary.org/Review-aggregate"> <div>This shop is displaying 100% of their feedback <img src="i/bar1.gif" width="104" height="11" style="position:relative;" /><img src="i/bar2.gif" class="feedbar" style="width:100px;" /></div> <div itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating">The average rating for all feedback is <span itemprop="average">98</span>% <img src="i/bar1.gif" width="104" height="11" style="position:relative;" /><img src="i/bar2.gif" class="feedbar" style="width:98px;" /><span style="display:none;" itemprop="best">100</span></div> <span style="display:none;" itemprop="count">2</span> <span style="display:none;" itemprop="votes">10</span> <span style="display:none;" itemprop="itemreviewed">Handmade Jewellery</span> </div> <hr /> <div itemscope itemtype="http://data-vocabulary.org/Review"> <span style="display:none;" itemprop="itemreviewed">Handmade Jewellery</span> <img src="i/h5.gif" width="94" height="17" alt="5 hearts"/>  <time itemprop="dtreviewed" datetime="2011-10-14">Fri, 14 Oct - 20:06</time> <div><strong>The buyer said:</strong> <span itemprop="description">Quick and all that, very happy. </span></div> <div>Did they receive their goods within 30 days? Yes</div><div>Was the packaging good? Yes</div> <strong><span itemprop="rating">5</span> hearts out of 5.</strong> </div> <div itemscope itemtype="http://data-vocabulary.org/Review"> <span style="display:none;" itemprop="itemreviewed">Handmade Jewellery</span> <img src="i/h5.gif" width="94" height="17" alt="5 hearts"/>  <time itemprop="dtreviewed" datetime="2011-10-15">Fri, 15 Oct - 20:06</time> <div><strong>The buyer said:</strong> <span itemprop="description">Great service. </span></div> <div>Did they receive their goods within 30 days? Yes</div><div>Was the packaging good? Yes</div> <strong><span itemprop="rating">5</span> hearts out of 5.</strong> </div>

Using :
itemscope http://data-vocabulary.org/Review
itemscope http://data-vocabulary.org/Review-aggregate

With:

  • itemprop average
  • itemprop best
  • itemprop count
  • itemprop votes
  • itemprop itemreviewed
  • itemprop dtreviewed
  • itemprop description
  • itemprop rating


View/Leave Comments



Big Changes With Domain Names.

Many of you may have heard about the shake up with the domain names, so I thought I would give you a bit of an overview of what's happening and give you some of our thoughts about what this will mean for the future.

What is a Top Level Domain?

An example of what each part of a URL does.
An example of what each part of a URL does.
  • Protocol: This is so your computer knows how to handle the file
  • Sub Domain: Whoever owns the Domain can select what page is loaded depending on what the sub domain name is set to.
  • Second Level Domain: At the moment you buy this in conjunction with your Top Level Domain.
  • Top Level Domain: This is the bit that is changing. Keep reading because this is what I'm going to be talking about (TLD).
  • Domain Name: The Top Level Domain coupled with the Second level domain is what you buy, it then goes into a big long list called a DNS server so anyone making a request to that domain name is sent to your server.

What's happening with the top level domains?

Top Level Domains are normally just the familiar   .com   .co.uk   .org   .biz   however the change that is happening is soon these will be opened up so companies can buy an ending to use and/or resell.

For example Company A can buy the Top Level Domain "sports". And then sell www.football.sports to company B and www.tennis.sports to company C.

The reason for this change is because we are apparently running out of domain names. Domains are all managed by the Internet Corporation for Assigned Names and Numbers (ICANN) and this is how they are developing the domain system for the future.

This change is called Generic Top-Level Domains (gTLD).

How do you get a Generic Top-Level Domain?

As of January companies can put forwards a request to buy and maintain a top level domain, however it's not like when you buy a regular domain, a top level domain will set you back $185,000 (£120,836) as well as a $25,000 (£16,308) upkeep cost. Companies will also have to put forwards a plan before they can get approval and ICANN will compare the proposals for each company wanting matching top level domains.

A large chunk of the cost will be put aside for the legal battles that will inevitably ensue from the obvious copyright and security issues that come from opening it up.

Any company that buys a gTLD (because no normal individual will be able to afford the cost) can decide what they do with it. Some may want to keep it just for the purpose of branding while others may want to sell domains with their ending. If so they can sell them at whatever cost they like and to whomever they like.

The Problem with generic top level domains.

While I agree that anyone wanting a new domain nowadays either has to buy something very obscure, make up a new word or use several words linked together to try and find something unique. I think that this dramatic change is going to make regulation near impossible and also lead to a huge amount of confusion for users finding and verifying the legitimacy of websites in the future.

The problem comes with knowing who can legitimately regulate and fairly govern a top level domain. If a music publisher like Sony was to buy .music would they equally share the rights to this domain? And even if they do resell the second level domains we will get into the situation where you have to worry about your trademark on every single top level domain.

Someone that owns .company could sell tesco.company to anyone, now I doubt that in a legal battle Tesco would have any trouble showing they are the owner, however Tesco will now have to protect themselves over a huge number of possible domains. In the past many companies have bought their second level domain on all the popular top level domains even if they have no intention of using them just as a way of protecting themselves, but this would be impossible on the new system.

About the only thing I like about this change is companies and countries that legitimately want to get their URLs in their native language will be able to, because these new top level domains will have the ability to use non-English characters in.

Phishing scams are likely to become really hard to detect with gTLD. In the future you could find yourself going to www.barclays.secure only to find that .secure has been bought by a security guard firm that has sold barclays.secure to an unscrupulous individual that it trying to scam bank details from you, I'm sure ICANN have been thinking of measures to avoid this but I think it will be inevitable.

If anything this has only managed to move my focus off of my severe dislike of the fact that America have stolen .com for years. The .com top level domain was intended to be used by commercial for-profit companies while America had .us reserved for them, but this is very rarely used.

Have you ever been to a .mil site? You would think that it is reserved for military use, and it is. but only American military institutes can use it. In the same way we have .gov and .edu in the UK

The future of gTLD

No one can stop ICANN from making the change because they are an independent entity however having them look after the domain names is far better than the US government looking after it like they did before ICANN took over. ICANN have already said that they have put so much research and time into this change that there will be no turning back now, but it does just feel like a money making exercise for them because I think this will leave us with a far more complex and unmanageable system for the future.

Companies with good plans and funding now might not be so powerful in the future and may hold back potentially important gTLDs. Not that I think this will be a huge problem but I can envision companies not being able to look after their TLD, and then they become messy black markets, where anything goes.

It is unavoidable that we will have the same problem that we had many years ago where individuals wanting to make immoral money will quickly buy up domains and then "squat" on them for ages until they find a company desperate to buy them. And this is likely to happen on a gigantic scale where any company name, trademark, product name or popular word is bought for cheap and held onto so others can't use it.

The costs for large and small companies having to do development for these changes could be huge, not to mention any individuals that own a now obsolete domains and will have to pay (maybe vast sums) if they want to keep up.

What is the cost of a Generic Top Level Domain?

As I said above a custom top level domain will cost $185,000 (£120,836) one off, as well as a $25,000 (£16,308) upkeep cost. But this is likely to be insignificant compared to the on-going legal cost, the cost of monitoring it and the infrastructure needed to run it.

Companies wanting one will also be required to verify they are the best company to own it and that they have a legitimate use for it. They will also have to prove that they are able to moderate it.

What does this mean for us?

We are going to hold out and see what happens to top level domains like .shop .cart .sell .buy .store and see how they can best benefit our shops in the long term.

Furthermore, as an internet user you are going to have to keep a more vigilant eye out for website that are not who they say they are.

Read more about getting a domain name on your online shop here.


View/Leave Comments



HTML5

So you were probably just thinking to yourself that HTML5 hadn't gone out with such a big bang like everyone suggested it would...No?

It kinda feels like when everyone got all hyped about web 2.0. Remember that? Yeah nothing changed and you are still using the same old websites you used to.

Well its half to be expected, HTML5 is just an evolution of an already existing and well used technology.

For those of you that are not working on websites all day every day HTML5 is a set of new features that us web developers can now use when building websites. Well that's what it's supposed to be, because what actually happens is we first spend months waiting for the browsers to catch up and understand this new code, and then we literally spend years and years waiting for everyone to update the browsers on their computers to this new version.

Also another problem is that HTML5 is not one big change, but a collection of seemingly insignificant changes, and each of the many browsers will update to use some of the new features but take longer to implement some of the other features.

This gives us a bigger problem, making some sites work in some browsers and not in others, and more likely it will work differently from one browser to the next, or even using the same browser but in different operating systems.

The real problem is getting everyone to upgrade to these flashy new browsers, we can't use these new features until we know everyone will be able to use them properly. Even right now over 1% of the people reading this are still using IE6, a browser that is over 10 years old and riddled with security flaws (I hope if anything this post will get those people to update their browser). So if we used a new HTML feature that worked on every browser apart from IE 6 (and realistically this is a problem for lots of browsers not just IE6 even though it looks like I'm picking on it), if this new feature was an integral part of the website and we had 10,000 users. Potentially 100 customers wouldn't be able to make an order.

Over the next few weeks and months I will post more of my views of HTML5, including some tips on simple changes you can do to make a real benefit to your site as well as some positive and negative features in HTML5.

Some of my other posts won't be so negative about it I promise.


View/Leave Comments



A Peek of Things to Come.

Rework of the shop widgets page including many new widgets
Rework of the shop widgets page
including many new widgets.

Click to see full size image.

A new Edit Widgets Page

We have updated the edit widgets page with an aim to make it quicker to update and more intuitive to learn.

We have also added 13 widgets and updated some others. Most of the new widgets have been developed to either help send your customers to social sites you use to help obtain their trust, or to be used as a tool to help inform them and keep customers up to date with new products and promotions.

New widgets include:

  • Twitter Feed
  • Google+
  • Facebook badges
  • Blogger Link
  • LiveJournal Link
  • Tumblr Link

All this will be coming soon in the next deployment.


View/Leave Comments



The CSS :focus mouse over declaration.

This article is intended to help other web developers wanting to find out about the CSS :focus rule.

Anyone that has done some kind of web development will have seen this kind of code before:

a:hover { color: red; text-decoration: none; }

And you may be asking me what is wrong with that?

Well it does work, but what about people that navigate around the site using the Tab key? Or even devices that don't have a mouse so there is no hover event?

Im on a solo quest to try and get all web developers to make a simple addition to that code that will give a far better user experience for unusual web devices and web behaviours.

There is no reason why all your hover events shouldn't always look like this:

a:hover,a:focus { color: red; text-decoration: none; }

This means that if a link is given focus it will look like it does when mouse is hovering over it.

Give it a try and hit tab a couple of times to see it working on this site.

This will give your whole site a more standard feel when customers are using touch screen devices.

Browser support for :focus is good but not perfect. It seems to work on all browsers apart from IE 7 and under. This is good enough for me because it is never going to be an integral part of your site.

This code also works for text areas so you can display different styles when the user is typing into a text box.


View/Leave Comments



Microdata for products, shops and websites.

What is Microdata?

In HTML 5 you can now add microdata in your code. This allows you to add extra information about the text on your page. For our shops we have already done this for you so you don't need to do anything. However we thought we would write this article for anyone wanting to find out more about how Microdata can be used for products and in other helpful places.

In the HTML 5 specification there are many different categories of microdata (they call them itemtypes) that can be used. For example if you are talking about a place you have been to on your page you can use the Place itemtype to embed information like; address, reviews, photos, events and location. This information can then potentially be used to understand what you are talking about better.

This is an example of what the microdata would look like for a simple product:

<div itemscope itemtype="http://data-vocabulary.org/Product" > <h1 class="prodname" itemprop="name">Handmade Bracelet</h1> <img src="productimages/c000255/p048537_m_250pxBracelet.jpg" alt="Handmade Bracelet" name="main" class="ProductImage" id="main" itemprop="image"/> <span itemprop="offerDetails" itemscope itemtype="http://data-vocabulary.org/Offer"><h3>£<span itemprop="price">5.40</span></h3></span><br /> <span itemprop="stock">4</span> <span itemprop="availability" content="in_stock">in stock</span>. <meta itemprop="currency" content="GBP" /> <strong>Description:</strong><br /> <div class="proddesc" itemprop="description">Description would go here </div> </div>

Potentially this is how Google could use it:

Use of Micro Data and Rich Snippets to display a product price and reviews on Google.
Use of Micro Data and Rich Snippets to display a product price and reviews on Google.

List of Microdata types:

Here are some of the more important itemtypes, but I will put a full list of itemtypes at the bottom because I dont want to clutter the page

  • Blog
  • Review < - Used by Google
  • Thing
  • Creative Work
  • Article
  • Recipe < - Used by Google
  • Webpage
  • Event < - Used by Google
  • Organisation
  • Person < - Used by Google
  • Place
  • Product <- Used by Google
  • Movie < - Used By Google
  • Offer < - Used By Google

How is this information used?

All of this information is purely optional, however the SEO improvement alone is a reason to implement it. At the moment that is the only real use for this information, however I envision in the future this information will be used by many places, especially browsers, that will make good use of it to provide benefits to the users of these websites.

Even though Google, Yahoo and Bing are all meant to use the standard that has been set by schema.org, Google is the only one of the three that has definitive web pages that say what data they use and how they use it, both Bing and Yahoo have no information about how they use the information or when they will implement it.

Google have an excellent tool here:
http://www.google.com/webmasters/tools/richsnippets

That allows you to try and and test the information you put on a page, and Google will show you how it could possibly use it.

Try entering the URL of one of our product on that page to find out how we have implemented micro data, we have spent a lot of care getting our microdata looking just right on Google because our whole business relies on our products getting high and looking good on Google.

Use of Micro Data and Rich Snippets to display a product price and reviews on Google.
Use of Micro Data and Rich Snippets to display a product price and reviews on Google.

We have even implemented AggregateOffer on our products so Google can display both the price of the item and the rating it has at the same time (even though at the time of writing this the Google documentation has inaccuracies that probably stop other websites from correctly doing this).

We also send extra information like the brand and ISBN number to help your products get found to the best possible audience.

Microdata Examples

Here is a simple example of how microdata would look on a page:
<div itemscope itemtype="http://data-vocabulary.org/Product" itemprop="itemreviewed"> <h1 class="prodname" itemprop="name">Handmade Bracelet</h1> <h2>Sale 25% off!</h2> <img src="productimages/c000255/p048537_m_250pxBracelet.jpg" alt="Handmade Bracelet" name="main" class="ProductImage" id="main" itemprop="image"/> <form id="form1" name="form1" method="GET" action="Input/AddToBasket.php?product=48537"> <input name="AttributeID" type="hidden" value="48863" /> <span itemprop="offerDetails" itemscope itemtype="http://data-vocabulary.org/Offer"><h3>PRICE: Was: <del>£7.20</del> Now: £<span itemprop="price">5.40</span></h3></span><br /> <span itemprop="stock">4</span> <span itemprop="availability" content="in_stock">in stock</span>. Quantity: <input name="quantity" type="text" id="quantity" value="1" size="4" maxlength="4" /> </form> <p><a href="cart.php?c=255&cat=bracelets">View other products in the <span itemprop="category">bracelets</span> category. </a></p> <span style="display:none;" itemprop="seller">Lucy's Handmade Jewellery</span> <span style="display:none;" itemprop="brand">Handmade</span> <span style="display:none;" itemprop="category">Apparel & Accessories > Jewelry > Bracelets</span> <span style="display:none;" itemprop="identifier"></span> <meta itemprop="currency" content="GBP" /> <span style="display:none;" itemprop="condition" content="new"></span> <strong>Description:</strong><br /> <div class="proddesc" itemprop="description">Description would go here but it's so long we have removed it. </div> </div>

However I will put up a longer list of microdata examples soon.

Full list of Microdata types:

  • Thing
  • CreativeWork
  • Article < - I predict it will be used more in the future
    • BlogPosting
    • NewsArticle
    • ScholarlyArticle
  • Blog < - I predict it will be used more in the future
  • Book < - I predict it will be used more in the future
  • ItemList
  • Map
  • MediaObject < - I predict it will be used more in the future
    • Audio
    • Image
    • MusicVideo
    • Video
  • Movie < - Used By Google
  • MusicPlaylist
    • MusicPlaylist
  • MusicRecording
  • Painting < - I predict it will be used more in the future
  • Photograph
  • Recipe < - Used By Google
  • Review < - Used By Google
  • Sculpture
  • TVEpisode < - Used By Google
  • TVSeason < - Used By Google
  • TVSeries < - Used By Google
  • WebPage < - I predict it will be used more in the future
    • AboutPage
    • CheckoutPage
    • CollectionPage
      • ImageGallery
      • VideoGallery
    • ContactPage
    • ItemPage
    • ProfilePage
    • SearchResultsPage
    • WebPageElement < - Made redundant because of new HTML5 tags
      • SiteNavigationElement < - Made redundant because of new HTML5 tags Nav
      • Table
      • WPAdBlock
      • WPFooter < - Made redundant because of new HTML5 tag Footer
      • WPHeader < - Made redundant because of new HTML5 tag Header
      • WPSideBar < - Made redundant because of new HTML5 tag Sidebar
    • Event < - Used By Google
      • BusinessEvent
      • ChildrensEvent
      • ComedyEvent
      • DanceEvent
      • EducationEvent
      • Festival
      • FoodEvent
      • LiteraryEvent
      • MusicEvent
      • SaleEvent
      • SocialEvent
      • SportsEvent
      • TheaterEvent
      • UserInteraction
        • UserBlocks
        • UserCheckins
        • UserComments
        • UserDownloads
        • UserLikes
        • UserPageVisits
        • UserPlays
        • UserPlusOnes
        • UserTweets
      • VisualArtsEvent
    • Intangible
      • Enumeration
        • BookFormatType
        • ItemAvailability
        • OfferItemCondition
      • JobPosting
      • Language < - I predict it will be used more in the future
      • Offer < - Used By Google
        • AggregateOffer < - Used By Google
      • Quantity < - I predict it will be used more in the future
        • Distance
        • Duration
        • Energy
        • Mass
      • Rating < - Used By Google
        • AggregateRating < - Used By Google
      • StructuredValue
        • ContactPoint
          • PostalAddress < - I predict it will be used more in the future
        • GeoCoordinates < - I predict it will be used more in the future
        • GeoShape
        • NutritionInformation
      • Organization < - I predict it will be used more in the future
        • Corporation
          • EducationalOrganization
            • CollegeOrUniversity
            • ElementarySchool
            • HighSchool
            • MiddleSchool
            • Preschool
            • School
          • GovernmentOrganization
          • LocalBusiness < - I predict it will be used more in the future
            • AnimalShelter
            • AutomotiveBusiness
              • AutoBodyShop
              • AutoDealer
              • AutoPartsStore
              • AutoRental
              • AutoRepair
              • AutoWash
              • GasStation
              • MotorcycleDealer
              • MotorcycleRepair
            • ChildCare
            • DryCleaningOrLaundry
            • EmergencyService
              • FireStation
              • Hospital
              • PoliceStation
            • EmploymentAgency
            • EntertainmentBusiness
              • AdultEntertainment
              • AmusementPark
              • ArtGallery
              • Casino
              • ComedyClub
              • MovieTheater
              • NightClub
            • FinancialService
              • AccountingService
              • AutomatedTeller
              • BankOrCreditUnion
              • InsuranceAgency
            • FoodEstablishment
              • Bakery
              • BarOrPub
              • Brewery
              • CafeOrCoffeeShop
              • FastFoodRestaurant
              • IceCreamShop
              • Restaurant
              • Winery
            • GovernmentOffice
              • PostOffice
            • HealthAndBeautyBusiness
              • BeautySalon
              • DaySpa
              • HairSalon
              • HealthClub
              • NailSalon
              • TattooParlor
            • HomeAndConstructionBusiness
              • Electrician
              • GeneralContractor
              • HVACBusiness
              • HousePainter
              • Locksmith
              • MovingCompany
              • Plumber
              • RoofingContractor
            • InternetCafe
            • Library
            • LodgingBusiness
              • BedAndBreakfast
              • Hostel
              • Hotel
              • Motel
            • MedicalOrganization
              • Dentist
              • Hospital
              • MedicalClinic
              • Optician
              • Pharmacy
              • Physician
              • VeterinaryCare
            • ProfessionalService
              • AccountingService
              • Attorney
              • Dentist
              • Electrician
              • GeneralContractor
              • HousePainter
              • Locksmith
              • Notary
              • Plumber
              • RoofingContractor
            • RadioStation
            • RealEstateAgent
            • RecyclingCenter
            • SelfStorage
            • ShoppingCenter
            • SportsActivityLocation
              • BowlingAlley
              • ExerciseGym
              • GolfCourse
              • HealthClub
              • PublicSwimmingPool
              • SkiResort
              • SportsClub
            • Store
              • AutoPartsStore
              • BikeStore
              • BookStore
              • ClothingStore
              • ComputerStore
              • ConvenienceStore
              • DepartmentStore
              • ElectronicsStore
              • Florist
              • FurnitureStore
              • GardenStore
              • GroceryStore
              • HardwareStore
              • HobbyShop
              • HomeGoodsStore
              • JewelryStore
              • LiquorStore
              • MensClothingStore
              • MobilePhoneStore
              • MovieRentalStore
              • MusicStore
              • OfficeEquipmentStore
              • OutletStore
              • PawnShop
              • PetStore
              • ShoeStore
              • SportingGoodsStore
              • TireShop
              • ToyStore
              • WholesaleStore
              • StadiumOrArena
              • TennisComplex
            • TelevisionStation
            • TouristInformationCenter
            • TravelAgency
          • NGO
          • PerformingGroup
            • DanceGroup
            • MusicGroup
            • TheaterGroup
          • SportsTeam
        • Person < - Used By Google
        • Place < - I predict it will be used more in the future
          • AdministrativeArea
            • City
            • Country
            • State
          • CivicStructure
            • Airport
            • Aquarium
            • Beach
            • BusStation
            • BusStop
            • Campground
            • Cemetery
            • Crematorium
            • EventVenue
            • FireStation
            • GovernmentBuilding
              • CityHall
              • Courthouse
              • DefenceEstablishment
              • Embassy
              • LegislativeBuilding
            • Hospital
            • MovieTheater
            • Museum
            • MusicVenue
            • Park
            • ParkingFacility
            • PerformingArtsTheater
            • PlaceOfWorship
              • BuddhistTemple
              • CatholicChurch
              • Church
              • HinduTemple
              • Mosque
              • Synagogue
            • Playground
            • PoliceStation
            • RVPark
            • StadiumOrArena
            • SubwayStation
            • TaxiStand
            • TrainStation
            • Zoo
          • Landform
            • BodyOfWater
              • Canal
              • LakeBodyOfWater
              • OceanBodyOfWater
              • Pond
              • Reservoir
              • RiverBodyOfWater
              • SeaBodyOfWater
              • Waterfall
            • Continent
            • Mountain
            • Volcano
          • LandmarksOrHistoricalBuildings
          • LocalBusiness
            • AnimalShelter
            • AutomotiveBusiness
              • AutoBodyShop
              • AutoDealer
              • AutoPartsStore
              • AutoRental
              • AutoRepair
              • AutoWash
              • GasStation
              • MotorcycleDealer
              • MotorcycleRepair
            • ChildCare
            • DryCleaningOrLaundry
            • EmergencyService
              • FireStation
              • Hospital
              • PoliceStation
            • EmploymentAgency
            • EntertainmentBusiness
              • AdultEntertainment
              • AmusementPark
              • ArtGallery
              • Casino
              • ComedyClub
              • MovieTheater
              • NightClub
            • FinancialService
              • AccountingService
              • AutomatedTeller
              • BankOrCreditUnion
              • InsuranceAgency
            • FoodEstablishment
              • Bakery
              • BarOrPub
              • Brewery
              • CafeOrCoffeeShop
              • FastFoodRestaurant
              • IceCreamShop
              • Restaurant
              • Winery
            • GovernmentOffice
              • PostOffice
            • HealthAndBeautyBusiness
              • BeautySalon
              • DaySpa
              • HairSalon
              • HealthClub
              • NailSalon
              • TattooParlor
            • HomeAndConstructionBusiness
              • Electrician
              • GeneralContractor
              • HVACBusiness
              • HousePainter
              • Locksmith
              • MovingCompany
              • Plumber
              • RoofingContractor
            • InternetCafe < - I predict it will be used more in the future
            • Library < - I predict it will be used more in the future
            • LodgingBusiness
              • BedAndBreakfast
              • Hostel
              • Hotel < - I predict it will be used more in the future
              • Motel
            • MedicalOrganization < - I predict it will be used more in the future
              • Dentist
              • Hospital
              • MedicalClinic
              • Optician
              • Pharmacy
              • Physician
              • VeterinaryCare
            • ProfessionalService
              • AccountingService
              • Attorney
              • Dentist
              • Electrician
              • GeneralContractor
              • HousePainter
              • Locksmith
              • Notary
              • Plumber
              • RoofingContractor
            • RadioStation
            • RealEstateAgent
            • RecyclingCenter
            • SelfStorage
            • ShoppingCenter
            • SportsActivityLocation
              • BowlingAlley
              • ExerciseGym
              • GolfCourse
              • HealthClub
              • PublicSwimmingPool
              • SkiResort
              • SportsClub
              • StadiumOrArena
              • TennisComplex
            • Store
              • AutoPartsStore
              • BikeStore
              • BookStore
              • ClothingStore
              • ComputerStore
              • ConvenienceStore
              • DepartmentStore
              • ElectronicsStore
              • Florist
              • FurnitureStore
              • GardenStore
              • GroceryStore
              • HardwareStore
              • HobbyShop
              • HomeGoodsStore
              • JewelryStore
              • LiquorStore
              • MensClothingStore
              • MobilePhoneStore
              • MovieRentalStore
              • MusicStore
              • OfficeEquipmentStore
              • OutletStore
              • PawnShop
              • PetStore
              • ShoeStore
              • SportingGoodsStore
              • TireShop
              • ToyStore
              • WholesaleStore
            • TelevisionStation
            • TouristInformationCenter
            • TravelAgency
          • Residence
            • ApartmentComplex
            • GatedResidenceCommunity
            • SingleFamilyResidence
          • TouristAttraction
        • Product < - Used By Google

View/Leave Comments



Thank you to everyone for sharing our pages around over the last year!

AddThis are the folks we use to help visitors share our site around. They have sent us an infographic depicting our performance over the last year so I thought I would share it with you.

You can find the infographic at the bottom of this text dejectedly because it wouldn't fit at the top of the page.

As you can see at the start of the year we only had very basic sharing facilities, however in June we displayed the sharing bar more obviously and this gave us a massive improvement, causing the first peek on the graph. The largest peek on the graph is when we launched our new homepage.

Maybe the largest shock is how wide spread the sharing has been around the world.

Another thing to point out is that even though twitter is used to share more often than Facebook, posts shared on Facebook were far more likely to be clicked on.

Tuesday is a really odd day to have as our most popular day for sharing, most sites on the internet find that Friday is there most popular day. Entertainment websites tend to get more shares between Friday and Sunday, Online shops usually get more shares the closer you get to Friday. However our figures align more with a news website that would get shares equally throughout the week.

Our AddThis sharing results for 2011
Our AddThis sharing results for 2011.

View/Leave Comments



Social Sharing Changes 2011

AddThis are experts in how content is shared across the internet, they are the ones that host the share buttons on all of your product pages. They have posted some interesting statistics that they have gathered over the last year, so we thought we would share some of the highlights with you.


Facebook makes up 52.1% of all sharing on the web.

This is hardly surprising, Facebook have the numbers and make it so easy to share content to a captive audience. I wonder how long they can keep this up with all the competition that is out there.

Twitter makes up 13.5% of sharing and grows 576.9%

I'm shocked that sharing on Twitter has grown so much, I thought that twitter had reached its peak. I think this growth must be because they added an automatic ability to shorten links making it really easy to share websites.

Tumblr sharing grows by 1299.5% and is accelerating.

The interesting point about this figure is the fact that it is still increasing. Personal blogs have really changed from being something celebrities and companies have to a way individuals can share their thoughts and interesting things they find.

Address Bar sharing creates 1600% viral lift.

While this is a massive amount, it is a new service AddThis have added and have been really pushing over the last few months, so I don't think they can sustain this growth for next year.

StumbleUpon Creates a 320% viral lift.

While Stumble Upon doesn't generally work for online shops it is a great way to reach an open audience who are actively looking for interesting items to look at.

Google +1 grows 373% but has plateaued.

This will really disappoint Google, while they have been attracting a steady flow of users from Facebook, users still tend to share content from the comfort of Facebook.

E-mail, Print and Favourite make up 14.4% of sharing.

While Stumble doesn't work very well for shops E-mail, printing and favouriting work extremely well for us. Many customers will bookmark a product to purchase later or E-mail products to friends.

Digg sharing continues to decline by 47.7%

Digg works well for news articles however its format makes it less beneficial for products. Digg will really struggle to get back ground on the powerhouse that is Facebook, as users tend to share news articles on Facebook rather than dedicated news sites like Digg.

MySpace sharing continues to decline by 56.9%

This shocked me because I didn't think anyone still used MySpace. While they used to have a huge market share in the social world, they now only have the odd small band use them. It's design does not encourage sharing at heart so I only expect this figure to keep declining.

Sharing on mobile devices has grown 6 fold.

Browsing on mobile devices is so easy now and with the widespread use of tablets I expect this to keep on increasing until it matches desktop figures.


Find the full list of facts here.


View/Leave Comments



Feedback on our Shop Admin.

About 3 months ago we radically changed our homepage, the shop administration page and also added templates to our shops. So we thought it would be good to get feedback on the shop administration page.

GroovyCart Shop Administration Panel.
GroovyCart Shop Administration Panel.

So leave your comments in the box below and we would be really interested to hear what you have to say!


View/Leave Comments



What is the most popular hour for users to browse websites?

I often get asked what time is most popular on the website (yeah I didn't think you would fall for that but it's a good conversation starter). So I thought I would overlay some of the thousands of shops we host onto one graph to see if we could make sense of it.

There are a few basic things to learn first if you don't already know them:

Pages:This is the number of pages that have been viewed by visitors browsing the website.
Files:This is the number of files that have been downloaded to the browser. This includes images, css files and JavaScript files in order to build the page. I have only kept this on because it's interesting how fewer files are downloaded as the day goes on. (1 page load may need 10 files)
Bandwidth: This is the amount of data that has been sent from our server. Just for some comparison a music file would normally be about 3MB or 4MB.


So here is the graph we will be talking about:

Number of hits an hour on GroovyCart
Number of hits an hour an average website gets.

Now I said that fewer files are downloaded as the day goes on, but as we can see from the graph that more pages are being viewed. What I mean by this is that relatively less files are being downloaded compared to pages as the day goes on. And I will explain why this is... Web browsers and servers are very good at doing a thing called caching. What this does is it saves files that are likely to be needed again in the future. So once a browser has downloaded a product image they would not need to download that same file again if they go back to the page because the file will have been temporarily saved on the computer.

Let's look at some of the interesting points on the graph then:

04:00 is the least busy hour, because of this we run our main backup at this time. Our main backup can be quite processor intensive so we like to run it when our service is at its quietest.

There is a small peek at about 11:00 or 12:00. This is because users are bored at work or have their lunch break and use that time browsing for products

There are more pages being viewed at 23:00 as there are at 19:00 and 20:00 even though the graph looks like it dips, we recon this is because customers may have been browsing for hours and many of the images, css files and JavaScript files have been downloaded so they don't need to be downloaded again.


And just for comparison I have also put here the same hits per hour that Wikipedia used to get, I know it's an old image but you can see the same trends that we get.

Number of hits an hour on wiki
Number of hits an hour on Wikipedia.

There we have it, an overview of how popular each hour is on an online shop. Don't forget to leave your comments below.


View/Leave Comments



E-commerce Expo 2011 and what we are researching.

Last month some of the Groovy team went down to the E-commerce expo in London. It's a good chance for us to have a chat with other leading names in E-commerce, as well as attend some lectures by top internet companies such as Facebook, Google, eBay, PayPal, LinkedIn and many others.

We like to keep up with new trends and innovations so this is an excellent opportunity for us, this gives us a really good look at upcoming technologies and how the market will be moving in the future.

Many of the talks this year were about the psychology of selling online, an area which really interests us at GroovyCart, when you are dealing with such a large number of customers being able to improve orders by a tiny percentage provides a massive increase in orders across all our shops. After all, its in our mutual interest for our shops to do well, so we can continue to grow together.

Here are some of the really exciting things we have been looking at to do with the psychology of selling online:

  • Displaying the right products to the customer.
  • Persuading the customers to make the right choice.
  • Ensuring your customers have positive first impressions.
  • Preventing customer fallout.
  • Vertical movement around the shop.

We will be talking about some of these point in detail on this blog in the coming months, and also you will see lots of features being implemented on our shops if they haven't already been.

Displaying the right products to the customer

A customer cant buy a product if they cant find it. So how can we ensure a customer finds the product they are looking for?

For a while we have been recording how customers search for products and what products they go on to look at and eventually buy. Using this information in the future we will start arranging your products intelligently. We can find other customers that were looking for similar search phrases and then display the products that were more popular with this type of search behaviour. This way your shop will literally learn what products are more popular and show them to customers searching for those kinds of products.

Lets take a really simple example of this and show you the benefits this could have on your shop. Lets say you are selling iPod's and accessories. If you had 20 customers that searched for "iPod", they are all going to get lots of products because the term is so vague. But if 15 of those customers clicked on the 7th product from the top we can be fairly sure that other customers searching for the same thing will be interested in the 7th product. Just by moving this product to the top of the list for future customers, we would stop this product being below the page fold (where the bottom of the browser window ends and users have to scroll down to see more) it would therefore be more visible to customers in the future.

Even if all the products around it are more popular and get more views, this technique will find out what is currently more popular for a customers circumstances.

Persuading the customers to make the right choice

Or should I say, persuading the customer to make the decision we want them to make.

An excellent example of this is a customer that is about to complete an order on your shop, we want to allow them to remove items from their basket, but we don't actually want them to. It's a function we need to allow customers to do, but then the order value would go down.

So how do we prevent this?

One simple thing we have just started doing is using colours and images on the buttons to coax the customers to continue the order in the right direction and not remove things from their order.

Using colours like red give customers the feeling that they should not use this feature, where as a green or blue arrow will invoke the feeling that they are doing the right thing and thats the button they should press.

Example of good checkout form buttons
An example of good checkout form buttons.

Ensuring your customers have positive first impressions.

When a customer first comes to your shop they are very quickly going to make a decision on what they think about your shop; how trustworthy you are, the quality of your products, the value of your products etc. Almost every opinion the customer will make about your shop will be made on the first few pages they look at.

Once a customer has made a decision about your shop it's unlikely they will change their mind, they will close down to stimuli that would alter their opinion.

We need to make sure that a customers first impressions is a great one. We provide some excellent templates that give your GroovyCart shop a professional look and feel, you need to provide excellent content in the way of fantasic images and well worded descriptions, to make sure that your customer has the first impression that will makes him/her want to buy from you.

Preventing customer fallout

We don't want customers to leave your shop at all, especially if it's preventible. There are really simple things we can do to stop customers going away before they make an order, so in the next few months you will see some areas, especially on the registration and order pages, that will be simplified and streamlined. We will remove needless items, and make the whole process more intuitive.

You may have already noticed we are continuing to make very subtle changes on the checkout pages like removing the adverts and social links to stop customers getting distracted. We also monitor how long customers take to fill in fields, which ones they struggle with and time taken to complete the ordering process to find ways to make the experience quicker and easier.

Vertical movement around the shop.

Some customers know what they want from your shop and others are there to browse. Customers that know what they want are likely to use the search box and more likely to complete a purchase over someone that is browsing, they are also likely to spend more, this doesn't mean we should forget the customers that are just browsing, we have already spoken about showing the right product to a customer that knows what they want, but how do we try and guess what a customer wants when they might not even know it themselves?

To try and encourage impulse buying on your shop you need to show the customer products similar to the ones they are looking at. Showing them products from the same category or ones that were purchased at the same time as the ones they are looking at are simple ways to get exposure on products that the customer may be interested in.

Ideally you want a customer to go from product to product without having to go back to the homepage or a category page. This way they will browse your products more efficiently. One way we do this is using related products to help a customer jump between products, we also have tags and filters to narrow down searches.

The future.

We already have lots of this in the works and have been testing out different features to see how beneficial they will be and how well they will work. So we have lots of exciting things coming up in the future.

Back to the Expo.

We also got a chance to meet and talk to lots of other e commerce companies to see what they are doing and what interesting things they are working on for the future. As well as getting to talk to companies like PayPal, Adobe, Google, Yahoo, Facebook and many other internet brands.

PayPal at the E-Commerce Expo

View/Leave Comments



This is the biggest update we have ever made to GroovyCart.

This is the biggest update we have ever made to GroovyCart.

Let me take you on a tour of the main new changes to our website:

Our homepage:

We have totally rewritten our homepage, We hope you like our new look and logo, sorry if you thought you went to the wrong websites.

The main reason for the update was to give better SEO to our shops. Google should now find new shops and products faster and categorise our shops and products better.

This new homepage also gives us more tools to communicate help to our shop owners. This allows us to give you more help and support through our help manual and blog.

New Admin Panel:

We hope you have also seen our new Shop Administration Panel, we wanted to be the best looking shop hosting service around. We hope you found it easy to get used to this new style. It allows us to better inform you of new notifications and events while still giving you quick access to all our features.

We will move all of the other admin pages to this new style once we have worked out the best way to do this.

New Templates:

We have written a whole new templating engine on our shops, this means we can now style our shops however we like, while still using the power that the GroovyCart product system gives us.

We plan to release a new template every few weeks.

This means shops can now select between 3 different types of shop:

  • Select Colours – This is how our original system used to work, select the colours of different areas.
  • Stencil – Customisable templates, you get some control over the layout of the template
  • Full templates – New, Highly stylised templates with the least customisation options

These are just 3 of the main changes we have made. There have also been many smaller improvements to the site including many new features, better hardware and performance tuning to make our pages load as fast as possible, as well as improved SEO, bug fixes and security patches.


View/Leave Comments



Be groovy and share us around:
You might be interested in:
You can also find us on: