Web Design and SEO Blog

Sep201416

Managed Web Hosting: Club Vitals

by Joshua Reynolds in Announcements

Club Vitals
Club Vitals
Bozeman, Montana: JTech has begun providing hosting and web development services to Club Vitals. Club Vitals is a web-based service for health and fitness organizations to manage the maintenance of their equipment. Club Vitals tracks warranties, maintenance records, and facilitates seamless communication between fitness club members, staff, managers, owners and technicians.

JTech's Bozeman website development team provided code auditing for Club Vitals' front and back-end infrastructure, streamlining the website for improved page delivery and performance. Our web developers are making ongoing upgrades to the Club Vitals web app, and we are excited to be planning further enhancements for the future.
Sep20149

Conference Registration for NRTRC

by Joshua Reynolds in Announcements, Design, Development

The NRTRC Website uses responsive website design.
The NRTRC Website uses responsive website design.
Bozeman, Montana: JTech's Montana web development team has added conference registration functionality to the Northwest Regional Telehealth Resource Center (NRTRC)'s website. NRTRC hosts an annual conference to promote telehealth, share clinical and technical techniques, and build the telehealth community. The newly added custom registration system is built directly into their website.

As with the rest of the NRTRC custom website, the conference registration is deployed using responsive website design — meaning the layout adapts and the website performs quickly and effectively on phones and other mobile devices as well as desktop computers. The NRTRC annual conference registration includes multiple registration periods and tiers of registration, dynamic attendee additions, payment processing, and PDF invoice generation.

Since JTech designed and developed the NRTRC’s purpose-built custom website earlier in 2014, we’ve appreciated the thoughtful approach of the NRTRC staff towards their website planning and have collaborated with them on a number of incremental enhancements that improve the user experience. The NRTRC website fulfills their organization’s mission as a comprehensive Telehealth resource center.
Sep20148

Safely Using Async Javascript

by Patrick Milvich in Development

In the last article I wrote about asynchronous JavaScript in our web development process, I outlined advantages of loading external scripts in parallel rather than blocking the browser’s rendering of a website.

However: There are website performance problems that can arise if async is used carelessly. In a non-async scenario (where scripts are loaded sequentially), you can guarantee that functions will be available when you want to call them. If, instead, your scripts are loaded asynchronously, there’s no certainty that a given function will be available to run — which can produce errors.

Example:
<script src=“main.js” async></script>
<script>
callFuncInAsyncScript();
</script>
ReferenceError: Can't find variable: callFuncInAsyncScript

We use a simple approach to resolve this timing issue in the JavaScript component of our framework. First, we define an array inline to queue actions. When the asynchronous JavaScript (shown below) loads, it will then process any actions in the queue.

This works by utilizing the behavior of arrays. Instead of executing code directly, we wrap the code in a function that is then pushed on to the array. Then the async code iterates through all all the functions in the array and executes them. Once the queued up functions have executed, we replace the array with an object that contains a push function — which ensures that future pushes to what was once the array will instead execute the function immediately.

The example below sets up our array and pushes functions into the queue array:
<html>
<head>
<script>
var jt = [];
</script>
<script src=“main.js” async></script>
</head>
<body>

<script>
jt.push(function() { callFuncInAsyncScript(); });
</script>

</body>
</html>


Inside the async script (main.js shown above) at the end of the script, we run each of the queued functions in the array, then replace the array:
if(jt) {
jt.forEach(function(func) {
func();
});
}
jt = { push: function(func) { func(); } }

We’ve been happy with this programming approach to safely using asynchronous JavaScript, but I’m always looking for ways to improve our website development process. If you have suggestions to refine how we handle async JavaScript, I’d be very interested in your thoughts.
Sep20143

Enhancements for Leadership Montana

by Joshua Reynolds in Announcements, Design, Development

Leadership Montana Sponsor Levels
Leadership Montana Sponsor Levels
JTech's Montana website development team continues to collaborate with Leadership Montana to improve their website. This round of enhancements to their website focuses on Leadership Montana as a hub of networking — between classmates and alumni as well as reaching out into Montana's communities.

We've added an abundance of useful features to the members-only section of the Leadership website, such as the ability to email custom lists of Leadership members and import user-selected groups of contacts into your computer's address book. Other web design and usability updates include both presentation and function enhancements — breathtaking photos of Montana’s beauty, new tiers of sponsorship for Leadership Montana, a blended social media feed to provide updates from Leadership Montana, scheduling and registering for events that span multiple dates and locations, and an improved format for their newsletter, The Leading Edge.

JTech custom-built Leadership Montana's website and is proud to be a sponsor of Leadership Montana as they sow the seeds of leadership and trusteeship throughout Montana.
Aug201429

Spam-Blocking Improvements

by Joshua Reynolds in Announcements

Spam
Spam
We’re in the midst of a constantly escalating war for your inbox. We all want to receive emails from our friends, loved ones, business associates — and a very limited cast of other individuals and organizations. Unfortunately, these desired emails are a very small part of the communications torrent directed at us. The vast majority of emails — hundreds of thousands automatically blocked by JTech’s servers every day — are spam.

