Archive for the ‘Technology’ Category

How Digital Content Consumption is Shaping Tech Innovation

Tuesday, December 28th, 2010 by Nevin McElwrath

Our Digital Crossroads

Over the past few years, we’ve seen a shift from what we know as your typical computer. A few years ago (heck all the way back to the Apple II), computers, more or less, took the same form; A monitor, CPU, with a mouse and keyboard. Recently, with the onslaught of touch screen smartphones, we’ve seen a convergence of computers and mobile phones. This blurs the all-to-familiar lines, effectively creating a separate market for each. How we are consuming content is changing just as much.

The Digital Content Road We’ve Travelled

It started when the web became (semi)mainstream back in the late 90’s. A new form of ever-changing content was available and quickly caught on. People were consuming content in a whole different way. But it was the Wild West, there were very little standards to utilize. Everyone was now a legitimate content creator on the world wide web. But the only way for people to consume this new content was either sitting in front of a desktop or with a wired connection to a laptop. It wasn’t a solution that was convenient or on their terms.

Then came the introduction of wireless routers. This was just a taste of freedom, a “taste maker” if you will. It offered people the ability to consume content more on their terms, but not completely. Enough to make them hungry for more.

The latest hurdle comes in the form of legislation threatening Net Neutrality, letting companies price and tier the internet depending on your location and sites you visit. While the bill is worded carefully to seemingly close a lot of holes, it opens plenty more loopholes for companies to take advantage of. A few responses to the bill: Steve Wozniak’s Response to the FCC. Al Franken’s declaration to not support new FCC bill.

Importance of an Open and Mobile Internet

Being connected abroad is much more important today than it used to be. What you can do with that connection is changing every day. New markets are emerging and new content and services are taking different forms to accommodate. Innovation is taking over with the freedom to create in a wider space.

Where Are We Headed?

We are beginning to see the niche split already. Down the road, smart phones, tablets and desktop computers will separate their niches even more, to what degree is debatable. Clearly defined niches will appear: one more for content creation, the other for content consumption.

Current Trends – Intimacy

Apple iPadCurrent trends can be telling as well. We are seeing much more intimate ways of interacting with content. We can now touch our content and have it recognize us when we step in front of our television. Some great touch interfaces come in the form of Apple iPhones & iPads, Motorola Droid X, HTC Evo, etc. This year Microsoft responded to the Wii’s success with Kinect, a camera accessory for it’s Xbox that tracks your movements and allows for interactions based on body movement.

During the D8 conference this past summer, Steve Jobs defined PCs as trucks, relating the PC industry to the Auto industry. “All cars were trucks because that’s what you needed on the farm,” he said. Now trucks are one in 25 to 30 vehicles sold, he said. “PCs are going to be like trucks. They will still be around.” He added, “This transformation is going to make some people uneasy.”

Proof of Influence

How we consume our content and it’s influence can be seen in recent events. Emerging markets, market shifts, and disappearing markets are proof that change is happening. An example of an emerging market can be seen in Apple’s iPad. The increase in ebook and e-reader sales now encompasses 15% of total book sales can be viewed as shifting markets. The slowly dying netbooks industry shows the overlapping devices tend to fall in the canyon first as the markets separate.

Midst of Change

There’s no doubt that we’re in a period of change in how we consume our content. Factors in the tech industry that influence change can be ever changing. One thing is for sure, consumers have the end say with their wallets. As dedicated content creators in this space, Force 5 will be watching closely.

Prevent Duplicate Content

Thursday, December 9th, 2010 by Force 5

Having duplicated content within search engines is a very common problem that is often overlooked. You would think having duplicated content will be good for your search rankings, although that is not the case as it may be not useful to the end-user.

www-vs-non-www (Problem)

Search engines recognize your www.your-domain.com and your-domain.com as two separate websites. You may not be penalized by having multiple results although you can improve the efficiency for end-users combing through the search results. In addition, if you have a single convention of your domain usage people linking to your site can improve your link backs.

www-vs-non-www (Solution)

Since search engines track these as separate sites you need to pick either your www domain or the non-www domain. You still want both versions active although what you want to do is to create a 301 Permanent Redirect to your desired domain. For example, http://discoverforce5.com will redirect your browser to http://www.discoverforce5.com. By performing a 301 Permanent Redirect you are telling search engines not to store/index the redirected content for that page/location.

One thing to not forget is that you make sure you allow your website URL paths to be included during the 301 Permanent Redirect process. For example, http://discoverforce5.com/Media-Hub/ will send the end-user to http://www.discoverforce5.com/Media-Hub/. As you see it makes sure to send the end-user to their original desired page.

