My work focuses around object-oriented application design and development for Mac, including Mac desktop, iPad and iPhone. Mac software design and development has become my passion. I have a keen attention to detail and a strong aesthetic sensibility. I guarantee the quality of my work and my clients' satisfaction.
My process to writing quality software is more than just hacking code. Good design is critical for an app to be successful and easy to maintain. That means having strong attention to detail and following well-established design principles: the same principles employed by Apple and other design-centric companies. Quality application design must include attention to user experience design, functional design, graphics and visual design, as well as solid architectural design.
I'm a senior software engineer with many years experience in software development on both commercial and open source projects (see http://sourceforge.org/projects/aztsearch for an example of one of my open source projects). I received Bachelors and Masters degrees in computer science, mathematics and business administration at the Universtiy of Calgary, Alberta, Canada.
I'm also interested in social applications of technology. Particularly open source technologies applied to transparency of government, participatory democracy, connecting people and ideas, collaboration, information access and representation, individual privacy, and more recently, Bitcoin. All within a Mac OS X, Cocoa, Objective-C, and iOS context.
Generally, unique and interesting applications of technology with a distinct design-focus is often enough to pique my interest. Feel free to drop me a line to discuss your Mac/iPad/iPhone project requirements.
Sun Certified Programmer for the Java 2 Platform (Score: 97%)
University of Calgary
Bachelor of Science in Pure Mathematics
University of Calgary
Master of Science in Computer Science
University of Calgary
Bachelor of Science in Computer Science
Senior Software Engineer
2010 - Present
My contract with Mother, a small and highly creative design, technology and media company, is to spearhead the software development of a suite of Mac desktop, iPad, and iPhone applications that are uniquely tailored to creative professionals and the process of developing and exploring new ideas. The details are currently under NDA until product release later this year. Technologies include Objective-C, Cocoa, Core Animation, Core Data, Key-Value Coding/Observing, Xcode, Interface Builder, Instruments, Git, GitHub, and PivotalTracker.
The GNU Project
GnuSpeech Open Source Developer
2008 - 2012
I've been involved on-and-off with the GnuSpeech project which is a part of the larger Savannah GNU Project. I've worked to port the articulatory speech synthesis framework to Mac OS X 10.5/6 and enhance the existing software. This includes design and implementation of a text-to-speech server using the OS X distributed objects architecture (an elegant IPC/RPC technology), as well as developing GnuSpeech OS X services, GUI development, and more complete English language parser support. See https://savannah.gnu.org/projects/gnuspeech for more details. Technologies include, Cocoa, Objective-C, C, Client/Server architecture, OS X Distributed Objects, OS X Services, Xcode, Interface Builder, SVN, CVS, and articulatory speech synthesis research.
Senior Software Engineer
2009 - 2010
While contracting for Zecter (now part of Motorola Mobility), a Silicon Valley startup developing technology connecting users to their content across all of their devices, I was lead developer of the Android mobile client for the ZumoDrive platform which we built from the ground-floor and launched to the Android marketplace. The Android client allows users to access all their content in the cloud, with core features including a file browser, music browser (artists, albums, songs, playlists), streaming background music player, photo library album browser with list, grid and sliding gallery views. Also included was support for opening, sharing, and downloading arbitrary files, music, and photos, as well as uploading local files/photos/videos, and live picture/video. I was also involved in furthering Mac OS X development of the ZumoDrive desktop client, extending it to provide full Snow Leopard support. Technologies included Objective-C, Cocoa, Xcode, Interface Builder, Carbon, mach_star, Java, Eclipse, Git, GitHub, SQLite, and the Android development platform.
The Azureus Project
Open Source Developer
2008 - 2010
I've been involved with two SourceForge.net open source projects revolving around Azureus' P2P bittorrent technology. I've added OS X support for the Azureus Net Monitor plugin that monitors ISP's throttling of client bandwidth. I've also designed/implemented and now maintain a torrent search plugin that queries centralized torrent trackers and presents the aggregated results in a user-friendly view selectable by category. See http://sourceforge.net/projects/aztsearch for more details. Technologies include, Java, Eclipse, SWT, HTML, Regular Expressions, SVN, and the Azureus plugin architecture.
2009 - 2009
While working as an independent contractor, I was involved in a number of shorter-term OS X roles involving Cocoa Objective-C. These include feature addition and problem resolution of a PhotoBooth-like kiosk software and hardware system, development of dynamic context menu extensions for the Snow Leopard Finder, development of an icon compositing RPC distributed objects server for icon overlays, development of QuickLook icon generators, and development of an elegant Spotlight-like web search status/menu bar item. Technologies included Objective-C, Cocoa, Xcode, Interface Builder, C, Carbon, Core Graphics, OpenGL, Icon Services, OS X Distributed Objects, QuickLook Generators, OS X Services, and mach_star.
Western States Art Federation
2008 - 2009
While contracting for the Western States Art Federation (WESTAF), I've been involved in the redesign of a Mac OS X application utilizing AppleScript and Scripting Bridge technologies to control Apple's iPhoto application to ease and simplify the adjudication process in selecting works of art for inclusion in a nationwide registery that aims to showcase and promote diverse collections of contemporary visual art. Technologies included Objective-C, AppleScript, Scripting Bridge, XML, Regular Expressions, Xcode, Interface Builder, and iPhoto scriptability APIs.
One Source Business Solutions
2008 - 2008
Art Technology Group
Professional Services Engineer
2000 - 2001
During my time at ATG, I was employed in an environment that required a strong understanding of the Dynamo application server technology suite, and subsequent leveraging of these technologies to aid our clients and technology partners in e-enabling businesses, providing personalization, e-commerce, and eCRM solutions. This involved consulting roles at client sites to facilitate rapid development and deployment of their websites. Technologies included Java, ATG Dynamo Web Server, HTML, JHTML, Servlets, SQL, and Oracle.
E-Commerce Systems Engineer
1999 - 2000
During my time at News Connect, I was employed in a fast-paced environment involving e-commerce development under the Java platform. Core projects included: development of a Java/C++ CORBA client/server system for the University Admissions Centre ApplyByWeb IVR interface; development of the News Connect Gateway API, an application programming framework that allows clients to employ a credit card payment solution easily; development of the core technical specification documents required for establishing the News Connect electronic funds transfer business (or reseller package) required by clients seeking to implement an e-commerce payment gateway; development of a Java-based XML-aware transaction processing system; development of Perl-based transaction report generation and reconciliation software. Technologies included Java, C++, CORBA, Perl, HTML, XML, MySQL, JDBC, and Javadoc.
Trillium Sound Research
1992 - 1993
A portion of my early work experience was obtained during the design and implementation of a multi-modal document browsing system for the visually impaired. The system consisted of a digitizing tablet, textured overlay, and stylus, from which tactile and aural sensory data would provide a visually impaired user with enough information to maneuver and browse through text documents. A text-to-speech translation system provided the user with the required aural information in the form of synthesized speech. Technologies included Objective-C, NeXTstep APIs, Interface Builder, Project Builder, NeXT platform, and graphics tablets.