top | item 17146451

Show HN: Wired-elements – UI web components with a hand drawn, sketchy look

650 points| shihn | 7 years ago |wiredjs.com | reply

120 comments

order
[+] shihn|7 years ago|reply
After working on http://roughjs.com/ I thought it would be interesting to create common sketchy UI components that worked like actual controls. Web components seemed liked the obvious tech for that. So, yeah, here's wired-elements.
[+] njx|7 years ago|reply
Great job!. What is it based on Canvas or SVG? I had in my initial version of https://www.mockuptiger.com built sketchy components using Canvas. It was interesting and fun.
[+] asdsa5325|7 years ago|reply
Looks nice, but I have a bug: The sliders don't work properly, when trying to move them they will always start back at 0. (I'm using Firefox 60).
[+] mirimir|7 years ago|reply
Also on Firefox (in Debian). It's not exactly that the slider starts at zero. It's that, when you grab it, the starting position becomes a pointer offset. You can set it wherever you like, accounting for the offset. It reminds me of capture failure in VMs.
[+] hestefisk|7 years ago|reply
Same on iOS. Otherwise great job! I can easily see his being used for rapid prototyping so give clients the feel that the UI is not set. Would be good to use the awesome font at the front as actual font face in text controls. Or perhaps some fixed width / typewriter font.
[+] 0x445442|7 years ago|reply
Reminds of the Napkin look and feel for Java Swing apps. I worked on a project where we only demoed the Napkin L&F to our customers until we were feature complete.

The idea was to keep them focused on functionality.

[+] spking|7 years ago|reply
This is fantastic! Very useful to get a concept into the browser and hopefully minimize clients focusing on visual design preferences too early in the process.
[+] jedberg|7 years ago|reply
I hadn't thought of this, but this is an excellent point! You can use this to make a functional mockup for a client/boss/whomever, and by using these they will completely ignore all styling and focus on the functionality.

Heck, I'm even thinking of using it now when we launch a beta, to get the users to focus on the functionality instead of the design. My only fear is that they will want to keep the design!

[+] DonHopkins|7 years ago|reply
We did that with The Sims. The programmers would sketch up stuff in Microsoft Paint as ugly as possible, to make it clear that it was just placeholder art:

https://i.imgur.com/4yh7Bqt.jpg

https://i.imgur.com/oMbtAL3.jpg

Q: Were these screenshots taken when you were working at EA/Maxis?

A: Yes, these have placeholder "programmer art" that looks really shitty on purpose, so nobody mistakes them for final artwork!

Q: I thought as much; also noticed the 'Live' 'Buy' and 'Build' mode placeholder text on the UI ;)

It's harder to make ugly stuff in 3dsmax, so we had to make it inexplicable instead. Things tended to get weird when we were doing things like testing the 3D sprite exporter animations. I am at a loss to explain this, other than it's an experiment in post-transmogrification texture mapping...

https://i.imgur.com/gmLNaBu.jpg

You could place "spores" on the ground that would grow into big Mona Lisa Mushrooms!

Before that, I also used the same "programmer art" approach for some demos I made at Kaleida, when I didn't have an art department at my disposal to do my bidding, but knew just enough Photoshop and Director to be a danger to myself and others. (Some of it literally looked like shit and smelled like stinky cheese that made people scream!)

https://medium.com/@donhopkins/1995-apple-world-wide-develop...

>To make any sense of this, you should realize that it’s live improvisational performance programming art. The graphical and audio artwork are just ugly placeholder “programmer art”. The references to “great content” are laughably ironic!

>I didn’t have an art department at my disposal, and I have terrible graphics design skills, but I didn’t let that stop me, because that wasn’t the point!

>The art is in how it works and what it does and how I use it, not how it looks or sounds.

>It was meant to inspire ScriptX developers as well as myself, and it led to me to later develop iLoci and MediaGraph.

[+] swyx|7 years ago|reply
i started working on a react clone of wired from a few months ago - kinda dont have time to continue on it but if anyone wants to take over please do: https://github.com/sw-yx/react-wired

also preet's designer tool is very very very usable: https://wiredjs.github.io/designer/ basically a free balsamiq!

[+] spankalee|7 years ago|reply
These are web components and work fine within React already.

We shouldn't need to port every interesting UI component to every single framework anymore.

[+] dmix|7 years ago|reply
Strange, that designer link doesn't load in Firefox Nightly, with this error:

    Loading failed for the <script> with source “https://wiredjs.github.io/designer/bower_components/webcomponentsjs/webcomponents-hi-sd.js”.
