Coming Soon to CodeGuard: Restore Progress Tracker

Twitter Facebook

The feature: Restore Progress Tracker

Over the last few weeks the CodeGuard team has been working hard on a new feature we are excited to release soon: The Restore Progress Tracker. Coming soon to the dashboard, whenever you request a restore you will be able to see live, real-time progress on the status of the restore, along with an estimated time for completion, and what step in the process it is currently in.

Screen Shot 2014-07-11 at 1.32.22 PM

We’ve had a very similar feature in our dashboard for a long time now: The Backup Progress Tracker. When a customer adds a website or database to CodeGuard for the first time we show you real-time updates on the status of your first backup. It’s been a long time coming, but we’ve finally been able to extend this functionality to our restore process as well. Right now our real-time updates for restores will only be available for our Automatic “One-Click” Restores, our Individual File Restores, and our Database Restores. This excludes our Download Zip feature for the time being.

If you’re curious to learn about the development challenges our team went through to make the magic happen, keep on reading!

The challenges:

This project wasn’t so much a design challenge, because we had already developed our Backup Progress Tracker feature (most of the UI was recycled), but more so a development challenge because the processes are completely different. The main problem to solve was, “How do we show real-time restore progress in our dashboard? How do we get this information about our restores?” For me, the project got divided into three main parts:

  • How do I solve this problem for Automatic “One-Click” Restores?
  • How do I solve this problem for Individual File Restores?
  • How do I solve this problem for Database Restores?

When it came to the steps these restore types went through there were a few similarities, but there were also a lot of differences. At the start of the project these differences were a “black box” for me though, and so I set out to meet with two of our back-end gurus, Jonathan and Michael, to get a feel for how these processes work. After an hour of lively white-boarding we were able to document exactly what is going on behind the scenes with each restore. The main steps of the restore process are as follows:

  1. A CodeGuard server is started to begin the restore
  2. A connection to your server is opened to perform the restore
  3. A pre-restore backup is taken just before the restore begins (Not for Individual File Restores)
  4. A comparison is made between your current website and the backup you have chosen to restore to (Automatic “One-Click” Restores only)
  5. We modify the running website: add files, remove files, override existing files (Not for Database Restores)
  6. We push the selected backup to your database (Database Restores only)
  7. We finalize the details with logging and get ready to email you
  8. The restore is complete!

You can see with the comments I made in parenthesis that it was a somewhat tricky task to organize all those steps! This brings me to the next major challenge I encountered, which was how to develop these views to show the proper steps based on restore type without unnecessarily duplicating tons of code. I didn’t want to have to create a separate view in the application for Database Restores, a separate view for Automatic Restores, and a separate view for Individual File Restores. To me that seemed a little wasteful, and I knew there had to be a smarter way to write the code.

Screen Shot 2014-07-11 at 1.36.26 PM

While I worked on a sane way to do this, another challenge arose, which was how do we decide when to show this view (partial) in the dashboard? When a restore is ongoing in the dashboard, it has a Status and a Type. The restore Type correlates to what type of restore it is (naturally), so Automatic Restore, Individual File Restore, or Database Restore. The Status of the restore determines what point in the process it is at (Not Requested, Requested, Backing Up, Comparing, Transferring, Finalizing, Delivered). We obviously didn’t want to show this view in the dashboard if no restore is in progress, but if a restore just completed (and is “Not Requested”), we wanted to be able to keep this view in the dashboard for a period of time to give the customer a chance to view it and see what happened.

To overcome the challenges of what to show and when to show it, I relied heavily on the Type and Status attributes of the restore to drive this view. By utilizing these attributes I was able to code the Restore Progress Tracker in one main view! Granted, it is a very large view, but with one main location for this logic I was probably able to avoid duplicating hundreds of lines of code. Don’t get me wrong, the “genius” of this work was definitely not accomplished by myself alone! I continued to interact heavily with Michael and Jonathan on the team to figure out the best and most efficient way to tackle this project throughout it. In the end, I think we were able to solve these challenges as they came in a great way.

Screen Shot 2014-07-11 at 1.39.35 PM

While I worked on the views, Michael was able to figure out a way to intelligently calculate the estimated time of completion for the restore. This involved analyzing how long previous backups and restores took to complete for that website/database and then by using that data to drive our estimates. Jonathan was also able to help me in a big way when it came to the “real-time” component of the feature, and figuring out a way to refresh this content every few seconds for real-time progress. Overall, I had a lot of fun watching us come together during this project to conquer our coding challenges!


