In Development
Devlog Archives 2008-2010
Devlog Archives 2002-2007
Tutorials

Devlog

EdenMath 1.2

31st May 2013 | EdenMath

After a nine year long hiatus, EdenMath has been polished and updated, ready to run on the latest versions of OS X.

New Features

  • Universal Binary - Finally. The last application in the current stable of Edenwaith products to be updated as a Universal Binary so it can run on older PowerPC and newer Intel-based Macs.
  • Massive interface update - Further details below about the evolution of the EdenMath interface.
  • Updated application icon - Improved appearance and higher resolutions.
  • Removed the (skimpy) Help files - Served very little purpose. Might return in a future version.
  • Changed the factorial button from n! to x!
  • Added log2 and 2x functionality - Looking back at earlier versions of EdenMath, these are the first new functions to be added since the original release.

Evolution

EdenMath was the first Cocoa-based application I wrote for the Mac. Cracking open the time capsule shows how EdenMath has evolved over the years, from an embarrassingly bad and inconsistent user interface in the first version of the application, to the more refined later versions.

  • Version 1.0.0
    The new candy-like Aqua interface in Mac OS X helped give interfaces a shinier appearance, but that didn't solve the problem of inconsistencies between different styles of buttons and poor layout in the original version of EdenMath.
  • Version 1.0.1
    Fortunately, the original interface was short-lived and the buttons were all changed to a consistent style.
  • Version 1.1.0
    In addition to fixing some nasty bugs, this version saw the first overhaul of the interface, which provided for a much cleaner and consistent look.
  • Version 1.1.1
    Small interface changes were made, swapping out the serif font for a sans serif one. A couple of the buttons with superscripts were also given an upgrade with an improved look.
  • Version 1.2.0
    Nine years after the previous release, EdenMath received another major interface update, rethinking the entire layout and design.

The interface for EdenMath 1.1 was a dramatic improvement over its predecessors', but it still had its flaws. Developing for EdenMath 1.2 allowed for the opportunity to rethink the entire interface. The following screenshots are a couple of experimental interfaces which were designed during the process of constructing EdenMath 1.2.

  • Experiment 1
    The first attempts of redesigning the interface took the implementation from EdenMath 1.1.1 and flipped the position of the buttons. Not exactly earth shattering changes.
  • Experiment 2
    This version extended the display across the entire length of the window and introduced the drop down button for the angle types. In this version, the Off button still exists, which would eventually be removed since it is really not needed.
  • Experiment 3
    While trying out different designs, I experimented with a tall interface, which introduced the 2nd button to toggle some of the buttons. However, I never cared too much for this taller interface and reverted back to a more landscape design.
  • Experiment 4
    This was getting close, but I wasn't 100% happy with the placement of a couple of the buttons.
  • Final
    After shrinking the Equals button and moving a couple of other buttons around and adding the new log2 button, the interface was complete (well, for now...).

Source Code

The source code has always been available, but the source is now even more accessible at its own Github repository.

The Future

The original plan was to update EdenMath with several key features and then lovingly retire the program. However, time was running short and not every feature made it into this version. I am tentatively planning a 1.3 version of EdenMath for the future, which might include the following features:

  • Updated mathematical evaluator to properly respect the order of operations.
  • Localize for other languages.
  • Update and re-add the Help files.
  • Other miscellaneous fixes, improvements, and polish.