My Crowdsourced Search Idea: ThereThenTag

ThereThenTag
Mapping Web Addresses to Location, Time, and Tags
August 2016, Draft 1
Copyright 2003–2016 by Daniel Smith. All Rights Reserved
javajoint@gmail.com, @javajoint

Introduction

[I am resurrecting an idea from 2003. It’s a structure for crowdsourced search. There is even a business model to it — bonus!]

Imagine searching by time, location, and tags, where the results have been crowd-sourced. Imagine that creating and viewing searches was easy, via the web, mobile, or in 3D/VR.

A ThereThenTag address provides a simple search link that can be passed around, and the results are curated and structured.

This document suggests a way to add new dimensions to web searching. It is relatively straightforward to map tags, time and space (from the physical world), to everyday web addresses (URLs). The benefit is to be able to get search results based on tags, time, and/or a location, and on a per-domain basis. As two quick examples, it should be possible to do a search which expresses “all of the submitted links from within 500 feet of 51st and Lexington, NYC, within the last 5 days”, or “San Francisco bridge photos”.

A ThereThenTag address expresses Location, Time, and/or Tags, and does not change existing web documents.

The heart of the idea is this: For one or more documents, create an additional URL which specifies a location in longitude/latitude/altitude, a time, and a set of tags. The URL is an alias of sorts, that can be resolved back to an one or more original web resources. There may be many such servers (as there are for Wikis, for example)

The idea is to make these very simple to use, pass around, and create/update (web. mobile, 3D, VR)

Consider:
https://ttt.example.net/37.76825,-122.49333,30/2003-03-19/concert,outdoor

As an additional way of getting to:
https://example.net/SanFrancisco-CA/GoldenGatePark/concerts/polofield.html

The scheme provides a building block which can be exploited by a wide range of tools (current search engines, mapping sites, find pages that are specific to a time in the past OR future). In order to stay true to its goals, it sticks to a strict representation of location, time, and tags, in a specific order.

All ThereThenTag addresses follow a consistent form. An easy mnemonic to remember this is “DOLTT”, which stands for DOmain, Location, Time, and Tags:

https://DOmain/Location/Time/Tags

A shorthand I use to refer to ThereThenTag addresses is “TTT”.

All TTT addresses contain Location and Time components. There are defaults for these components, if the location and/or time information is not available or applicable. The defaults are explained further on in this document.

The location component (i.e. “37.75,-122.45,50.4”) consists of:

latitude — decimal number, such as 37.0 or -30.83887
longitude — same as latitude, a decimal such as -122.1
altitude — decimal number of meters, such as 50.587

All numbers for latitude, longitude, and altitude can use an arbitrary amount of precision. The ‘,’ character is used to separate the fields, and no whitespace is allowed.

The time component (i.e. “1994–11–05T13:15:30Z”) conforms to ISO 8601, as described in http://www.w3.org/TR/NOTE-datetime

The tag component consists of one or more comma separated words. Valid characters are [0–9a-zA-Z_:]

For any component, there needs to be a way of describing “none”, or “any”:
* ‘^’ means “none”
* ‘*’ means “any”

“None” means “nothing was ever specified, such as a time, location, or tag”

“Any” means “we dont care if something was specified, or what it may be if it was”

“None” is more restrictive.

So:

* https://ttt.example.net/37.76825,-122.49333,30/*/bridge means to use the given Location, for any time, with the tag of “bridge”
* https://ttt.example.net/^/2015-11-05/bridge means to ignore location, use a specific date, with the tag of “bridge”

A ThereThenTag address resolves to a search results page. That page might have:

  • the results, along with maps, time/calendar, tag clouds — presented in a minimal interface where the user could drill down
  • very targeted advertising is possible (after all, this could be for a very specific time, location, and set of tags)

Note that many possible TTT servers are a part of this. It is not meant to be centralized, although the servers may certainly refer to each other.

Summary

ThereThenTag addresses are a universally consistent way of referencing a web resource, by domain, space, time, and tags.

Standardization is very important. Tools to exploit the idea cannot succeed if there are incompatible variations. The key thing is to put space, time, and tag information into a URL, and keep it simple. — It should be an open standard, so that anyone can build tools to exploit it.

