[+]Twitter Add to Google! Add to My Yahoo! Subscribe with Bloglines

Archived Posts from “Ideas”

Building User Profiles by Data Mining Browser History Visited Links

09

February

Niall Kennedy has a post[1] on browser history visited link sniffing. By injecting popular links using JavaScript and checking css :visited, he’s able to track where people have been and customize the user experience to suit. It has privacy implications, I can see this being used to build up user profiles without consent and target all sorts of things like phishing and advertising. Having an opt-in system in place to provide this kind of data for sites to use, on a per site basis, could be an interesting use of this data though. If users could be presented with an opt-in option on sites to use this and store this information, it could be useful and possibly bypass privacy concerns, without the need to install anything. Doing so, user profiles could be built up over time, through data-mining those popular links and content then targeted at those users. It does however require data mining potentially popular links in the first place, but should you find a history match, crawling that site for more links and then matching those to users browser history could create a nice usage pattern to mine useful context from.

Apparently this is an old issue, going back to at least 2001. I worry that in all that time XMLHttpRequests will (and are) being used without consent to brute force test a users browser history for visited links, done so while hiding the bandwidth used as a movie or flash is played, etc.

Might be time to start clearing your browsers history, or getting this Firefox plugin[2] if your worried. :)

[1] http://www.niallkennedy.com/blog/2008/02/browser-history-sniff.html
[2] http://www.safehistory.com/


Context Tracking, Personalisation and User Experience

21

December

The New York Times has an article titled Nobody Likes Smart Machines.

Dr. Norman, who the story follows, highlights the problem of predictability that comes as a result of delegation through automating tasks to smart machines that still occasionally require human intervention. They give the example of window blinds that change to suit the weather, the side-effects and resultant feeling of loss of control when your computer screen in the office randomly glares annoyingly back at you. It’s an interesting article that really only covers half the picture.

The conclusion the professor comes to is one many people in the design space probably would. That of making the user experience better by making it more predictable, either by removing functionality or improving control. This is where intelligent design really comes into the fore, but not just intelligent design needs to be considered. Intelligent systems that behave and self-adapt can really shine in this area. The big problem is how to do that effectively so as to account for not one person’s vision of how the world works, but that of many peoples. This is where personalization comes in and what I call object profiles, personalised profiles for objects just like that of the seat in an up-market car that adapts to an individual upon entry.

The key here is context. Maintaining the context of the environment surrounding the intelligent system in order to teach it personal traits and habits.

You can’t explain to your car’s navigation system why you dislike its short, efficient route because the scenery is ugly. Your refrigerator may soon know exactly what food it contains, what you’ve already eaten today and what your calorie limit is, but it won’t be capable of an intelligent dialogue about your need for that piece of cheesecake.

What this fails to account for is Machine Learning, narrow AI and that of the power of context in deriving best outcomes.

By context I mean monitoring everything you do and building a current and future picture of the world based upon past history.

Say you own one of those new fangled fridges that automatically orders the food to be home delivered if you run out of anything. What happens if you decide the next week that you want to go on holiday? How can the fridge know you won’t be needing it’s services until say the day you get home?

By keeping a record of whatever context you find yourself in. For example the online travel site your entering you holiday bookings into… simply give your intelligent appliances access to that knowledge - that’s how.

Big Brother 2020 style.

There has been a lot of focus lately on attention aggregation. Twitter/Facebook activity feeds are a good example of unstructured partial-attention aggregation, yet that only gets you so far. Real augmentation will come when the systems we interact with can change and adapt to our whim. And that my friends, is the power of context tracking in the digital age. Maintaining a dynamic real-time context profile our surrounding can then use - all based on a list of likely probabilities - probabilities then used to predict what augmentation intelligent systems can assist with next.

Information overload is already here. In a world of never ending pop-up boxes, call marketers, Facebook requests, mail you just throw in the bin and systems asking if you want to allow this or disallow that - systems that learn what we want will be needed to manage the never ending pile of relationship management with others and with our surroundings. When your in giving a presentation somewhere you really don’t want your phone ringing or IM window popping up.