ASP.NET Code Example:

In this example we want to use the www domain as the main convention and redirect the non-www domain. The code below you see we grab the current domain and the URL path the request was made. We then check to see if the domain includes the www, if not, we perform the 301 Permanent Redirect.

// get server name/domain
string sDomain = Request.Url.Host.ToString().ToLower(); // i.e. discoverforce5.com 
// get url path
string sPath = Request.RawUrl.ToString();
// check if www is in the server name
if (!sDomain.Contains("www."))
{
    // server name does not contain www - proceed with 301 Permanent Redirect
    Response.RedirectPermanent("http://www." + sDomain + sPath);
}

Apache Server Example:

With Apache servers this process is easier with utilizing the .htaccess functionality. Below you will see the Apache server equivalent to the ASP.NET example above.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^discoverforce5\.com$ [NC]
RewriteRule ^(.*)$ http://www.discoverforce5.com/$1 [R=301]

Inconsistent Linking

Try to keep internal and external page links to your content consistent. For example, don’t link to http://www.discoverforce5.com/Services/ and http://www.discoverforce5.com/Services and http://www.discoverforce5.com/Services/Default.aspx as all three examples are different.

If you are interested in learning about how to submit your site to search engines feel free to read “The little things to not forget about during development [Part: 2]“.

Have any SEO needs or questions? Please give Force 5 a call.

Pin sites to your taskbar

Monday, October 18th, 2010 by Force 5


With the recent release of Microsoft Internet Explorer 9 beta you are now able to see the work that has gone into a browser that has not seen much forward development in meeting web standards or rendering speeds compared to its rivals (Opera, Firefox, & Google Chrome). Microsoft has even launched BeautyOfTheWeb.com website showcasing the new features and abilities.

One of the new features that I believe will be really useful for some users is pinning the website to the Windows taskbar. By pinning the website to the taskbar the end-user will have the ability to go to a site quickly without having to open up the web browser and finding the link in favorites/bookmarks area. One of the better examples where this feature can excel at is from USA Today. By pinning this site you are able to get quick links to all the different news sections (news, money, sports, life, & tech).

What do I need to do to add it?

The only basic prerequisite is that your website should have a favicon. That way aesthetically your pinned site will be branded appropriately. Code wise you will need to add at minimum two <meta> elements inside of the <head> section of your web page.

First, add your application-name. For example, we’ll enter “Force 5” into the content attribute.

  • <meta name="application-name" content="Force 5"/>

Second, add an msapplication-task. The content attribute is broken up into a couple sections. The name parameter is the label you want to appear; in this case we will enter “Discover Force 5“. The action-uri parameter is where we want to send the end-user; in this case we will enter “http://www.discoverforce5.com/”. The next step is optional; you can enter your favicon to the icon-uri parameter. Lastly, just repeat these steps to add more “tasks”.

  • <meta name="msapplication-task" content="name=Discover Force 5;
                    action-uri=http://www.discoverforce5.com/;
                    icon-uri=http://www.discoverforce5.com/favicon.ico"/>

Example with multiple tasks:

    <meta name="application-name" content="Force 5"/>
    <meta name="msapplication-task" content="name=Discover Force 5;
                action-uri=http://www.discoverforce5.com/;
                icon-uri=http://www.discoverforce5.com/favicon.ico"/>
    <meta name="msapplication-task" content="name=Media Hub;
                action-uri=http://www.discoverforce5.com/Media-Hub/;
                icon-uri=http://www.discoverforce5.com/favicon.ico"/>
    <meta name="msapplication-task" content="name=Employee Blogs;
                action-uri=http://www.force5blog.com/;
                icon-uri=http://www.force5blog.com/favicon.ico"/>

Next: pin your site

After saving your changes, go to your web page with the new code above.

  1. Grab your favicon by dragging it to the taskbar.
  2. Pin favicon to your taskbar.
  3. Site is successfully pinned!
  4. Click on your new pinned task icon and go some where.

Even though IE9 is still in beta it is good to see Microsoft bringing new features to the table. If you feel like trying out IE9 today, click here.

The Value of QR Codes

Wednesday, October 13th, 2010 by Nevin McElwrath

QR CodeYou’ve probably seen them. Tucked in the lower corner of a magazine ad, on the back of a business card, on a bus sign or even on the entire side of a building. It’s an increasing trend in advertising that some say is a fad, and some say the next great new way to promote.

What are QR Codes? QR Codes, simply put, are 2 dimensional, scannable barcodes that can either be used to dial a phone number, visit a web site, display text or send a SMS. The data is stored directly within the code, so it will not expire.