As far as I can tell, nobody has done this in a way that balances some structure, crowdsourcing, having it distributed, and having an open standard.

I do have in mind a consistent means of providing extensions. “people” is an obvious one, such as /people=@john,@paul,@george,@ringo

Presentation of search results can take a variety of forms, such as:

  • sorted by proximity to the user, sorting by time
  • adding Place Names (such as Berkeley, CA) to a search result.
  • overlaying results on a map, as clickable dots/icons.. the map may have a “time filter” control, so that a user could step through a week/month/year of data, and not have to see everything at once.

Thanks for reading this through, and let me know of any feedback.

Posted in Creative, Futurism, net, Social, web | Tagged , , , | Leave a comment

Recent Video Courses

Learn Learn Learn…

Since my contract wound up (client ran out of money), I decided to go on a learning binge.  I’m looking for work, so of course it will help!

As always, I feel like the front end dev world is a Zoo, or the Wild West, or perhaps a Zoo in the Wild West…  There’s some signs that it’s settling down a tad.   Perhaps not though – perhaps I got less confused about what to pick 🙂

Some advice as a sidebar: if you are still a new developer, here are three things that may guide your choices:  1) you can’t learn everything, so try not to get spread too thin, 2) pick tech that has some mind share, some community to it — if you have questions, you want to know that you have some place to turn for help, and 3) pick tech that is actually being used and currently being developed — for instance, check for the last Github commit…

A bit of what I know now (diagram over on Coggle.it) Or if I am making a quick list of the New Stuff here: NodeJS, ExpressJS, Mongoose, MongoDB, npm, webpack, ES6, React, Redux, and Babel.  Doesn’t mean I have it super wired, but those topics have been my focus.

I doubled, even tripled up on some of the content.  It’s helpful to get the take of different teachers.  The three that I learned the most from are: Wes Bos, Stephen Grider, and Wes Higbee.  A great aspect to all of these videos is that they are split up very well.  I think almost every nugget is under 10 minutes.

A hat tip to some others that I follow on YouTube:  LearnCode.academy, LevelUpTuts, and of course funfunfunction (mpj)

Learning Path: Node for Frontend Developers – Wes Higbee

This is a long, sweeping course you can get on Safari Books Online.  Wes starts with Node, and the idea of managing Chat Rooms.  He gradually introduces NPM, Express, live server reloading, package.json particulars, middleware, MongoDB, Passport, Mongoose, etc.  It’s a lot.   Wes (as in Higbee, not Wes Bos) is partial to the WebStorm editor, and he illustrates the built-in debugging features of it.  That part is cool, but I’m pretty hardcore on Sublime – wondering what’s good to use as a debugger in that case.

[if you are wondering who to choose between Lynda.com and Safari Books Online, I give the nod to Safari]

 

Modern React with Redux – Stephen Grider

This is a great intro to React, Redux and you’ll learn about some ES6 as well.  Stephen likes to refer to diagrams (via Balsamiq) to illustrate some concepts before/while diving into code, and that really helps.  He also shows how to integrate 3rd party APIs, such as Google Maps and YouTube.  Also good to check out Stephen’s Rally Coding site for more videos.

 

Advanced React and Redux – Stephen Grider

This is the followup to Stephen’s “Modern React” course, and I am most of the way through it.  He does a good job of introducing Mocha (testing framework) and Chai (assertion lib for testing).  He gets into client and server side authentication, storage into MongoDB, middleware, higher order components (composition), and much else.

 

React For Beginners – Wes Bos

Wes Bos is a faster paced speaker than many (and some of it is the editing… more pauses would be good), but the examples and the way things are laid out are great.  He leads through the creation of an inventory app for ordering fish – it focuses on React, JSX, passing props around, ES6 modules, and the use of Firebase to persist storage.  This was my first intro to React, and I like that it was so well focused.

 

Learn Redux – Wes Bos

This is the followup to React For Beginners, and really gets into the use of Redux (the ideas of global state, creating actions and reducers,  etc).  The app, “Reduxstagram” is a simple clone of Instagram, and is non-trivial.   You should definitely have a handle on React by itself before taking on this one.

 

