So I’ve been expecting to run into the limitations of a RDBMS for a while. For example, in my models a Person and an Organization only have one image related for each one. But I’ve recently run into a person, Charles Knight and an organization Phthisis Diagnostics which each turn out to have two accounts on the YouNoodle site with different logo images. Therefore the YouNoodle indexer was constantly reporting that a change had been made “
1 person updated. 1 organization updated.” because the images had differing urls! For Phthisis Diagnostics both logos where the same image, so I started putting in a detector to see if there was a difference, and then to use the differing image. But Charles actually has two different images! So now I am stuck with logic that says “only populate the image if it isn’t already set”, instead of grabbing that extra bit of data because I only have a single column to put an image in!
What’s interesting is that I think what really has happened is that Charles and PHthisis Diagnostics both ran into issues setting up their accounts with YouNoodle, and probably didn’t mean to have two accounts! HighTechCville as a data integrity checker!
I know I could have a link to a table of images, the same way that I do for tags and links. However then soon every column in my RDBMS turns into its’ own table! So it may be time to start looking at some unstructured data sources…. However, I like SQL… And I hopefully don’t lose all the power of SQL when I move to a unstructured datastore….
Any suggestions on Rails friendly NoSQL solutions?
The good news is that the first iPhone user of HTC has been spotted. The bad news is that they stumbled quite quickly over a page that didn’t properly support the iPhone, so they got an error message while attempting to look up a profile. 😦
I’ve looked at the error messages, and have fixed those pages, mostly involving looking at tags, to show up properly!
Just wanted to update folks that if you had previously asked for a profile to be removed, and it didn’t disappear, the caching bug was fixed. So those profiles are removed. Also, I’ve tested the removal process, and it is working smoothly now. Of course, I am always sorry to lose someone!
I am also starting to think about how to programmatically remove someone if they no longer live in Charlottesville. Any ideas? One thought was to check the data I index against the original sources, and if it has changed, and is no longer available, then remove it… Remove everything about someone, would indicate to remove them from HTC as no longer living here….
You know you are getting traction when the Big Guy joins in… I’ll be keeping a eye on when Google indexes HTC again and see if the results start picking up the hCard data listed for each person and organization.
Here is what I am currently saying:
HighTechCville is a website that attempts to aggregate in a single website information about people, organizations related to “high tech” industries in the Charlottesville, Virginia geographical area. HighTechCville attempts to facilitate the connections between people and organizations to support the growth of technology related businesses and therefore the quality of life in Charlottesville.
HighTechCville is also a research project focusing on enabling the 3.0 Web. Where Web 1.0 was a read only environment with people visiting sites for information, and Web 2.0 was the Read/Write web, with people blogging, instant messenger, Facebook, HighTechCville attempts to investigate if Web 3.0 is the Read/Write/Share web. Where data from multiple sources is easily combined and reused in new unforeseen ways.
So what do you think? Help me improve my elevator pitch!