A Whopping 33Mb!

Cross-posted from the Particls blog.

It looks as though Lex’s Comment, might be right! It turns out that Touchstone might soon completely evaporate. Thanks to Google and a few Windows API websites I have discovered a nifty little way to address the memory consumption concerns that many of our alpha tester’s have raised.

As the above screenshot shows, I cut the memory footprint by a little over 90%. That’s right 90%!

I know this seems like an otherwise pointless blog entry, but my ulterior motive is to demonstrate our dedication to active response to feedback given to us by our testers. In case your not already aware, emailing chris@touchstonegadget.com is what you need to do if you want to play with the alpha, now 90% fat free! Well…next update anyway.

Show Me Yours & I'll Show You Mine

Cross-posted from the Particls blog.

In the past few days we have had a number of VIP’s get their hands on the Limited Alpha. One of these people reported that importing his OPML file failed!

We were a little agasp at this because we have imported basicaly every OPML file we could get our hands on – and they all worked fine (well, except for the one Chris broke – but he breaks everything).

I decided the only way I was going to be able to determine what caused the bug is by checking out the contents of the offending OPML file. Which means, asking for it!

At this point, I was a desperate man. And to be honest we (both) were pretty uncomfortable asking someone for their OPML file/s. In my eyes, it’s kind of like asking someone how much money they earn. It’s just not cricket!

But knowing there was no alternative we had to bite the bullet… and ask. Lucky for us, the person in question kindly obliged. And as yet, hasn’t ram raided our houses – which is a good sign. 😉

The whole experience has got me thinking about the Syndication Security Concerns. After all, if OPML becomes what we all feel it should then a person’s OPML file/s are sacred. It’s important for developers, publishers and especially marketing people to respect the sanctity of a user’s OPML. People found a way to bastardise email (spam anyone?) and it’s important to keep this in the focus while the “Syndication Revolution” gathers speed.

I’m not trying to sully the innocence of RSS before it becomes a mainstream communication technology, nor do I even offer any constructive suggestions. I only offer the thought that I think it’s a perfect opportunity for us (as ‘sort-of-early’ adopters) try to keep our eyes on security for the user – to come up with measures to safe-guard people and their ‘lord –of-the-rings-precious’ Attention data.

Automatic Update – Yeah!

Cross-posted from the Particls blog.

I got the auto update library and executable working tonight for the (currently somewhat unstable) “experimental” build of Touchstone. It’s well overdue because our little application is getting quite complex now and laying in new features can be a tricky process. Now we have a mechanism to automatically and non-invasively update users with new versions – making adoption and user updates quick, seamless and easy.

Now perhaps Chris won’t kick my ass so hard when a Private Alpha release starts throwing those ugly “object not set to reference of an object” exceptions.

Now all I need to write is a program which automatically updates the blog for me, and I’ll be right!

A Review of Touchstone

Cross-posted from the Particls blog.

Over the past couple of months we have really been working hard to polish the “TouchStone User Experience”. We have received many bug reports (oh my! the duplicates!). But one, deserved special mention. It reads more like a review – and we love reviews:

So I grab a copy of the alpha.

And I have to tell you, this looks good.

First, a disclaimer: I’m not a heavy rss user. I don’t use blogs (often), I do use rss feeds but not an unmanageable amount. My Google homepage can quite happily manage all the data I need to see. The downside of this is that I have to click to home to view my feeds. Obviously, I could use a third party solution, but none of them ever really ‘worked’ for me (too intrusive, too limiting, too much). Of course, using tabbed browsing means a self-refreshing google homepage can be left in the background at any rate (everyone uses Firefox or Opera, right? RIGHT?).

So let’s say I’m a ‘casual’ rss user, and not one of these people who has millions of blogs to manage. I’m probably not the best person to stress-test something like this.

Nonetheless, I have plenty to say about this gadget.

The Touchstone ticker looks ‘right’. It looks like a slick bit of software; it loads quickly and is immediately functional. You know someone’s spent a bit of time working on the look – and it slips into a docking position at the top of my second monitor like it was meant to be there. I have all my ‘internet’ stuff on one monitor, which means that clicking a touchstone link invariably just means looking below the bar to see what I wanted to see. If anything else, this is probably an advertisement for having two monitors, but I digress. The mouseover effect to view extended information is excellent, if a little slow at times: obviously grabbing header data for a whole bunch of feeds can be a little time consuming – I wondered here if there was any caching facility for these feeds, so that information once grabbed doesn’t need to be grabbed again. Not being a developer, I am most likely barking up the wrong tree 🙂

The second major bit of cool is the setup dialog. It’s mostly icons; and I’m in two minds about this. The icons themselves are extremely pretty and once understood, very obvious. Once you’ve got the ‘lingo’ (does Touchstone use common feed/blog parlance? I wouldn’t know, to be honest) you can see exactly how this thing works. However: I am a huge fan of threaded lists, and while the icon-based system is entirely worthy, I can’t help wondering how much easier it could be for the casual user if you had all your options in front of you, ready to be selected from a thread. Again, I’m no usability expert, but it’s something I noticed.

Also, a minimize button for the main dialog would probably not go astray. People get used to windows functioning in certain ways (I, for instance, like that many programs now offer the option to minimize direct to system tray – as with as touchstone – rather than the taskbar,), and getting rid of the minimize button, while making the dialog a whole lot ‘prettier’, does limit usability.

Here be my creative criticism. The software looks fantastic; highly scalable and thouroughly well programmed. I wish you guys the best of luck with it: keep sending me the alphas! I’m looking forward to system tray and mouse alerts – and the content ranking system should be awesome, if the work done so far is any indication.

Good luck again!


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.