Alex Garneau

Hunted down from the computer jungles of NAIT all tangled up in a Kinect cable-trap, this slightly over-enthusiastic developer joined the team for the Flash programming experience and found himself taking a wild ride through programming technologies he never knew existed. Though he still gets a lot of Flash experience doing a few projects with the new technologies Adobe is still somehow releasing, much of his work and efforts come from learning and applying Javascript, HTML, CSS, SASS, and even the Google Dart language. He anticipates and accepts the usual challenge and enjoys making flashing lights go boom on the screen in his spare time. Keeps a pencil and sketchpad with him in case his mind starts going off on tangents, as that's usually how a child of two artists relieves stress. Makes great effort to keep things positive and PG-13 at all times, so nobody is afraid to ask him to share his thoughts on anything. His dream job is to do some crazy things with the Kinect. Talks to his computer frequently. Nobody around him thinks it's strange.

The Evolution of Video in Flash

Back in the good ol’ days, Flash was very popular among many for playing media. It was used, online and offline, for displaying animations, showing presentations, and general advertising. Though there weren’t all that many options back then, such popularity still came mostly because it was simple. It was able to animate vector art very smoothly as opposed to large, clunky .gifs, as well as allow users to use simple interactions like mouse clicks and keyboard input. Macromedia Flash itself also had a very simple interface and UI, and was used in schools all over to help teach students multimedia and animation.

As the internet evolved, so did Flash. As video playback started to become popular, Flash had no choice but to adapt to keep up with competition and provide its users with the best experience possible. This involved cutting corners, taking back-doors, and even adding a whole new programming language to the mix at one point.

Continue reading →

Keeping it Grounded: Why We Avoid the Cloud (Sometimes)

The Cloud

Don’t get me wrong, the “Cloud” is great. Being able to utilize existing apps and not having to worry about updates or security is a huge time saver. But when it gets down to it, “In the cloud” is a buzz term. When translated to laymen speech it means “Storing your data and running your applications on an offsite server, somewhere”. It’s that “somewhere” that is a legal gray area for us, and for certain clients. For example; let’s say we’re working on a project for Microsoft, but are storing documents and files on Google servers. The two companies can (and do) collaborate, but what if they don’t on this project? And we’re storing sensitive Microsoft information with Google? It could cause legal issues if a dispute ever came up. This is the primary reason why we choose to self-host the vast majority of our infrastructure. The services we self-host include a Git server, bug tracker, wiki, file syncing server, and a custom built timetracker. Having a local server host all these services allows us to be extremely agile in development and with our workflows.

Continue reading →

Better Typography for Any Web Project

Using the SCSS Baseline Type Utility

Typographers and type enthusiasts will attest that aligning a typeface to its baseline grid is an essential part of any text-heavy design. Maintaining a consistent vertical rhythm is an important part in the creation of beautiful typography and layouts. This is accomplished easily in programs such as Adobe InDesign. However until now, I have yet to find a tool that easily accomplishes this with web type, while remaining flexible to the individual needs of a project.

Continue reading →

C# from an ActionScript/JavaScript Developer’s Perspective

Traditionally, gskinner has been a shop with expertise in Flash/ActionScript technologies, and then JavaScript/HTML/CSS since the slow decline of Flash. However, in the past year we have spent a great deal of time working with C# and XAML, specifically on the Windows 8/8.1 and Windows Phone 8/8.1 platforms.

I’m not going to dive into the super technical aspects of C#, since there are plenty of resources available for that (I included some at the end of this article). This is more of an overview of some experiences working in a new technology stack; A brief description of differences in core concepts, language features, and a comparison of development tools our team has used.

Continue reading →