DEV Community

Cover image for Sharing code examples with Carbon

Sharing code examples with Carbon

dAVE Inden on February 20, 2019

I often find myself thinking about the best way to share something like a code example. Gists seem to work well, especially for something more comp...
Collapse
 
itr13 profile image
Mikael Klages • Edited

Though I guess it's based on context, I don't really like images of code, since the text in them can't be selected (not sure if they might also make it harder for blind people using screen readers?).

On the other hand, some websites like twitter don't have support for displaying code, so i can see why it's needed.

Maybe the best would be a combination between gist and carbon, that lets you post both an image and a link to the gist? Or maybe a site that embeds the code as an image in the preview of the link.

Collapse
 
solkimicreb profile image
Miklos Bertalan

This is true. Based on experience Carbon pictures yield a lot higher engagement rate than markdown code snippets or gists though.

I usually use Carbon for cover images and tweets (where I need that click) and stick with real snippets in articles.

Collapse
 
daveskull81 profile image
dAVE Inden

Great points. I will admit that I didn't think about screen readers when I wrote this article which is a whole other issue. It's definitely important to think about the potential audience and how they may need to consume the content. I am also very bad at writing alt text. I never know how much to say. Is it a good idea to have detailed alt text? Is that what folks with screen readers expect? I want to make any content I create here as accessible as possible to folks. Is there any good examples of sites that use alt text well?
I like the idea of using the examples images as cover images / section headings on articles and in tweets. Then in core content of stuff one can embed gists and link out to them as needed.

Thread Thread
 
itr13 profile image
Mikael Klages

I'm not sure to be honest, I remember reading a tweet about how the text should describe only what can be seen in the image, and not additional information that the viewer might not know.

A quick google search led me to this site, in which case I guess code would be "complex information". Maybe a longdesc code pointing at the raw code would work?

Though I don't have any experience with screen readers or helping with accessibility for them, so I don't know how much the different solutions might help, or which ones exist.

Thread Thread
 
daveskull81 profile image
dAVE Inden

That's a good site. I saw a Tweet last night from Jessica Rose asking about wanting information on writing good alt text. Marcy Sutton replied with some great information in this Tweet with links to a webinar about someone using a screen reader and their experience on the internet along with a decision tree for how to decide on what to put in alt text. It looks like some great info.

Collapse
 
owl profile image
Oscar

The screen reader concern is valid. The example in the original post will be announced as «Example Javascript code». You need to be careful with your alt tags. On platforms such as Medium were you cannot set alt tags the situation for screen reader users is even bleaker.

Overall I think Carbon and similar tools are pretty good for illustrative purposes (think Open Graph or intro images) but are not an option for the core content of a text.

Collapse
 
bhupesh profile image
Bhupesh Varshney 👾

Yeah that's a cool idea
I tried contacting Dawn Labs 😅 and suggested to make an api(i would love to make one) so that 3rd party apps could integrate carbon's Feature
But currently they are sticking with the current platform 🙂

Collapse
 
skyller360 profile image
Anthony Tomson

If you use Visual Studio Code, you can use Polacode : marketplace.visualstudio.com/items... 😉

Collapse
 
nombrekeff profile image
Keff

Cool, this is really nice! I will use it!

Collapse
 
avalander profile image
Avalander

That's really neat, thanks for the pointer!

Collapse
 
daveskull81 profile image
dAVE Inden

That's super awesome. Thanks for sharing that. I do use VS Code. I love how many cool things can be found for working in VS Code. It seems to have everything.

Collapse
 
solkimicreb profile image
Miklos Bertalan

Thanks for this article. I love carbon and I think it deserves more recognition.

A tip for new users: click on that sneaky settings button in the top right corner. I usually find a few things (like the default shadow) a bit annoying but pretty much everything can be customized.

Collapse
 
daveskull81 profile image
dAVE Inden

Thanks! I'm glad you liked the article. I obviously agree that Carbon is really neat. :) Great tip on the settings button. There is a lot in there to customize.

Collapse
 
kelli profile image
Kelli Blalock • Edited

I wanted a code related image at the top of a post I recently made and I used carbon for that along with stencil to put text on top of it. It's not meant for anyone to really read and copy that code though.

Where I first saw Carbon being used was @samantha_ming's Code Notes on Twitter. I like the way she customizes the carbon images. You can see some on her site samanthaming.com/tidbits

As already mentioned in other comments, accessibility is a concern if the image is the only way to view the code. It would be nice if there was a good way to make the code acccessible for those using screen readers or those who want to copy and paste the code to run it, like maybe a button to expand the code - but I don't know how to make that accessible or if it would work out well in practice. I'm hoping someone comes up with a good way to handle it where the code can be shown on the same page if someone wants a text version of the code.

Collapse
 
daveskull81 profile image
dAVE Inden

I like how you used Carbon. That's a great use for it to use it in the cover image of an article. Adding your own text to customize it is great too. I really like what Samantha Ming is doing with code examples. Those look really nice.
Accessibility is a big thing to make sure the code is still usable to everyone. Maybe the simple solution is to use the code image and make it a link out to a gist where the code can be copied and read by a screen reader. Or the gist could be embedded below the image.

Collapse
 
pbouillon profile image
Pierre Bouillon • Edited

I really like this tool ! I even use it to build my CV.
Carbon is totaly worth sharing and awesome to include code in your presentations or share examples with your team, as long as they don't need to copy it.

Collapse
 
daveskull81 profile image
dAVE Inden

That's awesome! I really like your CV. I have played around with the idea of presenting my own career info as JSON as well. That is fun. I agree on it being good for presentations. Others have brought up the lack of being able to copy the code as well, which is very true since it is an image. I guess it is all about how one uses it to make sure it is the right tool for the job.

Collapse
 
moopet profile image
Ben Sinclair

I made a post about why this is a bad idea a while ago (but after you wrote this one): dev.to/moopet/embedding-code-in-po...

Other people have talked about accessibility, so I'm going to add something else to the mix: potentially confusing UI.

There's a constant desire burning in the back of the eyes of everyone who calls themselves a "designer", and it's the desire to make things look like they're made by Apple. In Carbon, it extends to adding fake window controls to the image. There's literally no reason for this apart from someone's sense of aesthetic trumping their consideration for the end-user.

At best, you'll get something that clashes with the UI on your user's display, since they're using Windows or Apple have changed their colourscheme again.
At worst, people will spend time clicking them to see if they afford functionality like copying or viewing as raw text.

Collapse
 
emmabostian profile image
Emma Bostian ✨

Hey! That's me! :D

Collapse
 
daveskull81 profile image
dAVE Inden

Yup. Thanks again for the tip! :)

Collapse
 
qzsg profile image
Adrian

I'm amused and happy it has syntax highlighting for VHDL

Collapse
 
rohansawant profile image
Rohan Sawant

Ha! I had no idea I wanted to know this, but apparently I did.

Nice! ✋🏽

Collapse
 
daveskull81 profile image
dAVE Inden

Awesome! I’m glad you enjoyed it.

Collapse
 
alchermd profile image
John Alcher

A carbon generated image + a link to a gist would be the perfect combination.

Collapse
 
pickleat profile image
Andy Pickle

I’ve been wondering this myself!

Collapse
 
jaakidup profile image
Jaaki

Nice, been wondering about this too.

Collapse
 
lonlilokli profile image
Lonli-Lokli

As I see they support embedding in Medium, so you can just paste the link in post and will render with image. Have you tried it with Dev.to?