API news

For those interested in an API, these are the latest hopes: http://luracast.com/products/restler/

and http://fatfree.sourceforge.net/page/routing-engine/representational-state-transfer-rest-and-classes-objects

I only just discovered both of these, but either looks promising.

Since Fat Free Framework shows me procedural PHP examples, that’s a plus in its favor.

However, since we’re probably going to need an API-key based system, I’m going to need to get an Admin section up that includes user accounts and user profiles.  That also ties into the question of templates.  I really want to make a final decision about a new template system (or not, and which to use if so) before then so the admin section can be templated also.

Fat Free Framework as it happens, has a template system.  That said, I don’t want to make TightURL itself dependent on any framework, even if it’s tiny.

Which brings up another matter… I haven’t decided how to connect the API to TightURL.  My original thought was to keep everything in the same namespace, such that you would have something like:




One of the original intents behind TightURL was for people to run small-scale and/or private URL shorteners.  The first approach probably works best for those people since they may not be able to add subdomains.  The second approach allows you to split API traffic off from the main web site.

Although I like the “cleanness” of the first approach (and that’s an entirely subjective opinion), TightURL can no longer be run on the simplest hosting setups.   It’s going to require PHP 5.3 or newer, and it already needs to be able to do DNS lookups and open network connections to fetch the contents of URLs.  This precludes really low end or free hosting.  I’m not exactly bothered that you can’t run TightURL on free hosting, given that virtually all the URLs submitted to tighturl.com from free hosting services are abusive links.

This entry was posted in Uncategorized and tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *