Spintax and Google Page One

Posted on February 9, 2011
Filed Under Splatforms | 14 Comments | Share this post via splatforms.com

The other day we discovered spintax. So we wrote about it, and about how, with a little Velocity magic, you could incorporate spintax processing into a *forms Task. Later on that day, in our continuing research into this topic, we did a Google search on the word spintax. To our surprise, right there on the first page of the search results was our little blog entry. We were amazed! Granted, we weren’t number 1 on the list, but we weren’t at the bottom of the page, either. There we sat, right in the middle of page one!

Search Engine Optimization, or SEO, has never been our claim to fame. We just like moving data around, whether it is to load data into a *form from different and interesting sources, or to distribute *form data to new and challenging destinations. Hands-free data distribution is what we are all about, not tinkering with search results. Now there are plenty of experts out there that have intimate knowledge in the various secrets and mysteries surrounding getting your site to percolate up to the top of the results queue, but we are definitely not among them. It’s just not our deal.

Which is one of the reasons that it was so cool to find ourselves on the first page of nearly 40,000 results just hours after we posted the piece. Sure, it was an unanticipated accident, but it was cool nonetheless.

Of course, it’s also a testament to the power of Splatforms. With the *form Loader for WordPress activated in this blog, over 200 *form Tasks get fired off every time we post something, which creates quite a lot of backlinks without having to lift a finger. And just to be clear, none of these Tasks actually used spintax as a part of the process; we just found out about spintax the other day, so we really haven’t had a chance to develop too many spintax-enabled Tasks just yet. Spintax was the topic of the post, but it wasn’t really used in the process of distributing the posts that linked to the original blog entry.

And even though we definitely are proud to boast about landing on page one of Google’s search results, that really wasn’t the purpose of this post, either. The main reason that we’re putting this out today is that we just want to see if we can do it again!

Splatforms, Velocimacros, and Spintax

Posted on February 2, 2011
Filed Under Programming, Splatforms | 16 Comments | Share this post via splatforms.com

We have already acknowledged the contribution that Velocity has brought to the table related to Task development, but we keep finding even more ways to leverage this capability as we explore new and different ways to utilize the Splatforms infrastructure. Even though you can now take a single *form and blast it out to over 200 unique destinations across the Internet on a single click, the form content is exactly the same wherever it lands. Each target site receives exactly the same post as all of the others. Wouldn’t it be cool if you could make each and every entry just a little unique?

Apparently, enough people seem to think so, that there is a word for doing just that: spinning. In fact, to automate the whole process, there is even a notational convention for it: spintax. And it’s a very simple and straightforward syntax, too,  consisting of separating your individual choices with the pipe character (“|”) and surrounding the entire collection with curly braces (“{” and “}”). Each time the article is “spun”, one of the choices is randomly selected from the list of available options and that choice replaces the two curly braces and everything in between. An original sentence containing spintax would look something like this:

Splatforms is {amazing|fabulous|outstanding|stupendous|way cool}!

… and after it was spun, it would end up looking something like this:

Splatforms is stupendous!

Nice, eh?

So what does that have to do with Splatforms? Well, just imagine the kinds of things that you could do if you had a Velocimacro called something like spin that would take a spintax-coded text string as input and would return the spun result as output? Then you could take a parameter list like this:


… and turn it into something like this:


… which would, of course, spin the text before posting it to the target site. This way, each target site would receive a slightly different variation than the others, making them all similar, but unique.

But can you do that with Velocity? Of course you can. Check this out:

#macro(spin $article)
  #set ($start = "\{")
  #set ($separator = "\|")
  #set ($end = "}")
  #set ($parts = $article.split($start))
  #if ($parts.size() > 0)
    #foreach($part in $parts)
      #set ($index = $part.indexOf($end) + 1)
      #if ($index > 1)
        #set ($endindex = $index - 1)
        #set ($optstring = $part.substring(0, $endindex))
        #set ($options = $optstring.split($separator))
        #set ($max = $options.size())
        #set ($optindex = $util.getRandom($max))

Now, if you’re not technically inclined, don’t worry about all that VTL stuff above … that’s just there for those little Task Developers that make all of that magic happen in the background. If you’re just a regular user with no aspirations of developing your own Tasks, all you really need to know is that, if you have a spintax-enabled Task, then you can put spintax notation in your text content and the task will spin it before it delivers it. All made possible by those good folks at the Apache Velocity Project. Just another way that Velocity helps make Splatforms a handly little tool do all kinds of useful stuff!

Thanks for {stopping by|tuning in|listening|dropping in|checking us out|giving us your time}!

Now auto submit to over 200 sites for free!

Posted on January 29, 2011
Filed Under Splatforms | 12 Comments | Share this post via splatforms.com

It wasn’t that long ago that we were boasting that you could auto-submit your WordPress blog entry to over 100 sites using our *form Loader for WordPress, but as we mentioned the other day, we’ve been quite busy lately and we now have more than double that number of potential Tasks. To be quite honest, we really need to stop doing that and get back to more important things, but we happen to think that it’s pretty cool that you can fill out one *form and submit it and all of the sudden the data appears in over 200 places across the Internet. In fact, we think it’s pretty amazing if we don’t say so ourselves.

