<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Jennifer Lacey</title>
    <description>The latest articles on Forem by Jennifer Lacey (@jennnlacey).</description>
    <link>https://forem.com/jennnlacey</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F37835%2F4990a7dd-92f5-41e6-bb8a-12e5141a104f.jpeg</url>
      <title>Forem: Jennifer Lacey</title>
      <link>https://forem.com/jennnlacey</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/jennnlacey"/>
    <language>en</language>
    <item>
      <title>Creating the Next Generation of Interactive Emails with Rebel Mail</title>
      <dc:creator>Jennifer Lacey</dc:creator>
      <pubDate>Wed, 18 Oct 2017 13:05:32 +0000</pubDate>
      <link>https://forem.com/sparkpost/creating-the-next-generation-of-interactive-emails-with-rebel-mail-2le</link>
      <guid>https://forem.com/sparkpost/creating-the-next-generation-of-interactive-emails-with-rebel-mail-2le</guid>
      <description>&lt;p&gt;&lt;em&gt;**We are excited to announce our new partnership with Rebel. Rebel is disrupting the email marketing space and allows users to send interactive emails with no plug-ins required. This guest blog post, written by Manisha Shah highlights Rebel’s ease of use and their competitive edge in the market.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Integrate your email channel and app with in-email interactivity.
&lt;/h3&gt;

&lt;p&gt;Email is one of the oldest communication protocols on the web. Unfortunately for the billions of people that use it to communicate, up until a few years ago, almost nothing has dramatically improved the user experience. After years of very little innovation, interactive email has created a flurry of exciting changes.&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://www.rebelmail.com/"&gt;Rebel&lt;/a&gt;, we don’t see stodgy, old email clients that are a nightmare to develop against. We see a brand new surface for your application to live on. Interactive email allows you to show a user the exact action you want them to take, without the need for a click or leave their inbox.&lt;/p&gt;

&lt;p&gt;Taking advantage of these new opportunities for user actions is easier said than done. Coding normal emails remains a challenge for most developers due to the deep fragmentation in email clients. That’s why we believe the best way to take advantage is through our interactive email API.&lt;/p&gt;

&lt;p&gt;It’s the only way of generating interactive emails on the fly, personalized to the user you are sending to. You don’t need to know the latest hacks to get the email rendering perfectly or the quirks of gathering data from inside an email client. All you need to know is the information you want to get from a user, and with a simple JSON request, you can get back ready-to-send interactive email HTML.&lt;/p&gt;

&lt;h3&gt;
  
  
  But what does that really mean?
&lt;/h3&gt;

&lt;p&gt;If the above sounds fanciful and far-fetched to you, you’re not alone. However, it is that simple. All that you need to do is describe the functionality that you want to achieve in JSON and our API will convert it to HTML for you.&lt;/p&gt;

&lt;p&gt;To prove that point we’re going to build a quick email that asks a user for some feedback on your app. It will contain stars for rating 1-5 and a text input for collecting general feedback.&lt;/p&gt;

&lt;h3&gt;
  
  
  The API call structure.
&lt;/h3&gt;

&lt;p&gt;For this example, we’ll be looking at an abbreviated API call (I’ve taken out some of the options so that the information is clear), that will return to you HTML with two form fields, and a submit button.&lt;/p&gt;

