public
Description: URL Shrink provides a system-wide utility to shorten and expand URLs across multiple services (is.gd, bit.ly, etc.)
Homepage:
Clone URL: git://github.com/amazingsyco/url-shrink.git
README
URL Shrink
----------
URL Shrink is an OS X tool for converting URLs to shorter permalinks on various web services. It was designed to make it 
extremely easy to write a bit of code to integrate with other web services, including private URL services. Users can 
also specify their preferred service which is saved as a default.

License
-------
URL Shrink is licensed under the BSD license, and its adoption within Mac and iPhone applications is encouraged.

Wishlist
--------

- Automatic downtime detection and re-routing
- Compiled .framework and .a for including in Mac and iPhone apps, respectively
- Text service
- Command line client
- Shared default selection across applications (and sync across machines with MobileMe/Dropbox/etc.)

Installation
------------
Grab the source code from GitHub. After you clone, be sure to check out submodules. Compile the application and run.

Use
---
Run the application and copy a URL to the clipboard. Then, press Option-Shift-Space (hardwired for now). It will convert 
the URL to a shrunken URL in the background and replace it. That's all it can do for now.

URL Shrinkers
-------------
There are six shrinkers in the system right now:

1. Loopback - This is mainly for debugging, it simply returns the URL you submitted
2. TinyURL.com
3. is.gd
4. tr.im
5. digg.com
6. idek.net

Writing a URL Shrinker
----------------------
You need to write two methods in your URL shrinker:

-(void)performShrinkOnURL:(NSURL *)url;
This performs the guts of the shrink. You can schedule asynchronous operations to run, such as NSURLRequests. Whenever 
the URL is retrieved (which doesn't have to be in this method), you must call doneShrinking:, supplying either the 
shrunken URL or nil if there was an error.

+(NSString *)name;
Must return a human-readable and unique name for your URL shrinker.

Note: Developers no longer need to implement the +load method in subclasses of the URL Shrinker base-class.