How Smartphones Are Making Smart Shoppers

According to a new survey by Deloitte, more shoppers will supplement their 2012 holiday shopping with smartphones than ever before. Although a general increase in smartphone ownership accentuated the increase, the biggest reason for the increase is based in the large number of websites that have incorporated their marketing strategies for a smartphone-based audience. 

The figures are in! 

  • 58 percent of customers use their smart phones to compare prices with other stores once inside.
  • 62 percent of people who own smartphones use their Bluetooth technology to locate the nearest store or the store with the best prices.
  • Half of smartphone owners use the internet to check product information
  • 42 percent check the availability of products
  • 45 percent shop online 

Online Sales As Back Up

The trends in smartphone use extend far beyond the figures listed above. Target, for example, has fastened QR codes to the shelves. This means that when an item sells out, customers brandishing smartphones need only point and tap, and the ecommerce software will take them to a secure site where they can order the item online. Panicking shoppers will find relief when they realize the promised remote-controlled car or videogame has been shopped to in-store extinction. 

Social Dining

The food industry has also made moves to cash in on smartphone users. Social dining is in. Sites such as The Connected Table and Screened Dining allow users to decide between the rowdy, full house burger spot with the big line or the vacant sandwich shop that plays all the new techno songs, depending on their social mood, and whether or not they have a report to complete. Not to mention some of these apps incorporate ecommerce software and time your orders, so you can walk to the front of the line, flash your smartphone code, and get down to what you came there to do – eat. 
Grocery Shopping Online

More food for thought: 49 percent of people who own smartphones use them for grocery shopping. If the place down the street has a better deal on this frozen bag of T.G.I.’s shrimp scampi, then it might be time to dump the cart and shift your go-to grocer. Customer loyalty is a thing of the past. The future: Shot and Stop and grocery store shopping apps.

Marketing Smarts

Marketers, listen up. Smartphones have vaulted onto the shopping industry and their use will only continue to increase as we delve further into the millennium.  Put your coupons online, offer deals and discounts to those who sign up to your website, and send e-newsletters with special offers with links to your ecommerce software service. And make sure that your website has been incorporated for those who connect with smartphones. For more ideas on what you can do for marketing strategies, read these fancy bullet points: 

  • Online retailers often offer better deals on items, but shipping is still a factor. According to the aforementioned survey, 71 percent of shoppers are more likely to buy from a retailer that offers free shipping.
  • 56 percent said that they would order from a retailer that offered free returns over one that didn’t, regardless of price. 
  • Shoppers who navigate multiple channels to research their products before buying usually plug twice as much money into the ecommerce software than they would hand to a cashier at a brick and mortar store.

Pella Guadalajara works as a night-shift analyst for online marketing companies, ecommerce software sites, and a myriad of blogs ranging from deep see exploration to Canadian botanists’’ planting methodology. He lives in Vancouver.


A Brief History of SEO

Anyone who used the internet in the 90’s knows that search engines have evolved in the past two decades. The term “Search Engine Optimization” (or SEO) is believed to have been coined by John Audette of the Multimedia Marketing Group in 1997, and it been big business ever since. In the early days of the internet, webmasters simply submitted their site’s URL to a search engine and the engine would send a spider to catalogue links on the page for indexing. Search engines relied primarily on key word density and meta tags, allowing webmasters to improve their rankings by “keyword stuffing”, or using the same words over and over again in page’s text. This, of course, led to websites with poor content skyrocketing to the top of search results.

Search engines had to improve their methodology in order to retain their users. Back Rub was one of the first search engines to implement complex mathematical algorithms that took into account the number of inbound links to a website, which its creators, Larry Page and Sergey Brin, dubbed “PageRank”. In 1998, Back Rub became Google, which still uses Page and Brin’s PageRank algorithm today.

Not to be outdone, webmasters soon found ways to manipulate PageRank, giving rise to an industry of buying and selling links in order to improve search rankings. The term “Link Farm” became the perforative name for websites that did nothing but host links.

By 2005, Google started began tracking individual users’ search histories and location to personalize search results. Their spiders also began searching for the “nofollow” HTML tag, which instructs the engine not to take a link into account when determining PageRank. Ideally, nofollow was meant to prevent spamming on blogs that allowed any user to post text, though webmasters soon saw the benefit of tagging all outbound links as nofollow in order to keep their competition’s PageRank down.

Google Panda
Google Penguin