Another advantage of these kinds of systems is the automated feedback loop AFL they make possible. This means device interfaces can be improved through historical collection of context, and actual usage patterns based upon factors that include demographics. New market devices may even emerge as a result of how people used these devices rather than how a designer thinks it should be used. Imagine devices that build an interface reputation for ease of use or productivity in different areas. How much easier would shopping for a new device online become? Increasingly we’re purchasing items without ever seeing or using them and more often than not we’re less satisfied with the outcome. An AFL can help minimize that problem.

What’s needed is the ability to delegate intelligently those monotonous tasks and the user experience that was once a burden becomes a boon.

Now you may think this is years away, but it’s happening now. Google augments personalised search based upon search history and your location aka your context. Individual data silos are already using these techniques to serve advertisements. I read recently that Marissa Mayer stated they use the keywords 411GOOG users enter for machine learning and better translation and search results. Games have long personalised themselves to users, even now to the point of detecting when the gamer is getting bored in order to maximize the user experience (and revenue).

It’s cross-silo and ubiquitous networking of dynamic devices that will bring the next wave of personalisation. I look forward to what my future digital self has in store for me there.

On that note, I’m thinking this needs a name… so building on the great work of VRM, I bring you ARM.

Automated Relationship Management. CRM was already taken and everyone can always use another ARM or a leg. :)


Random thoughts on Function-level Type Heirarchies & Life

20

December

I’ve been reading Backus among other things, attempting to grasp the differences between first-order predicate logic, function-level, and variable-level combinatory logic. One area that has stood out for me in reading Backus was the notion that function-level may be more efficient to reason about than the more user-friendly variable-level.

[rant] In some circles I understand function-level is also known as pointfree (or pointless) while the most common variable-level usages appears to be lambda calculus based. Talk about my brain having a lexical meltdown. Reading Backus is bad enough… but trying to understand just what pure functional programming is ain’t easy either when there appears to be no consensus on exactly what that means. [/rant]

Backus goes on after his efficiency claim to discuss the notion of using primitive functions to compose functional forms and type hierarchies from composing those functional forms in succession. This immediately piqued my interest because in the back of my mind it had been nagging me why someone could possibly continue along the function-level line of thought when the mainstream had moved on to the more popular get-things-done lambda calculus way of doing things.

Then something struck me. Something I’ve thought about with regard to intelligence and that of the realm of referential transparency and the way in which we all operate in life. I began to draw parallels between the notion of type hierarchies, atoms, elements, molecules, proteins, enzymes, cells and organisms. The composition of primitive functions into these functional forms. The hierarchies these then build based upon the physical properties (quantum mechanics?) of those primitive functions and the unique ways in which functions may apply to others creating yet more uniquely propertied functional forms. The complexity of properties of these functions meaning some will be more inherently stable than others (potentially the types). That these unique properties could themselves be derived from evolutionary encapsulation. In other words; turtles all the way down.

Months back I set out to model my own theory of encapsulation. Initially known as my Principal of Rational Dynamic Complexity. Later I prefixed Robust. Then after finding that difficult to remember it became the Law of Encapsulation with each of those elements becimong principles. My The Law of Encapsulation states that; for any complex system to evolve in a constrained environment(eg. the earth) it must be dynamic yet rational in order to be robust.

So while others may prefer the variable world of the lambda calculus to get things done today, tomorrow is a new day, one I believe may yet see the rise of function-level. Only your likely to never know it because it will come naturally to you. :P In other words… an interface abstraction. Just as our bodies are for our brains.


Social vs Technical - One distributed problem over two different mediums.

19

December

Jon Udell discusses the idea that technical mastery requires social innovation. While I agree in general I don’t necessarily agree with his final statement that major innovation would require more social than technical. I just don’t believe you can separate the two cleanly yet. It’s still all about how you compose the data with the view(s) and technically I still see a lot of problems in information architecture today that needs solving.

