[]RSS

About Archives Artwork Comic Contact Philosophy Projects Tags

Prototyping play

[Comment]

July 2nd, 2007 in Projects

screenshotI’ve been working on a handful of web apps in my spare time. Nothing amazing, nothing revolutionary, just simple, fun tools. And while I’ve shown off a few of the logos, I haven’t written about the applications or their design. I’m not sure if I hate giving up the ideas (as if ideas were golden), or if I’m wary of not finishing them (free time is a commodity, and new ideas hit me regularly).

Well, fuck that. I need to write more. The lack of writing is a sign that work is getting under my skin, or that I’m getting lazy, complacent with life in zombie land. Zombie life sucks: it’s undisciplined and it’s uninteresting: far from my normal inspiration. And inspiration is fun.

Thwarter

One of my most tangent projects is for a Z-machine replacement of sorts. It’s working out to be a text-adventure tool that obsesses over making writing the games about the writing (and playing the games about reading). ’s Z-machine was fun, but it wasn’t a writing tool (it was a programming language). Confusing the two limits both who becomes authors, and how much writing they do. And including the potential for multiple players (and/or authors) makes it damn-near freakin’ cool.

I’ve completed the “language” design for this one (it’s all table-based, edited like a wiki), and have a few basic prototypes done. This weekend I moved on to the UI design, something that I’ve been doing in and (an incredible pair of tools). The next step is to settle on a first approach and grind my way to a working demo. I have an unfortunate fixed-deadline work project this summer, which will likely eat into my spare time, so I don’t expect to have a useful prototype done until the late fall at best.

Elsewhere

I’m in the midst of a few other projects, interleaved with life, work, and art. I have a simple TODO tool in the oven, to tame my never ending stream of ideas, and a number of other things at varying stages of completion.

I’m learning to cull my growing queue of ideas too. Part of the trick is to let things percolate for a while, and see if they stick to the mental wall of, well, stickiness. Good ideas keep coming back to you, and the rest just evaporate by themselves. There are other heuristics too, but that’s a topic for another post.

Free domains!

Speaking of culling, my domain portfolio needs some cleanup. I’m giving away the following domains to a good home (for non-profit use), or for a reasonable fee (for non-evil commercial interests):

  • aggregatorator.com
  • cheatsheetbuilder.com
  • sixwords.org
  • gr8tr.com
  • feedr8r.com
  • gatorator.com
  • justaskoldguy.com
  • cookbookr.com

One per person; first come, first served (friends first); highest bidder, and so on.

SimpleLink .5 Features

[Comment]

June 11th, 2005 in Design. Projects. Weblog

While not quite finished yet, I’ve finalized the features that will be available in the next release of . All of the existing functions will continue to be available, as well as the following improvements:

  • Correct, semantic tagging. Allows all links to be used by for categorizing posts by cleaning up all outbound links. Example: A search that normally looks like http://google.com?q=term+term will now look like http://warpedvisions.org/tags/google/term+term (site based on WP configuration).
  • All link targets are configurable with a new administration page.
  • Link generation is template-based, in plain PHP. Templates can access key (and custom) WP variables.
  • Link clicks are tracked for site usage analysis. Allows site admin to track downloads, specific image clicks, or abuse.
  • Targets can be used to inject content into posts (like templates). This makes it possible to use the proxy to insert images, template content based on WP settings/posts, or other dynamic content (like a scrape of another site). Example: You could generate an IMDB/Amazon combined div that contained a table of data taken from both sites (images, summary stats, etc.).
  • Targets can also be used to generate WP admin-specific content into posts. This allows WP admins to see edit links for locally linked articles and image upload/update forms inline to their posts.
  • Link injection allows writers to insert chunks of AJAX easily into posts. This will allow WP users to display inline graphs ([sparklines]), and other real-time content.
  • Improved handling for pre and code blocks.

