Atlantic Business Technologies, Inc.

Category: Development

Here, you’ll find insights on programming languages, frameworks, and techniques that shape the web and software landscape. Whether you’re a developer looking to refine your skills or simply curious about how things work behind the scenes, this space offers practical knowledge and thoughtful perspectives.

  • On Edge about Leaving Internet Explorer?

    Our Answers to Your Internet Explorer FAQs

    On January 12, 2016, Microsoft ended support for older versions of Internet Explorer (IE). For those of us in web development, this was cause for rejoicing—we now had fewer browsers to support.

    However, for the many organizations and businesses who have relied on older IE versions to run their applications and websites, this news left them feeling a bit on edge. At Atlantic BT, we’ve heard a lot of questions from our clients who depend on IE: Why is Microsoft ending support?  Which versions are affected?  What happens for applications that remain on IE? And (most importantly) what are next steps I should take?

    Though we don’t know why Microsoft made the decision to end support for older versions of IE, we can help with the other frequently-asked questions.

    What Does End of IE Support Mean?

    Companies like Microsoft announce the end of support when the company feels their product is at the end of useful ‘life’. This decision usually means the company intends to focus its resources on supporting and developing newer software rather than patching older versions.  

    For Internet Explorer, end of support means that Microsoft will:

    • Cease technical support
    • No longer provide downloads of the browsers
    • Stop security updates

    All of these changes are excellent reasons to transition your company away from older versions of Internet Explorer.

    Which Versions Are Affected?

    The end of support announcement affects several versions of IE. Specifically, Microsoft has decided to end support for IE 10 and all previous versions; while IE 11 will continue to receive security updates this year, Microsoft has announced IE 11 will be the last version of Internet Explorer.

    This makes it vital to transition away from Internet Explorer. If you’d prefer to stick with Microsoft’s browser, then you should begin using Edge, Microsoft’s new browser for Windows 10. Microsoft developed Edge to better compete with Chrome and FireFox, so it offers new features found in these browsers. In addition, Microsoft is offering free upgrades to WIndows 10 for a limited time.  Because only Microsoft knows how “limited” this time is, it’s important to upgrade sooner rather than later.

    What Happens to Applications Running on Unsupported Versions?

    Older versions of Internet Explorer will not be automatically uninstalled from computers. So applications running on unsupported versions can still run on old computer systems.  However, this is not recommended because of the risks involved, including:

    • The end to security updates. This risk opens the application or website up to vulnerabilities from malware or malicious attacks. This puts your business application and its data at risk.
    • Appearance issues. If a user attempts to open your application or website in newer browsers, there’s a strong chance your site will not look the way you intended. The user may experience broken images, misplaced buttons and text, and an interface that appears scrambled.

    What Are My Next Steps?

    Considering the answers to these questions, it’s important for your business to plan its transition away from older versions of Internet Explorer. As digital problems solvers, AtlanticBT can provide direction as your business moves to newer technology.  We can help you:

    • Evaluate your current web applications and website to determine the most effective way to upgrade.
    • Redesign apps and webpages using cutting-edge technology that works across modern browsers such as Chrome, Safari, Edge, and Firefox;  these web browsers provide faster and more secure access to websites and services.
    • Develop a solution that is mobile-friendly; this means being more accessible on tablets and mobile devices, unlocking another path for business growth and productivity.

    And once your application or website has been updated, we can help you to stay up-to-date. If you’re interested in learning more about how we can help your business transition away from Internet Explorer, please contact us.

  • Agile From the Start of Your Technology Project

    “Agile development practices have steadily risen to become trusted and preferred methods of development… using agile, organizations can respond to market changes faster, deliver higher-quality software, and gain a significant competitive edge.”  Harvard Business Review

    Considering these benefits, it’s no surprise that Agile development has become immensely popular among technology companies. More than a fixed methodology, Agile development is a mindset that embraces flexibility as its key characteristic: “…evolving our practices to suit the challenges at hand,” according to Andy Hunt, one of the originators of the Agile Manifesto.  

    At Atlantic BT, we put these ideas into practice with a hybrid approach incorporating many aspects of Agile development into each project. One thing that sets Atlantic BT apart is we apply this mindset during the discovery phase of the project when we are working with the client to define product requirements.

    According to PricewaterhouseCoopers: “One of the key differentiators for the Agile methodology is the requirements-gathering process and the iterative approach that fosters alignment through increased communication… Agile provides a high level requirements process to define what the system should provide, not how the system should work…”

    This quote sums up Atlantic BT’s approach: you start at the very highest level of requirements for your business and your customers, what they need to achieve, and don’t discuss how that will be done until later. The details of how you achieve those objectives come in the second critical part of the quote, during the iterative process of increasingly refining your focus to more granular aspects of the requirements and solution.

    Our solutions team has a toolbox of discovery techniques to observe, investigate, research, and experiment. These techniques allow us to ask and answer specific questions about needs and potential solutions. The specific forms of discovery include interviews, workshops for brainstorming and collaboration, surveys, reviews, and focus groups, among others.

    We identify requirements in a hierarchical, iterative approach so each step informs and determines the next. For example, in the very beginning we use stakeholder interviews and sometimes business model and/or value proposition workshops to identify key aspects of the business and the project. These aspects include a first pass definition of the market and which customer segments the solution should address.

    Let’s take User Research as an example; we need to define many characteristics of the people who will use the solution, such as their demographics, wants, needs, and behavior patterns. Depending on the nature of the website or application being developed, we may need to go into more detail regarding specific tasks and workflow, as well as roles and permissions.

    In order to discover those details about the user base, we employ one or more of the following techniques:

    Each technique answers specific types of questions and provides certain types of information. However, we won’t know which of these techniques to use until we have performed the first-pass definition of business requirements. For example, a business that needs to deepen engagement of existing users might survey those users to learn more about what they wanted; a business that needs to reach new audiences might use persona workshops to discover who these new users are.

    Another possibility is that something we find in discovery may send us down a completely unexpected path. For example, we recently had a client engage us for a redesign of their static marketing website. Their current site contained hundreds of pages of content, so we took the usual step of performing a content inventory. This technique is helpful in determining information architecture, content update needs, finding forms and data feeds, etc.

    Our content inventory also led to an important discovery—the website contained functionality for posting open positions and accepting applications for those positions. The initial client brief had not mentioned this critical capability.

    As a result, we added a step in discovery to perform a process analysis and map out their entire process for posting and filling new positions. This would identify exactly which steps would need to be replaced in the new website. Had we not done this, when the old website was turned off, they would have suffered a severe disruption to their hiring process. As an added benefit, this analysis identified multiple process improvement opportunities which were incorporated into the requirements discussion for the next phase of their project.

    These two examples show how applying the agile principles of flexibility and feedback from the very start of a project provide several benefits throughout the project:

    • Optimize resource use by applying only the techniques needed.
    • Identify risks as early as possible in a project.
    • Identify opportunities for continuous process improvement.
    • Allow for prioritization of tasks.
    • Increase precision of estimate of effort.

    To recap, we find it is not efficient to try to state categorically exactly what the appropriate discovery for a given project will look like in advance. This one-size-fits-all approach either includes too much (and is thus expensive), or misses crucial information (thus incurring high project risk). Instead, we find it much more effective to “adapt our practices to suit the challenges at hand” (to paraphrase Andy Hunt). This optimizes resource use, minimizes risk, and maximizes quality for us and for our clients: a win-win application of Agile development.

  • When to Integrate Your ERP with Magento

    If you are running an eCommerce site or are considering getting started with eCommerce, you likely have heard of Magento. Magento is easily the leading eCommerce platform and it runs some of the most familiar eCommerce sites on the Web today. We’ve helped a number of clients build their eCommerce sites on Magento and the platform has worked very well for them. But one of the common questions we hear on eCommerce projects deals with connecting an enterprise resource planning (ERP) system to Magento. Specifically, clients want to know when they should undertake this integration.

    When Should You Integrate Your ERP with Magento?

    The simple answer to this question is to do it right away! But in reality, the situation is a little more complex. If you are building a new site on Magento, you should really consider integrating the two as a part of your project from the outset. While it is possible to integrate the two platforms after the fact, it is much easier to complete the work up front when building out your eCommerce site.

    Do I need an ERP for My eCommerce Site?

    In some instances, though, we’ve encountered clients that want to know when they need to purchase an ERP. This situation is a little more complicated. But it is also one made a little easier if you are considering building out an eCommerce site. Here are a few keys to consider that can help you in making the decision:

    1. Do you have a warehouse (or multiple warehouses)? If you store your products in a warehouse, you have inventory. And inventory needs to be tracked so you know how much of each product you have available to sell. An ERP is essential to helping you manage your inventory, especially if you have multiple warehouses.
    2. Do you drop ship your products? Drop shipping is a method of order fulfillment that sends the product direct to the customer from the warehouse (or retailer), thereby skipping the brick and mortar store all together. This gets the order to the customer much faster. But it also is heavily dependent on an updated inventory list, which is best kept inside an ERP.
    3. Do you have a need for “pick lists”? Pick lists are a part of your order fulfillment process that allows you to pull multiple items from your inventory and combine them into one order prior to shipping to the customer. Depending upon your inventory and order fulfillment process, your pick lists can get pretty complicated. If you have a need for pick lists, you will likely want to use an ERP as well. An ERP will help you manage your inventory and reduce the number of shipping errors. And integrating your ERP with your eCommerce site will provide accurate, up-to-date information to the customer to create a better experience at the time of purchase.
    4. Do you use a CRM (customer relationship management) tool? CRMs are used as part of the overall management of customers and prospective customers to make sure you’re providing the most relevant and helpful information to them at the time they need it. CRMs collect a lot of information about your customer base. Connecting the CRM to an ERP creates a very powerful data set that can help you better serve your customers.
    5. Are you engaged in B2B sales? Business to business sales is quite a bit different from business to consumer sales. Some of the key differences are group buying, organizational discounts and purchase orders, just to name a few. Also, historically, B2B orders have been collected via phone or through a designated sales person, both of which are traditionally handled outside of the eCommerce website. By integrating your ERP and eCommerce site, you create a powerful resource for your sales and order teams to help them handle B2B orders.

    Taking the Next Step in eCommerce

    No matter whether you have an existing ERP or are just starting out on your journey to implement one, you will be much better off if you explore ways to integrate the ERP with Magento from the beginning. The integration will provide you with a powerful system that can handle most of your eCommerce and order fulfillment needs.

    Our team at Atlantic BT has helped clients build out their Magento eCommerce platform and integrate it with ERPs such as Apprise, Great Plains, M3 and Sage. If you would like to know more about our eCommerce integration services and explore ways we can help you with your needs, call us at (919) 518-0670 x6 or use our contact form and we will get you connected with one of our solutions specialists. And in the process, we’ll show you why we specialize in solving some of your toughest eCommerce website challenges.

  • Quality Assurance Doesn’t Start with the QA Team

    Ever worked on a project that had no written requirements? How about one that had a one- paragraph specification for a major feature?

    Ever had to skip steps in the process and ‘throw something over the wall’ to Quality Assurance (QA) to meet your deadline? It’s their job to find all of the bugs, right? If you’re feeling really confident, maybe you could just skip QA altogether and push it live?

    Unfortunately, I can say yes to all of these questions. In my past, I have worked from one-line requirements and sometimes even a post-it note from a client. I must admit I have seen my share of work that was not unit tested, but was simply handed over to QA. Predictably, it failed the very first test. I confess I also witnessed the shortening of a QA cycle for the sake of meeting a project deadline.

    But that is in my past.

    How We Ensure Quality at Atlantic BT

    I’ve found a better way, one I’ve learned from working with a team dedicated to providing the BEST digital solutions for our clients. To achieve this, we established several roles and processes to ensure quality doesn’t start with the QA team.

    Project Management

    If you select the wrong resources for the project, your project timeline and the quality of the work will suffer. The Project Manager lays out the project plan and evaluates the project needs to determine the right people for the job. They monitor the timeline, watch the budget, and regularly update the client on the project progress. All this comes together to raise the quality of service we provide to clients.

    User Experience (UX) & Design

    It’s crucial that the project design aligns with the client vision in a way that meets the business needs and provides the best possible user experience. The User Experience and Design team fills this need, capturing the client vision in a way that no one else can. They use persona workshops and stakeholder interviews to examine the needs and preferences of the end users. Then, this team generates concept boards to provide a sense of the design direction, a site outline to visually display the organization of project pages, and wireframes to show how users will navigate the system or site. Bringing this client vision to life is how the UX and Design team contribute to the quality of the project.

    Architecture

    Behind the project’s design are a host of technical details to ensure quality. That’s where our Architecture team excels. They are focused on gathering and documenting requirements that describe the project’s functionality based on client goals. This team collaborates with the client to understand business rules and expands user stories to provide an accurate functional specification document. This document is the basis of what we build. The Architecture team also answers technical questions during the development and QA phases of the project. By creating a strong architecture and specification document, the Architecture team lays the foundation for building a strong, quality product.

    Information Technology (IT)

    During the project, it’s vital that everyone on the team can work on a development server configured the same way as the final production server will be. Our IT team makes this possible by setting up the database servers, CMS, S3 buckets, and other tools to establish stable environments for development and QA testing. This allows us to identify issues with configuration and system resources prior to going live. It also lends to a smoother transition when launching the project, which is essential to guaranteeing quality.

    Development

    Finally, it’s important to create a system that meets client specifications in a way that is efficient and user-friendly. The Development team makes this happen by taking outputs from Architecture, UX, and Design to build the project and ensure the requirements are met. This team also holds code reviews and runs unit tests to check the quality of the code before handing over features to the QA team.

    As you can see, quality is a team effort that begins long before the QA team gets involved. Once my QA team receives the outputs from each of them, we can create and execute test plans that consider the business rules, general requirements, user experience, browser compatibility, and much more.

    I’m grateful to be part of a company that knows quality does not start with the QA team.  At Atlantic BT, quality begins with understanding our clients’ vision and what’s best for their business. It is something we think about in each phase of the project so that our final delivery is something we are proud to put our name on.

  • Using Retrospectives in the Deployment Process

    Recently, I have taken ownership of the deployment process at Atlantic BT. We have had some issues with communication, consistency and flat out failures. We have to look at ourselves in the mirror and face the facts; we have to improve.

    We spend the majority of our projects in the trenches. We workshop with our clients, we design, we code, we test. The deployment is all about the unveiling; it’s time to show the world what you have done.You owe it to your customer and to your team to finish it right. The goal is for the deployment to go smoothly and pop a cork when it’s done.

    Incorporating Agile Concepts in the Deployment Process

    I like to borrow Agile concepts and use them in different ways. A stand-up is great for daily communication, identifying roadblocks and simply getting everyone on the same page. We make good use of stand-ups during our development projects at Atlantic BT, but they can also be used in other parts of our work because they present a rhythmic opportunity to communicate

    With that in mind, consider these questions:

    • Where do you need to improve?
    • What process is causing you the most headaches?
    • In your business segment, at what do you want to be known for being the best?

    When I think about these three questions, my go-to solution is a retrospective. A retrospective is about gathering data, discussing possible actions and then doing something. At Atlantic BT we ask three critical questions as part of our retrospectives:

    What went well?

    When something isn’t going well it’s very easy to focus on what is wrong. We cannot forget our victories, even the minor ones. These victories lay the foundation for future awesomeness!

    What didn’t go well?

    It’s common to fall into the trap of thinking of this category as ‘our failures’. It’s hard to look into the mirror and face your demons and admit that you have problems. If you are able to remove judgment from this section you will find it very effective. Use “I” statements like: “I notice that we lost momentum when the QA server went down” instead of “You shut down the QA server and slowed us down.”

    What are we going to DO to improve?

    It’s time for the ideas to flow. Talk about what is the most valuable change you can make to be better. It doesn’t have to be 10 things, it can be one. The most important part is that it gets done. Decide what to do and then set the accountability:

    • What problem(s) are we trying to solve?
    • What will be done?
    • Who will do it?
    • When will it be done?
    • When will there be a follow up?

    Retrospectives are great because you can use it for just about any process.

    Solving Atlantic BT’s Deployment Challenges

    After taking over responsibility for Atlantic BT’s deployments, I immediately implemented retrospectives as a part of our deployment process. In fact, there are now 3 parts to a deployment for us: the pre-deployment meeting, the deployment itself and the deployment retrospective. With each iteration we are analyzing the good, the bad and the areas of improvement.

    Each team member brings a unique perspective and approach to the meeting, therefore they must attend the retrospective. I have noticed that when our team members are challenged to improve, they rise to the occasion. They may suggest a simple change that can be done immediately or a complex change that requires a significant time investment. As a team, we discuss the value in each suggestion and decide what will be done. We are careful not to commit to completing too many action items with each iteration. We look for items that can be done with confidence before the next deployment. In a short time we have seen the creation of checklists, an alternative deployment technique and a communication protocol created.

    Our goal is to have perfect deployments. Downtime will be at as close to zero as possible, communication with all parties will be consistent and clear. While we have already made significant improvements, we still have further to go. But with each iteration we draw a little closer to perfection. And that’s a win for both Atlantic BT and our clients.

    About Dan Beard

    Dan Beard Atlantic BTDan Beard is the Director of Software Development at Atlantic BT. With more than 19 years of experience in software development, Dan’s focus has been delivering high quality software products on time. He is responsible for managing developers across multiple technologies including .NET, PHP, IOS and Android development. He has implemented and augmented Agile development practices to suit the needs of projects and organizations. You can follow Dan on Twitter or connect with him on LinkedIn.

  • What a Riot Looks Like on Amazon Web Services

    As most of the world is aware, the past several days have been difficult ones in Baltimore. Following the funeral of Freddie Gray last Monday, a series of demonstrations quickly escalated into riots and looting in parts of the city. This is clearly one of the biggest events to impact the Baltimore region in many years and there is a tremendous thirst for news regarding the events.

    Baltimore-Radio-Amazon-Web-Services-Atlantic-BTOne of the less obvious results of a major news cycle is a huge spike in visitors on prominent news sites. Last Monday, demand on the leading Baltimore news station’s website has been tremendous. As the news station’s technology partner, Atlantic BT has been on alert monitoring the website to make certain that it continues to function at a high level.

    What a Riot Looks Like on Amazon Web Services

    The station’s website is hosted within the Amazon Web Services (AWS) environment. AWS is easily the most scalable and powerful web hosting environment and one that is an ideal fit for a heavily trafficked news site. But the past week has been extraordinary. Here’s a look at the volume of traffic and how much it has increased during the past several days:

    On the far right of that graph, you see two significant spikes. During these timeframes, the site saw about 42,000 page views per hour, far greater than the normal traffic load on the site. For typical websites, a traffic spike like this could significantly slow down the site, possibly even forcing it to shut down. But this didn’t happen to this Baltimore news station. The following graph shows CPU usage in the AWS environment we constructed for the news station:

    This graph shows how busy the computers are that send content to users. As you can see, despite a nearly 2,000% increase in usage of the site, CPU usage only increased by about 17% during the same timeframe. As a result, users never experienced a slowdown and they were able to get the news and information they needed.

    Why Is the Voice of Baltimore News on Amazon Web Services?

    Amazon Web Services proved to be the right environment to handle the new station’s largest online event in its history. And that’s saying a lot as the city (and the site) have experienced everything from the 2011 earthquake to significant snowstorms to the Baltimore Ravens playing in Super Bowl XLVII.

    When the news station first approached Atlantic BT to handle its hosting needs, the site was set up using a single server in a data center. This was a standard configuration and one that would typically serve the news station’s site well for its regular traffic needs. But events like those noted above would drag the site down rendering it useless. The news station needed a better solution.

    “[their] website is a critical part of their business. We wanted to create an environment that could handle high demand and keep the site online.”– Doug Eubanks, IT Manager, Atlantic BT

    Atlantic BT recommended a move to AWS and architected a custom server configuration that focused on redundancy and making the site fault-tolerant. As Doug Eubanks, Atlantic BT’s manager of IT noted, “This Baltimore news station’s website is a critical part of their business. We wanted to create an environment that could handle high demand and keep the site online and what we developed is a solution that is both redundant and fault-tolerant.” The environment Atlantic BT constructed allows the servers to “heal” themselves when they experience periods of heavy demand. And that reduced the need for human intervention, which keeps the site moving along like normal regardless of how much traffic is on the site.

    The news station’s newly architected environment was completed in April 2014, a full year before last week’s events in Baltimore. And the site has performed even better than expected during that time. In fact, the site has performed so well that the news station has not needed to reach out to Atlantic BT to address any issues with the site, something that would have been commonplace in its previous environment. And that has left the team at the Baltimore news station with more time to focus on their business during a critical time in the history of Baltimore.

    Is Amazon Web Services Right For You?

    Amazon Web Services is a solution for companies that place great emphasis on keeping their Websites and critical business applications up and running. As an Amazon Web Service Consulting Partner, Atlantic BT has helped many companies evaluate AWS to determine whether or not it is the right solution for them. Our team of AWS certified developers and engineers meet with each prospective client, review their specific situation and craft a custom solution to help them make a transition to AWS. If you are interested in exploring Amazon Web Services for your business needs or would like to learn more, give us a call at (919) 518-0670 or use our contact form to have an AWS consultant give you a call.