Recent talk by Dave Winer and Tim Bray on what happens to your data and records when you die are the classic example. Data is spattered everywhere, yet there’s a technical solution to that, one that requires a social element as well. I say this as I’m attempting to create my own environment for historical data and innovation. So while the social hurdles are first and foremost in my mind - my user-facing API is defined by that - actually architecting what I consider important elements to achieve my goals, is trying technically. Sure if you have a lot of man hours of a big company it may well be simple to implement but conceptualizing how exactly to implement an entire environment with innovative paradigms, requires a lot of forethought. Usually by one BDFL slaving over that while guiding others to help implement that. eg. Tim Berners-Lee, Guido van Rossum. There’s an excellent talk Fred Brooks gave at OOSPLA07 that talks about innovation I’d highly recommend listening to.

Where Jon asks whether operations are beyond the capabilities of mainstream users I begin to envision a much simpler and more direct approach to how people interact with objects in a system. I always recall a mainstream user testing a web site I’d designed. The number one interaction she responded to - one that guided her into learning new capabilities - happen to be the direct object interactions. Popup’s on hovering menu’s, self-explanatory animated transitions on acting etc, all of these were at the point of object contact. It taught me how important it is to see and learn how to interact with each component and how those can effect others. More importantly how the system integrates and functions to get tasks done. Jon’s screencasts, the CoScripter example, they exemplify this.

I remember my first steps playing with the Self programming language desktop GUI. The ability to inspect objects was fantastic even though the overall user experience was awkward. I think we need more of this interaction if users are to learn new capabilities. Interfaces simply must be object accessible.

Applications today just aren’t built with this in mind and I think the problem is one of default functionality. By default 99% of systems don’t guide people as they use them. There is so little by way of best practices and the advantages they afford because more often than not it’s educated developers doing the implementation.

I think the only way to solve this is to give users the tools do the implementation and customization themselves by lowering the barrier to entry through an object accessible interface. Community driven applications modifiable at the object level comes to mind. Wikipedia is a good example at making information more accessible to the masses, Twine a level up. Why not do the same for application development? The Linden Labs guys also talked at OOPSLA07 that is worth listening to. A large number of scripts were developed by people with little previous programming skill because they could grasp basic constraints to the interface and architecture. If we can create an interface to do this and get tasks done while the hard technical aspects are hidden; great! But technically I don’t believe we’re there yet on a distributed level nor social. The two problems are just too similar.

It’s really one distributed problem over two different mediums.

I couldn’t leave without linking to an interactive application example The Neuron. :)


AWDL - Another Web Description Language

14

March

Alex Barnett asks about Web Description Languages for REST. Below is a simple example of my own interpretation based originally upon WADL, something I worked on and never did anything with some months ago. It follows the philosophy of least amount of validation, user and machine readable documentation and graceful depreciation. I got so far as to consider re-writing it as a microformat before I became lost in the concept that was the HTTP Extensions Framework (PEP).

Now I love the idea of having the ability to query a resource to find method queries with documentation I can use to interact with that resource. It’s here I believe a WDL may come in very useful. I say may because I wonder if resources themselves should have a Resource Description Language instead.

One of the problems I have with PEP is that pointing to some external language as it enables, adds another layer of fragility. It’s resources themselves that need to contain everything required to interact with that resource. Have a listen to Alan Kaye’s talk for a better explanation.

So using REST I would then simply perform a

GET / HTTP/1.1
Accept: xml/rdl
Host: example.com

Whereby something like my AWDL example is returned. It could however be an HTTP Form, microformat or XForm returned.
[xml]

xsi:schemaLocation="http://example.com/awdl awdl.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://example.com/awdl">




Defaults to: all

On Twitter Evolution

13

March