&lt;p&gt;As you can see below the JSON call includes an array at &lt;code&gt;context.components.body.formfields&lt;/code&gt;, in that array there are two objects. Each describes one piece of functionality. One for the rating module and one for the text area. Here you place all the information you want to be covered displayed in the email and adjust and field-specific settings.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"context": {
    "components": [
      {
        "type": "form",
        "body": {
          "submitUrl": "http://rebelmail.com/review/",
          "id": "review-form",
          "formFields": [
            {
              "type": "rating",
              "variation": "star",
              "fluid": true,
              "layout": "stack",
              "name": "star-rating",
              "label": "How was the espresso?",
              "options": [
                {
                  "value": "1",
                  "text": "&amp;amp;#9733;"
                },
                {
                  "value": "2",
                  "text": "&amp;amp;#9733;"
                },
                {
                  "value": "3",
                  "text": "&amp;amp;#9733;"
                },
                {
                  "value": "4",
                  "text": "&amp;amp;#9733;"
                },
                {
                  "value": "5",
                  "text": "&amp;amp;#9733;"
                }
              ]
            },
            {
              "type": "textArea",
              "layout": "stack",
              "name": "comments",
              "label": "Anything else we should know?",
              "placeholder": "Leave your comments here...",
              "maxlength": "2000"

            }
          ],
          "submit": {
            "text": "Leave Your Review"
          }
        }
      }
    ],
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt; &lt;/p&gt;

&lt;p&gt;The above example is abbreviated for illustrative purposes, but generally, our API allows you to set the values and styles of any element inside our interactive modules.&lt;/p&gt;

&lt;h3&gt;
  
  
  What you get back.
&lt;/h3&gt;

&lt;p&gt;Our &lt;code&gt;/campaigns/:id/html&lt;/code&gt; endpoint will return to you HTML, completely ready to be delivered. No need to do anything to it, just send it out. Here is the email from the full request above as seen in Apple Mail:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VVwWcK-g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media.sparkpost.com/uploads/2017/10/Screen-Shot-2017-10-16-at-1.51.51-PM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VVwWcK-g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media.sparkpost.com/uploads/2017/10/Screen-Shot-2017-10-16-at-1.51.51-PM.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Interactive email analytics.
&lt;/h3&gt;

&lt;p&gt;Of course what good is new technology if you can’t tell if it’s adding value to your business. That’s why we built a robust analytics platform for recording every possible action a user takes within an email. If a user clicks a radio button or star rating, we record it. If they open the email on Outlook and see a beautifully rendered static fallback message, we record it.&lt;/p&gt;

&lt;p&gt;All that actionable data is only good if you can consume it. That’s why we created a number of ways to have our data pushed to your servers (such as a webhook).&lt;/p&gt;

&lt;h3&gt;
  
  
  Go forth and interact.
&lt;/h3&gt;

&lt;p&gt;These kinds of forms are one excellent way to allow users to interact with your app from within an email client, and there is a myriad of ways to apply this same technology. Responding to comments, prompting inactive users to post again for the first time, or allowing users to complete portions of their onboarding while verifying their email address, are all possible.&lt;/p&gt;

&lt;p&gt;You can do even more than forms with our flexible API, Thanks to the various modules we have created, your users can take quizzes, research or filter products, and even shop directly in the inbox. All while our robust analytics allows you to gather every action and use it for things like progressive profiling and user recommendations.&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.sparkpost.com/blog/interactive-emails-rebelmail/"&gt;Creating the Next Generation of Interactive Emails with Rebel Mail&lt;/a&gt; appeared first on &lt;a href="https://www.sparkpost.com"&gt;SparkPost&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>email</category>
      <category>api</category>
      <category>json</category>
    </item>
    <item>
      <title>Community Spotlight: CodeNewbie</title>
      <dc:creator>Jennifer Lacey</dc:creator>
      <pubDate>Wed, 11 Oct 2017 13:01:51 +0000</pubDate>
      <link>https://forem.com/sparkpost/community-spotlight-codenewbie-1ej</link>
      <guid>https://forem.com/sparkpost/community-spotlight-codenewbie-1ej</guid>
      <description>&lt;p&gt;Have you ever embarked on an adventure to learn a completely new skill set? Did it make you feel overwhelmed with no idea where to start? For many of our community members, that feeling is more common than you’d think. Tons of developers or coders didn’t originally start out on that path, and today we’re chatting with someone who’s making big waves and providing a ton of resources for newbies in the coding community.&lt;/p&gt;

&lt;h3&gt;
  
  
  Meet Saron
&lt;/h3&gt;

&lt;p&gt;Not too long ago, Saron was also new to coding. She worked for a few different start-ups, but became more and more interested in the product side of things – which required a more technical background. So Saron did what any motivated self-starter does – she vowed to teach herself. From there, she started her own bootcamp and conference to help others!&lt;/p&gt;

&lt;p&gt;Today, Saron has built the CodeNewbie community, a growing network of over 15,000 people who join in on weekly twitter chats, listen to podcasts, attend &lt;a href="http://codelandconf.com/"&gt;CodeLand&lt;/a&gt; (check out &lt;a href="https://www.sparkpost.com/blog/running-technical-workshop/"&gt;Cole’s experience teaching a workshop&lt;/a&gt;) and exchange ideas with others working on projects in tech. Saron was gracious enough to share some insights on the community she’s built, her favorite part about her job, and advice for those just starting out. I hope you enjoy!&lt;/p&gt;

&lt;h3&gt;
  
  
  Enter CodeNewbie
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What’s your background in the tech world, how did you get started down this path?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I first got interested in tech after reading the Steve Jobs book. It was the first time I saw the connection between tech and more liberal artsy topics like design and psychology. I then read everything I could find about tech and startups, and eventually worked at a few startups. I worked primarily on the business side of things, but I was always more interested in the product. Because I didn’t have a technical background of any kind, I felt that the only way I could have a say in the product was if I invested in learning how to code. So I quit my job, taught myself for a few months then enrolled in a coding bootcamp.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why did you start CodeNewbie?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I started my coding bootcamp, I was surprised to find that I not only learned a lot, but gained a lot of confidence in what I already knew. I realized that when I was learning on my own, I’d been internalizing the natural failure that comes with coding, and interpreting my struggles as my own stupidity. But in my class, I saw that everyone was struggling! It removed so much of the emotional burden that I could actually focus on learning. The true benefit of the bootcamp was the community. But finding that community is hard if you don’t have $11K and can’t quit your job. So I wanted to create a way for everyone to have a supportive community, and that community is #CodeNewbie.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In your opinion, how important is community in the programming world?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It’s everything. Community is how you get out of your own way. It’s how you get jobs, opportunities, make friends, build partnerships, create meaningful change. I’m here today as a result of the incredibly kind community around me, and that’s what I hope to provide for others.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why did you start the CodeNewbie podcast?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I decided to do the CodeNewbie Podcast, I’d been doing the #CodeNewbie Twitter chat for about a year. I loved the chat. It was such a great way to connect people and start conversations. But it’s not a great medium for diving deep into a topic or a story. Since I’d previously worked at NPR, I thought that a podcast was a great way to focus on one story, one problem, one idea, and really explore it. Audio is such a flexible medium because it’s one of the few you can consume while partaking in other activities. I felt it was a great way to provide a weekly dose of knowledge and inspiration in the lives of our community members.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which episode is your favorite so far and why?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is tough! I’d have to say &lt;a href="https://www.codenewbie.org/podcast/building-community-in-a-virtual-world-moderation-tools-in-vr"&gt;Season 1, Episode 2:&lt;/a&gt; “Building community in a virtual world: Moderation tools in VR Cameron Brown. On a content level, I personally learned so much in that conversation and really appreciated the passion from Cameron. You can hear in his voice how much he loves creating a safe space for all. He talks so matter of factly about topics like diversity and inclusion, and how obviously important they are, in a way that I’ve never heard from a developer that absolutely blew me away. On a production level, I got to be more creative with the intro, so mixing that was lots of fun.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There are 150 episodes on the CodeNewbie podcast. For new listeners, where should they start?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It depends on their goal. If they’re looking to learn more about CodeNewbie in general and what we’re all about, definitely checkout the episode where my husband interviewed me. For job-hunting inspiration, I loved &lt;a href="https://www.codenewbie.org/podcast/getting-my-first-developer-job"&gt;Paola’s incredibly powerful interview&lt;/a&gt; on her journey to finding a job. To hear how tech and society collide, I thought Carina’s &lt;a href="https://www.codenewbie.org/podcast/algorithms"&gt;episode on algorithms&lt;/a&gt; was brilliant. For an inspiring story on persistence and dedication, definitely checkout &lt;a href="https://www.codenewbie.org/podcast/truck-driver"&gt;George Moore’s episode&lt;/a&gt; “Truck Driver.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are some great resources for all the CodeNewbies out there?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are so many! The obvious ones are Codecademy, Coursera, Khan Academy. But there are also great communities like Girl Develop It, Women Who Code, RailsBridge, Hacker Hours, PyLadies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do you have any advice for people who want to begin their own journey in programming but don’t know how to start?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes! Nothing is going to make sense for awhile. It’s going to take a lot of beating your head against the wall, not really knowing how useful what you’re learning is going to be, and not building anything that seems relevant to a job before things start to click. That’s just part of the process. I think newbies obsess over starting with the right thing and seeing immediate results, and this results in people quitting much sooner than they should. So I’d say, pick a language with a large and supportive community (ruby, python, javascript are great for these reasons), pick a free resource that doesn’t require much setup (I usually recommend Codecademy), start and then *stick with it.* Over time, things will fall into place.&lt;/p&gt;

&lt;p&gt;Questions for Saron? Join in on her &lt;a href="https://www.codenewbie.org/chat"&gt;weekly Twitter chats&lt;/a&gt; on Wednesdays at 6PM PST/9PM EST! Questions for us? Reach out on &lt;a href="http://twitter.com/sparkpost"&gt;Twitter&lt;/a&gt; or find us in our &lt;a href="http://slack.sparkpost.com"&gt;community slack&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://www.sparkpost.com/blog/community-spotlight-codenewbie/"&gt;Community Spotlight: CodeNewbie&lt;/a&gt; appeared first on &lt;a href="https://www.sparkpost.com"&gt;SparkPost&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>community</category>
      <category>codenewbie</category>
      <category>interview</category>
    </item>
  </channel>
</rss>
