Docking is not just for Ships

Cross-posted from the Particls blog.

Another serious development session was held yesterday (once again Mike joined us to help control the ticker docking behavior in all its C# craziness.) and I have to say the outcome was amazing. Certainly far more productive then we initially believed – this new version actually compiles now – always a good sign.

This all brings us another step closer to Limited Alpha.

Trac informs us that we only have a handful of tickets left before we can release a sneak peek of TouchStone to special people.

Most of the work being done now is focused on usability polishing. Since the beginning we have always been highly focused on the idea that the way Touchstone behaves (and makes the user ‘feel’) is as important – if not more – than what it can actually do. Chris tells me, this is more important then buying a 360.

In addition, the memory footprint has been reduced even further!

I Think Therefore "I-AM"

Cross-posted from the Particls blog.

“I-AM” who I know.
“I-AM” what I read.
“I-AM” where I am.
“I-AM” how I work.
“I-AM” me.

During a huge Australian Summer Storm on the 8th (and the subsequent black-out), Chris and I took the down-time to fine tune and clarify some of the details about the TouchStone Attention Engine. It wasn’t like we were going to code anything.During this conversation, Chris mentioned that TouchStone embodied Intuitive Attention Management or “I-AM”. This initially was just a rather fancy nickname for the “How-Important-Is-It-Parser”, but the trouble is (despite my previous directives about what he was and wasn’t allowed to call the parsers) – I loved the name.After arguing/talking about ways of defining and encapsulating the essence of what a user does and doesn’t want to be notified about, we settled on the idea that each and every item generated by a source (be it RSS or other), has a given relevance to the user at any given time. This relevance is based on a number of internal and external factors.

By defining, naming and weighting these sources it’s possible to give each item an ‘importance value’ and then allow the user to define alert types based on value thresholds.Further, we decided, we could encapsulate this functionality its own library so that other developers and their software can tap into its power. The result is we take a source item, it’s content, it’s source, the author/publisher, key concepts/tags and apply pre-defined global and user defined “rules”. By biasing (positively or negatively) the final importance value, we can begin tuning the user experience based on relevancy.After we fleshed out the specific details on how we would accomplish this, I-AM was born. An external class library with the methods by which we should be able to determine, intuitively, the value of a piece of content to a given user. The result of this calculation should be an ‘importance’ value that is attached to an item moving through the Touchstone system. This value is then used to determine the way in which an alert is presented (i.e. level of user interruption).

I love diagrams!All values involved (we decided) should be from -5 to 5. A negative value being a vote against the relevancy of that item for the user. 1 being the least import, and 5 being the most. With a growing number of Meme Engines out there, it is clear that there is an ongoing effort to try and reduce the RSS Overload and help content rise to the top.

In essence, I-AM might be a personalized Meme engine that any feed reader could use to place a value of importance on content coming in from a user’s OPML file (for example). It is then up to the news reader to determine how to act on that value for a great user experience.I-AM is not intended to replace the existing attention ranking and suggesting methodologies, but merely to enhance the user’s ability to sort and control the flow of syndicated content on the client side.

Plus it has an awesome name – don’t you agree?

Time for a Moment of Honesty

Cross-posted from the Particls blog.

Chris doesn’t much like it when I get all DNM because I tend to force brute honesty from every orifice of my body, but release 3 of the private alpha, is … well, highly experimental.

Yes, the transit system is flash and fast, but the BagItAndTagItParser seems think that a dropped item due to cache is a failed ‘item injection’ – Bah! I am getting the bugs out slowly, but we are making significant progress. Momentum is growing and (so far) it’s having a positive effect on the project.

Michael has sort of become our unofficial C# and XML consultant; building a few little classes to extend our libraries. He is also extremely adept at spotting the objects I have created, but not initialised, catching those god forsaken object exceptions .NET keeps throwing in my face.

Private Alpha Release 3 (and the impending Limited Alpha) is getting there slowly!

Ahem! Items-in-transit

Cross-posted from the Particls blog.

Sorry for the overly contemptuous nature of this post, but I simply must emphasise the erroneousness of Chris’ last blog. He, being so caught up with his “buzzwords” (obviously a symptom of his self-diagnosed “dependency on metaphorical crutches“) that he totally understated just how much the revamp of the “items-in-transit” model has improved the TouchStone Attention Engine and API 😉

What I am sure he meant to say was:
We have completely replaced and re-engineered the entire array handling methods of the core. We replaced the visualisation array with a powerful collection of item objects, and collected these together, extending the standard .NET collection class to handle specific scenarios for the needs of the TouchStone Item Cache and the Visualisation Widgets. This not only increases the overall efficiency of the core, but means future innovation implemented with a minimum of code changes.

The new system allowed us to eliminate HUNDREDS of lines of code, and more clearly abstract the various moving parts of TouchStone – something both of us are always working to do. This new mechanism (it’s currently being debugged now) should also allow greater opportunities to expand and clean the current code, which should assist us greatly in releasing the limited alpha sooner then expected.
Oh and go Ariel!

The Would-be Yeti

Cross-posted from the Particls blog.

Just an update on my previous post about us approaching the public alpha. Good news! I managed to get the touchstone memory footprint from 50mb to 13mb (much more respectful). I guess this means people won’t want to stone me to death when they install the alpha! 😉

Integrating User Feedback

Cross-posted from the Particls blog.

Hi everyone, just an update to let you know that we are getting great feedback about the Alpha

As a result, I’ve reworked the entire OPML import feature and it now works a little better. It’s still a little buggy, but in the end, you will be able to track multiple OPML files in-place on your hard-drive (maybe eventually on the web too!) We have also reduced the overall memory footprint (we WERE up to about 50mb footprint!) by optimizing various data structures in the RSS adapter and Attention Engine

Overall, things have been moving much slower then before but the outcome is positive

Since Alex Barnett has visited, we have received a sharp rise of communiqué about TouchStone and the whole thing has been very exciting and encouraging.

Don’t forget, that while the private alpha is technically reserved for the elite few, if you really, really want it – let us know! Oh, and don’t forget to see Chris’ screenshots.

The Registry…Friend or Foe?

Cross-posted from the Particls blog.

Need to establish that u can have more than one OPML file now – an OPML file for your OPML file? I am sitting here with the StormWarden, working on the next release of Touchstone; I can’t help but think about the use of the PC in today’s world. When working on a client-side application – particularly in Windows – the question has to arise – do we use the registry?

As we develop TouchStone, a crucial question we ask ourselves is how do we mine the attention data of the user without sh**ting them to hell? How can multiple attention applications be deployed with a minimum of user configuration?Yes, I know there are a growing number of services on the net that can hold and mane a user’s attention data in the form of OPML or even attention.xml, but what about those who don’t want to post their data for all to see – is a username and password enough? Some privacy junkies may prefer this information to remain local.I wonder if there is enough cause to discuss a common registry key or attention configuration file, where a user’s OPML list can be stored for all a user’s syndication devices to use. Or is it too centralised an option for the avid syndication user?

What's My Server Doing Anyway?

Cross-posted from the Particls blog.

While sitting at my workstation, working away (and listening to Alex Barnett’s PodCast on Attention and OPML) – I realized that my system uptime screensaver for my Windows Server 2003 x64 Edition Server was doing many things I want to know about, behind an otherwise black screensaver.

It got me thinking another PERFECT job for Touchstone.

There are RSS, ATOM feeds and other things going on (such as the current state of my Azureus downloads, sever up time and load etc) and Touchstone provides the ultimate engine to bring these together as a screensaver visualisation!

I can imagine, in the near future, LCD screens scattered around a house, streaming attention information to a person based on their current physical location (if I’m in the kitchen I might want to see feeds related to food and current events, while in my living room, my wall is showing me productivity and work related items).

With the ever decreasing price of LCDs and the power of Touchstone, the on-going effect of an attention engine could be greater then we ever imagined.

The Bandwidth Is Behind The Tomato Sauce

Cross-posted from the Particls blog.

Continuing our current topic of distributed network load sharing (a.k.a Bit Torrent) I was thinking about another way to divert the bandwidth load of syndication feeds even more. It’s possible through the TouchStone architecture to develop a syndication adapter which, by using a centralised tracking server, spreads the load of syndication feeds across other TouchStone clients. This method is quite handy, because it actually moves the data off the web servers completely. Obviously the idea needs fleshing out, and we’re not about to integrate it ourselves (unless someone else wants in and wants to do it), but its handy idea which has a number of useful applications. Also, I was thinking about another fair easier option – shared feeds. An adapter which allows you to share the RSS feeds as your updated, so your buddies can get the feed off you instead of the actual web server. Very exciting stuff.