The Sci:Pro Calculator project was undertaken to design and develop our first commercial quality application for Apple’s iOS platform. The primary goal of this project was to produce a high-quality application that utilized many of the core frameworks and technologies available on iOS in order to develop proficiency with them. In addition, care was taken to maximize the quality and responsiveness of the user interface for all supported device types. (Including both 3.5”/4” iPhone Retina displays) Whenever possible, attention was given to establishing the groundwork for future capabilities and features (e.g. dynamic skins/themes, iCloud support, etc.).
A key requirement for this project was to develop a multi-mode calculator application that could operate with the same functionality across the full range of supported device types and orientations. Three modes of operation are provided: Basic, Scientific, and Programmer. All modes of operation feature a history view that can be quickly accessed at any time regardless of the device or orientation being used. Results in the history view can be used in new calculations, copied and pasted into other applications, or sent as e-mail.
The Sci:Pro Calculator is a universal application that has been designed to run on iPhones, iPads, and iPod Touch devices. Each of these devices provide equivalent functionality but has been tailored to operate in a manner that best utilizes the available display size. When running on iPhone or iPod Touch devices, Sci:Pro Calculator performs mode changes according to the display orientation. Portrait orientation always displays the basic mode and the landscape orientation can be configured to display either the scientific or programmer modes of operation. In addition, the binary and encoding views of the programmer mode are implemented as separate views that can be toggled on or off as required.
Sci:Pro Calculator was implemented from the ground up using the Objective-C language and standard frameworks. The core calculation engine has been built to support the use of either high-precision floating point or 64-bit integer values. High-resolution device specific image files are used throughout the user interface and have been tailored for optimal display on all supported devices. Where practical, resolution-independent vector images have been used to reduce file size and maximize display fidelity. Regular expressions were used to process copy/paste strings to improve the ability to recognize multiple numeric formats embedded within extraneous formatting characters. A simple template engine was constructed to facilitate the creation of e-mail using HTML and plain-text formats (including optional web fonts).
Tools & Technologies
- Objective-C (ARC)
- XCode 4
- HTML / CSS
- Custom/Web Fonts
- Adobe Illustrator
- Adobe Photoshop
- Adobe Audition
- Client: Digital Ambience, Inc.
- Date: 2013
- View Project