Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
10
The hanging-punctuation property aims at giving web web designers a finer grained control over typography on the web. The idea behind hanging punctuation is to put some punctuation characters from start (or to a lesser extend at the end) of text elements “outside” of the box in order to preserve the reading flow. blockquote p { hanging-punctuation: first; } Since it only applies to quote marks, you can avoid single purpose classes and trust that your quotes will hang everywhere. Chrome hasn’t yet implemented the hanging-punctuation property, but it works perfectly in Safari. Typeset.js is an HTML pre-processor that adds a lot more functionality and will allow you to get cross browser compatibility.
over a year ago

Improve your reading experience

Logged in users get linked directly to articles resulting in a better reading experience. Please login for free, it takes less than 1 minute.

More from Alex Baldwin

Small-batch bespoke emails with Gmail and Streak

You’ve seen the same boilerplate emails come into your inbox which you immediately archive for being wrong, out-of-date, or simply forgetting the merge tag (F you people that leave $FNAME). When it came to my first time sending out a batch email, it was only to a dozen or so people about booking user research time. However, I had a major sticking point thinking I was sending out a spammy email. Luckily I had met the team behind Streak and knew the power of mail merge to make something a little more individual and helpful. We’re going to continue using my real life example email, a sponsorship request for Hack Design. Here’s the actual email template I sent out: Hey there $FNAME, Wanted to reach out about $COMPANY becoming a Hack Design partner. Since 2012, we've helped hundreds of thousands take their first steps in learning design. We're looking to partner with a handful of companies in order to offset server costs and support producing new lessons in 2018. Partnership perks: * Logo placement with link on the home page. * Text link in our footer, 30,000+ page views per month. * Text link in every email, 200,000+ which go out every month. * Free posting on our job board, set to release by the end of the year. As of right now, we have 245,000+ subscribers. It's likely that with new lessons going out next year, you'll see these numbers easily double. Because of that, our sponsorship tier costs $XXX per month. If you're able to commit to sponsoring before October 1st, I will grandfather you in to the super early bird pricing of $YYY per month through the end of 2018. If you have any questions or are ready to sponsor, please hit reply. $POSTSCRIPT Thank you so much, Alex Baldwin My emails aren’t very long, encourage replying as the primary action, and I hope use variables in a tasteful way. Make each email personal You may have noticed the odd $POSTSCRIPT variable in my template. The P.S. at the end of the message is super easy for readers to skip to and it’s almost guaranteed that it’ll be read. That’s the key to the whole thing. Almost every recipient I know personally or have done research on. It would be a huge missed opportunity to not acknowledge that personal connection. For speed purposes, it’s easiest to do this part in Google Sheets. Add another column called Postscript to your Google Sheet. For each recipient write a custom note that will go at the end of your email, i.e. “P.S. It was super nice meeting you at SXSW 2017, still waiting for you to come visit San Francisco.” If you don’t know them personally already, at least make the effort to do your research and make a connection. It’s easy enough to comment on some of their work you admire, I’m talking to you recruiters who never look at my portfolio. Export your Google Sheet to a CSV. Import your CSV into Streak Thankfully since we’ve been working in Google Sheets, we’ll be able to straight import into Streak without any fuss. Install Streak for your browser and open Gmail. Go through the authentication flow for Streak. From the Gmail sidebar, hit Pipelines +New. Pick any of the types, I usually do Business Development and then quickly rename it to my project name. Optionally, invite anyone else to collaborate on this pipeline. On your pipeline page, press the gray more icon. Click Import boxes from Google Sheets. Follow yet another authentication process. Go through the steps to finish your import by mapping your columns to Streak data. They have a lot of options, for those with more data feel free to connect it all up. You’ll see everything from Google Sheets, now nicely organized in your Streak pipeline as a Lead. You can now track as someone goes through your funnel to Closed - Won, it’s the big time sales process for the little guy. Send out that hand-crafted email with Streak After all that prep work, we’re finally ready to put the pieces together. Getting used to the interface and finding the small links or buttons can be quite a chore. Streak is a tool meant for sending much larger batches for sales professionals. We can lay low under the quotas with basic features and get a ton out of it. When I was doing marketing for commercial real estate, we used to use Excel and Microsoft Word to send out massive mailing campaigns. The mail merge feature for Streak works just like it’s offline Microsoft counterpart except with much better tracking and ability to follow up. Put it all together and get ready to hit send Hit Compose in Gmail. Click the link Mail merge. Select your Streak pipeline as the recipients. Write your beautiful email template and use the Customize with Template link at the bottom to sprinkle in customizations. When you’re subject line is perfect and your template customized hit Send, releasing your artisanal emails to their proper recipients. More coming soon Next up we’ll wrap by tracking and following up with our small batch of recipients. This article is part two of a three part series, released weekly. You can read part one here. Subscribe to get access first.

