‚ÄčAbout Bitstream Foundry

Sean P McDonough  
The "Who"
Bitstream Foundry is a tiny little company working on some big ideas. It is only one person at this point: me, Sean McDonough, the guy shown on the left (or above, if you're on a tablet or smaller device). Many smaller companies want you to believe that they're bigger than they really are, presumably to land larger clients and bigger deals. Despite the nosism‚Äč throughout the site, I'm actually the opposite. When I'm consulting, I prefer to work with smaller companies and organizations; engagements with such companies have simply been more fun and personally rewarding for me.
The "Why"
I created Bitstream Foundry as a vehicle to focus my energy on four things I love: SharePoint, software creation, contributing to a technical community, and helping others in need. There are many points of overlap in that list, and it's rare for me to be siloed in just one area at a time. If you spend more time perusing this site and following the links to projects and other efforts I've shared, though, I suspect that you'll find the four areas I listed represented in abundance.
The "What"
I have nearly a decade of experience with SharePoint and better than twice that in COM and .NET-based Microsoft platform software development. I also invest significant time in the administration and infrastructure side of the technology equation, and I have years of experience building and troubleshooting both SharePoint environments and Microsoft networks.


Bitstream Foundry firmly believes in the value of "eating your own dog food" (or dogfooding) when it comes to products and services. This site is an amalgam of Office 365, client-side scripting, and other technologies commonly employed in many modern SharePoint solutions.
If you're curious about the inner-workings of this site or a capability that is showcased on a particular page within the site, have a look below. Like most non-trivial SharePoint solutions, this site wouldn't be possible without the help, wisdom, and shared projects of the larger (SharePoint) technical community. Where possible, I've attempted to outline how each page is put together, including the concepts and libraries that are at-work behind-the-scenes.
Eat your own dogfood!

This Site

Office 365
Bitstream Foundry runs on Microsoft's Office 365 platform; more specifically, it runs on an Office 365 E3 tenant. This site is built using the public site that is available to most Office 365 tenants. A fair amount of time and effort have been invested in branding and functionality, but the site you're browsing is entirely SharePoint 2013 under-the-hood.
Applying Responsive Design concepts is an important part of building a web site that looks good in a variety of browsers and on the multitude of web-capable devices that are available today. This site employs Kyle Schaeffer's SP Blueprint master page starter solution to deliver a responsive experience. Kyle's solution works particularly well for SharePoint 2013 public sites - especially those resident in Office 365.
Additional responsiveness is made possible through the use of some supplemental (CSS3) media queries. These media queries do things like alter the site's logo and hide images as screens get smaller - all in an attempt to improve the "mobile experience."
Although a variety of different script libraries and other downloadable files are needed to drive this site's functionality, an attempt has been made to remain "bandwidth conscious" where possible. Since the 2010 release, SharePoint has possessed the ability to retrieve scripts on-demand (SOD) as they are needed by a client browser. This site uses SharePoint's SOD capabilities in various places to retrieve scripts only as they are needed; this is done in an attempt to reduce both end-user waiting and bandwidth consumption.

Home Page

Bitstream Foundry Home Page
The focal point for the home/landing page is the slide rotator at the top of the page. Image rotation is made possible through the use of the ResponsiveSlides.js jQuery plugin. The plugin is very small (just a few kilobytes), but it does exactly what it's supposed to do: rotate images.
The text overlays on the image rotator are not supplied by the ResponsiveSlides plugin, but rather through some hand-crafted HTML and CSS. The fading effects for the captions are supplied by some simple jQuery.
The remainder of the page is simple content that is sized appropriately (in the case of the images) and positioned using the SP Blueprint grid system.

About Page

Bitstream Foundry About Page
The top half of this page is standard content and text layout. As with the other pages in this site, the SP Blueprint grid system ensures that everything appears where its supposed to appear on each page.
The collapsible section that you're currently viewing is supplied by jQuery UI's Accordion widget. The Accordion widget makes it very easy to display a collection of HTML header (H3) and DIV sections without cluttering-up the overall page. All it takes is the jQueryUI JavaScript library, some CSS, some images, and a little jQuery to engage the accordion.
It's also worth noting that the widgets and other functional pieces contained in the jQueryUI library are easily stylable/themeable. Using the jQueryUI ThemeRoller to create custom CSS and image sprites that are compliant with a site's existing branding and color scheme is a simple affair.

Contact Page

Bitstream Foundry Contact Page
The Contact page was the result of a little experimentation. The page obviously had to provide critical phone, email, and similar information ... but there was also a desire to "have a little technical fun."
The top half of the page is an HTML image map, and each "Post-It" in the image represents a different form or mode of communication. The coordinates for the image map were calculated and put together using a tool in Corel's PaintShop Pro X6. Free alternatives (such as the Image Mapper web site) also make it possible to accomplish the task of creating an image map.
The hover and selection effects (where the image regions change color and the associated contact lines fade-in/become darker) for the image map were accomplished using a jQuery plugin called ImageMapster. ImageMapster makes it easy to add animation effects, event generation, and other capabilities to otherwise plain HTML image maps.
The additional hover and selection effects for the contact text sections and links were accomplished using jQuery and selective CSS application in conjunction with ImageMapster's event model.