Atlantic Business Technologies, Inc.

Category: Managed Services

  • In Celebration of World Statistics Day…

    Happy World Statistics Day!

    If you’re here wondering what I’m talking about,  here are some helpful resources.

    World Stat Day Icon

    About World Statistics Day

    The celebration of the World Statistics Day will acknowledge the service provided by the global statistical system at national and international level, and hope to help strengthen the awareness and trust of the public in official statistics. It serves as an advocacy tool to further support the work of statisticians across different settings, cultures and domains.

    Other World Statistics Day Resources:

    How’s This for a Statistic…

    The International Telecommunication Union recently published The World in 2010: ICT Facts and Figures that revealed that the number of Internet users worldwide doubled in the past five years and will surpass the two billion mark in 2010. That’s 30% of the world’s population!

    Here are some other notable statistics from the report:

    The number of people having access to the Internet at home has increased from 1.4 billion in 2009 to almost 1.6 billion in 2010.

    162 million of the 226 million new Internet users in 2010 will be from developing countries, where Internet users grow at a higher rate.

    By the end of 2010, 71% of the population in developed countries will be online compared to 21% of the population in developing countries.

    While in developed countries 65% of people have access to the Internet at home, this is the case for only 13.5% of people in developing countries where Internet access in schools, at work and public locations is critical.

    Regional differences are significant: 65% of Europeans are on the Internet, compared to only 9.6% of Africans.

    You can read the full article online at http://www.itu.int/net/pressoffice/press_releases/2010/39.aspx.

  • How to send an iCal to Gmail with C# and SQL Server 2005

    We had the need to forward meeting notices to mobile devices.  Since we use Goldmine as our CRM all entries are simply database entries which are rendered by the application.

    The solution was to create a trigger that sends out an email after insert.  We explored DBMail, but you don’ really have much control over the email header which is the key to creating an iCal entry from scratch.

    Enter CLR Stored Procedures! I have known that these existed for some time, but never really had a use for them and mostly it was because I always thought embedding business logic in your stored procedures was a bad idea, but in this case it seemed like an easy enough approach…but we got it working, but it of course was not as easy as it sounds.

    Show us the code you say?  Well all right then…

    1.) Create a class library project with a class named Stored Procedures, and pay attention to your namespace:

    namespace AtlanticBT.Utilities
    {
    public partial class StoredProcedures
    {
    [SqlProcedure]
    public static void SendiCal(DateTime startDateTime, DateTime endDateTime, string emailSubject,
       string userEmailAddress, string companyName, DateTime createdOn, string notes, string lanId )
    {
    string iCal = CreateiCalFormat(startDateTime, endDateTime, emailSubject, userEmailAddress,
    companyName, createdOn, lanId, notes);
    
    var calendarType = new ContentType("text/calendar");
    calendarType.Parameters.Add("method", "request");
    
    AlternateView caledarView = AlternateView.CreateAlternateViewFromString(iCal, calendarType);
    caledarView.TransferEncoding = TransferEncoding.SevenBit;
    var client = new SmtpClient("mail.myspamomaticsmtpserver.com", 25);
    var mailMesage = new MailMessage();
    mailMesage.From = new MailAddress("goldmineforward@atlanticbt.com");
    mailMesage.To.Add(new MailAddress(userEmailAddress));
    mailMesage.Subject = emailSubject;
    mailMesage.AlternateViews.Add(caledarView);
    client.Send(mailMesage);
    }

    Here is the private method to create the iCal entry:

    private static string _dateFormat = "yyyyMMddTHHmmssZ";
    private static string CreateiCalFormat(DateTime startDateTime, DateTime endDateTime,
    string emailSubject, string userEmailAddress, string companyName, DateTime createdOn, string lanId,
    string notes)
    {
    string iCal =
    
    "BEGIN:VCALENDAR" +
    
    "nPRODID:-//FrontRange Solutions//GoldMine 8.0//EN" +
    
    "nVERSION:2.0" +
    
    "nMETHOD:REQUEST" +
    
    "nBEGIN:VEVENT" +
    
    "nORGANIZER:MAILTO:goldmine@abt.com" +
    
    "nATTENDEE;CN='" + lanId + "'" +
    
    ";ROLE=REQ-PARTICIPANT;RSVP=TRUE:" + userEmailAddress +
    
    "nDTSTART:" + startDateTime.ToUniversalTime().ToString(_dateFormat) +
    
    "nDTEND:" + endDateTime.ToUniversalTime().ToString(_dateFormat) +
    
    "nTRANSP:OPAQUE" +
    
    "nSEQUENCE:0" +
    
    "nUID:" + Guid.NewGuid()  + "@ATLANTICBT.COM" +
    
    "nDTSTAMP:" + createdOn.ToUniversalTime().ToString(_dateFormat) +
    
    "nDESCRIPTION:" + notes +
    
    "nSUMMARY:" + companyName + " " + emailSubject +
    
    "nPRIORITY:5" +
    
    "nCLASS:PUBLIC" +
    
    "nX-FRS-EXT-BUILDNO;X-FRS-SEND=SEND:8.03.80716" +
    
    "nX-FRS-EXT-OPLINK;X-FRS-SEND=SEND:205A5936304D412A315F4B3026512E" +
    
    "nX-FRS-EXT-RECTYPE;X-FRS-SEND=SEND:A" +
    
    "nBEGIN:VALARM" +
    
    "nTRIGGER:PT10M" +
    
    "nACTION:DISPLAY" +
    
    "nDESCRIPTION:Reminder" +
    
    "nEND:VALARM" +
    
    "nEND:VEVENT" +
    
    "nEND:VCALENDAR";
    
    return iCal;
    }

    2.) Now remember this stored procedure is being called from a trigger in our our GoldMine store, but it can be called like any stored procedure.  Deploy the assembly that is created in Step 1 to your SQL Server.

    3.) Configure the stored procedure on your SQL Server.  Here is the T-SQL:

    sp_configure 'clr enabled', 1
    GO
    RECONFIGURE
    GO
    ALTER DATABASE Goldmine SET TRUSTWORTHY ON
    CREATE ASSEMBLY GoldmineiCalForward
    FROM 'C:mypathtotheassemblyAtlanticBT.Utilities.dll'
    WITH PERMISSION_SET = UNSAFE;
    GO
    CREATE PROCEDURE SendiCal(@startDate DateTime, @endDate DateTime, @emailSubject nvarchar(255),
    @userEmailAddress nvarchar(255),
    @companyName nvarchar(255), @createdOn DateTime, @notes nvarchar(max), @landId nvarchar(255))AS
    EXTERNAL NAME GoldmineiCalForward.[AtlanticBT.Utilities.StoredProcedures].SendiCal
    GO

    4. Then create the Goldmine trigger upon every calendar create to look up your user’s email account that accepts iCal entries (Gmail for Android phones is working cool for us).

    5. Shazam!

    Thanks to these other bloggers whom I used while trying to figure out how to configure this thing:

    Writing CLR Stored Procedures

  • Picture This: Getting the Most Out of Product Shots on Your Website

    Usually, when we are asking clients to send over product shots for their new web design, it’s a pretty straightforward request. Most businesses have lots of photos on hand, and so they e-mail their favorites and don’t think too much about it.

    But, given that the photographs on your website can play such an important role in a customer’s decision whether to buy or to move on – as much as the layout and text itself – it makes sense to take a closer look at the best ways to use them.

    Here are five ways to get the most out of the product shots on your website:

    Sell with pictures. It goes without saying that if you can show a picture of what you sell, you should include quality photographs. Studies show that an overwhelming number of people think, learn, and even buy visually. In other words, they are more moved by photos and videos than they are by text or audio, so using pictures can dramatically improve sales right away.

    Remember that higher production equals higher sales. It’s simple: the better your pictures, the more you are going to sell from your website. This principle holds true because the more of your products visitors can see, the more comfortable they are purchasing them. There’s also a more subtle effect. Customers perceive better looking websites and photos with higher quality; they assume that a business that has gone through the time and trouble of having their merchandise professionally photographed is likely to be more reliable – and they are usually right.

    If you don’t have high-quality photos of your products available, then why not take advantage of the opportunity that a new website provides and have your design team either take new photographs, or refer you to someone who can? Compared to the investment of a new site or extensive redesign, the cost of updated product shots is pretty low… especially when you consider how much it can help your future online sales.

    Dream in color. If the products offered on your website are available in different colors and sizes, then try to feature each of them. Although it makes sense to assume your customers can imagine what they want in a different hue, that’s no substitute for actually tempting them with it right before their very eyes. Don’t count on their mind’s eye – provide high-quality product shots for every color you have available.

    As an added benefit, the more colors you show online, the greater your sales will be, and the fewer your returns. That’s because, when people don’t see a sample of their color provided, they are forced to make a guess as to exactly what kind of red, blue, or other color you are going to provide. Some of the time, that means they’ll skip buying altogether; on other occasions, it might mean they’ll purchase something they end up not wanting – which costs you money in customer service, restocking expenses, and other small cuts to the bottom line.

    Get with the times. One thing you’ll definitely want to avoid is outdated pictures. If you no longer sell what’s being shown, or offer a different version, color, or variation, get a new picture as quickly as possible. At best, a photo that isn’t current can be an annoyance to customers and employees alike; at worst, it can put your business in violation of advertising laws, since it could paint an inaccurate picture of what customers are getting for their money.

    Build your brand. If you’re going to do the hard work of finding and producing high quality photographs your website, then take the action step and make sure visitors know where they’re coming from. Unfortunately, piracy remains an enormous problem online, and the last thing you want is your competitors treating your product shots as their own. If what you sell is also offered on different websites, be sure to watermark your images or otherwise designate them in a way that leads people back to you. It might not stop people from trying to steal them altogether, but it is better than simply giving them away.

    For all of the thought and planning that goes into different web layouts and platforms, getting the most out of product photographs is often an afterthought. Follow these tips, though, and you might begin to see how a small change in an area lots of marketers take for granted can lead to enormous results.

  • Google Instant Search SEO and PPC Thoughts

    On September 8, 2010 – Google Instant was released to the public and SEO gurus around the world were up-in-arms with Google’s innovative way to browse search results.

    If you travel around the circle of internet marketing blogs, you most likely have come across Google Instant blog posts that claim “SEO is dead”.  Humans are uncomfortable with change and Google Instant changes the way SEO & PPC specialists need to work for their clients.  Of course, we are going to see a demographic that chooses to shun the change opposed to embrace it.  As Matt Cutts says in his latest blog post about Google Instant, “The best SEOs recognize, adapt, and even flourish when changes happen.”

    Keith Stojka our Senior Internet Marketing specialist has a knack for saying, “In PPC and SEO, the hardest route usually reap the best rewards and that is why we cannot shy away from the hardest routes.”  The hardest route here is trying to devise a SEO and PPC strategy that leverages Google’s newest product to hit the shelves.

    Google Instant is good for the business and internet marketing professionals alike…

    More search results per search

    Google Instant turns one search query into multiple search queries by giving you a preview of predicted search results as you type.  Therefore, instead of seeing X amount of search results per search you are going to see (X * amount of predicted search previews) search results.  The only thing is, you will be seeing those additional search previews for a lot shorter periods of time but more of them.  Sound familiar?

    In the 1950s and 1960s, the average TV advertisement was one minute.  As time progressed, the average length of these advertisements shrank to 30 seconds.  Today, the majority of the advertisements run in 15-second increments which we call “hooks”.   So, instead of 1-2 advertisements during a commercial break in the 1950s and 1960s we have to sit through 4-8 advertisements during any given commercial break.  How did these marketing agencies adapt?

    • Concise messaging
    • BRANDING….. BRANDING… AND MORE BRANDING.
    • Purchase more advertising slots

    So, it is our job as internet marketing professionals to adapt like the agencies who had to make “hooks” instead of lengthy 1 minute advertisements.

    • We need to make an impact quickly and efficiently.
    • We need to consider Google Instant’s search prediction functionality with every keyword we bid on or optimize for.

    The more results an individual is exposed to, the more qualified that individual is when they finally visit your website.

    From a pay-per-click standpoint, qualified visits is a good thing.  Not only are our ads going to receive more impressions with the latest implementation of Google Instant but the influx of search results will hopefully increase the conversion rate of individuals who actually click (which is what we pay for in Google Adwords) on the ad.   As advertisers, we want our prospective customers to have a better idea of what they want before we pay to have them on our website.

    It’s too soon to say Google Instant is bad or even good….

    Why start on the footing that this new product release is bad for internet marketing?  As an internet marketing specialist you are immersed in an industry that constantly changes, it is up to you to evolve and devise new strategies to utilize changes that are inevitably out of your control.   Set your mindset to why this product can be good – and I can guarantee that it will be easier for you to adapt to the change.  Whether or not this product stays on is up to the searcher or the guru’s at Google.

  • How Old is Too Old? Knowing When to Redesign a Profitable Website

    We’ve all heard at one time or another that there’s no use “fixing something that isn’t broken,” and generally speaking, that’s good advice. When it comes to doing business online, however, it sometimes makes sense to do exactly that. That’s because it isn’t always about what’s working, but whether it’s working as well as it should.

    In other words, there are times you should consider redesigning or relaunching any website… even one that’s still making money for you. (more…)

  • 8 Steps to Keeping Your Search Engine Optimization Plan on Track

    One of the things that makes search engine optimization so tough, from a client’s point of view, is that it’s more about willpower than it is about expertise. The greatest consultant in the world can come in and lay out a plan that will help you reach the top of Google, Yahoo, and Bing, but unless they’re generating all of the content, you’re still going to have to devote some time or money to making it a reality.

    There’s no way around it: search engine spiders love words, and so you’re going to have to find a lot of fresh ones if you’re going to make it to the top. As easy as it is to say we’re going to come up with a new blog post every few days, the reality is that the task leaves most of us just the way we were in high school – putting off our writing assignments until later, or even skipping them altogether.

    Without fresh content, however, your online business is bound to get a failing grade. Here are a few steps you can take to keep your search engine efforts moving forward:

    1. Make SEO a priority.

    If adding material to your site becomes just another in a long list of “to-do’s,” it’s very unlikely to ever actually get done.  Finding your way to the top of the search engine rankings for a profitable keyword is akin to trying to move your business onto one of the busiest streets in the world, and achieving that goal takes time and effort.  Try to keep that perspective and let it motivate you to post more.  Unless SEO is a major goal for your business, it’s probably not going to get the attention it deserves.

    2. Set realistic goals.

    By trying to write too much material, or gather too many pieces of information in a short amount of time, you aren’t being ambitious, you’re setting yourself up for failure.  Like the dieter who vows to never taste chocolate again, the marketer who sets a goal of writing three articles a day is only kidding themselves.  Setting achievable goals isn’t just less stressful; it’s more productive.

    3. Stick to schedule.

    Once you’ve established a plan you can live with, you have to stick to it.  Pencil in your SEO time the same way you would an important meeting.  Even if it’s just fifteen minutes a day to spend writing or finding resources, it’s critical that you do it and keep moving forward.  It’s easy to get so swept away with day-to-day business issues that you forget, but it only takes a little lost momentum to throw your plan off track.

    4. Get organized.

    You should have some sort of log or spreadsheet that shows what topics and keywords you’ve worked with, as well as which ones you plan to add to in the future.  Filling it in can provide you with valuable focus and motivation during those times when you’d rather not bother with writing or posting material, as well as making sure you don’t duplicate your efforts.

    5. Pay attention.

    Sometimes the market changes – people begin searching for new answers, leading to an entirely different set of core keywords for your SEO plan.  That doesn’t have to mean you abandon your efforts, but it might indicate that you should alter your approach.  You can’t make that determination, however, if you’re not paying attention to what your customers are thinking and talking about.

    6. Track your results.

    Some business owners get so caught up in the doing part of SEO that they neglect to check and see if it’s actually working.  Keep tabs on how many visitors your pages are tracking, how long people are staying to read or shop, which keywords are drawing the most sales, and so on.  You can’t build an effective campaign without feedback, so keep your ear to the ground, virtually speaking.

    7. Keep an idea file.

    It’s very hard to just sit down and add content to your website out of nothing. That’s why it’s a good idea to keep a notebook or computer file where you can record thoughts for upcoming topics. Then, when you need one, you’ll have inspiration at your fingertips.

    8. Practice patience.

    SEO, like most marketing practices, is a slow science.  It can take weeks or months to work, not days.  Realize that from the outset and plan your business accordingly.  The orders might not start flying in overnight, but if you follow the right steps and add lots of fresh new content to your site, it will pay off in a big way.

    Sticking to your search engine optimization plan might feel like a chore, but if you can follow these tips and keep your site constantly updated, you’ll eventually learn why so many companies love it.  Coming up with content isn’t always easy, but writing on your site is like writing a check to yourself in the future.