ES6 for Everyone – Wes Bos

This course really focuses on JavaScript, the language, and does not veer much into React or Node territory.  It’s a great dive into all of the new ES6 functionality, and you should also expect to learn a bit about Babel, modules, ESLint, and WebPack.

If I had to suggest an order for learning all of this, it would be:

  • ES6 first.  Good to get this under your belt, because elements of it crop up in all of the other videos
  • Wes Higbee’s Node.js course on Safari.  This is a solid server side (there is some html produced via Jade, but that’s not the focus) course that will get you going on Node, using some of that ES6 you just learned, thinking about authentication, routing, understanding promises, communication with MongoDB (Native, or via Mongoose), and Express.  There is so much here that comes up, or gets alluded to, in the other courses
  • The beginning React course from either Grider or Bos.  They have different styles, and I am not going to express a preference.  Bos is faster paced, but Grider sketches out a bit more theory.
  • The advanced React + Redux course from either Grider or Bos.  Different styles.  I like both.  Grider’s course is 12 hours, much longer, and covers more about authentication (client and server sides).  Bos has more of quick 2.5 hour self-contained Instagram clone that is fast paced.

 

Posted in programming, tech | Tagged , , , , , , , , | Leave a comment

Hello Again!

Holiday in Kekeland

Posted in Uncategorized | Leave a comment

Digital Sanity, Part 1: On Leaving Facebook…

TL;DR – There are too many tradeoffs for me to keep using Facebook as a personal account, so I am going to close it.  I’d rather focus on using Twitter and other services.

A little history: I’ve been on the Internet and its predecessors for over 30 years, and have had the pleasure of working on the AOL.Com and Friendster teams.  I received my first email in 1981, and I recall using my Atari 400 to dial up to a BBS before that.  I have a wee bit of insight as to how things were, and how they got to be now…

I’ve been frowning more and more lately, when I think of online privacy and security.  We all have a comfort zone of which tradeoffs we’re willing to make to be online.  There are great things there:  Friends!  Retail!  Media!  If we’re willing to give up much of our privacy and security, and be tracked relentlessly by third parties of third parties, then sure, the Internet is a digital wonderland.

But at some point, it’s good to look up, say “time out!”, take a deep breath, and think about “how did I get here?  Why am I letting Facebook and others track so much of my life?  Do I really trust these people to do the right thing with my data?”

I’ve been thinking of leaving Facebook for a long time.  The thing that would make me stay is “well, I have friends there….”  However, I have many of those same friends over on Twitter.   There hasn’t been any one tipping point, but I would say the NYTimes Article: Let Me Pay For Facebook helped cement my decision.

I will close my main personal Facebook account soon.  I simply dont trust Facebook to do the right thing.  They continually mess with their privacy settings, and they don’t respect my choices (i.e. the newsfeed reading order).  I don’t want data about me being sold to third parties, which will in turn make its way to third parties of third parties.  That turns into ad targeting, text messages, spam emails, etc.  Does Facebook do much to give me a warm and fuzzy feeling about my data?  Nope.

Tim Cook recently gave a speech about Privacy and Security, and made reference to companies such as Facebook and Google:

“They’re gobbling up everything they can learn about you and trying to monetize it. We think that’s wrong. And it’s not the kind of company that Apple wants to be”  — Tim Cook

Not that I trust iCloud much either, but that’s another topic.  Of the social media services I use, I perceive Facebook as the least trustworthy, so ixnay to the facenay!

I will write more about this whole idea of “Digital Sanity” in the coming weeks.  It’s not as if I’ve traipsed off to conspiracy theory land.  It’s more of a feeling of “what have I given up in the last 20 years, do I feel comfy with that, and what do I get in return?”

 

Posted in blog, net, Privacy, Social | Comments Off on Digital Sanity, Part 1: On Leaving Facebook…

2015

Happy New Year!  Ohhhh… a resolution post.

Bucky_DerailedBar

 

Real Quick Recap