QR Codes are not effective just anywhere. The effectiveness can be optimized by using the QR Code in the way it was intended. In this case, it’s important to understand how the QR code works. The code is optically scanned by a camera and through the use of software, directs you to the intended destination – whether be a website, plain text or a phone number. Smart phones are the ideal tool for using QR Codes due to their ability to utilize a camera and process the data relatively quickly. FYI: The “QR” in QR Code stands for “Quick Response”.

The real value in QR Codes come in their usage. You would not use a QR Code in an email signature or a tweet. Unless your email or twitter client happens to double as a QR Reader, this would not be ideal usage. QR Codes shine when they are used out in the physical world.

QR Code T-shirtSome QR Code ideas:

  • Tshirt or Conference Badge
  • Back of business card
  • Brochures, magazine ads and other print media
  • Back of company car window
  • Link to a demo video of a product out in the field. ie, How to change your lawnmowers spark plug with a code in the owners manual.
  • Coupon codes that can be redeemable or returned to the merchant
  • Or, better yet, a QR tattoo

For those who would like to experiment, generate your custom QR Code here.

Another 2D Code variation:
Microsoft Tag
Microsoft’s version of a 2D barcode that enables great analytics and the ability to alter the tag contents after creation. The difference here is that the tag value is stored on Microsoft servers rather than in the tag directly like QR Codes.

Depending on your mobile OS, here is a list of QR Readers for a variety of mobile platforms.

In combination with a great marketing campaign, QR Codes can help achieve the engagement necessary for success. If you’d like to assemble award winning marketing and branding campaigns, let us know!

How fast is Internet Explorer 9 compared to Firefox, Chrome, and Opera

Monday, September 20th, 2010 by Christian Mattix

There has been a lot of activity in the browser market over the past few months. The most recent step forward is Microsoft’s release of Internet Explorer (IE) 9. Microsoft is touting improvements with IEs handling of web standards, graphics, and JavaScript. JavaScript has become the de-facto standard for web designers of dynamic and highly interactive websites. Since so many websites use JavaScript, it is very important for browsers to be able to process it very quickly. In this entry I’m going to compare the JavaScript performance of Microsoft IE8, Microsoft IE9, Mozilla Firefox (v3.6), Google Chrome, and Opera using the SunSpider JavaScript Benchmark available at: http://www2.webkit.org/perf/sunspider-0.9/sunspider.html.

In order to provide the most equal environment for the tests, I ran the benchmarks on the same machine (Windows 7 Ultimate running within a VMWare virtual machine), with no other applications running, right after a fresh reboot. I then directly navigated to the benchmark site. For the purposes of this examination, I’ll only discuss the total results of the benchmark, however, the site gives very fine grain details of the results of the test.

Here are the results of the examination:

Browswer:                     Time To Execute:
===================           =============================
IE 8 (v8.0.7600.16385)        4089.6ms +/-  2.4%
Firefox (v3.6.10)             1186.8ms +/-  7.8%
Opera (v10.62 b3500)          525.4ms +/- 21.9%
Chrome (v6.0.472.62)          370.4ms +/-  4.8%
IE 9 (v9.0.7930.16406)        647.6ms +/-  9.5%

From these results, we can see that Microsoft has greatly improved the performance of its JavaScript engine (they have cut the benchmark time in half). Though not as fast as Opera or Chrome, which are both highly optimized for JavaScript performance, IE9 has made significant inroads. The release of IE9 has raised the bar for the Mozilla community to continue to improve Firefox. Considering IE9 is still in a beta state, one can only imagine that the performance will only improve.

How did Microsoft improve its JavaScript Engine? According to Microsoft, they were able to make the improvements by using the following techniques:

JavaScript Background Compilation: Many script engines today start with an optimized interpreter, and compile individual sections or methods into machine code to run faster. Others always compile JavaScript into machine code before running it, often compiling each method as it is needed. Both these approaches have to trade off quality or quantity of compiled code against execution speed. Generating high-quality code for today’s applications requires time to optimize the compiled code.

IE9 includes a fast interpreter for running pages quickly on startup. For compilation, we have a background code generator that compiles script code, and we push compiled methods back into the application. Because the code generator runs in the background, it can take advantage of today’s advanced multi-core machines and generate higher-quality code, while not blocking initial execution of the application.

Type Optimizations: One of the most important aspects of enabling performance on JavaScript is to create an efficient type system. The IE9 script engine uses many of the techniques common in modern dynamic language implementations, including type representation, polymorphic inline caching (also called type evolution or hidden classes), and efficient implementation of machine types.