We’ve been seeing more sneaky spam messages get through, and have correspondingly been working to improve our detection and filtering to protect your inbox. We hope that you’ll immediately see a reduction in the number of spam messages that make it to your inbox, but we’re continuing to tinker with the methodology we use to sort spam from legitimate messages. Although there are some very stringent measures we’ve considered to authenticate who sent a message, these have the unfortunate side effect of blocking many legitimate messages from people with poorly-configured email servers. There’s a fine line in blocking spam but ensuring that all desired messages are still reaching their recipients.

To reduce the amount of spam that you personally receive, we offer the following guide:
  • Don’t publish your email address on any website.

  • Be wary of opening messages from organizations you don’t know or trust.

  • Exercise caution when registering for new websites, particularly those giving something away — they may sell your email address to spammers later on.

  • Never click on links or respond to emails from organizations you don’t trust.

  • If you subscribed to a newsletter but are tired of it, the Unsubscribe link at the bottom will keep any considerate organization from sending you further mail.

As we continue tweaking our business class email spam efforts, we appreciate your feedback if you notice that your inbox is looking dramatically better — or if a new source of spam seems to be getting through.

New Account Manager

Karen Addiego, Account Manager
Karen Addiego, Account Manager
Karen Addiego
We’re thrilled to announce the newest member of JTech’s Bozeman custom web development team: Karen Addiego, our new Account Manager. By now, many of you have had the opportunity to work with Karen already — she joined our team to help us collaborate more closely with all our clients, utilizing her extensive background to bridge the gap between clients and creative web design and technical programming teams.

By now Karen has been with us for nearly a month and we couldn’t be happier to have her as our dedicated Account Manager. Welcome to the team, Karen!
Aug201428

Ongoing Phone Issues

by Joshua Reynolds in Announcements

You may have been having trouble reaching our Bozeman, Montana website development team’s office by telephone. On a daily basis, Charter Communications’ network has been having trouble and they have been unable to fix the issue.

We have ordered service through a new provider, though it may take a few weeks before the installation is complete. In the meanwhile we invite you to email us or to fill out the form on our contact page if you can't get ahold of us by phone and we'll get back to you as soon as we can. We're sorry for the inconvenience.
Aug201425

Spam-Blocking Upgraded

by Joshua Reynolds in Announcements

We have good news for those of you who have your email managed by JTech. We've improved our spam detection, refining the algorithms we use to protect your inbox from being flooded by a barrage of useless emails. For many of you, this means that you will immediately see a reduction in spam. We're still looking at other causes of spam and considering additional measures to address them.

Blocking spam is less straightforward than it may seem: every day, our email servers block hundreds of thousands of spam messages that never make it as far as your inbox — an invisible vast majority of messages being received by our mail servers. These are the obvious spam messages — from people and organizations you've never met, often trying to harvest your personal information or incite you to purchase off-brand pharmaceuticals.

There are other categories of junk mail that we can't categorically filter: emails from friends or business contacts who've had their email address hijacked, or newsletters that you signed up for but have long-since tired of reading. We can't hit the unsubscribe button for newsletters you're weary of, but we'll keep working to ensure that only legitimate messages make it to your inbox.
Aug201412

Landing Page: Bozeman Chrysler

by Joshua Reynolds in Announcements, SEO

Bozeman Chrysler Dealership
Bozeman Chrysler Dealership
A highlight among the pages in the landing page system we custom-developed for Yellowstone Country Motors is Bozeman Chrysler. This new microsite concisely addresses a very specific market niche — Bozeman, Montana-area residents looking for a Chrysler dealership from which to buy their new car.

JTech’s Bozeman internet marketing and web design team worked with Yellowstone Country Motors to develop content that perfectly captures what makes their dealership unique: an enthusiastic, passionate staff who make buying your new Chrysler fun, factory-cost pricing and a great inventory.
Aug20145

New Account Manager: Karen Addiego

by Joshua Reynolds in Announcements

Karen Addiego
Karen Addiego
Please join us in welcoming Karen Addiego, the latest member of JTech's Montana web development team. Karen is our new Account Manager and will allow us to collaborate more closely with our clients, understanding your custom website needs and helping you be successful doing business online. Karen comes from a background of client-creative relationships and will join our Operations Manager Tyler Miller in tracking web projects and making sure everything gets done on time and without a hitch.

We're excited to have Karen's energy and experience on JTech's team. With Karen as a dedicated Account Manager, we're confident that we can bring improvements to every stage of internet digital strategy — from the beginning of website planning through to ongoing promotion, maintenance and growth. Welcome, Karen!
Aug20144

Phone Trouble

by Joshua Reynolds in Announcements

Our telephone service provider is having trouble off and on. If you are unable to reach us by phone, please fill out the form on our contact page and we'll contact you as soon as possible. We apologize for the inconvenience!