With our development challenges out of the way, our next challenge is to deliver to you, our customer, the restore experience you want and deserve. Our main goal with this feature is to make restores a little less scary, a little less of an “unknown”, and as a result a lot less stressful for you and your business.

I don’t want to tease too much, but I would like to note that the Restore Progress Tracker is just one part of a much larger set of enhancements we have coming soon to our restore experience! Hopefully this current enhancement will hold you off until our next major improvement is released (stay tuned!).

To conclude, we certainly don’t want anything bad to happen to your websites or databases, but if disaster does strike and you need to restore your content, rest assured that CodeGuard will let you know what is happening every step of the way. You can expect to see the Restore Progress Tracker in the dashboard within the next week, and if you do encounter it, please let us know what you think!


CodeGuard announced as GCLA CIO of the Year Finalist

Twitter Facebook

Finalists Announced for 16th Annual Georgia CIO of the Year Awards

Finalists for the 2014 Georgia CIO of the Year Awards have been selected. Visit to find out who is representing outstanding leadership and innovation within their organization.

Republished from

The Georgia CIO Leadership Association (GCLA) proudly announces the finalists for the 16th Annual Georgia CIO of the Year® Awards.

Established in 1998, the Georgia CIO of the Year® Awards is the premier technology executive recognition program in Georgia. This annual event honors chief information officers who have demonstrated excellence in managing technology leadership. The five awards categories are: Global, Enterprise, Corporate, Emerging and Non-profit/Public Sector.

CIO of the Year LogoFinalists are selected by a panel of distinguished judges, including prior award winners. CIOs are evaluated on their contributions in the areas of innovation, leadership, business value creation, and community involvement. The winners in each category will be announced at the Georgia CIO of the Year® Awards breakfast on October 31, 2014 at the Cobb Galleria Centre.


The 2014 finalists are:
Global – Over 10,000 employees and multinational
· Tom Musgrave – EVP & CIO, Americold Logistics
· Jim Scholefield – CTO, The Coca-Cola Company
· Brian Sondergaard – VP & CIO, Fiserv
· John Trainor –SVP & CIO, Aaron’s, Inc.

Enterprise – Over 1,000 employees
· Bryson Koehler – EVP & CIO, The Weather Company
· John Lukas – SVP & CIO, Arby’s
· Kevin McDearis – CIO, Manhattan Associates, Inc.
· Ed Smith – CTO, AutoTrader Group

Corporate – Up to 1,000 employees
· Walt Carter – CIO, Generation Mortgage Company
· Michael Hunsucker – Managing Partner & CTO, Sovereign Systems
· Eric Litz – CTO, Delta Data Software
· Richard Powers – VP Information Systems, CardioMEMS

Emerging – Under 250 employees where technology is primary driver of high growth
· Joel Gilbert – Chief Software Architecht & Co-founder, APOGEE Interactive
· David Moeller – CEO & Co-founder, CodeGuard
· Joshua Silver – VP Product Development, Patientco
· Baha Zeidan – CEO & Co-founder, Azalea Health

Non-profit/Public Sector – Healthcare, government, education, and not-for-profit organizations
· Steven Burrell – VP Technology & CIO, Georgia Southern University
· Curtis Carver – Vice Chancellor & CIO, University System of Georgia
· Samuel Conn – VP IT & CIO, Southern Polytechnic State University
· Anne DeBeer – SVP, CTO & CFO, Federal Reserve Bank of Atlanta

The 2014 Georgia CIO of the Year® Awards is made possible by the following sponsors:
· Gold sponsors: Abacus Solutions, Magenic, Carousel Industries, Ciber, Dell Services, LeadingAgile
· Silver sponsors: Insight, CTS, Wipro, Data Blue, Mitel, 3sage Consulting, Capgemini, Software AG, VeriStor, ECS Team, Pivotal, CSI Leasing
· Digital sponsor: Swarm Agency
· Bronze sponsors: ProSys Information Systems, Presidio, AT&T, The Coca-Cola Company, Korn Ferry International, Slalom Consulting, Avaya, Dimensional Thinking, Softchoice Corporation, Genpact, OutSystems, Lighthouse Technologies, AirWatch by VMware, ProIQ Solutions