I’ve seen people commenting of their dislike of people using twitter as an instant messaging platform. Meh, let it go, people use technology to fill a need. In twitters case; instant gratification messaging(IGM) or as I like to pronounce it; i-gem. Because it’s all about the users. Me and my comment gems! :)

Feel the urge to scream but don’t want to wake the neighbours? Twitter it.
Just want to share some quick news but don’t think it warrants the effort of email spamming your friends? Twitter it.
Need to take note of an idea that just popped into your head? Twitter it.
Want to build a spam bot? Twitter with it.
Twitter, twitter, twitter it.

But that’s only part of the picture. You see producers and users are also consumers and Twitter can be useful for those who like to track other people and services live via instant messaging alerts or track through aggregation a users past history.

See a twitter you want to comment on? Twitter it using an @username.
See a twitter you find hilarious? Laugh at it. Then star it. (How long will it be before you can send new stars to all your friends?)
See an interesting twitter link? Click on it. Then star it. (One wonders how long tinyurl will stay tiny!)

Now we have a rudimentary bookmarking service and an instant messaging service with offline messaging capabilities. Just add tags and public and private syntax. What about emotions? Emphasis and emoticons… :)
But then how much is too much? After all; cross-platform plain-text communication is what Twitter does best. For that reason at most I can see them adding prefix and suffix syntax. Maybe prefix an exclamation to make a message private, etc.

But wait there’s more to Twitter than meets the eye! As the BBC example has shown, news producers can be pushed through alerts and marketed through Twitter. No reason other marketers won’t do the same, and monetise it. People are also using it to solicit requests for recommendations on products or for advice. So we can add rudimentary user-centric Vendor Relationship Management “personal requests” into the mix. No reason not to place ads next to those and monetise them on site in request and question channels…

I could see people starting to claim things about others on there too, similar to what Jyte is doing now, and it will only take time before there are proper groups you can join to assert your affiliation. Some people are already creating open accounts anyone can post to. Others are creating accounts to aggregate groups of friends together, creating custom nodes for like-minded individuals. Then there’s the band of often hilarious fakesters and fantasy writers pretending to be someone or something else.

But as with any communications service, they quickly draw the attention of fraudsters. I wonder how long it will be before the first widely publicised “incident” occurs from unsavoury types surveying peoples habits. Already there’s a rudimentary GeoTwitter tracking users locations. While I’d like to believe that the more open we are the more that benefits society, at the same time, not everyone is created equal and some will use that to their own benefit.

Which brings me to a conclusion.

Twitter just isn’t there for me yet. Not for the lack of anything mentioned above. But for the identity-less nature of the service. Decentralised, user-centric instant gratification messaging is still maturing but it’s not there yet. Twitter is a great start but I’d like to see something like OpenID Attribute Exchange and extensions made use of.

Let me store my messages, my history, on my own archival service in a way that lets me choose who can have access to it and for how long. With our Lifestreams carrying such personal information, it makes a lot of sense to me that I have the ability to control that and disperse my information through a controlled means of Identity Rights Agreements, with some of that information over secure lines. So much more can then be done with that structured data.

Saying that, I think a Twitter-like service could be the kick starter the SemWeb needs to really go mainstream if we can get a basic syntax people can use happening for structuring everyday tasks.

Afterthought: What Twitter really needs to go even more viral than it already is, is a “track me on twitter” widget users can add to their blog/site for visitors to click on and subscribe to immediately if they already have a Twitter account.

p.s. I thought about twittering just that afterthought… argh! it’s addictive.


Future Computing

25

February

This list is a work in progress.

Current Technology Issues:

Global Network Latency & Bandwidth

  • Real-time Media (Audio/Video)
  • Live Interactive Applications

Reliability

  • Intermittent, Narrow Coverage Connectivity
  • Software Bugs and Programming Practices
  • Power
  • Mother Nature

Scalability

  • Database
  • Multiple Persistent Connection & Session Serving
  • Power Consumption
  • Mother Nature