In 2010, Google announced Google Instant, an algorithm that took time of publication into account, giving more recently updated sites (such as recent news articles) higher rankings. Over the past two years, Google has started to seriously crack down on webmasters who try to manipulate their algorithms with the Panda update in 2011 and the Penguin update in 2012. These measures penalize websites that duplicate content from other webpages or use other unfair tactics such as stuffing keywords in hidden text. Today, most search engines employ human quality control through companies like Leapforce. Leapforce agents rank webpages based on their relevance to given keywords, the quality and timeliness of their content, and their adherence to search engine guidelines.
It seems that every time search engines improve their algorithms, the SEO industry grows even stronger. This is probably a good thing, as websites are being judged more for the quality of their content rather than how well they can “trick” search engines. More and more webmasters are relying on outside help to ensure that their site ranks high without violating any guidelines that could get them banned altogether.


Custom Date of Birth User control .net

Here is a nice solution for a user control for Date of Birth verification, from a user interface perspective its better than a date time popup control as its much quicker to select a day then month then year rather than moving through a popup calendar to find the correct year.

Popup calendars are great when used in the correct place for example booking of a future date like a flight or hotel booking

See live Example

Examaning the Code

This is our content for the Date of Birth control three dropdown lists and customValidator.

<%@ Control Language="VB" AutoEventWireup="false" CodeFile="controlDOB.ascx.vb" Inherits="controlDOB" %>
<div class="dobPicker">
<div class="dateDay"><asp:DropDownList ID="ddlDay" CausesValidation="true"  runat="server"></asp:DropDownList></div>
<div class="dateMonth"><asp:DropDownList ID="ddlMonth" runat="server"></asp:DropDownList></div>
<div class="dateYear"><asp:DropDownList ID="ddlYear" runat="server"></asp:DropDownList></div>
<asp:CustomValidator id="cv1" runat="server" Text="Please enter Date of Birth" EnableClientScript="true"  CssClass="error" ValidateEmptyText="true" ></asp:CustomValidator>
</div>

Now in the code behind we need to bind our selectable dates to these dropdownlists

Partial Class controlDOB
Inherits System.Web.UI.UserControl</code>

Public theDate As String
Protected Sub Page_Init(sender As Object, e As EventArgs) Handles Me.Init
' If Not IsPostBack Then
ddlDay.Items.Add("DD")
For i As Integer = 1 To 31
ddlDay.Items.Add(i)
Next i
ddlYear.Items.Add("YYYY")
For j As Integer = 1920 To 2010
ddlYear.Items.Add(j)
Next j
ddlMonth.Items.Add("-Month-")
ddlMonth.Items.Add("January")
ddlMonth.Items.Add("February")
ddlMonth.Items.Add("March")
ddlMonth.Items.Add("April")
ddlMonth.Items.Add("May")
ddlMonth.Items.Add("June")
ddlMonth.Items.Add("July")
ddlMonth.Items.Add("August")
ddlMonth.Items.Add("September")
ddlMonth.Items.Add("October")
ddlMonth.Items.Add("November")
ddlMonth.Items.Add("December")

End Sub
End Class

Next we need to create the client side validation for the Date of Birth check


Dim cstext As New StringBuilder()
'custom client side validation for DOB checks each drop down returns flase if no value</code>

cstext.Append("<script type="text/javascript">// <![CDATA[
function ShowValue" + ClientID + " (sender, args) {")
        cstext.Append("  var dropDay = document.getElementById('" + ddlDay.ClientID + "');")
        cstext.Append("  var dropMonth = document.getElementById('" + ddlMonth.ClientID + "');")
        cstext.Append("  var dropYear = document.getElementById('" + ddlYear.ClientID + "');")
        cstext.Append("if (dropDay.value=='DD'){")
        cstext.Append("args.IsValid =false }")
        cstext.Append("else if (dropMonth.value=='-Month-'){")
        cstext.Append("args.IsValid =false }")
        cstext.Append("else if (dropYear.value=='YYYY'){")
        cstext.Append("args.IsValid =false }")
        cstext.Append("else {")
        cstext.Append("args.IsValid =true;} ")
        cstext.Append("}</")         cstext.Append("script>")
        Page.ClientScript.RegisterClientScriptBlock(GetType(String), ClientID, cstext.ToString(), False)
        cv1.ClientValidationFunction = "ShowValue" & ClientID</code>

and finally the server side validate function


    Protected Sub cv1_ServerValidate(source As Object, args As ServerValidateEventArgs) Handles cv1.ServerValidate
        If ddlDay.SelectedIndex = 0 Then
            args.IsValid = False
        End If
        If ddlMonth.SelectedIndex = 0 Then
            args.IsValid = False
        End If
        If ddlYear.SelectedIndex = 0 Then
            args.IsValid = False
        End If
    End Sub

This control can then be added to the page at design time or dynamically