Unfortunately, and unlike a QR code, the data is not encoded in the drawing itself, which means an Internet connection is always needed. For URL sharing the Internet connection requirement is not so much of a problem (you'd always need that connection for browsing to the URL, unless it's a local or data URL), for everything else it may be.
Also, once the Meshtag service goes down or closes for good, all tags become impossible to read, which pretty much puts me off of using this for any permanent purposes. I suppose it will also have to deal with copyright infringement issues (and there would need to be a mechanism for submitting DMCA notices), but don't take my word for it. Related: it's easier to censor.
Whether these disadvantages are enough to make up for the fact that the codes can be drawn by hand, and can expire, only time can tell.
By the way, if this could be made to use squares instead of triangles, I guess it would be easier to draw on grid paper.
> Unfortunately, and unlike a QR code, the data is not encoded in the drawing itself.
Obviously, there is data in the drawing. Just that data is a symbol which is resolved through some proprietary app, which maintains the association in a private database where it is subject to expiry and such.
Just some third party has to develop an independent app to open up access to the data in the drawing and use it outside of the original system.
There might not be enough data in the drawing for it to satsify the same use cases as QR codes.
For private labeling, it could be good enough.
For private labeling, though, I'd prefer something that just scans alphanumeric labels, and not some silly triangles. I don't want to rack my brain inventing a triangle code for my Lady Diana collectible #153 that is different from those which I tacked onto 1 through 152. :)
I know this, and one can think of it as the numbers encoded in a plain old EAN-13 barcode. But as with these barcodes, the numbers by themselves don't usually have any meaning, they are just the key of a key-value pair. In this case the key-value database is in the Meshtag servers.
Like you said, the "raw numbers" can still be useful for small-scale labeling, but once you are at the point where you're just using the drawing to record a simple ID, it may be just easier to write the ID alphanumerically and have the computer OCR it or even just type it by hand (with a checksum digit, this can be more practical and effective than having to deal with camera scanners - "oh where is that app again/where did I leave my phone again...").
there could be much more data if you did a scribble, and it could translate to some specific data that could be useful (to stop by a third party number or code that doesn't mean anything by itself. is only useful to promote the cloud or to represent large amounts of data)
> once the Meshtag service goes down or closes for good, all tags become impossible to read
That is my concern as well. Also, what problem does meshtag solve? Why wouldn't I just use QR codes? I mean meshtag is neat and all, but seems like a novetly to me.
Very true. And I steered away from squares due to the "swastika effect". Also because the information is slightly more dense with a system based on triangles - 6 bits at a given vertex versus 4 bits.
Ha, you got me for a second. The bits aren't "stored" inside the vertex, but in the segments: It would be like saying that the space between bits "{0,1} {0,1}" contains 2 bits of information, and that we could encode more compactly by disposing bits around a circle, hence maximizing the number of bits in the center space. So given a triangular/square grid, the number of traceable segments is what matters (and that's where the ink goes too.)
I agree that triangles look a lot better than squares (to the point that the "swastika effect" is indeed a problem, even though the drawings are generated by a human, and not randomly.) However, they are also very hard to draw properly.
To recover the QR code decentralization, have you tried to encode data inside your triangular grid? You would loose the "drawable" property (due to the size), but the result would still look more interesting than the pixel junk of QR codes (and you could enforce "connectivity" for aesthetic and error correction.)
'Maxicode' uses a hexagonal pattern to encode the data - it's probably how this idea would evolve if you wanted to store the data in the pattern itself:
if that's true then it doesn't really solve anything. The other obvious issue is how people are going to remember complex shapes like that. What about using a combination of 3 basic shapes instead (triangle,square,circle).
Yet the idea is still quite interesting. The OP is definitely on something here.
I'm less worried about the requirement for an internet connection than I am about the single point of failure. When the centralised service goes down, all your tags are useless squiggles.
Sure, but you have to admit that history is littered with things like this where they still died anyway. Can you not see how people could have concerns over this?
(I've commented elsewhere on this page BTW; I don't think the fact these are valid concerns makes it inherently bad ...)
I suppose you could rework this to actually encode the message in the shape much like a qr code. You could do it by having the first 9 characters be done by just moving around the 3 sides of the triangle, then the next set would have a dot in the middle, and then the next set would have a line through the middle, etc. You could then write that line-by-line or in a spiral or something.
Neat to think about though. And, unlike QR codes they look sufficiently sci-fi.
That is a huge problem. A better solution would have been an app which takes a url and shows a sketch of triangles or squares which the user can then write out. Such an app could work offline as well.
This is nothing more than a (pointlessly!) complex URL shortener... Meshtags are exactly equivalent to the following hypothetical service which I call "SuperNumericShortener":
1. Pick any random number, say 1234. This is your identifier.
2. Register this identifier and your URL at SuperNumericShortener.com
3. Write "SNS-1234" anywhere you want.
4. Install a fancy smartphone app that can take a picture of a writing and recognize "SNS-1234".
That's it. Oh and you can pay to reserve short identifiers (since they are likely to be claimed by other users of the service).
And for some reason meshtags use triangular shapes instead of numbers. Maybe it makes the concept look fancier than what it really is. Or maybe the author thought it would be easier to recognize a meshtag than detecting the shape "SNS" and do OCR to extract the following identifier? Either way, "SNS-1234" is easier to memorize, faster to draw, can be communicated in writing and speech. All advantages that meshtags lack.
Edit: here is something I would really want: in my Android Chrome address bar, next to the microphone icon, I want a camera icon that lets me snap a picture of a written URL, and opens it directly. No obscure QR code, meshtag, or whatever.
Google Goggles will open up a written URL just from a picture. For handwritten ones I think it just has to be really legible but for printed ones it works easily.
It's a confusing solution for a problem that does not exist, which is how to use a pen to draw readable shapes, a problem many of us learned how to solve in elementary school.[0]
Sorry, but the problem is how to use a pen to draw machine readable shapes. Machines find reading QR codes and OP's triangles easier than reading letters.
If you wrote numbers or letters as precisely as the triangles are drawn in the example, I doubt computers would have much of a problem reading them. We've got fast algorithms for digit classification that are pretty much perfect on the MNIST dataset with just 0.21% error (and I'm pretty sure there are errors in the dataset itself, which brings the real error rate down). MNIST is an easy image recognition task compared to others but it's not done with clearly written numbers.
Machine-readable codes also have space-efficient error correction built in, something that plain text does not support. A text label can become unusable with the loss of a single character.
Only if the code has no error correction built in. If the code is presented to the user to write down it's perfectly possible to have redundancy in the code.
Morse code, alpha bravo charlie, ASCII... there's actually a long history of doing this. Maybe not one meant for easy of memorization and drawing though. Even Mark Whatney had to be taught Morse code on Mars.
(Yes the phonetic alphabet is meant for ease of hearing by people, but writing a program to understand 26 distinct sounds can't be nearly as hard as natural language transcription.)
Thought I'd clarify generally a little bit. QR codes definitely have a lot of advantages over Meshtag - and they're perfect for what they do. I'm by no means suggesting this could "replace" QR codes.
Where Meshtag fits in is that it's aimed at users and not companies. I think a large reason most people don't scan QR codes is because they assume they're just trying to sell you something. But if you saw a meshtag that somebody drew on a wall somewhere, wouldn't you be curious?
Also, thanks for all the feedback! I have dreamed of being on hacker news since I started coming here. Any UI/UX designers in the Boston area, hit me up if you want to get involved!
Actually, when I see MeshTags I assume "they're" just trying to sell me an cumbersome url shortening serivce.
By the way, the assumption that people don't/won't use QR codes is wrong. Here's one example: Chinese associate QR codes with product information (ex.: scanning a code on a bottle of soda).
Many people don't use QR codes but I think your assumption (QR codes will evermore be perceived as commercials) is totally off base.
Even though everyone else is talking about this as an impractical solution, I think it's clever at least.
I don't know that I would ever use it, but I like the novel concept of it. If this was just a for-fun kind of project, I'd think it was pretty awesome. If you're trying to market it as a business, you're going to run into all the problems everyone else has already mentioned.
Yes, I think people are missing the point. It's not like the author is proposing an IETF standard or claiming this fixes some inherent problem with URLs. It's a novelty and is aesthetically pleasing.
I could see someone making stuff on Etsy stitching/drawing this in as a signature that links to their homepage.
Sam, Cool stuff. I get what you're doing here, but from these comments I think QR code reference really throws people off. While comparing to QR might explain how it works, I would do my best to position this as nothing like QR codes (and highlight use cases that make it unique from QR) to avoid the comparison.
This. All the concerns first parent raised (SPOF, etc) are valid ones, but that doesn't mean the service is inherently bad, and I'd hate Sam to take all this as a completely negative response. It just suits a different use. I get that it's aimed at people who want to hand draw the symbols, and that's pretty cool.
Thanks! I think you're right, I'm going to get rid of the QR code reference in the landing page headline. Maybe just 'Hand-drawn, scannable web links'. I will then have an FAQ box that says 'How is this different than a QR code?' where I list a lot of the feedback I got from this thread.
Agreed. There's still no easy way to get from physical to digital.
Be sure to focus on the problem you are solving. Show how many mediums can be used as well to solve the problem. (chalk, toothpicks, box of pencils, bricks etc.) Maybe even one page dedicated to each use case. (retailers, restaurants, street performers, celeb events, app unlock codes, etc)
some other thoughts:
How can I get someone walking by my restaurant/store who has a question or is looking for more info to interact with my website and get today's coupon?
Be sure to allow camera photos/screenshots to be used via app. If I can scan a tag i see in a video or on a page then that's one more use case.
Your tag is simple enough, can I draw it myself in your app if it doesn't scan, or correct it if its unrecognizable? Knowing I can sketch it manually in your app might avoid some frustration.
Maybe reach out to some snapchat star and brainstorm innovative use cases you can highlight (xyz was here etc?)
good luck!
Yeah, if only modern humans had a rich, widely understood, system for presenting strings of data visually, which we spend millions of dollars each year teaching everyone we can, and which is already a pre-requisite for using 95% of all online media.
If the problem is machine recognition of handwriting, the Graffiti alphabet is both human readable and writable and easy enough for a 32MHz 68030-ish CPU to recognize in realtime.
Graffiti is recognized by observing the strokes (direction, turns, etc) as it is drawn, with each pen lift/touch marking the characters. This is quite a different problem from doing OCR on it in a photograph, where you can (hopefully) see the shapes, but you do not know where the strokes began and ended.
> No. Unlike QR codes, meshtags of any color on any background can be scanned. There just needs to be enough contrast between the meshtag and its background, and the background must be a solid color.
qr codes can be any color, just need to have enough contrast, also depending on the redundancy level of it you can actually omit a significant fraction of the qr code and still have it scan
You are right. However, I think most scanners only scan dark QR codes on light backgrounds, which is not the case with Meshtag. You can draw on chalkboards, pavement, etc.
Damn, whole lot of hate in these comments. Chill out guys, nobody's trying to kill QR codes here.
samfpetersen, you made a cool thing. Expiration of small tags is an interesting way to solve the landgrab problem. I think these would be fun to use and I hope I see some around.
All the snarky and negative comments on anything that gets created here is really turning me off. Been using HN for a long time, but it might be time to move on.
OT On snarky and negative comments: you haven't seen habrahabr.ru, a site that fills the niche of HN for Russian speakers almost exactly and is sort of most respected here in tech. It has good articles and often publishes Russian translations of top HN items with about a week's delay. AND it feels like you're walking into a prison cell full of uncivilized criminals cursing at each other when you get to the comments.
I agree, it's the best I've seen on the internet. Still, I wonder if it would do any good if the site admins would post some kind of civility reminder every month or so, to remind people what good conduct looks like - with examples.
I don't really get why I'd use a Meshtag over a QR code.
Pretty much everyone has a QR reader already, whereas this requires people to download a new app (for no real gain on their part either). It also requires them to have an internet connection, which for any thing other than a URL, is really not necessary.
The problem it says it's trying to solve, making them drawable, isn't really a problem at all. I've never wanted/needed to draw a QR code, that's what we have text for.
> I don't really get why I'd use a Meshtag over a QR code.
They look cooler. QR codes are obviously computer readable nonsense. Many have complained about how ugly QR codes are. This is a nicer looking alternative.
That said, your criticisms are valid. Meshtags probably aren't going to replace QR codes, but they may inspire a nicer replacement.
I think everyone here who's pointing out that this is equivalent to a link shortener is missing something: the majority of QR codes in existence right now... are encodings of link-shortener URLs.
There's a big difference between QR codes ("Quick Response") - which I agree are mostly encodings of links and shortened links - and Data Matrix encodings of generic data. Both look like black and white squares, and can often be read by smartphones.
Either way, you make a valid point!
(As an aside, I don't know how many QR codes are out there, but for one of my products we're intending to print 10^8 data matrix codes this year, of which there'll be perhaps 1000 batches, i.e. only 1000 different codes.)
This is cool, though as said in the other comments, it's unfortunate that the readability of the codes are tied to the availability of the service, like a URL shortener, i.e., not very mesh.
Did you do much research onto the actual "serialization format" of the tags? Aesthetically they are nice, but I wonder how deep the rabbit hole goes for drawable-but-not-necessarily-human-readable dense formats, which is a slightly different utility function than regular written languages. I imagine there's some overlap with the psychology of memorizing passwords which are opaque semantically, but still need to be remembered.
I much prefer QR Codes as there is nothing to buy and their embedded data makes them standalone. Meshtags seem more like a graphical version of bitly or tinyurl.
I think a lot of people are missing the point here.
What we basically have is a pictograph URL shortener. This may be complex from the computer side, but from a human side, this could be vastly simpler.
E.g:
- Draw a Triforce and go to Nintendos Zelda page.
- Draw a big triangle, with a line across the top to make a mountain, and go to some page about Everest or something.
And since it's the segments that matter, the possibilities are endless, spokes of a bike wheel, a pizza, pacman, airplane. It also easier to remember than a url, and if your memory is a bit fuzzy, just start drawing and you can figure out if it looks funny.
hey, this is wonderful. it would be great if street painters adopted this to communicate with their audience. i would love to go into a tunnels with cool street paintings and scan these signs and get access to playlists, videos and messages that the painter wants us to visit. these cool triangles could become symbols of an underground movement if promoted in these communities.
"Small meshtags have lifespans that depend on their complexity. A simple tag might only last for a week, while a more complex one might last for 6 months or a year. Very complex tags will never expire. This prevents the simple tags from being used up." So the mantra is, i guess, make it complex. Also leave it to the imagination of a street painter, i am sure they will make art out of it.
As a tag system, this doesn't seem to have any advantages compared to QR codes, and it has several disadvantages (central authority, possible conflict, only encodes the key rather than the direct value).
However, this system does have an advantage for other purposes: those where the ability to reproduce it from memory is important. QR codes aren't memorizable; meshtags seem more so. Consider how many people prefer Android swipe-unlock patterns rather than PINs or passwords. Many people have good spatial memories, much more so than their memory for arbitrary strings. You could use this in cases where the property of being able to reproduce this from memory is important. Figure out how many bits of entropy this can represent, create and document a perfect 1:1 mapping between meshtags and an encoding, and target use cases QR codes can't handle.
For that matter, how robust is this against minor errors, and how high-resolution can you make it and still reliably resolve it? Can you pack this more densely than a QR code and still reliably read it? If so, you've got something particularly interesting.
I've never in my life wanted to draw a bar code or QR.. Also I can hand-write a URL which both a human and OCR can read. So this all seems pointless.. outside of it possibly being a fun exercise to par take in.
After playing with your app for a while, I have following feedback:
1. It could be some kind of niche fun, for example in case of urban/alternate/augmented reality games.
2. Drawing properly recognized tags requires significant skill - about 30% of my drawings weren't recognized at all.
3. Some kind of scanning-progress-bar or other indicator wold be helpful for impatient users :)
Taking into account points 2 and 3, it would be beneficial to improve users onboarding if you think about mass adoption.
> and solves a lot of the problems with QR codes. Not just the hand-drawable-ness
Who is trying to hand-draw QR codes? Why would you need/want to hand draw a QR code? The aesthetic thing for me is just a personal preference. I don't see how meshtags solve any problem that isn't already solved.
It adds one huge problem -- there is no central authority I need to rely on for QR codes. My QR codes can't get sold out from under me to someone with more money, as these can.
That's the same disadvantage with a URL. If you just wrote "whatever.com" the main problem is that you probably don't want to go to whatever.com, but some child page. But the main reason the child page isn't it's own site (like "whatever-child.com") is because you'd have to buy a new domain or go through some registration mechanism to make it act like that.
But if you're willing to pay and register, why wouldn't you just write the URL of the site you paid for and registered? Not only is it writable, but it's human readable and type-able, too...
So the big advantage is that it's probably cheaper, (and maybe splashy and fun.) And unless these get popular, nobody is going to know what it is, so you have to write "Go to www.meshtag.com and download meshtag so that you can see our message!" Which is a bit like hiding your product in someone else's store.
(But that's probably why I'm an unimaginative cynical clod.)
As for monetization, I figured why the hell not. If somebody really wants to buy a simple meshtag that they can memorize and reuse (maybe it has their contact info), I'm not gonna stop them :). This isn't really a moneymaking scheme, this is a side project and my first Android/iOS app.
As for anonymity, it's anonymous to other users. If you deselect the anonymous checkbox when editing the tag, other users will see your name, and that's it
Please don't think I'm criticizing on your choice of monetization. Making money to continue doing what you like is a pretty big cornerstone here at HN :)
So this is a program that can analyze an image for a structured drawing, encode it as a unique bit-stream, and translate that bit-stream into a URL.
I can very easily draw "https://goo.gl/e0aeeD" on a chalkboard. Android users could use Google Goggles to grab the text without typing it in, and paste the URL into Chrome. If I had to, I could leave off the "https://" part, and it could still work.
I get how it's easier to process the triangle-based image into a usable bit-stream than it is to do OCR, but how does that make things easier for the user?
So, even though this is kind of fake (it’s more like a hand-drawn UPC barcode alternative), a real hand-drawn QR-code alternative is something I’ve been thinking about doing for a while. In particular, I was thinking that matrix parity codes like the ones schoen at the EFF discovered in printer dots https://w2.eff.org/Privacy/printers/docucolor/ would be an ECC that’s practical to compute by hand, and then you could draw ECC-correctable matrix barcodes with a pencil.
I really like this - I think it would be an awesome way for people in cities to leave ephemeral easter eggs with chalk on a brick wall, for instance. Just because a lot of folks don't see the business value or purely technical use doesn't mean it's not awesome.
Or maybe make a meshtag scavenger hunt, with each tag leading to the next clue. Sure, you could do it with a QR code, but these look cooler, are ephemeral by nature, and have more of a fun feel to them.
The image processing code was probably really fun to write, too. Kudos on a really awesome project.
A problem I see with this is recognition. A QR code can be printed onto a piece of paper with no further information attached, and even some less-techy people will know what to do with it, because it's clearly a QR code. These drawings are pretty ambiguous, and unless it catches on with the less-techy crowd you'd have to add an attached note "Go download the Meshtag app to read this!", which would probably not happen too often.
They are however, much prettier than regular QR codes. :)
Has anyone tried anything like this, but instead of posting the information associated with the tag in a private database, to post that info into the Bitcoin Blockchain?
I think this is a great idea. I'm surprised to see so many negative feedback. To me the great thing about it compared to a QR code is that you can draw it by hand which also means you can cheaply make it as big as you need it.
The aspect that it depends on a central service make it less dependable than an QR code and I'm wondering if this could be fixed. Still, I think it's a really interesting idea.
QR codes and such I imagine will fade as more applications support live OCR. Its only a matter of time before phones will ship with the native app using text detection to make hyperlinks clickable from the camera app. There's already text grabber and the like on iOS/Android. This seems like a stop-gap. It's cool but I just can't see using it.
"A meshtag is a "drawable barcode" that you can create
by drawing straight line segments at 6 different angles."
I count only three angles. The entire grid can be constructed via a series of parallel lines extending infinintely: one horizontal, one diagonal left, one diagonal right. There aren't any other angles.
This could be useful for dead-drop style communications. Should be easier for two people to memorize how to draw a reasonably complex shape than an arbitrary string of bits, numbers, or letters. If you can do that there's no risk of leaking the drop location: just draw it, scan it to check the drop, then destroy the drawing.
If the system was namespaced, it'd be even better -- essentially make Meshtag just the translation layer (drawing to id), and then pass that identifier into any backend you like.
I would only be interested in the retrieval of the raw data of a meshtag. It's of course smaller than the shortened url. I always wanted to make a simple method to mark my handwritten notes, scan them, then the scanned pages "organize themselves" by the hand drawn tag (in this case meshtag) at the top right corner.
Yes, they are extremely useful if you actually need to pull data off a physical object. We use them at all of our conferences to scan badges. I embedded a reader into a web page, so my coworkers can just open a web page on their tablets, and they have a fully working system that can scan a QR code from a badge to log attendance at sessions, or assist people on the fly, without having to send people over to the registration desks for help with scheduling or other questions.
That is just one use - but anywhere that you see a barcode, a QR code would serve the same purpose. Really, that is all a QR code is - a fancier barcode.
You may be thinking of the marketing gimmicks where when you scan a code, an embedded URL is opened. That use case does feel gimmickky. But that is not their most practical use.
Well, it kinda does show that you've never used QR codes, otherwise you'd know that all of this is pretty much handled by the app. Which means:
No need to store the hi-res pictures of bar codes; no need to load up camera ap, as that's handled by the QR code app; no need to load up the browser, since a small embedded one appears to open the link, as a rule.
That said, yeah, it's 100% a gimmick. I have only seen one or two problems for which QR codes really made sense, and none of them included scanning a URL with your phone.
In Hungary the train company sells home printable tickets and they use QR code to ID it. I think it's weirdly encoded, maybe even encrypted somehow. You don't have to print it though, you can just open it in your phone than the ticket control scans it with their own phone and in-house app.
As for personal use, I don't really know. Storing your larger bitcoin wallet on paper could be reasonable.
WeChat (A very popular communication app, ~550 million active users) uses QR codes as a way to add contacts. The app will display a QR code and people you have just met can scan the code to send a friend request. People use this feature quite a bit. It saves time over ensuring that the other party is typing your name correctly.
QR codes are things that techies think non-techies actually use. "Grandpa doesn't want to type in some URL, he just wants to scan an image and be taken there!" Then marketing gets involved asking for the QR code that the techies told them "everyone uses" and its now a requirement on all posters and advertising materials. Now here we are.
Personally, I think this really cool and hope it sticks around for awhile. If I saw meshtag graffiti, I would absolutely scan it, and that's the kind of use that's exciting to me. Awesome stuff!
How many bits can it encode? I bet not many.
And I bet it is far easier to just write down two or three characters like "Am3" or "IX8" and use OCR to extract the information.
I think it's a mix of QR code plus Microsoft Tag. Tag suffers from the problem of requiring an internet connection but they do provide stats on how many people scanned the tag.
This is really neat! It does seem like it is much more prone to error than QR codes, though. Would a meshtag that is rotated 120 degrees represent the same one or a different one?
Have you heard of elian script? This reminds me a bit of it. Also, elian script is fairly easy to write once you get the hang of it, if you were very good at it it could be faster than the latin alphabet, as it takes less movements per character.
I used Google+ so that you wouldn't need to create a user id / password. Each tag that you create is "owned" by you, and you probably wouldn't want other people to edit it (though there is an option to "unlock" a tag so that they can). It doesn't user your Google+ info, it's just for verification
For creation and updating, I can see why you would want to authenticate and authorize users, but there should should still be a way to have the app go into a read only state if all I want to do is scan.
As people have pointed out, this tag is reliant on the service operating. What about using Bitcoin's blockchain to store URLs/bytes? Make the tag a digest of a public key. Physical and digital graffiti.
Also, once the Meshtag service goes down or closes for good, all tags become impossible to read, which pretty much puts me off of using this for any permanent purposes. I suppose it will also have to deal with copyright infringement issues (and there would need to be a mechanism for submitting DMCA notices), but don't take my word for it. Related: it's easier to censor.
Whether these disadvantages are enough to make up for the fact that the codes can be drawn by hand, and can expire, only time can tell.
By the way, if this could be made to use squares instead of triangles, I guess it would be easier to draw on grid paper.