Updated Syntax

  • [!!target: term1 term2 term3|param1|param2|param3]. Targets can either be links or injections, as defined in the SimpleLink WP admin panel.
  • [!![localtarget|param1|param2|param3]]. Local targets are also links or injections, but format is consistent with . Can also be a direct link: [!![http://test.org]].
  • {{Templatename|param1|param2}}. Template targets provide a pure injection syntax similar to the ] template syntax.

Generated URLs

URLs will be generated to point to a local proxy, based on your site url. Examples (syntax/rules subject to change):

  • http://warpedvisions.org/tags/google/test1. A simple google-search link.
  • http://warpedvisions.org/tags/amazon/warpedid/0045354. An amazon link with a referal . id as a parameter.
  • http://warpedvisions.org/tags/injection/sitestats. Returns a chunk of JavaScript that is used to inject content into a post.

Planning SimpleLink .5

[Comment]

June 7th, 2005 in Design. Projects. Weblog

I’m reworking my plugin based on some feedback and code contributed by a few users. This release will also fix a sticky bug found by a developer at , where search-based links do not form useful semantic tags. The main goal of the release will be to make the link generation configurable and to properly reflect the of the links.

Tagspaces

Tagged links are used by tools like to figure out what weblog articles are about, based on tagged s in the content. Tagged urls are elements that use the rel="tag" attribute to indicate that the url portion of the href has meaning. The tagspace of an article then, is defined by all of the tagged links found in the content. Tagged links are automatically generated by the plugin.

Unfortunately, many targets (like ) produce useless , as the generated urls are crusty. For example, the [!!this is a test] markup generates a link to a search with the terms this+is+a+test. The url is crusty, though, as it contains words and characters that are not related to the search terms. Notice all of the line noise before, between, and after the search terms:

http://google.com/search?q=this%20is%20a%20test&btnI=

Instead, a useful tagged link would look more like:

http://google.com/feelinglucky/search/this+is+a+test

Most search-based links are crusty, making them useless as tagged links (even though it’s a really handy way to write an article).

Approach

This version of the plugin will split the plugin into two parts: a simplified plugin and a link proxy. Splitting the functionallity allows for a few neat improvements:

  • Tagspaces can be represented for any type of link, as the proxy can normalize all urls and redirect them to the right search
  • We can move the messy (and expensive) parts of the processing out of the WordPress rendering loop, as all links will point to the local proxy script. This allows us to delay database lookups for targets (and other magic) until the user actually clicks a link
  • It will allow for a new JavaScript injection target that will allow using the local proxy as a site interface for accessing other objects (like pictures, downloads, etc.)
  • It also allows the linking logic to be used from other Weblogging systems (and some of my non-weblog sites), as the proxy contains the useful logic

The proxy will be a simple script and rewrite rule. The rewrite rule will transmogrify a clean url into the required Php script parameters as follows:

http://site-url.domain/tags/google/term1+term2+term3

Will be converted to:

/simplelink-proxy.php?target=google&terms=term1+term2+term3

The plugin portion will translate the SimpleLink syntax into html or javascript that references the proxy. Search links will reference the proxy directly, and content links will either generate html directly or generate Javascript injection code to grab data from the proxy. The js injection method will be useful for images and thumbnails, especially for Flickr images.

The target definitions will move from code to the database, and a simple administration panel will be added to the WP admin tools.

Next up: indirector

[Comment]

May 8th, 2005 in Projects. Weblog

I’ve been thinking about and again. This time the idea combines most of the things I like to work on:

The plot, while only half-baked, is somewhere between write-your-own bot AI or . While it won’t quite be real-time, it will be as close as is possible with the current generation of browser magic.

This one will be fun to write, I think, as the tools and approaches are simple. I just hope I have time to finish this one.

Making Panoramas

[Comment]

May 1st, 2005 in Art. Projects. Weblog

I made my first today, stitching together a few pictures I took hiking last weekend. I used the , which are freely available for , , and .

The panorama

fire_creek_panorama.jpeg This is a wider view of one of our favorite in the area. The raw image measures 4,800 pixels wide (after cropping), which combines the two 2,400 pixel source images. I only used 7 control points in this test, so a few of the seams are slightly visible. Had I doubled the number of control points (or used a tripod), the image would have been seamless.

The wider view was created by stitching two hand-held shots together. The process allows any number of images to be merged, but I only had two useful shots that overlapped. Here are the source images (scaled down a bit):

panorama_part_1.jpeg panorama_part_2.jpeg
panorama_part_1.jpeg panorama_part_2.jpeg

The process

First off, I suggest you read the tutorials on the home page. It’s a complicated tool, and it took me a few passes before I understood what it was doing.

  1. Take some pictures that overlap (by hand, or on a tripod). Copy the images to a temporary directory.

  2. In the tool, add each image and tag with the overlap information. Use as many points as you can find between each image, as the tool works better with more control points.

  3. Process and wait. 2 images, on my 2Ghz laptop takes about 3 minutes to process.

The software does a great job, and can stitch hundreds of images together. I’m going to try a few more complicated panoramas on the next hike, and maybe a few with my tripod at home.

SimpleLink .04 released

[Comment]

May 1st, 2005 in Projects. WP-Plugins. Weblog

A few more improvements for my SimpleLink

  • Fixed _ parsing bug ([Markdown] was munging underscores, now plays nicer with Markdown)
  • Added open links in new window for pkzip.

You can download wp-simplelink-0.4.tar.gz, or visit the SimpleLink page for more details.

SimpleLink .03 released

[Comment]

April 30th, 2005 in Projects. WP-Plugins. Weblog

I did a bit of work on SimpleLink today, mostly cleanup and random features. SimpleLink is a that makes linking to things simple.

  • Added tag='rel' attribute to all text links, which allows semantic scraping by and .
  • Fixed img generation for product links for fixed-size images with overflow (fixed dimension thumbnails without scaling thumbnail).
  • Added search links with techo: and tag: targets, which generates links to Technorati searches and tag searches.
  • Added image linking with flickr: target, making it easier to embed to Flickr images on your site

You can download wp-simplelink-0.3.tar.gz, or visit the SimpleLink home page for more details.