Parallelism

  • Programming Paradigms
  • Network and hardware architecture

Persistence

  • Historical
  • Metadata
  • Data
  • Identity
  • Reputation

Interoperability

  • Data Formats
  • Application Platforms
  • Hardware Drivers

Security

  • Spam
  • Viruses
  • DoS Attacks
  • Trojans
  • Adware
  • Spyware
  • Access Control
  • Identity Theft

Potential Solutions:

Supercrunchers performing; Grid Computing tasks(federated database, distributed swarming file stores, distributed pub/sub multiple persistent connection messaging, dynamically customisable virtual machines) with low latency geo-spatial network distribution.

Concurrent Pipe-lining Component Programming Frameworks built on top of Supercrunchers, Browsers & OS

Rich, Cross-Platform, Event-Driven, Relational 3D Vector Design Interfaces

Geo-spatial Aware Applications and Devices

Always-on Wireless Connectivity

Safe-band Radioactive Wireless Power Hotspots

Personal & Identity Servers & Reputation Frameworks (Federated)

Fine-grained Personal Data and Service Access Control

Vendor/Personal Relationship Management Applications

Multi Layered, Cross-Platform, Virtual Machine APIs for Web Browsers/Servers aka WebOS 3.0 with Relational Metawrapper Filestore & Web Service API

Live Clipboard for Virtual Machine Widget Instances

'Smart' General Pattern Recognition Memory Systems (Data Mashup/Audio/Video)

Semantic Web

Dynamic Multi-Sensor Object/Screens (eg. electomagnetic field 'feel' feedback and dynamic object morphism)

Biological Machines

Nanobots

Flying cars & Super-humans

Crazy mutant things

Artificial General Intelligence

Singularity


HTTP URI Methods Extension & REST?

21

November

Update: http://www.w3.org/Protocols/PEP/ does what I'm looking for. :)
I'm throwing this half-baked idea out there for some feedback to see how feasible it might be.
It's basically extending HTTP with directional URI-namespace methods. URI specfic methods could be looked up by a client with HTTPs OPTION method. The returned Allow: response then used to determine what API methods can be performed on any particular resource. URI Namespacing them would allow anyone to create their own documented API that could be looked up manually or auto-discovered and documented with crawlers.

Method naming would indicate in which direction messages are passed with just the .POST and .GET (Input/Output) suffixes? doing away with PUT and DELETE and other keyword methods in favour of directional URI name space methods. Stateless producer/consumer.

eg:

Resource Methods Introspection:

Request:

OPTIONS /people/person HTTP/1.1
Host:example.com

Response:

Allow: GET, POST, OPTIONS, xmlns.com/foaf/0.1/Person.GET, xmlns.com/foaf/0.1/Person.name.POST
In this example the foaf:name documentation section of the spec could be returned on sending a GET to the "http://xmlns.com/foaf/0.1/Person.GET" URI. Or the "xmlns.com/foaf/0.1/Person.GET" method could be called on the resource that returned it, for example:

Request:

xmlns.com/foaf/0.1/Person.GET /people/person HTTP/1.1
Host: example.com

Response:

<foaf:Person>

<foaf:name>Craig</foaf:name>
<foaf:homepage rdf:resource="http://example.com/blog/"/>

</foaf:Person>

Say you wanted to update the foaf:name element for http://example.com/people/person you might use a method that looks like this:

Request:

xmlns.com/foaf/0.1/Person.name.update.POST /people/person HTTP/1.1
Host: example.com

<foaf:name>ENDOVER Craig</foaf:name>

Response:

HTTP/1.1 200 OK
Date: Mon, 20 Nov 2006 14:30:17 GMT

<foaf:name>ENDOVER Craig</foaf:name>

Delete a Person like so:

xmlns.com/foaf/0.1/Person.delete.POST /people/person HTTP/1.1

Performing a straight GET on http://example.com/people/person could return an entire blog whereas the foaf:name method call just returns a the blog owners foaf.