But it works fine in Chrome. Regardless, it looks really useful but still very much beta. It could be a decent Mockingbird replacement if you could save the documents and export them as PDF/png. Plus it needs way more components.
[+] sandGorgon|7 years ago|reply
damn! that designer looks good. I would pay for something good here.
[+] shihn|7 years ago|reply
I must add that designer may not quite work anymore. Haha. Will get back to it at some point :)
[+] placebo|7 years ago|reply
I like it. The thing that I'm asking myself now is why do I like it (and other "humanized" drawings) ? I've always preferred accuracy over ambiguity, clean minimization over unnecessary clutter, shouldn't I prefer clean straight lines over something a human can draw on a sheet of paper? I'd never want to read a book written in human handwriting, so why is this appealing to me? Is it perhaps because the lack of optimization of the diagram contrasts and brings out the simplicity of the idea being conveyed? I could bring up some theories but can't say for sure.
[+] jen729w|7 years ago|reply
Personal anecdote alert. Last year at work I had to design some process diagrams. I enjoy this sort of thing, but I was finding it very hard to get past that initial hurdle.

I found, by accident I think, Visio’s ‘hand-drawn’ template - and everything changed. Suddenly my nit-picky perfectionist mind could get past the fact that these diagrams, which I was in the process of drafting, weren’t perfect. The edges didn’t align, the connecting lines weren’t all on exactly the same horizontal, the boxes weren’t all exactly the same width.

I’m not kidding, I finished it within an hour. When it was done, I switched back to ‘square boxes and round circles’ mode, lined everything up, and was done.

It was a revelation.

[+] zimpenfish|7 years ago|reply
> I'd never want to read a book written in human handwriting

Try Alfred Wainwright's guides - he not only hand-illustrated but hand-wrote and hand-justified his books.

http://wainwrightguides.co.uk/

[+] mygo|7 years ago|reply
> I'd never want to read a book written in human handwriting

well, fwiw, the randomness/uniqueness of the elements help to give them their hand-drawn feel, and the font on this link does not contain that randomness. All letters look the same everywhere. And the line height is constant and so are the vertical positions. It’s more like a stylized font than handwriting. And it’s actually quite a game / readable stylized font. It’s not as fast as the more mechanical / typewritten fonts that are prevalent, but it’s still an comfortable read.

Anyways maybe it’s the same reason we tend to prefer a human voice giving us directions over a robot voice

[+] Vinnl|7 years ago|reply
That's brilliant! One suggestion I have is to prevent rerendering when changing states, e.g. when checking a checkbox, draw a checkmark without changing the shape of the actual box it's in, or when selecting a dropdown item, to not change the edges of the dropdown even if the label displayed in it changes. Probably a lot more work though :)
[+] Diggsey|7 years ago|reply
Each component should generate a random seed on construction, and use that same seed for its entire lifetime.
[+] rhyneav|7 years ago|reply
This is amazing, I love the sketched feel to it. I started an open source project in the fall, PaperCSS, that’s in the same category as wiredJS. PaperCSS is like if someone quickly drew the page with a marker, whereas this is as if someone sketched it all with a pencil. Happy to see less clean lines on the internet :)

http://github.com/papercss/papercss

[+] ai_ia|7 years ago|reply
Really nice project. Not sure what's the use case but good fun project. Will use someday. :)
[+] maccio92|7 years ago|reply
the balsamiq wireframing software is stylized like this, and i think it suits the wireframing context very nicely https://balsamiq.com/

that's just one specific use case, but it's one where i think this sketchy style fits really nicely with the context

[+] shihn|7 years ago|reply
Yep. It was mostly done for fun. I can see it being a tool for wire-framing or interactive mockups.
[+] hinkley|7 years ago|reply
I tried to build an svg and web component app about three years ago and just had a devil of a time with compatibility. Are web components a thing again? I sure hope so.
[+] shihn|7 years ago|reply
Mostly there. Firefox still needs a polyfill and some issues working with react
[+] Walkman|7 years ago|reply
What is the use-case for this? I read and agree that writing HTML or JavaScript is too costly for wireframes and this is why wireframe tools are handy, because you can cheaply sketch out plans or ideas. But this is in JS, so "drawing" with this would be costly.

I can see that it can be used for the fun look, but other than that, what's the point of this framework?

[+] ctrl-j|7 years ago|reply
I work for an organization that nitpicks about how things look instead of actual functionality.

I've taken to style things like this because it helps them remember "this is just a placeholder" and focus on the actual application logic.

My sketchy stuff isn't as polished as this, but if this is just drop-in, it could be useful.

[+] csomar|7 years ago|reply
For the checkbox: Every time you click on the same one, the image changes. How do you achieve this apparent randomness?
[+] shihn|7 years ago|reply
The shapes are calculated with randomness at every render. i.e. it's not a single image that I turn on or off. It calculates and draws it every time it changes.
[+] YorkshireSeason|7 years ago|reply
I wonder if there's something comparable for LaTeX / Beamer. That would be very useful for my presentations.
[+] donmatito|7 years ago|reply
I am not a designer but THIS IS SO AWESOME
[+] acobster|7 years ago|reply
This is really rad! It's fun just to refresh a couple times and see the randomness at work. Nice job!