I suppose I could feel embarrassed about not doing more of my 2014 resolutions.  I did a few things well: took the ferry once a week, kept creating virtual photography, learned a lot of programming stuff, kept refining what I want to do in WebGL (and how my idea for ThereThen addresses fits into it) and kept up with my guitar.  There were some big things (move to a bigger space I can use as a studio, and travel) I didn’t do.  Moment of shame.

Continue reading

Posted in blog, Creative, Technical | Comments Off on 2015

I’m Back / Year End

Almost bye to 2014!

Some quick stuff…

I look back at my resolutions, and I did some of them.  I kinda feel sheepish that I didn’t do others (I didn’t move, and I didn’t keep up with my blog or other creative posts, and I didn’t do the social stuff I wanted)

It was a decent year, work-wise.  Stitcher.com was great, up till about October.  The company was sold, and the contractors were forever told “wait for the dust to settle”.  It turned out to be a lot of dust, and I am doing something different now.

The whole idea of being tracked all over the web (Facebook, Google) has really been turning me off.  I have not decided what I will do about Facebook, but I have switched my search engine to DuckDuckGo.com

I do finally have an idea of what I want to work towards, and it’s a bit of of Creative Technologist.  I want to orient my programming / dev stuff more towards WebGL, and I also want to become very conversant with more of the digital creative folks (PhotoShop, Maya/Blender, Premiere, Ableton).  It doesn’t mean I can be an expert at them, but it I do want to be able to explore creatively, and be able to have the high level sense of how it all fits together.

More to say soon – shaking off my writing rust.

Posted in blog, Creative | Comments Off on I’m Back / Year End

Goal: A Cross Country Drive

cross-country-zig-zag

In my 2014 Resolutions Post, I said:

And, of course, I have my social/creative trip idea: I would love to drive cross country, and meet up with a different friend for dinner each night. It would take me to all sorts of spots off the beaten path, and would be a cool touchstone each day — to meet folks I’ve only known online, and to visit with some people I haven’t seen in a while. I’d love it!

… and I am serious about that. I really want to drive cross country, meet friends, take a lot of pictures, and experience some sides of America that would be missed by merely sticking to the Interstate for 3500 miles…

Why And What?

Travel brings perspective. Getting in a car and driving it is more connected than flying. Getting off the main roads and seeing one of a kind places is even better. My hunch is that touching base with a lot of people along the way is better still. I sure know many online, and I imagine it would take me into the Real America; not just the sanitized freeway version of it.

I’ve seen enough Big Box stores and McDonalds to last a lifetime. This trip ain’t about that.

I want to take a lot of pictures, write a bit, and perhaps solve some common tech problems for people along the way (“my computer is acting funny…”). And I want to build on some friendships, meet new people, and get all kinds of crazy perspectives.

A unifying theme would be: how does the Online Life of people I know compare to the one in the world of the Real? We all have our online personas and expression.. Facebook, Reddit, Second LIfe, etc. Heck, I am on Ferry to San Francisco as I write this, and there’s 200 people delving into their online selves. I am no Social Anthropologist, but obviously this is quite different than 10 or 20 years ago. How is it different, outside the Tech Bubble of the SF Bay Area?

One could say that with so much Mobile in the last 5 years, that the lines of Virtual and Real are increasingly blurred. Yeah, of course there is some escape into a phone or tablet, but there is plenty that is unique to where you live (I hope so!). That’s what I find interesting, and that’s what I want to see and capture in photos.

Will anyone care as to what I snap and write? I don’t know, and actually that does not influence my desire to do it. Well, if you want to fund this I suppose I care a bit… I have a good history of doing Virtual Photography, and average over 500 views a day with that. I do that for myself, but other people seem to like it. I think that passion starts with wanting to do something because it makes one happy. If it’s done well, then other people take notice. I don’t think it works the other way around (“oh!? others like this? Gee, I think I will develop a passion for it!”)

