Some of the source code which we've developed is now available for anyone to use according to the terms specified in the Omni Source License. This source code is primarily for Mac OS X, though some portions of it (such as the OmniNetworking framework) have been ported to other platforms. We have not yet provided any formal documentation, though the source code does include a limited amount of internal documentation.
The source code can be downloaded from our web/ftp site. Feedback on this source code release should be sent to omnisource@omnigroup.com. You can also discuss our frameworks in our Frameworks Forum.
These projects require at least Xcode 2.3
The following are brief descriptions for many of the frameworks we've made available under the Omni Source License:
- OmniBase
- OmniBase is the lowest level framework in the Omni framework suite. It is used by virtually every consumer product and consulting application we've written. OmniBase provides a series of debugging aids for class allocation and initialization, an alternative assertions mechanism, several Objective-C runtime manipulation aids, and a very reliable, cross-platform implementation of +load (called +didLoad).
- OmniInspector
- Omni's inspector framework as seen in OmniGraffle, OmniOutliner and OmniPlan!
- OmniFoundation
- OmniFoundation is our extension to Apple's Foundation framework. Besides several extremely useful extensions to Apple Foundation classes, OmniFoundation provides a horde of unique and powerful classes. Among the more interesting are:
- OFStringScanner - A blindingly fast unicode-safe alternative to NSStringScanner, for when you really need to burn through those character streams.
- OFRegularExpression - Powerful regular expression processing wrapped in an Objective-C shell. Combine with OFStringScanner for extra fun.
- OFTrie - Implementation of the popular trie data structure. Interfaces to OFStringScanner for rapid scanning of "longest" token elements.
- OFMessageQueue & OFQueueProcessor - Writing stable multithreaded applications is an error prone process. These classes help de-fang the savage beast.
- OmniFoundation is a veritable treasure chest of programming goodies. Take a look for yourself.
- OmniNetworking
- OmniNetworking provides a simple and extensible Objective-C wrapper to a multitude of complex networking constructs. Communication over several internet standard protocols is supported, including TCP, UDP and Multicast. Writing a simple FTP client, or custom TCP/IP-based server program becomes a trivial task using OmniNetworking.
- OmniAppKit
- OmniAppKit is our set of extensions to Apple's AppKit.framework, full of cool stuff to make Mac OS X application development even easier. Some highlights:
- AppleScript - OAOSAScript makes it super-easy to run AppleScripts from within a Cocoa app, and companion classes introduce features such as automatically populated script menus, scripts on toolbars, and extensions to the Text suite allowing scripters to manipulate rich text.
- OAPreferences - An architecture for building multi-pane Preferences windows. All you need to do is write the individual preference panes (which is quite easy) and OAPreferences will automatically generate an appropriate Preferences window one like System Prefrences if you have lots of panes, or one like Mail's Preferences window if you only have a few.
- OAFindPanel - Apple has a standardized architecture for Find in applications, but they leave implementing it entirely up to developers. OmniAppKit provides a powerful Find & Replace panel and a protocol for easily making widgets and documents in your app searchable.
- OmniAppKit also includes lots of extensions to Apple's classes to make creating rich user interfaces much easier.
- OWF
- Perhaps the most powerful framework in our entire framework suite, OWF, otherwise known as the Omni Web Framework, provides an advanced architecture within which to write multithreaded, internet applications. OWF is the work horse in OmniWeb controlling all of the content fetching, HTML/SGML parsing, FTP server manipulation, etc. If OmniFoundation is the Objective-C programmer's Swiss Army Knife, then OWF is their double barrel, rotary laser cannon.
Want to write a quick app to fetch stock prices from www.fakestocksite.com? OWF practically already does it. Need to fetch and parse a credit report from the credit bureau in your e-commerce site? Sprinkle in some custom logic and the OWF fairy does the rest. In the next version we plan on integrating back scratching and toast making.