About the Georgia CIO Leadership Association
The GCLA is Georgia’s preeminent professional association for senior technology leaders. Founded in 2003, its membership is comprised exclusively of chief information officers or individuals in equivalent positions from public and private companies, government, education and not-for-profit organizations throughout the state. The GCLA is a 501(c)(6) professional association led by a CIO Advisory Board with over 100 CIO members who re-certify membership qualifications annually. The GCLA is underwritten by support from Deloitte, IBM, Intellinet, Microsoft and Morris, Manning & Martin, LLP.

TAG SSA Impact Award Finalists

Twitter Facebook

Last night we had the pleasure of attending the 5th annual Technology Association of Georgia (TAG) Southeastern Software Association (SSA) Impact Award ceremony. Each year the SSA Impact Awards recognize companies who have demonstrated outstanding leadership in bringing new technology solutions to the market. Finalists have built outstanding software solutions that deliver a positive impact to both their customers and business community.

96 companies were nominated and 23 finalists were selected across the five categories: Technology Solutions Provider, Independent Software Vendor, Corporate Internal Software Development Group, Healthcare IT, and Emerging Megatrend. The selection criteria were based upon the complexity of the problem, creativity of the solution, and the overall business impact of the product.

Independent Software Vendor Finalist

Corporate IT Group

CodeGuard was a finalist in two categories: Independent Software Vendor and Corporate Internal Software Development Group. Prior finalists in the Independent Software Vendor category include AirWatch and Pardot.

While we did not win either category, we were excited to be nominated and to have been selected as a finalist. Congratulations to the Weather Channel for winning the Corporate Internal Software Development Group award, and to Arke Systems for winning Independent Software Vendor.

TAG SSA Award Ceremony

How good is your backup? Announcing

Twitter Facebook

We hear it all the time: “I have a backup plugin”, or “I have a script”. And no one knows how effective those plugins or scripts are. No one. Why? Because no one is measuring. Because the plugins are executed on a shared server that might shut them off. Because the plugins might not be run if there are no visitors to a website. Because the plugins might be shut down by another plugin, a security plugin, perhaps.

Plugins fail. Scripts fail. Backups are not as simple as just having “something”. The “something” needs to work. And until now, no service provider has provided transparency into how well their backup systems work. Why? Either because they are not measuring it (which is likely), or because they are measuring and the numbers are embarrassingly poor.

CodeGuard Announces Trust

CodeGuard is changing that. We believe that transparency and visibility are important, and that backups shouldn’t reside in a forgotten corner until they are needed. Backups should have light shone on their performance, so that when the backups are needed, they won’t be prone to failure.

CodeGuard Trust

The image above displays our numbers for the last week. There were website and database backups that did not complete within 24 hours and there were idiosyncratic edge cases we encountered that prevented us from doing our job properly. Those numbers are real. And for better or worse, they are our numbers.

We backup over 100,000 websites and databases around the world, with content stored in hosting providers based in the United States to India to Chang Mai, Thailand. Over 200 countries have sent visitors to our website – the interest level is global – which makes sense. Backup is a basic web need, and the internet is global.

So that’s our performance level. How good is your backup?


CodeGuard Featured on NBC’s Atlanta Tech Edge

Twitter Facebook

CodeGuard was featured on local NBC affiliate WXIA-TV’s Atlanta Tech Edge. The program originally aired on Sunday, April 6th, at 11:30AM EST. Hosted by Wes Moss, Atlanta Tech Edge is a weekly show that features technology businesses and interesting developments in Atlanta’s technology community.

Atlanta Tech Edge

While the focus of the segment was on CodeGuard, and how CodeGuard can help the millions of website owners and webmasters around the world, Atlanta Tech Edge host Wes Moss and CodeGuard CEO David Moeller shared a common bond, in that both had been featured on reality TV shows. Wes was on the Apprentice and David appeared on ABC’s American Inventor, the precursor to the current SharkTank program.

CodeGuard Atlanta Tech Edge

It was an honor to be invited to participate on the program and share about some of the progress CodeGuard has made, as well as how we can help website owners by providing an easy way to remediate problems. With the single click of a button, damage can be undone and balance restored! Watch the full video here:—CodeGuard

David Moeller on NBC