So I am serious about wanting to do this trip. I had a glimpse of the possibilities when driving cross country in 2005. I’ll do it as part of my own journey, and any audience for it is a cool bonus.
Potholes

  • money – hey, how am I going to pay for this? I don’t know yet. Yes I am aware of obligations, and no, I cant expect the trip to pay for itself. Can I do it semi-cheaply? Sure… gas and where to stay (motels, not so much B&B’s) will be the biggest costs. Can I work along the way? Yep, but I would not do that to the point where I am merely driving and sleeping. What would be the point?
  • car – omg I don’t have a car! I’ll figure it out.
  • the cat – what to do with Dylan… I dont think I want to schlep him around in a car for 2-3 weeks straight. I’ll figure it out.
  • film – ha ha – just seeing if you are paying attention. I suppose I could pretend I would be racking up $20 a day of 1990’s film and processing charges. A few days of that pays for a lot of memory.. problem solved.
  • route – this is an interesting one.. I have a basic idea of who I will visit (and they know.. there will be no surprises like that ) I expect the route will be somewhere between the most direct and efficient, and crazy zig-zag. I would love to keep this under 3 weeks. My naive idea is to make a large circuit, coast to coast, up and around and back…
  • when – well, I cant do this until I get the other problems sorted, and I do need a bit of coordinating time with friends. It wont be till late Spring, at the earliest.

Advice?

I know some folks who have done the cross country drive solo.. my own father did it a few times before I was born. Let me know of any tips!

Posted in blog, Social | Comments Off on Goal: A Cross Country Drive

Ahoy, It’s 2014

One of my resolutions has been.. to post my resolutions…

2013 was a tough year, and I am glad for the fresh start (and new job). I could dwell on why last year sucked so much (being out of work, hurt badly by someone, having to move when the place I was living in went up for sale…), but, new years are for new beginnings.

And of course, January 1 is an arbitrary day. We can start afresh at any time.

I used to have the attitude of “I’ll make resolutions as I think of them”. It’s a good goal, but something about the Occasion of a New Year gives things more.. hmm.. weight?

And of course, posting some resolutions gives me more incentive to follow through. Any of you could hit me up and say “Are you bench pressing 700 pounds yet”, and I’ll say “whoa there cowboy! You have me confused with someone else”. But yeah, you can ask me about anything I post here. Keep me focused.

People

I’ve been soooo bad at keeping up with friendships.  I am better at it online, and can say I’m close to people all over the world. But… it’s not balanced, and I need to reconnect with some old friends locally. Waves at them.. hey you!

  • host a dinner once a month
  • get out at least once every two weeks to go do something with friends

Hosting implies I am going to move to some place where I can do that, and that’s another goal I will get to…

Creative

Blog – I will post once a week.

Music – You know, I’ve been playing guitar for 30 years, and I sound like I have been playing for one! Ok, not really, perhaps two… I’ll start recording and posting to Soundcloud, or if I am feeling photogenic, perhaps Youtube. I miss my Strat (which I gave to my daughter, what was I thinking?), and my old Fender acoustic cutaway with a pickup. Sheesh, and I miss my old mixer and digital piano..  The first goal is just to get something recorded once a month.

Photography – Most of the photography I do is Virtual. It’s a creative joy to do with friends in SL, and I’m pretty good at it. But… I also get out and about, especially in San Francisco, and will start posting some.  I am wayyyy overdue for a new phone (yes, I have an iPhone 3GS in great shape.. that would be over 4 years old) with a much better camera.

Quality Of Life

It’s pretty easy to get swept up in the routine of being online, or traveling to another place where I can be.. yes.. you guessed it.. back online. Not good. Some of the quality of life thing, to me, means having more variety, and being able to slow down.

  • Take the Ferry to work at least once a week. Indeed, I am writing this on that!
  • Read a book per month
  • Watch a movie per week
  • Go out to a movie per month
  • Lots of walks, both City and Nature

Travel

It feels like forever since I’ve been able to have so much as a weekend trip where I can simply relax. I will do that every other month, starting in February.

I actually have enough frequent flyer miles for a round trip in the US. Hmmm…

And, of course, I have my social/creative trip idea: I would love to drive cross country, and meet up with a different friend for dinner each night.  It would take me to all sorts of spots off the beaten path, and would be a cool touchstone each day — to meet folks I’ve only known online, and to visit with some people I haven’t seen in a while.  I’d love it!

Residence

