Atlantic Business Technologies, Inc.

Category: Managed Services

  • The Economy is Improving…Is Your Online Business Ready?

    While the economy is certainly not firing on all cylinders, corporate profits are up,  some signs of hiring are visible in the marketplace, and the flow of money between banks, businesses, and individuals is picking up pace.

    The lack of trust in our markets and economy have put a significant strain on growing businesses. Many businesses large and small have decided to put off improvements to their websites over the last couple of years. This is understandable; even more important than keeping up with the competition is keeping the doors open, and in many industries, there just hasn’t been a lot of money to invest. If history is any guide, though, that trend can be expected to reverse itself – competition is going to be back in full swing, and those owners and managers who move rapidly are going to see the biggest gains.

    With that in mind, here are five areas  of your company’s website and online marketing plan you might think of upgrading in the coming weeks:

    1. Search engine optimization strategies.

    As buyers come back out of the woodwork, most of them aren’t going to be turning the yellow pages to find what they need. Because of their instant, specialized nature, sites like Google, Yahoo, and Bing are continuing to gobble up ever-increasing amounts of advertising focus. SEO is the marketing revolution of our time, and you can’t afford to fall behind – much less drop out – of the race for the top positions in your industry or area.

    2. Social network marketing.

    In its beginnings, Facebook was a place to keep tabs on family and friends that you don’t see as often as you’d like. Now, you can continue to do that while hearing about the latest sales, shopping for what you need, becoming a fan of your favorite team or institution, and sharing your thoughts and opinions with the world at large. When it comes to Facebook and other related platforms like Twitter and LinkedIn, there are really only two kinds of companies: those who are taking advantage, and those who are going to wish they had.

    3. Open job postings.

    Your website can be a great recruiting tool, bringing you qualified candidates from all around the world. All it takes is a brief description and the patience to sift through the resumes that arrive in your inbox. Given the cost and effort involved in bringing on new staff, why not invite people to apply online?

    4. A secure customer area.

    Generally speaking, it costs you a lot less to have your server on at 3 am than it does a paid employee. And as an added bonus, the server generally won’t leave coffee stains on the desk, so why not automate some of your customer service tasks? Some buyers, by the nature of their job or lifestyle, are going to want service outside of normal business hours. Having account information, order histories, the answers to frequently asked questions, and other details online probably isn’t going to eliminate the need for live staff members, but it can do wonders for their workload and your expenses.

    5. A blog or newsletter.

    Granted, blogs and online newsletters aren’t exactly cutting-edge, but that doesn’t mean you should stop using them, or put off implementing them if you haven’t already. Finding new customers is expensive; selling to the men and women who already know, love, and buy your products isn’t. Generating a bit of insightful content with tips on using your products, or a fun story about your company, isn’t that hard. Combine it with a soft marketing message and you’ve got a once-a-month opportunity to increase your repeat sales. It’s hard to beat that strategy for a quick, bottom-line improvement.

    The last couple of years haven’t been easy, but marketers and business owners who are expecting an improved economy to solve all of their problems overnight are probably going to be disappointed. Tough economic times typically force all of us – buyers and sellers alike – into new routines and habits. As customers and revenue return, it’s going to be those companies who were ready that will reap the lion’s share of the profits. Is your site going to help you find your way to the top?

  • Is Your Website Optimized for Keywords…or Conversions?

    atmOne of the greatest things about web marketing is that once you’ve found a winning formula, it can continue to work consistently – even without further changes. In other words, as long as you know you’re getting a certain amount of traffic, then over time you are very, very likely to keep getting new leads and new sales at the same percentage rate. Your website becomes a cash machine, and all you have to do is keep it running.

    As wonderful as that dynamic is, however, it’s not always so straightforward to achieve in the real world. For example, some pages fail to convert a high enough percentage of visitors to make money or prices and trends change so quickly that they force the marketer or business owner to move in a new direction. An even greater obstacle is finding sufficient numbers of visitors in the first place, especially in a way that makes the effort cost-effective. It’s no use bringing in hundreds or thousands of fresh buyers if you are losing money on transactions.

    Because of this, many companies focus on bringing ever-greater amounts of traffic to their sites. Their reasoning is sound, at least at first glance: find enough new prospects, and you are bound to close at least some of them.

    Be very careful with that assumption. As important as search engine optimization and marketing programs are, it is not hits, impressions, or page views that add digits to your bottom line – it’s sales. Here are a few things to keep in mind as you consider your online marketing strategy:

    Consider your audience

    If you post about things people care about, then they’ll come to read or look at what you’ve put online. Marketing in a way that speaks to your audience isn’t exactly groundbreaking, but it’s becoming more vital than ever in a climate where so many companies are trying to blast customers with too many messages and ideas.

    If you’re ever in doubt about what’s on your customers’ minds, there’s a simple solution: ask them. Often, it takes very little (in the way of money or programming time) to add a forum or feedback section, but taking that small step can yield you quite a bit of insight into the minds of the men and women who are buying from you. Use it to take their pulse now and again, and then add content that speaks to their hopes, concerns, and needs.

    Think quality, not quantity

    quality-sealProbably the biggest sin marketers make online in focusing too much on traffic statistics is trying to cram more pages, articles, blog posts, and other updates than they can manage and still maintain a certain level of quality and originality. It’s the old spaghetti approach: throw enough keywords against the wall, and some should stick.

    Unfortunately, marketing hardly ever works that way – online or off. People read, visit, and shop on the websites they do because they find them to be helpful, informative, or entertaining, not because they care what’s tucked into the page header or embedded links. For that reason, it makes a lot more sense to add to your site the way you would a gourmet dinner, letting quality ingredients simmer together rather than dashing everything on the plate at once.

    Get specific

    In recent years, it’s become popular to talk about “long tail” searches and keywords, and for good reason – they offer the best of all possible business worlds. Because they’re more specific, they give marketers the opportunity to focus their efforts on one or two small areas and dominate them with relatively little effort. And, as an added bonus, long tail terms generally convert a much larger percentage of visitors than their more general, more expensive counterparts.

    The toughest part of executing a long tail strategy, for most companies, isn’t in making it work, but finding the right phrases to start with in the first place. It doesn’t have to be difficult, though; just think of what it is your business does better than any other and begin with that. From there, a good web design firm or online marketing professional should be able to help you find the right keyword combinations, not to mention track the results.

    Traffic is important to online sales, but bringing in visitors doesn’t automatically mean that you’re going to start making more money. In order to convert viewers into buyers, you need to find the right ones and present them with a compelling reason to do business with you. That’s the real name of the game, and it’s harder than simply optimizing your site for search engines and waiting for the orders to come in.

  • ASP.NET MVC: Using Ajax, Json, PartialViews (cnt’d)

    While working on a new ASP.NET MVC project, I had a simple objective: add a new record and refresh my View. After sifting through several sites I found several resources that lead me to accomplish my goal.

    I’ve compiled my result into a new sample MVC Application that I created in Visual Studio that you can download here. I’ll explain what I did using that as my reference. It’s a trimmed down version of what I did on the actual project, but it will get the point across.

    Let’s assume we want to have a View that lists some People from our data source. I started out by creating a Person data model:

    public class Person
    {
      public Guid Id { get; set; }
      public String FirstName { get; set; }
      public String LastName { get; set; }
    
      public Person()
      {
        Id = Guid.NewGuid();
      }
    }

    Next, I created some ViewModels so that I can work with strongly typed Views:

    public class PersonIndexViewModel
      {
        public PersonListViewModel PersonListModel { get; set; }
    
        public AddPersonViewModel AddPersonModel { get; set; }
      }
    
      public class PersonListViewModel
      {
        public List PersonList { get; set; }
      }
    
      public class AddPersonViewModel
      {
        public String FirstName { get; set; }
        public String LastName { get; set; }
    }

    Next, I added a People folder in my Views folder and created a strongly typed Index View on my PersonIndexViewModel. I started out with building a table and doing a foreach to display each Person object. I moved that into a PartialView (.ascx) by creating a ParitialView in my Views/Shared folder (This blog post is very helpful for showing you how to use PartialViews). I called that PersonList.ascx and that is a strongly typed partial view on my PersonListViewModel.

    Now, I can update my View to display that PartialView with this code:

    <% Html.RenderPartial("PersonList", Model.PersonListModel); %>

    Next, I want to be able to perform a delete action to remove a Person from the DB. You’ll notice I’m using an Ajax.ActionLink in my PersonList PartialView so that I can perform the delete with Ajax.

    <%= Ajax.ActionLink("delete", "JsonDelete", "People",
    new { Id = person.Id },
    new AjaxOptions { Confirm = "Are you sure you want to Delete this Person? This action cannot be undone.",
    HttpMethod = "Delete",
    OnComplete = "JsonDelete_OnComplete" })%>

    In the ActionLink, I specify the Action I want to call, pass the Person.Id and in the AjaxOptions I defined a JavaScript method that should be called on complete. In my People Controller I can now add the JsonDelete method:

    [AcceptVerbs(HttpVerbs.Delete)]
    public JsonResult JsonDelete(Guid Id)
    {
      // call your Repository to delete the Person
      bool result = _personList.Remove(toDelete);
    
      // return a Json Object, you could define a new class
      return Json(new
      {
        Success = result,
        Message = result ? "The person has been deleted!" : "Error!"
      });
    }

    You would call your Repository to delete that Person and then return a new Json Object. What I did was define a couple of properties that I will reference from the JavaScript function to give feedback to the user. Here is the JavaScript function:

    function JsonDelete_OnComplete(context) {
    
      var JsonDelete = context.get_response().get_object();
    
      if (JsonDelete.Success) {
        $(this).parents('tr.item').remove();
      }
    
      $("#message").html(JsonDelete.Message);
    }

    I found this link that showed me how to use “context.get_response().get_object();” to get the Json Object in JavaScript.

    Now that I can delete, the next logical step would be the ability to add a new Person. I’ll start out by creating a new form that uses my AddPersonViewModel Model:

    <% using (Ajax.BeginForm("JsonAdd", "People", new AjaxOptions { OnComplete = "JsonAdd_OnComplete" }))
     {%>
    <fieldset>
      <legend>Add a Person</legend>
      <%= Html.LabelFor(model => model.AddPersonModel.FirstName)%>:
      <%= Html.TextBoxFor(model => model.AddPersonModel.FirstName, new { @class = "firstname" })%>
      <%= Html.ValidationMessageFor(model => model.AddPersonModel.FirstName)%>
    
      <%= Html.LabelFor(model => model.AddPersonModel.LastName)%>:
      <%= Html.TextBoxFor(model => model.AddPersonModel.LastName, new { @class = "lastname" })%>
      <%= Html.ValidationMessageFor(model => model.AddPersonModel.LastName)%>
    
      <input id="AddBtn" name="AddBtn" type="submit" value="Add" />
    </fieldset>
    <% } %>

    Again, I use the Ajax.BeginForm to set the Action to call and define a JavaScript function to call on complete. To my Controller I add:

    public JsonResult JsonAdd(AddPersonViewModel AddPersonModel)
    {
      ...
    
      Person newPerson = new Person
      {
        FirstName = AddPersonModel.FirstName,
        LastName = AddPersonModel.LastName
      };
    
      // call your Repository to add the new Person
      _personList.Add(newPerson);
    
      // return a Json Object, you could define a new class
      return Json(new
      {
        Success = true,
        Message = "The person has been added!",
        PartialViewHtml = RenderPartialViewToString("PersonList", new PersonListViewModel {PersonList = _personList})
      });
    }

    One important thing here is the method “RenderPartialViewToString”. I ran across this which was a tremendous resource in solving my problem here, which was returning a Json Object with a rendered PartialView so that I could use JavaScript/jQuery to update the page.

    The post I referenced above showed where you needed to create a base Controller to inherit from and that Controller defines the methods which will return a PartialView as an HTML string:

    public abstract class BaseController : Controller
      {
        protected string RenderPartialViewToString()
        {
          return RenderPartialViewToString(null, null);
        }
    
        protected string RenderPartialViewToString(string viewName)
        {
          return RenderPartialViewToString(viewName, null);
        }
    
        protected string RenderPartialViewToString(object model)
        {
          return RenderPartialViewToString(null, model);
        }
    
        protected string RenderPartialViewToString(string viewName, object model)
        {
          if (string.IsNullOrEmpty(viewName))
            viewName = ControllerContext.RouteData.GetRequiredString("action");
    
          ViewData.Model = model;
    
          using (StringWriter sw = new StringWriter())
          {
            ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
            ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
            viewResult.View.Render(viewContext, sw);
    
            return sw.GetStringBuilder().ToString();
          }
        }
    }

    Now with my JavaScript function is called, I can again reference my Json Object and then update the page:

    function JsonAdd_OnComplete(context) {
    
      var JsonAdd = context.get_response().get_object();
    
      if (JsonAdd.Success) {
        $("#PersonList").html(JsonAdd.PartialViewHtml);
      }
    
      $("#message").html(JsonAdd.Message);
    }

    With this line:

    $("#PersonList").html(JsonAdd.PartialViewHtml);

    I have a div tag that surrounds my Html.RenderPartial call and I can use jQuery to just replace the HTML. Remember JsonAdd.PartialViewHtml contains the entire HTML of the newly rendered PartialView that we called from the Controller:

    return Json(new
    {
      Success = true,
      Message = "The person has been added!",
      PartialViewHtml = RenderPartialViewToString("PersonList", new PersonListViewModel {PersonList = _personList})
    });

    That just about sums it up how to use Ajax, jQuery, Json, and PartialViews in an effective manor in an ASP.NET MVC application.

  • One More (Unexpected) Way an Improved Website Can Help Your Bottom Line

    When it comes to profiting from a website, most marketers and business owners will immediately think of online sales. After all, the easiest way to bring in dollars and cents is by selling more product and expanding your company’s reach to find buyers in more places, 24 hours a day.

    That doesn’t tell the whole story, however. There are dozens of other ways a professionally designed, state-of-the-art site can help your business, including reducing customer service time, educating customers, and decreasing costs on recurring orders. To that list, I’d like to add one more benefit…one that can literally make or break any company, but most clients never think of: recruiting.dream-job

    For much of the world, your website is the face of your business. The numbers change in every industry and geographic locale, of course, but it’s safe to assume that more than three quarters of all online businesses – even those with brick and mortar locations – will never be seen or experienced offline. That means it isn’t just customers who are forming impressions from your site, but prospective employees, as well.

    What are they seeing from your company’s site? Are your pages helping to attract quality candidates? Since it can cost, on average, more than 50% of a new hire’s salary if they don’t work out, you need to be sure they are a good fit. Here are a few steps you can take to increase the level of talent that your website is bringing you:

    Post openings. As obvious as this might seem, lots of businesses never post their openings on their websites. Usually, it’s because they don’t want to be deluged with resumes, or are only seeking local candidates. Even if that’s the case for your company or department, however, it makes sense to extend your search to your website. For one thing, you’ll probably attract sufficient local traffic to justify the effort. But more to the point, some of the best employees come from a business’ customer base. Who better to work for you than the men and women who already know and love what you sell?

    Seek referrals. You could always take that idea one step further and seek referrals from your online customers. Given that you’re about to devote a serious amount of time and money interviewing and training a new employee, offering a few hundred dollars in the way of a gift card or free merchandise is a small price to pay to have people recommend a strong candidate. Just be sure you outline exactly what type of employee you’re looking for, along with the qualifications and background needed.

    Show appreciation. Actions always speak louder than words, and one of the simplest ways to attract top talent to your company is by showing that you care for the employees you have now. While it’s a bit of a longer-term strategy, highlighting a member of your team and one of his or her achievements each month can help create the impression that your business is a good place to work. And as an added bonus, it might help morale around the workplace, too.

    Be fun and personable. We all know that the best jobs aren’t necessarily the ones that pay the most – they’re the ones that we actually look forward to going to. Your website doesn’t have to be a barrel of laughs to show your office or facility has a little bit of personality. In fact, all it usually takes is a willingness to highlight a few details here and there, like photos from a recent company picnic, or staff pages that show off a little bit of flair. As with the other steps, this extra touch doesn’t only help your recruiting, but can also strengthen customer relationships by giving customers a “behind the curtain” look at your team.

    Generating online orders is important, and no Internet marketing venture is going to succeed if you can’t convert visitors into customers. But, as any experienced business owner or manager can tell you, having the right people around you can make every aspect of your business easier, not to mention more profitable. Take that knowledge to heart and add elements to your site that can help you attract the best talent. It’s usually not that hard, and the effort will pay for itself many times over.

  • How the iPad Could Impact Mass Media

    Apple iPad (source: Apple)
    Apple iPad (source: Apple)

    It may not have the best name, but the Apple iPad has generated some intense buzz lately. Mobile Internet traffic on the iPad has surged so fast that it has already jumped ahead of Blackberry and Android in Internet usage (source: Net Applications). Games, apps, and even books are being bought at a rapid pace. I have had my iPad for awhile now and have had the chance to mess with all of its features. It’s hard not to like the iPad. By no means is it perfect, but if we take a step back and look at it from a global perspective, the iPad could truly impact mass media as we know it.

    Everything is going digital these days. Thanks to devices such as Amazon’s Kindle and Barnes & Noble’s Nook, books and publications are the latest to convert to a digital format. I will briefly explain how the iPad handles media from five different industries and more importantly, how it may potentially impact these industries for the future.

    Music

    Buying music on the iPad is no different from buying it on an iPhone, or even a personal computer for that matter. Thanks to the iPad’s larger screen, Apple is able to closely resemble the shopping experience that you would typically find on a desktop computer. More screen means more room to advertise and promote featured items.

    Listening to music on the iPad is enjoyable with its ample quality speakers. Of course, don’t expect the iPad to replace your surround sound system anytime soon.

    Verdict: The iPad’s storage limitations are a big downer, but the quality of the sound and the usability of the iTunes music store is a breeze with its larger screen. I wouldn’t expect the music industry to alter itself because of the iPad anytime soon.

    Impact: Moderately Low

    TV, Film & Video

    Netflix streams videos to the iPad
    Netflix streams videos to the iPad

    I have to admit, I am a big fan of the DVR. However, there are times when I either forget or cannot record my shows and watch them whenever I feel like it. That is why I have been addicted to going online to watch them. Most networks publish their recent episodes within 24 hours, available in high resolution. The iPad certainly takes advantage of streaming your favorite TV and film videos. Apps such as Netflix and ABC make watching your favorites a breeze.

    Browsing and purchasing videos through iTunes is just as easy as buying music on the iPad. But I’m putting my bets on free streaming video to be successful with the iPad.

    Verdict: The high resolution screen and ample audio quality make watching videos enjoyable. The lack of Flash certainly restricts the amount of content available to users, but I think that limitation is will soon be non-existent. Expect the TV and Film industries to provide greater access and more intuitive, engaging ways for users to watch their content.

    Impact: Extremely High

    Web

    One of the most popular features of the iPhone is the ability to browse the web with a similar experience to a desktop computer. The problem the iPhone had was that websites would get scaled down beyond the point of legibility. This not only used more bandwidth but also frustrated users. Websites either got optimized for the iPhone or ignored the problem entirely.

    Nike optimized their flash-heavy site to HTML5 standards, specifically for the iPad
    Nike optimized their flash-heavy site to HTML5 standards, specifically for the iPad (source: Apple)

    The iPad’s larger screen reduces the amount of scaling that websites had to endure. This nearly eliminated the legibility issue that the iPhone had with most websites. Apple has made it clear that they will not allow support for Flash on the iPad. While there are plenty of websites that use flash, they will need to find alternatives if they want their content to display on the iPad.

    The real question that comes to my mind is at what point do we [as web designers] allow the device to render websites as it sees fit? There were a great number of websites that were optimized for the iPhone. But should we ignore optimization since the iPad has that larger screen? Or should we take the opportunity and make it just as unique as every other device? Sites that have taken the time to get up to current standards for the iPad have been generously promoted on Apple’s website.

    Consumers who are used to browsing the web on the iPhone will find no trouble doing the same on the iPad. For newbies, I think they will.

    Verdict: The larger screen is greatly appreciated when browsing the web. Some will argue over the lack of Flash, but I find it outdated, too restricted, and sluggish to be beneficial on mobile devices. Fluid websites really take advantage of the two orientations that the iPad has available. The web industry will certainly have an opportunity – and in my recommendation should act upon – to provide a richer experience on the web with technologies such as HTML5, CSS3, and Javascript.

    Impact: Moderately High

    Books

    Thanks to the Amazon Kindle, e-book readers have been populating the markets as of late. I can carry around all of my books in a single device. What the iPad does that other e-book readers don’t is display books in color. It will only be a matter of time before other devices like the Kindle and Nook release a color version, but for the time being the iPad shows books in their true form.

    Some may argue that the iPad will cause eye strain due to the fact that it is backlit, whereas the Kindle and other e-book readers use e-ink technology. Other than the usual amount of eye strain I get from looking at monitors all day, I haven’t experienced any additional discomfort due to reading books on the iPad.

    The iBook store is a breeze to find books and even download samples. For the most part, you’ll find discounts on e-books compared to their printed version. The iPad allows the books to be read in two orientations: 1 page at a time (portrait) or 2 page spread (landscape).

    Book publishers will have a larger market to target to and they should be able to take some risks due to the lower costs associated with digital books distribution.

    Verdict: The iBook store is visually impressive and I believe will be a big hit for those who read popular books. The current library is large, but not large enough. Once other publishers jump onboard (and trust me, they will), I think reading books on the iPad will become second nature. No more paperbacks! This could potentially be huge for higher education.

    Impact: Moderately High

    Magazines & Newspapers

    Wired Magazine will set the bar for e-publications
    Wired Magazine will set the standard for e-publications (source: Wired.com)

    I will admit, one of the reasons that I decided to even look at the iPad in the store was the demo that Wired Magazine posted online awhile back on their app for the iPad. They took their printed publication (which is amazing in itself) and created an iPad app that not only showed their publications, but showed them in an interactive way that will, in my opinion, revolutionize digital publications.

    Newspapers, such as The New York Times and USA Today, have shown that the news can be interesting and interactive! The large screen size of the iPad allows publications to use a more traditional print layout, but at the same time give it interactivity.

    Verdict: Depending on how publishers approach the iPad will determine if this media is ready to go digital mainstream. Some of the magazines are charging premiums for their digital editions, which may sway people elsewhere. Early apps show promise of what could be to come in the future. It may be too early to tell, but there is a huge demand for this media to go digital.

    Impact: Extremely High

    So What Do You Think?

    Okay, so I’ve given my thoughts on how the iPad could potentially impact mass media. What are your thoughts on the iPad? Is it setting the standard for digital media? I’d like to hear from you.

  • Got Surveys? An easy way to collect data from your visitors

    For this example you will need a copy of the current version of Shadowbox. Download Shadowbox

    Everyone knows that advertising ideas and marketing plans can be driven by data collected from potential buyers.  This inevitability has brought forth many different avenues that can be taken in order to collect data from potential buyers.

    Now to get to the point, how does this pertain to web development?  Simple!  We want to create a unique way to present a survey on your website. We can use Shadowbox to display a simple survey overlaying a page for first time visitors.

    The first thing that you need to do is create your survey, for this example I will create a very simple HTML form that I’ll refer to as form.html for the remainder of this post.

    <html>
    <head>
    </head>
    <body>
    <fieldset>
       <legend>Information</legend>
            <ul>
             <li>
               <label for="name">Name:</label><input type="text" id="name">
             </li>
             <li>
               <label for="name">Email:</label><input type="text" id="email">
             </li>
            </ul>
            <p>
                <input type="submit" id="submit" value="Submit" >
                <input type="submit" id="cancel" value="Cancel">
            </p>
        </fieldset>
    </body>
    </html>
    

    Although the above code will build a simple form you will need to modify the onclick property values of the submit inputs (our buttons).

    Submit Button

    The submit button’s onclick property will need to be set to a method that you have developed to suit your specific needs. For the simplicity of this example I will not cover creating the method to save the collected data.

    Cancel Button

    The cancel button onclick property will use simple JavaScript to redirect the parent window (the initial page the user is trying to visit) back to whichever page you desire.

    
    onclick="self.parent.window.location = '[redirect location]';return false;"
    

    The next thing you need to do is determine which page you would like the Shadowbox survey to be displayed on. Once you have chosen a page you need to include the shadowbox.js file in the <head> section of the page.

    <head>
    <script type="text/javascript" src="/js/shadowbox/shadowbox.js">
    </head>
    

    After the shadowbox.js has been included you can initialize the Shadowbox survey on the page.load event of the window element.

    function init(){
                    Shadowbox.init({
                    players:  ['html', 'iframe', 'swf']
                    });
                    Shadowbox.open({
                    player:     'iframe',
                    content:    'form.html',
                    title:      'Survey'
                    });
                    }
                    window.onload = init;
    

    There are many different options that can be set when calling Shadowbox.init() and Shadowbox.open(), but for this example I kept it simple. A list of options can be found at the Shadowbox Options page.

    Lastly, you need to ensure that you have accommodated for those users that have already visited the page and filled out the survey. One simple method of performing this task is simply storing a cookie once the data has been collected and submitted. The determination of whether a user should fill out a survey can be based on different properties of the cookie (or different cookies for that matter).

    And there you have it, you’ve created a survey that you want your users to fill out and simply included the Shadowbox library to display this survey over the page of your choice. Combine this technique with the analytic tracking service of choice to find your desired landing page. This is just one productive use of Shadowbox, what other uses can you think of?