Fast Interpreter: For pages where immediate execution in the interpreter is important, IE9 includes a new interpreter which uses a register-based layout, efficient opcode, and use of type optimizations.

Library Optimizations: The performance of JavaScript pages and applications depends heavily on key aspects of the script runtime library: strings, arrays, objects, and regular expressions. We are investing in these areas for IE9. These libraries require careful tuning for the real Web – one example is the execution of regular expressions. Most script engines today use compilation and optimization techniques to run regular expressions faster, and IE9 includes an improved regular expression implementation. In analyzing real world Web sites, we find a set of patterns used frequently, but we also find unique cases – for example, a site that creates hundreds of regular expressions and uses very few of them – we will continue to use this data to tune our regular expression implementation and other library features for IE9.

Considering IE9′s support for modern standards such as HTML5 and CSS3, and GPU support for graphics Microsoft has made a great step forward in the “Browser wars.”

To learn how to take best advantage of the use of modern technology combined with inspired ideas to bring your business to the next level, contact us at Force 5. We’d be happy to help!

 

Hide IIS7 Response Headers

Thursday, September 16th, 2010 by Force 5

What are Response Headers?

Response headers is data that gets sent from the server to the browser. The data can include date & time, content type (ex: text/html, text/javascript), and server information (ex: Microsoft-IIS/7.0).

Why is it important to hide them?

Security. At the most basic level it will not broadcast what operating system the web server is and which version it is whether it is a Microsoft IIS web server or an Apache PHP web server.

Here is an example of what information is passed back to the browser:

Notes: This was complete on a Windows 2008 web server with IIS 7. One prerequisite we noticed is that you may need to install the IIS 6 Metabase Compatibility tool.

Steps to hide Response Headers in IIS:

  1. Download & Install UrlScan
  2. Configure UrlScan.ini settings
    • Open UrlScan.ini with Notepad (run as administrator).
      • C:\%OS-Directory%\System32\inetsrv\urlscan\UrlScan.ini
    • Change RemoveServerHeader value
      • RemoveServerHeader=1
  3. Editing Machine.Config settings file
    • This next edit you will need to make on each ASP.NET Framework version that you currently run. For example, Force 5 has applications that run ASP.NET version 2.0 & 4.0.
    • You will need to add this configuration setting to each Machine.Config file inside the <system.web> section.
      <system.web>
           <httpRuntime enableVersionHeader="false" />
            .....
      </system.web>

    • An important note, if you do not access to the Machine.Config files you can make this same change to your Web.Config file inside your individual website. The only difference is that you will need to include this setting in each website. Whereas the Machine.Config file will make this change global across the web server.
    • You can find your .NET Framework versions and Machine.Config files in either of these two directories:
      • C:\%OS-Directory%\Microsoft.NET\Framework
      • C:\%OS-Directory%\Microsoft.NET\Framework64
  4. Editing php.ini configuration settings (skip this step if you do not have PHP installed)
    1. Locate and open up your php.ini file
    2. Scroll down until you locate “expose_php
    3. Set expose_php = Off
  5. Restart IIS.
    • After restarting IIS and reviewing the changes you will notice all of the Server Response Headers no longer show.

Just a quick recap of what we just did:

  • Steps 1 & 2, only removes the “Server: Microsoft- IIS/{version}“  response header.
  • Steps 3 & 4, removes the actual ASP.NET & PHP version response header (example: X-AspNet-Version: 2.0.50727) from being displayed.

If you have any questions please feel free to leave a comment below or to contact us.

How-to: 301 Permanent Redirect with ASP.NET 4 – Response.RedirectPermanent()

Friday, July 9th, 2010 by Force 5

During the process of migrating development over to the .NET 4 Framework there have been noticeable improvements.

One of the newest improvements is used quite often, Response.RedirectPermanent(). This new feature does a permanent redirection from a requested URL to a specified URL.

For a quick flashback to how this was previously completed review the code below:

/*
 * Previous 301 Permanent Redirect
 * */
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "NewPage.aspx");

How you implement the new 301 Permanent Redirect is simply Response.RedirectPermanent(“URL-path-goes-here”). Here is an example with the new way with fewer lines of code.

/*
 * .NET 4 301 Permanent Redirect
 * */
Response.RedirectPermanent("NewPage.aspx");

By implementing 301 redirects it is a good practice to inform search engines that content has moved to a new location. Here are examples where Force 5 is involved with 301 redirects:

  • a web page that have moved
  • a web page that has been removed
  • web page content that has been consolidated with another web page
  • non-www permanent redirect to the www (or vice versa)

