Every so often, Marketing strong-arms me into delivering a blog post. Considering that it has been some time since my last one, I wanted to make sure to cover a topic that would be of interest to company intranet IT admins and provide some value for them to serve their end-users better.
Web Apps & Your Intranet
Simply put, intranets are web applications frequently housed within an internal network. In today’s world, end users have exposure in every facet of their lives with web apps (many of them cloud-based) for just about everything from social networking (e.g. Facebook, Twitter, LinkedIn) to productivity (e.g. Google, Gmail, Google Docs, Drive) to financial management (e.g. Online Banking, Mint). As a result, users have experienced different site designs, user interfaces, application behavior, and the client/server relationship very intimately. Subconsciously, users have learned what’s possible and expect their intranet to have a simple, intuitive user interface (UI) that follows best practices, but more importantly, that performs to expectations.
I recently found a great article that discusses web app performance and how the time to deliver a page affects us neurologically, drastically playing into our ability to concentrate and perform our jobs effectively. At Intranet Connections, we maniacally focus on intuitive UI and aim for reasonable page response times. There are a few key areas that can affect performance, some of which are within our control, but many of which are impacted by the client and server hardware/software and their ability to communicate, including:
- Client – Browser (JS Engine, HTML Renderer, HTML5/CSS3 support)
- Server – Hardware (CPU, RAM, Disk), Services (Application, Database)
- Network – Reliability, Latency
Networking is certainly outside of my wheelhouse, so I will focus on clients, servers, and ways you can optimize the product itself. I would suggest working with your network admin if you are experiencing latency issues or downtime.
Outdated Clients Impact Intranet Performance
An issue that we struggle with and as such some of our clients (you) struggle with frequently, is support for older browsers. I’m so grateful IE6 is long gone (*Happy Dance*)! But even today, we find ourselves supporting IE8, a browser developed from 2007 to 2009, one for which Microsoft has even announced it will drop support. Some customers have legacy applications that only work in older browser versions, or there are policies in place that prevent upgrading. As we offload more processing to the client to deliver rich user experiences, the browser version and JS engine speed has a big influence on performance perception. The following graphic illustrates how slow IE8 is (measured in 2010). One quick way to make a significant impact to your company intranet performance is to update your client browsers and make use of features like compatibility mode for internal legacy applications.
Server or Antique?
Many of our customers have deployed Intranet Connections in virtual environments, which makes it easier to provision more resources for your server. If you’re not running on a 64-bit server, at least on Windows Server 2008 and IIS 7, upgrading will give you a major boost in performance. Ensure that you have adequate RAM to service the processes running on your server, and to be able to handle times of heightened activity. With our upcoming Super Search release, the server requirements for Intranet Connections will increase to leverage the powerful and cutting-edge Elastic Search.
There are other factors that could help. Do you have SQL running on the same machine? Do you have other applications, software, or role services on the intranet server? Provisioning a dedicated server just for your intranet is wise, as sharing resources on the server for other applications, services and software will most definitely slow it down and cause complications.
Beyond hardware and web server versions, there are a number of things you can look at tuning in IIS, CF/Railo, and SQL Server:
- IIS – Ensure GZip compressions are active
- CF/Railo – Use suppression of white space. Enable GZip compression. Turn off template inspection so that cached code is always used (Note: you’ll need to clear the trusted cache anytime you apply a hotfix, patch or upgrade). Disable CFC type checking (CF – check to disable, Railo – uncheck this option to disable).
- SQL – Update statistics, shrink database and rebuild indexes. You can easily find database maintenance plans and instructions online dealing with strategies for optimizing your database. Are you running SQL Express 2005? Updating to 2014 would certainly give you some gains. Also, note if you use our powerful and extensive Form Builder and have complex forms with daily transactions and responses entered, SQL Express has limitations on database size and you should move on to full SQL.
Clean & Maintain Your Intranet
Certainly, the code, architecture, and framework of Intranet Connections are where we have the most influence in helping to improve the performance of your intranet with coding patterns, effective data caching, minimal trips to the database layer, optimized queries, lean responses, and so on. With Super Search, we’ve introduced ColdBox, a modern MVC framework for our Railo development, which packs many powerful features such as MVC architecture and dependency injection, allowing us to write more loosely coupled code, improving testability, reusability, and overall intranet performance.
In addition, you’ll find features and best practices within Intranet Connections to help keep your corporate intranet fresh and performing optimally:
- Archiving / Cleanup – can be enabled within many applications and online forms to keep the content on your intranet relevant.
- Pagination – turn this on within application search results or form responses to more quickly access the data you want and prevent large search requests.
- Expired Widgets – check your intranet home page for bloating of too many content feeds and delete ones that are no longer needed or used.
- Navigation – use Site Statistics to identify high traffic areas and focus on these instead of embedding everything imaginable in the menu. This has become very simple with Mega Menus.
- Active Directory Synchronization (AD Sync) – Setup your sync interval to a reasonable level and target only the AD objects you need, not your entire AD.
- Purge Large Database (DB) Tables – Site Stats, Site Alerts, and Form Responses currently don’t have built-in cleanup mechanisms and can become large in very mature installations, but can easily be trimmed with some simple SQL scripts.
Helpful Intranet Performance Tools
In the end, here are some great tools you can use to identify the source of your company’s intranet performance issues:
- Debugging Output (for slow requests or queries)
- Logs (IIS, Railo/CF to explore exceptions or timeouts)
- SQL Profiler or Express Profiler (for slow queries)
- Process Explorer (for CPU/memory issues)
Intranet solutions have evolved from static pages and simple communication tools to in-depth enterprise utilities, complex workflows, and powerful applications. I hope this post has given some insight into the ways in which you can tune your company intranet to run more efficiently and improve the employee experience.
Also, do not forget to take our complimentary internal communications assessment to see how your efforts stack up. If you require additional assistance on your internal communications, please book yourself a FREE DEMO with us today. We’ll be more than happy to help!