Our team is flexible and has experience in a wide range of tools and technologies.

Education

All members of our team hold undergraduate degrees in field-relevant areas, most have taken post-graduate classes, some have completed masters degrees in relevant fields, and there is definitely a "theme" when it comes to coursework: Computer Science, Math, Fine Art, and Mechanical Engineering. In short, our training (and academic record) underpins our choice of occupation.

Project Experience

Our engineers end up doing a wide variety of things on diverse platforms. However, we tend to specialize in the development of engineering applications. This means we are well-versed in working with (and becoming) subject matter experts in complex and focused problem domains. The backgrounds we have honed in these scenarios make it easier and quicker to pick up new technologies and new problem domains.

Team Experience

We come from a background of team sports and feel it is an integral part of our edge. We understand that the only way to scale technical abilities is to have effective team skills. We seek out and master collaborative technologies and techniques. We play well with others.

Technical Competencies

As a team, we have encountered a wide range of technologies. The following items are ones that we have strong experience in:

Operating Systems

  • Windows (9x, XP, Vista, 7, etc.)
  • Mac OS

Development Environments

  • Visual Studio
  • Xcode
  • Eclipse
  • Command line + Text Editor
  • MSBuild/MAK/NAnt build systems

Programming Languages

  • Native: C/C++/VC++/ObjC/Visual Basic (many versions)
  • Interpreted: C#/VB.NET/VC++.NET/Java
  • Server Side: ASP(.NET), PERL, Python, PHP

Engineering Practices/Disciplines

  • Design: Object Oriented Design, Interface-based decoupling, MVC/MVVM, API Design, Test Driven Design
  • Testing: Inversion of Control Containers (Unity, etc.), Frameworks (xUnit,NUnit, MSTest)
  • Internationalization/Localization: Character encodings, string resources, Date/Time/TimeZone/UTC
  • Porting: Migrating code intention between various different languages

Software Development Tools

  • Source Control: TFS, Mercurial (Hg), Git, SVN, VSS, CVS
  • Bug Tracking: TFS, ClearQuest, Mantis, Trac
  • Continuous Integration: TFS, CruiseControl.Net

Mobile Development

  • iOS
    • Targeting: The Apple App Store
    • Devices: iPhone, iPad, iPod Touch
    • Screens: Traditional, Retina, Mini, "Giraffe"
  • Android
    • Targeting: Google Play, Amazon appstore, BlackBerry App World
    • Features: Activities, Services, Intents, Layouts, i18n, Styles/Theming, SQLite

Graphic Design

  • Adobe Photoshop
  • Inkscape (SVG/Vector Graphics)

Web Design

  • Lovingly Hand-coded HTML/CSS/JS
  • Content Management Systems (and their skinning)

Graphic/Web/UI Design

  • Adobe Photoshop
  • Inkscape (SVG/Vector Graphics)
  • Hand-coded HTML/CSS/JS
  • Content Management Systems (and their skinning)

Tools and Technologies

  • GUI/Windowing: WPF+XAML, Windows Forms, MFC, Win32 API, Java Swing
  • .NET Technologies: Lamda Expressions, Linq (to SQL/XML/Objects/EF), ADO.NET, Entity Framework, WCF
  • Client Side Internet: (X)HTML(5.0), JavaScript (+JSLint), jQuery, CSS, AJAX
  • Server Side Internet: ASP.NET(+MVC [ASCX/Razor]]), Web Services, .NET Remoting, Cloud Hosts (Amazon Web Services, Azure), RESTful APIs, Google App Engine
  • Component/Integration: COM, ActiveX, .NET Assemblies, P/Invoke, SWIG
  • Graphics: OpenGL, DirectX, WinGDI, GDI+

Data/Storage

  • SQL: T-SQL, MySQL
  • XML: Schema/DTD, XSLT, XQuery, XPath
  • Other: JSON, BSON, CSV, INI

Emerging Competencies

We don't take competence lightly, so this is a list of skills that we have been developing as part of hobby projects or personal investigations. They are emerging because we have experience in them, but haven't spent years building projects with these tools. (yet!)

  • node.js
    • Server-side hosting
    • Client side build process (minification, linting, obfustication, templating)
  • Linux
    • Hosting: Apache, etc.
    • Mono (.NET on linux)
    • Development: Autoconf, make, Gcc, etc.
  • Languages
    • Python (Google App Engine)
    • Go
    • DART
    • CoffeeScript
  • General web development
    • Media Queries
    • CSS (LESS)
    • Javascript minification/obfustication
    • Adaptive Layout (for desktop and mobile)
    • Google Web Toolkit (GWT)
  • Javascript
    • Templating engines: Dustjs, Handlebars
    • jQuery
    • Widget Development (Usable by third parties)
  • HTML5-ish
    • Web Applications
    • Hardware interaction
    • Hardware-assisted Graphics
    • Web Intents
  • Chrome
    • Extensions: Building and packaging
    • Native Client (NaCl) - Using C/C++/etc. to interact with a running Chrome environment.
  • XML
    • Static templating based on XSLT and MSBuild Tasks
  • .NET
    • Reactive Extensions
    • NuGet
    • PRISM
    • MEF
    • Unity
    • Building Assembly documentation tools
  • NoSQL
    • MongoDB: Wrote a C# driver based on the API
    • Document Databases