A discussion of programming languages at TechSmith can be split into two categories. Windows and Mac. You can look at the history of both platforms to get an idea of what technologies our apps use.
Windows
Snagit, Camtasia, and Morae use a lot of C++ and MFC. As Windows evolves, so does our software. These apps all are starting to take advantage of new technologies like C# and WPF in addition to frameworks like Qt.
Our newer products, like Jing, drop some of the legacy C++ code for shiny new C# and .NET.
Our web products run on Microsoft servers using ASP.NET. Camtasia Relay and Screencast.com are built using Web Forms while some new projects, like the Coach’s Eye video player, are using ASP.NET MVC. Of course we also use common web technologies like javascript, html, css, and SQL.
All of this code lives in a Team Foundation Server that we use to manage our whole product life-cycle.
Mac
On the Mac, most of our code is written in Objective-C with Cocoa. We also write a lot of C++, so we can share code between platforms. Camtasia:Mac actually started out as a cross platform version of Camtasia Studio so a lot of its back end code is written in C++. Currently all of our mobile apps are written in Objective-C for the iPhone and iPad.
We use Subversion for all of our Mac/mobile code except for Coach’s Eye which is experimenting with GitHub.
Cross Platform
At the core of all of our apps is screen recording. The technology to do this is written in C++ so it can be fast and efficient. Actually grabbing the screen on the two platforms is obviously different, but our screen capture codec is shared between the two platforms.
Believe it or not, the languages we use in our products are just a small chunk of the languages the company uses as a whole. Our source repositories contain everything from Bash scripts to Scheme. We use Python for automated testing. We use Ruby for writing tools. Developers write shell scripts to make their lives easier. We have people doing Flash development for Screencast.com. There are plugins for Camtasia written in Java.
We encourage everyone to try out new technologies and get things done the best way possible.
Randall Brown started at TechSmith in 2009 after graduating from the University of Michigan with a degree in Computer Science. He is a member of the Camtasia Relay team where he works on bringing lecture capture to the masses.


0 comments:
Post a Comment
Note: only a member of this blog may post a comment.