over a year ago 10 votes
Artisanal outbound with Clearbit Connect

For press releases, advertiser requests, or similar sales campaigns you’re sending a small batch of, usually cold, emails out with a specific ask. Finding potential recipients, writing an email that’s helpful, and tracking the results doesn’t need to take all day or be painful. I’ve watched my fellow product people struggle with the pitfalls of outbound; spend all day trying to find emails, copy and pasting boring boilerplate copy, and then never following up. By stringing together Clearbit Connect, Google Sheets, and Streak, you can knock out these outbound projects super quickly, personalize them, and track progress through a funnel. I’ll walk you through exactly how it works using my most recent campaign, a sponsorship request for Hack Design. Researching for the right audience First up, you’re looking for the most likely people to be interested. For a press launch, that may be who frequently cover products in that space. In our example, Hack Design’s sponsor list, I was quickly able to look at who else was sponsoring comparable websites. For me, that meant researching the advertisers on Offscreen, Sidebar, Dribbble, recent design conferences and podcasts. It’s super simple to save your research and move on to finding the right people at those companies. Add companies to your list Start a Google Sheet with the column name Company. Research the companies most relevant to your outbound campaign. Great places to look are Angel List, Product Hunt, job boards (to see who is hiring in a space), Crunchbase, etc. Anywhere that let’s your group and filter through relevant companies. Add the company name to your list. Finding anyone’s email in seconds Now that you have a list of potential companies, let’s find the emails for the best people to talk to there. For my Hack Design list, I was lucky and had about a dozen sponsors from previous years. However, since we haven’t accepted sponsorship in over a year, a lot of my contacts at those companies were out of date. This process made it trivial to find the new people in those roles and be able to reach out. Get the right contacts from Clearbit Connect Add the column names Email and Full Name to your Google Sheet. Install Clearbit Connect if you haven’t already. This is the secret sauce that will allow you to find anyone’s email, for free. Connect does have a limit but for small batches, you shouldn’t have any problems. Disclosure: I’m a small-time investor in Clearbit. In Gmail, hit the Clearbit button in the top nav and then press Find email. Yep, it’s really that easy. You must start with the company and then narrow down by name or title. Copy and paste that into your Google Sheet. More coming soon Next up we’ll write our email and learn how to quickly customize every single one of them. This article is part one of a three part series, released weekly. Subscribe to get access first.

over a year ago 10 votes
Taco Week

Live every week like it’s Taco Week. Last year’s articles are now up on Medium.

over a year ago 9 votes
Rave Robot

Full-screen gif mayhem. Worked on this one day last year with CH Albach in order to show it off for a Halloween party. Since the domain is expiring, I’d prefer it live on in the lab. It was truly ahead of it’s time, but now Cochlea and Giphy GJ have surpassed it’s meager feature list. Let me know if you have any feature requests.

over a year ago 10 votes

More in design

Building WebSites With LLMS