Consider other APIs and a different syntax:

microformats.org/URImethods.hCard.FN.POST /people/person HTTP/1.1
microformats.org/URImethods.hCard.URL.POST /people/person HTTP/1.1
w3c.org.SPARQL.1_0.endpoint.GET /people/person HTTP/1.1
w3c.org.OWL.sameAS.GET /people/person HTTP/1.1
w3c.org.OWL.sameAS.POST /people/person HTTP/1.1

Annote the semantic web?

One thought is that GET/POST may not be ideal. eg. Benjamin Carlyle's SENA internet draft comes to mind

Consumer:
soundadvice.id.au.SENA.SUBSCRIBE.POST
soundadvice.id.au.SENA.NOTIFY.GET
soundadvice.id.au.SENA.NOTIFYPATCH.GET
soundadvice.id.au.SENA.EXPIRE.GET

Producer:
soundadvice.id.au.SENA.SUBSCRIBE.GET
soundadvice.id.au.SENA.NOTIFY.POST
soundadvice.id.au.SENA.NOTIFYPATCH.POST
soundadvice.id.au.SENA.EXPIRE.POST

INBOX / OUTBOX may be a better choice?

Consumer:
soundadvice.id.au.SENA.SUBSCRIBE.OUTBOX
soundadvice.id.au.SENA.NOTIFY.INBOX
soundadvice.id.au.SENA.NOTIFYPATCH.INBOX
soundadvice.id.au.SENA.EXPIRE.INBOX

Producer:
soundadvice.id.au.SENA.SUBSCRIBE.INBOX
soundadvice.id.au.SENA.NOTIFY.OUTBOX
soundadvice.id.au.SENA.NOTIFYPATCH.OUTBOX
soundadvice.id.au.SENA.EXPIRE.OUTBOX

This all seems feasilble to me but I'm only just getting my feet wet with HTTP, so feedback would be greatly appreciated.

Craig.


On Office 2.0

11

October

The Office 2.0 Podcast Jam is alive and kicking

I have my own views on Office2.0. I can't see it taking off much until persistent storage is supported locally by all browsers and offline access and document synchronisation is done well. We'll see more Single Page Application's written entirely in Javascript utilising features like Firefox 2's persistent storage as it evolves to perform this task. Possibly in the form of bookmarklets that will allow applications to be run in browser while offline that store to persistent storage - synchronising online during reconnect. Mass usage will come down to when IE supports persistent storage other than this.

Synchronisation to people's favorite storage provider will become increasingly important too. As will APIs in the area that afford interoperability allowing Web Application developers to support one standard to allow many places of storage for users. Even multiple places(e.g. backup) for each piece of data. I can't help but think about Personal Identity Providers here.
I'm actually running RC2 of Firefox 2 at the moment and I have to say it's an improvement over beta 2. Seems quite slick and I finally learnt how to remove those silly close tab buttons. I still can't re-size my search box but in this version it's smaller and easier to manage for my preferred tool bar layout. I'm loving the spell check as I type though! Another Office2.0 feature goes mainstream. I can see this improving language skills exponentially. Unfortunately I chose to install the US version! Not British or Australian.

While I'm on Firefox. I'm still getting used to the scroll tabbing. I don't think I like that. I can't see all my tabs at a glance. Will figure out how to turn that one off as I tend to navigate by favicon when I have a lot of tabs open. Fading non-active tabs sucks as well… I wonder how long it is before I hack the theme. :)
Looking ahead, I see things really getting interesting when my browser begins to become my document manager. Tabbed browsing will become increasingly more important. One feature I'd like for tabs is the ability to open an existing tab in a new browser window instance. At the moment I have to open a new window and then drag the tab to it, refreshing the tab in the process. That sucks when I've downloaded a movie or screencast in it. Basically I want threaded tabs. A separate memory space so as to prevent one in-browser application crashing the lot as happens a lot now… Tab locking too. Preventing accidental closure. One reason why I HATE close buttons on all tabs!


