From Our Project Portfolio

Reference Counting, Finalization and Resurrection

I've been enamoured of reference counting since devouring Smalltalk-80: The Language and its Implementation in 1987, but there's a reason I haven't simply embraced C++11 standard library's smart_ptr — there's an invaluable mechanism it can't support. »»

WireOver - Fast, Free, Secure File Sending

WireOver is a Mac, Windows and Linux application for sending and receiving files. It's really easy to use, and can transmit files of any size as fast as the physical network allows. With end-to-end encryption and perfect forward secrecy, WireOver ensures that only your recipient can access the files you send, making it much more secure than most alternatives. »»

Glass Ceiling

Glass Ceiling is the ultimate female revenge fantasy. In Glass Ceiling, our hero Moxie fights her way up the corporate ladder—literally. By battling fresh men, backstabbing co-workers, asinine accountants, bad bosses and other office stereotypes. »»

SPARKvue Augmented Reality

Working with Sally Ride Science and PASCO I extended the desktop version of SPARKvue to support augmented reality views of the experimental setup. »»

MOTOACTV HTTP Proxy

The MOTOACTV communicates with servers to share and manage its user's fitness information. The device is very small and interacting with a complex network configuration UI is not viable. So, when tethered, it communicates through an HTTP proxy I wrote that runs on the user's desktop machine. »»

Wellness!

As a new parent, especially once the children started at school, I was amazed at the number of prescriptions for minor ailments that we'd have to manage at once. Hence the iOS application Wellness!, developed in collaboration with IRMAcreative. »»

Quality C++ Software | Electric Magic

Electric Magic creates elegant and robust C++ software for iPhone, iPad, Mac, Linux, Android, Blackberry and Windows.

Our experience runs the gamut, from embedded micro-controllers to multi-processor servers; high-level user-interface down to the twiddling of pixels; comms over bare copper wire, through TCP/IP, to all kinds of standard and custom protocols.

We've implemented database engines, file systems, cross-platform application frameworks, real-time hardware drivers, the first low-bandwidth VOIP application, video games and more.

What can we do for you?

Our Services Work for You

Porting Code

Let us help you leverage your existing investment by porting your code to a new operating system or library suite. We can create an abstraction layer so your code just works in its new home, modify your code to use an existing abstraction layer, or we can simply reimplement the parts that have dependencies. »»

Bug Fixing

If you've got buggy code, we can fix it, and provide guidance and affordances to reduce the incidence of bugs in the future. »»

Extending High Level Languages

Your team is productive using a high level language, but you need access to features only available from C or C++, or indeed another high level language. Be it Java, Perl, Python, Ruby or Lua, we can create the glue to make external functionality a fully integrated part of your software toolkit. »»

Plugins

You already have most of what you need in an off-the-shelf application, it’s just missing some key feature. We can implement that feature and incorporate it into your graphics or development workhorse. »»

Refactoring

If your code works and is feature complete, but is hard to grow or understand, then refactoring may be in order. »»

Code review

Maybe you're concerned about the quality of some code you've inherited, or you just need a fresh set of eyes on your own code. We can give you an independent assessment and generate a detailed plan to improve or extend it. »»

Specification Development and Review

Whether you’re simply exploring the scope of a new project, or already have initial technical specifications, we can help. We can manage, participate or simply advise the process of creating rigorous, complete and implementable specifications. »»

The Expertise You Need

C++

We've been working with C++ since its release in 1986. From C-with-objects to C++11, object-oriented, functional and meta-programming, we're experts with all styles of C++. »»

Multi-threading

Electric Magic has been developing robust and efficient multi-threaded client and server software for more than fifteen years. »»

Communications and Networking

Communications once meant RS-232, and now it's encrypted data streams over TCP/IP, encapsulated and packaged in myriad ways. Whether you need to control a robotic arm or screen-scrape a legacy system, put a transparent RPC proxy between your systems, or... »»

Library Design and Development

A lot of our more recent work has been in realm of library development, creating expressive and powerful foundations on which the real work is built. »»

Graphics

We can apply our deep understanding of Mac, Windows and UNIX graphics APIs, file formats and in-memory representations to provide transformational and generational code to meet your needs. »»

Graphical User Interface

GUI generally means frameworks, and we've worked with and extended them all. QT, GTK, MFC, PowerPlant, the venerable MacApp and TCL, and our own ZooLib. And if you have an in-house system, our broad experience let's us get up to... »»