The definite thing this year is that I want to get a 1 or 2 bedroom place, and get most of my stuff out of storage. I have a great small guest cottage situation right now, but I can’t do it forever – I do need more space, want to have a spot to have people over, and miss some things that have been tucked away in storage for a year. I am aiming for moving to a new place on June 1st.

Posted in blog | Tagged | Comments Off on Ahoy, It’s 2014

A Very Sound City

It’s Not Just Tech…

So many hit records came out of a dumpy studio which happened to have stellar acoustics, and 1 of 4 Neve analog mixing consoles in the world…

“Yes you can do this on your own, but you’ll be a much happier human being, to do it with other human beings, and I can guarantee you that” — Mick Fleetwood

“You still have to have something to do with those tools” —  Trent Reznor

“Be true to yourself, and make music that you love.  Go out and play, turn people on to your music,  spread it yourself.  Don’t think it happens any other way” –Rick Rubin

Sound City & The Human Element

I love well done Documentaries.  Dave Grohl went way beyond mere facts, figures, and history to put together “Sound City”.  Much is said about the creative and human elements of putting together great music, and the interviews of folks such as Tom Petty, Rick Rubin, Stevie Nicks, Lee Ving, Neil Young, and Trent Reznor are spot on.

I very highly recommend Sound City.  It’s very much about the ethos of not trying to get computerized perfection, but to get into a Creative Space and Flow, and to produce art with others (and to embrace the little imperfections that occur anytime Humans play instruments 😉  Jack White had talked about the same themes in his interview with Conan O’Brien

All of this is not to say that tech and computers don’t have a place in Music Production.  They surely do!  But I agree with Dave’s view that they should not overwhelm the process.

Posted in Creative, Film, Music, Social, tech, Technical | Tagged , , , , | Comments Off on A Very Sound City

Create. (Jack White & Conan O’Brien)

It’s a New Year. Create!

So this is a post that’s very much a late New Years Resolution, and is pretty much me telling myself how I am going to get into the state of Hard Work on Creative Things (techy, coding, writing, music, or whatever).

What does it take to turn your creativity into real results? I would say that Jack White and Conan O’Brien have very real, proven insight. They did a great chit chat on the topic, covering a lot of ground about hard work, passion, keeping things simple, and Jack’s obsession with the number 3. Watch this when you have an hour and can Focus… (I know, that F word – don’t go getting all tl;dr on me)

Why this inspires me…

So, ok. Jack and Conan are obviously creative and successful, and I’m struggling to find the creative and tech groove where I can consistently do new work… (I am not talking about the context of employment, per se, I am talking about my drive to get traction on my personal projects).

I think three pillars of achieving some artistic success would be: Creativity, Passion, and Hard Work. Jack encapsulates by saying “I want to create something every day… I cannot wait to catch up to this idea I had 3 weeks ago”.

For me, it’s easy to be Creative.. at least with ideas. I can even be Passionate about wanting to get them implemented. But it doesn’t get me far, because I can suck at follow through. My block is not breaking problems down into small enough chunks (I am talking about playing guitar, or redoing my web site, or revamping my blog, or being consistent with real and virtual photography). When I think of a project as a whole, it’s too easy to get daunted by the size of the task, and to put it off. If I could get paid for hemming and hawing on scratching a creative itch, I’d be rich (or if I could get paid for overloading the mashed potatoes of my thoughts with tons of gravy cliches :)

So one takeaway from Jack’s chit chat would be: Simplicity. In my mind, that translates to “break things down into simple parts, and start working on them one by one”. It also can mean Iteration. I don’t have to tackle my whole web presence in a day, and I can get a creative update done in a series of simple steps….

Which leads me to.. I tend to get all the more Passionate about something when I sense little successes are within reach, and that leads me to Work Harder. It’s a sense of “knowing I am on the right track”. I think there’s the element of a Positive Feedback Loop – to let little achievements be that spark that drives me every day to keep at it.

I resolve to get up earlier and at least chip away at projects every day. My goal is to get into the groove that Conan calls ”hard hard freekin’ work” (but, make no mistake, work that is enjoyable!)

A tip of the hat to where I first saw this on Laughing Squid.

Posted in Creative | Tagged , , , | Comments Off on Create. (Jack White & Conan O’Brien)