On Comments and Updating Entries

07

October

This entry was prompted by Tim Bray and Dare and the discussion on comment updates.

Now I absolutely hate it when entries appear in my reader as updated when comments are added to them! Even with "Ignore Updates" in bloglines, I still get some showing. I don't have a problem with atom:updated etc, so long as it's not used to push comment additions as updates. Comments should be opt-in. I subscribe to specific authors with my reader, not every joe commenter.

Anyway, should a user opt-in to comments on an entry, here's how I'd like to see that happen:

Opting-in to comment updates opts-in for that entries updates if they've been set to ignore updates for that feed as default. This is because some people comment inside they're own entries and so the reader knows what comments are referring to. While I'm at it, entry updates should have the option to be highlighted in some way in readers so users can quickly distinguish changes.

Now, anytime a new comment comes in, a users reader would then display the entry with; changes highlighted, the number of comments listed, and how many new entries there are in that comment feed. Using the Atom Threading Extension to achieve all this, entries in the reader display something like this:

My Entry Title

My firstsecond entry content.

2 Comments (+Expand) | 1 New (+Expand) | Subscribe(d) to Comments

Entry Comments:

  1. ( ) Julie
    Woot, I popped your comment cherry!
  2. ( ) Joe
    Number 2 - this comment is new.

Select ( ): All, New
Mark these comments as: Ignore, Spam

Add Comment

  • Clicking the total comment number jumps to the actual blog entry at the start of the comments.
  • Clicking "1 New" jumps to the beginning of the new comment on the actual blog entry.
  • Clicking Subscribe alerts a users reader to display this entry as updated when new comments come in or changes happen on the entry.
  • Clicking (+expand) on total comments expands all comments in the area below the entry in the users reader. New comments are highlighted. After expanding, clicking on "1 New" could serve a dual purpose and take you to that new comment in your reader.
  • Additionally/Alternatively clicking (+Expand) after the "1 New" only expands those new comment entries, not existing ones. The news reader could then have default settings for displaying results users subscribe to, only displaying those new comments beneath the entry by default.
  • Users could opt to filter out specific users in comment updates. Don't like a commenter? Filter them by name and address(if they're consistant) on a per entry/per feed basis or globally using a drop down. Add "Report as Spam" and checkboxes next to items. Think "Askimet" for in reader comments. Nearly every comment feed I subscribe to has spam in it at the moment. I need a spam filter on top of their spam filters…
    I can see this same spam or splog marking happening for tag aggregators like technorati in the future.
  • Last of all an "Add Comment" link or text area could then go after the comments to enter them at the site or in the reader.

The beauty of all this to me is that would allow reading and commenting inside of mobile devices easily all from the one interface. I don't know if there are any readers out there as of yet that will let me expand and read comments in my reader and optionally choose to subscribe to updates of those, but thats what I want. The Atom threading extension comes to mind to enable all of this.

While I'm on updated entries, another pet peeve of mine is occasionally when I also get updated entries appearing multiple times in my reader. Doc Searls (radio userland) feeds annoys the hell out of me for that reason the way bloglines handles it. Updates seem to be given new unique ID's and I get repeat but slightly varying updated entries one after the other. That totally bites. End whinge.


Next Page »

Recent Links

Recent Links

-->
Recent Comments
  • Craig Overend: Fixed, thanks Josh. English and explaining myself clearly has never been a strength of mine. Glad you...
  • Josh: Hey, just wanted to point out it should be "you're", as in "you are". Otherwise, wow - very in depth post....
  • Joe Andrieu: Craig, As I've mentioned elsewhere, user-driven is a solid improvement over user-centric, both...
  • Niall Kennedy: Asking the site visitor to opt-in would defeat the purpose in my particular case. I am trying to...
  • Craig Overend: Without qualifying yourself I find that comment facetious. If your playing on my use of the term...