And by LLMS I mean: (L)ots of (L)ittle ht(M)l page(S). I recently shipped some updates to my blog. Through the design/development process, I had some insights which made me question my knee-jerk reaction to building pieces of a page as JS-powered interactions on top of the existing document. With cross-document view transitions getting broader and broader support, I’m realizing that building in-page, progressively-enhanced interactions is more work than simply building two HTML pages and linking them. I’m calling this approach “lots of little HTML pages” in my head. As I find myself trying to build progressively-enhanced features with JavaScript — like a fly-out navigation menu, or an on-page search, or filtering content — I stop and ask myself: “Can I build this as a separate HTML page triggered by a link, rather than JavaScript-injected content built from a button?” I kinda love the results. I build separate, small HTML pages for each “interaction” I want, then I let CSS transitions take over and I get something that feels better than its JS counterpart for way less work. Allow me two quick examples. Example 1: Filtering Working on my homepage, I found myself wanting a list of posts filtered by some kind of criteria, like: The most recent posts The ones being trafficked the most The ones that’ve had lots of Hacker News traffic in the past My first impulse was to have a list of posts you can filter with JavaScript. But the more I built it, the more complicated it got. Each “list” of posts needed a slightly different set of data. And each one had a different sort order. What I thought was going to be “stick a bunch of <li>s in the DOM, and show hide some based on the current filter” turned into lots of data-x attributes, per-list sorting logic, etc. I realized quickly this wasn’t a trivial, progressively-enhanced feature. I didn’t want to write a bunch of client-side JavaScript for what would take me seconds to write on “the server” (my static site generator). Then I thought: Why don’t I just do this with my static site generator? Each filter can be its own, separate HTML page, and with CSS view transitions I’ll get a nice transition effect for free! Minutes later I had it all working — mostly, I had to learn a few small things about aspect ratio in transitions — plus I had fancy transitions between “tabs” for free! This really feels like a game-changer for simple sites. If you can keep your site simple, it’s easier to build traditional, JavaScript-powered on-page interactions as small, linked HTML pages. Example 2: Navigation This got me thinking: maybe I should do the same thing for my navigation? Usually I think “Ok, so I’ll have a hamburger icon with a bunch of navigational elements in it, and when it’s clicked you gotta reveal it, etc." And I thought, “What if it’s just a new HTML page?”[1] Because I’m using a static site generator, it’s really easy to create a new HTML page. A few minutes later and I had it. No client-side JS required. You navigate to the “Menu” and you get a page of options, with an “x” to simulate closing the menu and going back to where you were. I liked it so much for my navigation, I did the same thing with search. Clicking the icon doesn’t use JavaScript to inject new markup and animate things on screen. Nope. It’s just a link to a new page with CSS supporting a cross-document view transition. Granted, there are some trade-offs to this approach. But on the whole, I really like it. It was so easy to build and I know it’s going to be incredibly easy to maintain! I think this is a good example of leveraging the grain of the web. It’s really easy to build a simple website when you can shift your perspective to viewing on-page interactivity as simple HTML page navigations powered by cross document CSS transitions (rather than doing all of that as client-side JS). Jason Bradberry has a neat article that’s tangential to this idea over at Piccalil. It’s more from the design standpoint, but functionally it could work pretty much the same as this: your “menu” or “navigation” is its own page. ⏎ Email · Mastodon · Bluesky

2 hours ago 1 votes
Light and airy coffee house in the Astana

Alexandra Pyzhik is an interior designer from Astana, co-founder of the design studio “A-Studio”, organized in 2009. Alexandra’s main specialization...

4 hours ago 1 votes
UX, how can I trust you?

Weekly curated resources for designers — thinkers and makers.

yesterday 4 votes
Avizva Solutions Offices by Designforth Interiors

Designforth Interiors created a functional and flexible office space in Indore for Avizva, focusing on spatial optimization, collaboration, and cultural...

yesterday 3 votes
HAVE YOU PREORDERED YOUR COPY OF MELISSA’S NEW BOOK YET?

In her best-selling book, Living Well By Design, Melissa Penfold addressed the basics of interior decorating.  Now she turns her attention to demonstrating what a powerful force design can be in boosting our physical and emotional well-being in her newest book, ‘Natural Living By Design’, Vendome Press, launches in April and available for Preorder now,  Continue Reading The post HAVE YOU PREORDERED YOUR COPY OF MELISSA’S NEW BOOK YET? first appeared on Melissa Penfold. The post HAVE YOU PREORDERED YOUR COPY OF MELISSA’S NEW BOOK YET? appeared first on Melissa Penfold.

yesterday 4 votes