Construction Management Companies Reduce Costs with Onehub

In tough economic times construction companies are looking to be more efficient than ever. Reducing costs and accelerating timelines are a top priority. Many look to technology to help them improve their operational efficiency. Web-based software is particularly great at helping construction companies throughout the construction management process because it can be accessed anytime and anywhere — whether in the office, home office or on a jobsite.

Centralizing Documents and Making Project Management Easier

Onehub helps many construction companies connect and coordinate the work of general contractors, subcontractors, architects, and construction workers. By helping companies create a centralized repository for access to documents and business information, Onehub allows sharing of blueprints and construction drawings, RFIs, submittals, purchase orders, site photos and more. That is why construction companies like DTR Contractors, Coastal Construction and Vali Cooper & Associates are using Onehub to enable better project management and make sharing files easier.

Do you have questions about how Onehub can help your construction management company be more efficient? Email us at info@onehub.com to find out more.

construction_hub

Conversations with Customers: Chef’n

It’s time once again for another post in our “Conversations with Customers” blog series. This time I had the honor of speaking with Jessica Ahlering, Marketing Manager for Chef’n. The interview below details how Jessica and the team at Chef’n are using Onehub as a retailer and distributor extranet.

chefn_logo

Kurt Ricketts (Onehub): Can you tell us a little about what Chef’n does, and what role you play in the company?

Jessica Ahlering: We are a house wares company; we design kitchen gadgets, utensils, and other things for cooking. We also have a few other brands in the lifestyle and entertainment category, as well as cleaning products. I am the Marketing Manager so I handle all of the PR, trade shows, packaging, websites, etc.

Kurt Ricketts (Onehub): How did you hear about Onehub?

Jessica Ahlering: Oddly enough, I heard about Onehub through our website developer. We were looking for something that was much prettier than standard FTP sites of today, and our website developer uses Onehub with the company he works for and recommended it to us.

Kurt Ricketts (Onehub): And how is Chef’n using Onehub today?

Jessica Ahlering: We use it as an FTP replacement for hosting all of our product photography, which is one of the largest components of our selling approach. Onehub provides the perfect alternative where if we don’t have the product in hand to sell, at least we have an easy way to share and view product photos. We’re also providing hi-res images for our distributors so they can print them out for their catalogs or our retailers can print them out for store signage and other things.

A lot of our photos can be up to 12mb in size, and the Chef’n line alone has over 80 products, and when you include all of the colors that are involved you end up in the hundreds of products, there was really no source available to provide all of that without either slowing down people’s computers or being too complicated to understand. We were also really concerned with making sure it was brand specific. We didn’t want to create an FTP site that we had to manage, maintain, and host, because that was more than we wanted to handle in-house.

We currently have hubs where we host photography and videos. We also have hubs used domestically for our retailers, and others used internationally for our distributors, where I can give them collateral, advertisement and marketing ideas, PR samples, all in a very clean and presentable package.

Kurt Ricketts (Onehub): When you were evaluating various services, what led you to choose Onehub?

Jessica Ahlering: I did a ton of research on FTP sites, and other options and possibilities. We needed a solution that was easy for our retailers and distributors to access, so they see all of our products and easily download the photos to choose what they want. Some services in my search just became too complicated to do this. Also, I love how you can view the photos nicely and easily, which helps to create an environment where it feels like our retailers are purchasing the products in the store.

The second thing which is a huge bonus is the customization and branding. We have added our logo, and we can choose a color scheme that is specific to our brand. Not only are we a design forward company but we are very color conscience and very well known for that in our industry, so being able to provide a really bright and colorful online location was an added benefit. I think it’s just easier, I mean, all of the other FTP sites that

I looked at kind of looked like a Microsoft folder, and some of them were just way too difficult to understand and had no personality. One of our core values is that we are design oriented so speaking to our retailers and distributors through something with no personality wasn’t going to work for us.

Kurt Ricketts (Onehub): What benefits are you seeing from your use of Onehub?

Jessica Ahlering: A lot of the people and industries we interact with don’t have a lot of experience with computers, so Onehub has helped us to provide information to our retailers and distributors in an easy to understand format. FTP was simply too complicated for most users, and it would have been too costly to try and develop and manage something on our own.

Kurt Ricketts (Onehub): What is your favorite feature in Onehub, and why?

Jessica Ahlering: I would have to say the customization potential, I spent a lot of time customizing and tailoring Onehub to fit our specific needs, from the color scheme, to the layout, and adding the right features for each hub’s purpose. The hubs are friendly, welcoming, and interesting. I feel that our site will inspire them to want more.

Rolling Deployments with Capistrano

Our rails application runs on a number of servers, each with a number of mongrels, and we use Capistrano to handle our deployments.

Typically, for deployments that involve changes to database structures (migrations), we put up our maintenance page, perform the deployment, and remove the maintenance page. That is all handled in one capistrano command:

cap production deploy:migrations

For most other changes, we deploy code and restart our servers without posting the maintenance page:

cap production deploy

All of the servers are deployed simultaneously, and all mongrels on our servers are then restarted simultaneously. There could be an extended delay (tens of seconds) for someone accessing our site during this period, as the mongrels that are restarting are unable to service requests.

A better experience for our customers would be to deploy the code simultaneously, but then restart the mongrels one-by-one. In this way, our overall raw capacity is diminished, but requests are being serviced continuously through the deployment interval.

We could spend a lot of time “shaving the yak” on this one, but keeping it simple works for most cases. Here’s what our restart task looks like:

desc <<-DESC
   Restart the Mongrel processes on the app server by starting and stopping the cluster. This uses the :use_sudo
   variable to determine whether to use sudo or not. By default, :use_sudo is set to true.
   If roll is true (either invoked via roll task or roll is set) will sleep between restarts of mongrels.
         DESC

task :restart, :roles =&gt; :app do
 sudo "/usr/bin/monit restart all -g #{daemon_group}"

 if exists?(:roll)
   rolling_restart_message
   mongrel_count = app_servers.first.attrib?('mongrel_servers').to_i
   starting_port = app_servers.first.attrib?('mongrel_port_number').to_i
   mongrel_count.times do |i|
     sleep rolling_delay # Give daemons and the other mongrel 10 seconds to recover.
     sudo "/usr/bin/monit restart mongrel_#{starting_port + i}"
   end
 else
   sudo "/usr/bin/monit restart all -g #{mongrel_group}"
 end
end

There’s nothing fancy here – we loop through all of the mongrels, and restart them one by one using monit, waiting 10 seconds between restarts.

This type of deployment must be used carefully, since different mongrels will be running different code—any mongrel could service any request at any time. Generally, any time controller actions, validations, or state-encoding methods (e.g. session variables) are changed, rolling deploys can’t be used. But to fix an embarrassing misspelling during prime time with no downtime, it can’t be beat.