How-to: Adding META Keywords & META Description with ASP.NET 4

Tuesday, July 6th, 2010 by Force 5

In a previous post I showed how-to add specific page keywords & descriptions while using ASP.NET with Master Pages. Compared with the latest ASP.NET 4 version, this technique was not coder friendly.

In ASP.NET 4 adding page keywords and descriptions is as easy as this shown below.

    protected void Page_Load(object sender, EventArgs e)
    {
        // page keywords
        Page.MetaKeywords = "keywords go here...";
        // page description
        Page.MetaDescription = "description go here...";
    }

Overall, page keywords & descriptions are still important for SEO success along with page titles and page content. If you need any help with your website search rankings please feel free to contact Force 5 for some guidance.

State of HTML 5

Wednesday, June 9th, 2010 by Nevin McElwrath

If you are a web developer or familiar with web technologies, there’s no doubt you’ve heard about HTML 5 and the “next level” of web design and functionality. It’s morphed into a buzz term that has been thrown around a lot lately. Between Apple’s spat with Adobe over Flash and the latest browsers touting HTML 5 compatibility, there’s still a lot to know about the always evolving markup language of the world wide web.

First off, what is HTML 5? Simply put, it’s the next version of HTML (HyperText Markup Language) that “aims to reduce the need for proprietary plug-in-based rich internet application technologies such as Adobe Flash and Microsoft Silverlight”. [credit: Wikipedia] Another standard that is in the draft stage is CSS3, or version 3 of the Cascading Style Sheets spec, meant to eliminate styling woes of version 2 and “offer a more robust layout feature set”. [credit: Wikipedia] I agree to the argument that the CSS spec is more meant for styling rather than layout, but that’s another lengthy blog entry. :)

What does this mean for web developers? When implementing HTML5 paired with CSS3, it means more options to achieve the look or functionality you are after – with the use of web standards, and not of proprietary plugins such as Flash or Silverlight.

The new specs also eliminate the need for CSS and Javascript hacks to achieve, for example, rounded corners, drag and drop, animations, gradients without images, embeddable fonts, support for SVG (scalable vector graphics), a standard video playback method, and others. Of course this all depends on your browser of choice. As of this blog entry, only Chrome, Safari, Opera and Firefox support the current working draft of HTML 5 and CSS3.

What does this mean for the end user? For one thing, it means more engaging design and functionality on many sites. While this is, to an extent, entirely subjectable, it opens the door even wider for a diverse variety of sites to differentiate themselves from the rest. This to me, is very exciting. Creativity will play an even bigger role in site production.

HTML 5 people in-the-know:

To check your browser for HTML 5 compliance, try the HTML 5 test.

As always, Force 5 is on the bleeding edge of HTML 5 and what it offers to the web.

Is Your Website Customer-Centric?

Friday, May 21st, 2010 by Force 5

In case you haven’t noticed the web is changing. There is a huge movement underway toward clean, simple, user friendly websites that promote productivity and, consumer interaction. The average consumer doesn’t care how creative a design team you have or, how technically advanced your development team is. They want information. Honest, peer driven information.

Whether a potential customer is at your site to buy a product, comment on your organization, read reviews, download a podcast or, read your latest blog entry, it’s your job to keep them interested and coming back. This is what customer-centric website design is all about.

So what is a customer-centric website?

Simple.  A customer-centric website focuses on your customers and what they want. Today’s online consumer is not interested in your company, products or services – they are interested in themselves. A customer-centric websites is structured so the customer can easily find what they want or get answers to their questions. By focusing your website on customer benefits and, ensuring a unique user experience, you will not only increase loyalty you’ll generate the much coveted word-of-mouth advertising; both key drivers of online sales.

There are a few basic steps you can take to get started on the road to a customer-centric website
• Clearly define your product or service and how customers will benefit from it
• Make sure your contact information is never more than a click away
• Clearly organized and easily navigable site content
• Place links in consistent locations and include them on every page
• Review your content for spelling and grammar mistakes
• Allow customer feedback on products, services and the site
• Make it easy for customers to get what they want
• Ask customers for a bare minimum of information to register or sign up
• Include in-depth, well written FAQ’s
• Make it easy for a customer to get support

A successful customer-centric website is created by meeting customers’ needs better than anyone else. If you focus every aspect of your website on meeting your customers’ needs you’re much more likely to remain a preferred provider. Remember, your customer is your best source of advertising. Give them what they want and they will tell the world.

Don’t get left behind.  Take the next step toward a true customer-centric website. Contact Force 5 today at 574-234-2060 or info@discoverforce5.com.