But hey, don’t take our word for it — sign up for a free account and try it out for yourself. It doesn’t take much to get started, and you would really be helping us out. After all, you can never have too many beta testers out there pulling on all of the levers and twisting all of the dials. Sure, we’re not quite ready for prime time just yet, but we’re getting close and we’d love to have some help running everything through its paces, so come on in and join the party!

Even Newer Version of the *forms Local Agent Released

Posted on January 24, 2011
Filed Under Splatforms | 10 Comments | Share this post via splatforms.com

Well, that was embarrassing! It seems that we put out a new version of the *forms Local Agent without the proper due diligence and there was a minor, but crippling flaw in the packaging. Bad programmer!

So, we’ve scrambled around, fixed the problem, tested it, and put out yet another version. Please disregard our previous announcement about version 1.1; version 1.1.1 is the one that you want! Just log on to splatforms.com and navigate to the tools page to pick up this latest version.

New Version of the *forms Local Agent Released

Posted on January 23, 2011
Filed Under Splatforms | 13 Comments | Share this post via splatforms.com

This afternoon we released the latest version of the *forms Local Agent, the component that processes all of your *forms and holds all of your credentials for the various sites to which the agent posts your *forms data. Version 1.1 resolves Ticket #1, the fist ticket that we created once we decided to start using the Assembla ticketing software. In addition to the multipart form posting called for in the resolved ticket, this version also adds XML posting as well, which was required in order to provide support for Clipmarks, which we have also added to the site.

Users of older version of the *forms Local Agent are encouraged to uninstall such version and install the new 1.1 version in its place. To download your copy of the *forms Local Agent, sign on to splaforms.com and navigate to the Tools page.

More Sites, More Tasks, More Fun!

Posted on January 19, 2011
Filed Under Splatforms | 12 Comments | Share this post via splatforms.com

Even though we have plenty to do to get the Local Agent in shape for prime time, and we have even more to do to wrap up work on the main site and finally get rid of that little beta disclaimer on the home page, we just can’t seem to help investing a certain amount of time into our compilation of target sites and available Tasks. Last week, we added Tasks for Trunk.ly, Netlog, Scribd, and a number of other lesser-known destinations. During the same period, we also spent a little time maintaining our list of target web sites, adding a few new ones, and when needed, removing those that no longer appeared to be operational.

Deciding whether or not to remove a site from the list is never an easy call. If there is some kind of official announcement such as the one that accompanied the shuttering of Propeller, that makes it pretty easy. But when a site like spurl.net suddenly drops off of the air for some reason, we hesitate to simply remove it from the list without some further evidence of its demise. Our intent is to restrict the list to only active potential destinations, so we really do need to stay on top of such things, but for some of those sites that we’ve known and loved for some time, we might err on the side of caution just a tad before making that decision to drop them from the active category. It’s not that we’re trying to pump up our numbers with dead links; we just don’t want to pull the trigger too early on something that may just be experiencing temporary difficulties.

Both through addition and subtraction, though, our collection of target sites and Tasks associated with such sites is continually evolving. Despite the fact that we have more than enough other activities available to consume our time, this is destined to be the perpetual state of things here at splatforms.com. The internet is a dynamic place, and new sites are popping up as older ones fall out of favor and are left behind. No matter what else we will always need to keep up with that.

Splatforms and Assembla (continued)

Posted on January 5, 2011
Filed Under Splatforms | 12 Comments | Share this post via splatforms.com

Last year, we introduced our new workspace on Assembla and announced our intention to store all of the Open Source elements of the splatforms.com infrastructure in their Subversion repository. Since that time, we have not done much more with our Assembla space other than to take advantage of the free Subversion hosting, but starting today, we are going to attempt to utilize their support ticketing feature to track issues and enhancements for the *forms Local Agent.

Earlier today we released a new version of the *forms Local Agent (v1.0.9), which included a number of fixes to a variety of issues that have been discovered since the release of version 1.0.8. None of those issues have been publicly documented, however, so there was no simple way to identify what was included in the new release. By utilizing the support tickets available on the Assembla site, we hope to be able to both link the version number that resolves a ticket to the ticket and link the list of resolved ticket numbers to the version. This way, when we release a new version in the future, we can include with the announcement a list of tickets that have been resolved in the new version.

The only drawback that we can see at this point to this new procedure is that it only applies to the Open Source elements of the infrastructure, which are all of the external components such as the *forms Local Agent and all of the various *form Loaders. It would be inappropriate to start using this facility to track tickets related to the splatforms.com web site itself, or for tickets related to *form Tasks maintained by third-party developers. This means that there will ultimately be multiple locations for issues and feature requests related to the entire operation, but that will only become an issue when we actually have another mechanism to track such information for the proprietary aspects of the service. Since we don’t having anything serving that purpose for the moment, it really isn’t an issue at all at this point.

Like everything else around here, it’s an evolving process, so things may change over time, but we’re going to try this out for a while and see how it goes.

