As some sources report the InputManager system will disappear in Leopard:
- “The End of the Input Manager and Pimping Mac OS X?”
http://switchersblog.com/2007/08/31/the-end-of-the-input-manager-and-pimping-mac-os-x.html - “Leopard Axing Input Managers?”
http://www.tuaw.com/2007/03/24/leopard-axing-input-managers/
Greatascent greatly relies on the InputManager system to inject functionality into applications like Safari and Address Book. So this is a HUGE problem as this makes Greatascent nothing more then a synchronization client.
The Solution
The only good solution is to write some kind of a replacement for the InputManager system. Many approaches are possible. For instance I could write phony plugins for Safari, Address Book, Mail and iCal or I could use APE. The phony plugins are not a good option as this approach would limit Greatascent to applications that have some kind of a plugin architecture. APE is not a good option either because I don’t like it’s interface (it is far to techie) and it has some odd licensing scheme (it’s not really free).
So I decided to write my own Code Injection system, Yet Another Plugin Architecture (YAPA).
YAPA will have a similar approach to APE’s but it will have a better UI and better non-geek interaction.
But maybe the most important feature would be the Plugin Verification System which will verify the authenticity of the plugins installed to prevent bogus plugins from taking control over your system or your passwords.
I don’t blame Apple for removing the InputManager system because it IS really easy to write some kind of spyware with this system. But we can always try to have a better approach to the problem. I think verification of the installed and loaded plugins by a trusted source is a better approach than just leaving the door wide open.
Greatascent
I will continue to develop Greatascent so don’t worry. I just need to make sure my work is useful and without some kind of a system wide plugin architecture my work is absolutely useless.

5 responses so far ↓
1 Mo // Oct 7, 2007 at 8:00 pm
Okay, I’m probably being dim, but why does GA need an InputManager hack at all? The actual synchronisation is handled by Sync Services; Address Book has its own plug-in mechanism (although I don’t know how extensive it is), and the Preference Pane can wrap everything up into the bundle for installation—with the bonus that System Preferences will ask whether to install it globally or per-user).
In all honesty, “just a synchronisation client” is precisely what 99% of Highrise users need: additional features can be accomplished as a normal app (Packrat-style?), surely?
Or am I missing something major here?
2 Simon Menke // Oct 8, 2007 at 8:35 am
Well the AB plugin mechanism is limited to so called ‘Actions’ like ‘Show map for this address’. I could use the plugin mechanism to inject my special code into AB but with this approach you don’t have guaranties on the load time of the bundle. And you will end up with a phony AB Action.
I think you are right about the fact that 99% of the people just want to sync HR with AB. Maybe I’ll drop the Haxie and build some kind of a SystemService to allow sending notes and tasks to HR.
The only reason why I would keep the Haxie in AB is it allows you to see which contacts belong to an HR account.
3 huxley // Oct 18, 2007 at 12:09 am
You may want to take a look at PlugSuit:
http://millenomi.altervista.org/PlugSuit/
It apparently supports “SIMBL style plugins” in both Leopard and Tiger.
4 Simon Menke // Oct 18, 2007 at 9:48 am
Thanks for the tip!
This really makes every thing allot easier.
5 Mo // Oct 27, 2007 at 5:29 pm
PlugSuit reports that “GreatAscentAB” is enabled for me on Leopard.
Leave a Comment