While we’re on the subject, we’d like to thank the folks at Assembla for the service that they provide. As we said in the beginning, we’ve only really used the Subversion repository at this point, but we’ve never had any problems with it and it always seems to be up and available. We don’t really have enough experience with the ticketing system to make any kind of judgment about it just yet, but again, we’ve never had any problems with it and it looks as if it will suit our needs just fine.

Over 300 Active Social Bookmarking and Networking Web Sites

Posted on December 20, 2010
Filed Under Splatforms | 11 Comments | Share this post via splatforms.com

Last month, we published a list of the target web sites that we had accumulated up to that point, with a promise to go back and update the list on occasion, as it always seems to be evolving as time goes on. After giving that idea some thought, it now seems like the more appropriate strategy is to just open up a window into the target site database and let people see it live. This not only gives people access to the latest information, but it also saves us the trouble of having to publish the list every so often, so it seems like this would make things better for everyone all the way around.

So, without further ado, here is the link to the live look at our active target web site list:


Whenever we get around to cleaning up the home page and getting things ready for prime time, we’ll put some kind of link to this page on the site somewhere, but for now, we just wanted to toss that link out there somewhere for those that were interested.

One thing that you may notice is that the “Sign up” link is not present for every entry. The link to the registration page is a relatively new data point that we just started collecting recently, so most of the entries do not have that little piece of data just yet. We’re working on filling in those missing pieces as time permits, but for now, some will have it, and most will not. Anything that we add from this point on will definitely have it, but the older entries will just have to get caught up as we get to them.

And as always, if you see anything missing or that you think should be added to the list, please feel free to leave us a comment or some feedback and let us know — thanks!

Auto submit to over 100 sites for free

Posted on December 7, 2010
Filed Under Splatforms | 11 Comments | Share this post via splatforms.com

Although we have plenty of other things to do in order to wrap up development of the site and call it production-ready, we have been spending quite a bit of time building Tasks lately, and we now have over 100 Tasks in the portfolio for the Link *form alone. When you couple that with the *form Loader for WordPress, as we do with this very blog, the simple act of posting an entry to the blog automatically submits a link to that entry to more than 100 target web sites the moment that you click on that publish button. The results of that auto submission process can be found on the plugin’s Settings page:

The *form Loader: WP settings page tracks the auto submission details

Of course, not everyone will find value in every site available, but that’s why we keep adding stuff to the pile. Using the Preferences tab, you can pick out the ones that you like and leave the rest. And we’ll keep piling on as time permits. And since we’ve opened up the Task development process to third-party developers, anyone else who wants to pile on is always welcome to join the party as well!

Anatomy of a Splatforms Task

Posted on December 2, 2010
Filed Under Splatforms | 6 Comments | Share this post via splatforms.com

The concept behind splatforms.com is pretty simple, really: you fill out a simple form, either manually or with the help of some kind of automated assistance, and then we take that form data and do all kinds of “stuff” with it. That “stuff” that is done using that data gets done by running Tasks. While the underlying infrastructure is the heart and soul of the splatforms.com operation, it is the individual Tasks that actually provide the value. Without the individual Tasks, the underlying infrastructure is just useless plumbing without a purpose.

But what, exactly, is a Task? Conceptually, a Task is the sheet music that dictates the way in which the various steps will be orchestrated to accomplish a specific goal. Tasks have names like “Post an Event on your Google calendar” or “Share a Link on Plurk.” They are created to do one specific thing, for one specific kind of *form, on one specific target web site. Physically, a Task is a collection of properties that defines what is to be accomplished, and how it is to be accomplished. It is the “rules” for getting one thing done. When you set up your preferences, you pick and choose from all of the available Tasks to create a complete list of all of the things that you want done whenever you submit a certain kind of *form. From then on, you fill out the *form once, and then all of the stuff that you have selected gets done.

A Task has three basic components: 1) general information about the Task, 2) a list of one or more “steps” that will be carried out to complete the Task, and 3) for every step, a list of one or more evaluations that will be used to determine the outcome of each step after it has been carried out by the *forms Local Agent. A Task can be represented in XML, such as this simple one-step Task to post a link on Tumblr:

<task id="26">
  <name>Post Link as Tumblr blog entry</name>
  <description>Posts your link to Tumblr as a blog entry</description>
  <author id="37">jtasker</author>
  <type id="l" code="link">Link</type>
  <site id="12" code="tumblr">Tumblr</site>
  <created>2010-08-05 23:51:21</created>
  <lastUpdated>2010-08-06 09:39:34</lastUpdated>
    <step number="1">
generator=Tumblr Link Post by Joe Tasker via splatforms.com

        <eval number="1">
        <eval number="2">
        <eval number="3">

This Task has one step, and that step has three evaluations that take place, which in this particular case all happen to look at the HTTP Response Code for specific values as laid out in the Tumblr API. Every Task is unique, but they are based on the same basic structure, made up of the basic definition, the steps, and the evaluation criteria for each step. Because we have opened up the Task creation process to Third-party developers, virtually anyone can create a Task of their own choosing and add it to pile.

Maybe you’d like to give it a try!

« go backkeep looking »