POP is a ridiculously easy way to launch your business or idea online. In less than a minute, you'll get a .CO domain, a starter page, and an email address powered by Google Apps. Get your idea online now at POP.co
With all of the options for AB testing out there, you may ask why on earth would we roll our own a/b testing tool? Some of our core reasons are as follows:
Crowd sourcing software benefits everyone.
By building this library and making it publicly available, we've opened the doors to accept bug reports, bug fixes, feature requests, enhancements, and more. By promoting an open source environment, we hope to help future startups get up and running more quickly with battle tested solutions. This is a community effort; we just happen to be championing it.
We like to keep things in house.
If we run into problems, it's much easier to diagnose and fix ourselves than to rely on third party support. This is definitely a trade off as we increase our technical debt in favor of reduced reliance on others. We believe that this approach leads to better stability, security, and uptime as our libraries mature. The biggest gain in our opinions is that we can debug our own code. There's nothing worse than finding a bug in someone else's software and not being able to patch it.
We control the data.
There's much to be said about controlling your own data. It's easy to manipulate and we can mash it up with the plethora of data we collect on our site to better improve our service to our customers. There's no need to utilize API clients to hit third parties and request datasets; we can just hit our own datastore.
We can build tools around our library.
Let's say we want marketing or a growth hacker to be able to create their own tests and variations. With our own custom tool and the fact we are active practitioners of API first development, we can add that flexibility fairly quickly. For instance, we're looking at building a dashboard to manage Winston tests and variations as well as view overall test performance.
We like to learn new things.
We built Winston in our free time. You know, that little amount of time you have between trying to get hockey stick growth and building out the next big feature. Having previously used a number of popular third party testing tools, we just weren't satisfied. Some of them had poor load times and blocked our page, others were too busy trying to ruin our angular.js heavy UI with custom generated HTML pages. The end result for us was to do a bit of research and create a tool that was both minimalist and practical to use. This library isn't rocket science or as full featured as alternatives, but it fits a very targeted niche for us: run test variations and track performance over time. As a startup that is rapidly iterating and testing new ideas, minimalist has been our mantra.
How do you know Winston is safe/accurate?
As with all implementations of A/B testing, the number one rule is not to trust your test results at first glance. We here at POP treat our tests like a series of hypothesis and experiments. You need to take results with a grain of salt as any number of factors could affect your outcome. For instance, a surge in traffic from a different locality may affect your results. It's these types of factors that we'd eventually like to build into Winston.
If you're interested in Winston, the source code is openly available on github. We'd love additional contributors!
We’re insanely cultishly devoted to one goal: to make your life easier. Often times, it’s the little details that can make or break your service experience. Sometimes we stumble across other examples of companies and products that truly inspire us with their unique approach to improving the life of their customers. In Uncommon Sense, we feature the best of what we find.
When you challenge the status quo and create something that no one else has ever bothered to make sense of before, we call it “uncommon sense”. These are the people that are changing the way the world works by improving the antiquated and inefficient systems that define our daily lives.
If you are a landlord or renter and have to pay or receive rent each month, why would you need to make transactions via checks? With technology evolving so quickly, there should be a better way to collect and handle monthly rent payments. The team at Cozy has taken the lead on this by acting as the intermediary between renters and landlords to ensure that the rental process is trustworthy and secure.
Cozy provides landlords with relevant information on tenants such as employment/salary background, rental history, and previous landlord testimonials so that they can quickly make informed decisions. They are able to screen their tenants even before meeting them. For the renters, Cozy allows them to pay their rent online and even makes it easy for them to split rent with roommates, making each roommate responsible for their own monthly rent (that's right, you're roommate will never get away with free rent again!).
They believe in giving users “more you time” by streamlining the rental-process and saving renters and landlords the headache of exchanging information and payments manually. They’re saving people time, money, and the hassle… See why we can relate? Share your thoughts with us!
When you style an email, you need to make sure it displays correctly in all major clients that account for the largest possible percentage of your user base. This means you need to focus on not only web clients such as GMail, Yahoo, and Outlook, but also desktop and mobile clients such as Thunderbird, Apple’s Mail, and Android’s Email. At first glance, there appears to be little interoperability between the development teams of all of the mail clients. In contrast to modern web development, creating email templates is more like frontend development on an IE6 compatible website. Because of this fragmentation, you’re best to stick with a framework if you’re in the market of writing your own templates from scratch. An email framework will give you not only a productivity boost and scaffolding for your project, but also help you avoid common pitfalls that occur when starting with nothing. There are a few common frameworks and bootstraps out there which I can recommend.
Zurb’s Ink - Quickly create responsive HTML emails that work on any device & client. Even Outlook. Includes a responsive, 12-column grid and sample templates.
HTML Email Boilerplate - This website and its sample code creates a template of sorts, absent of design or layout, that will help you avoid some of the major rendering problems with the most common email clients out there — Gmail, Outlook, Yahoo Mail.
Emailology Email Boilerplate - A template void of design and loaded with code samples for developing HTML emails
BootstrapForEmail - It is what it says. Uses Bootstrap 3 LESS under the hood and compiles to inline header styles on view. The resulting HTML is suitable to run through an inline CSS tool
ModernMail - Grunt-based email-writing system. LESS, Bootstrap, Grunt, Zip archives.
Antwort - Responsive layouts for email.
For POP, we chose to go with Zurb’s Ink. The main selling point for us was a responsive grid system and accompanying documentation. Ink is lacking in a few key places, however. This is one of the primary reasons we set out to launch our own system for building and iterating on email templates fast.
The POP Way
What many email systems are lacking that we added support for was the concept of layouts. You may be running several email campaigns that require a different aesthetic. We acknowledged this by adding a configuration file which specifies which layout gets assigned to which template. Our repository consists of a PHP CLI server which can be enabled by running a simple bash file from your command line. Once the server is up and running, we utilize a minimalist router to direct URIs to a preview of each email template. The global configuration file gets loaded and we use the URI of the current template to determine which parent layout to load for the template. We then dynamically compile the associated layout LESS file into a CSS string and include it in the page header. This effectively sums up our preview and design mode.
Coupled with this rapid prototyping mode which allows us to test and preview templates, we also generated a simple build script to enable one click deployments of our email templates.
Automating the Build Process
One crucial aspect of writing email templates that utilize a layout is the fact that if you update a layout, you want to ensure that all of your email templates also get updated. The process of manually updating a couple dozen email templates with inline styles sounds like a daunting task, so we decided to avoid it altogether. What truly pulls together our email templating engine is the build system. Our build system utilizes a simple PHP script. When I say simple, I mean it. This thing is only 213 lines including a scaled down Mandrill API client wrapper. Our build process consists of loading a global configuration file which contains a mapping of email templates to their perspective layouts. We search for all files contained in our templates directory and make an HTTP request for the local template page. The CLI server, which is still running, returns the HTML with inline CSS in the header. We then take the resulting HTML email template and run a filesize check against our last known template build to see if the content has changed. If the content in the template has changed, we issue an API request to Mandrill to check if the template currently exists or not. If the template exists, we issue an update. If the template does not exist, we issue the creation of the template. And that, ladies and gentlemen, is how we can quickly make changes to our email marketing campaigns on the fly. Note that we don’t need to inline our styles on the fly as Mandrill handles this cumbersome task for us.
One key piece of information we didn’t discuss is the concept of template versioning. Our configuration file references a version number of our email templates. If we were to update our email templates substantially, we’d increment our version number. This version number gets prefixed to our template names and will trigger the creation of a brand new set of email templates. Essentially, this enables us to make and test drastic changes in email templates without affecting our site’s different environments (dev, staging, production). We highly recommend trying out this approach the next time you’re tweaking your email template build system. Speaking of email template build systems, there’s one you may wish to check out.
You can just as easily automate your email template build process using grunt if you’re comfortable. In some ways, grunt may be better situated for you. To get you started, there’s a nodejs based solution, grunt-email-boilerplate, which includes all the bells and whistles. One thing I’m particularly fond of in this build script is the usage of premailer and grunt-premailer. Premailer is the defacto standard when it comes to inlining your styles from header CSS or CSS includes. It does a fantastic job and comes recommended from all of the major email delivery services.
A Final Note: Style Guides are Your Friend
There’s numerous style guides out there which you may consider perusing before you decide to blaze your own trails. These will clue you in on how you should be structuring your code as well as provide a baseline of tags and semantics that are known to be compatible across email clients. If you do a bit of reading here before plowing into an email boilerplate or framework, you’ll be more aware of what styles and tags to avoid.
Litmus - The How To Guide to Responsive Email Design
Campaign Monitor - Email Design Guidelines
Campaign Monitor - Coding Your Emails
Campaign Monitor - Responsive Email Design
ActiveCampaign - HTML Email Design Guide
MailChimp - Email Marketing Field Guide
Next time you get tasked with email templating, take the opportunity to look at the daunting task as an opportunity for improvement. What can you do to make sure that your workload is minimized in the future? Let us know!
Like most people that are trying to balance their work and personal life, I have two email accounts that I go back and forth opening all day. I thought that I struck gold when I discovered using two separate browsers - Google Chrome and Safari - to load each account, so that I wouldn’t have to log in and out. But this just created a stressful and messy environment on my laptop.
Just like POP, Gmail seems to find a way to solve your problems. You can grant your personal account access to your work account and view, organize, and send email on behalf of your work account (or vice versa). Just go to Settings> Accounts and add a new email account. That way – you’ll have less clutter to deal with.
If you’re a fancy executive with assistants to answer your emails, you can also delegate access to your Gmail to other people so they can organize, read, and send messages on your behalf. You can assign up to 10 users by going through the same steps as you did to delegate your personal and work accounts. This time, any messages someone else sends from your account will have both your email and the other person’s email listed (ex: Your Name (sent by Delegate). But don’t worry, whoever you choose to manage your emails will not be able to change your account settings or password, or use Gchat.
So next time you are battling between two different browsers – like when using your new POP custom email account – remember this simple Gmail tip. If you have some more tips, share the wealth: @thepopguys.
Simplifying your Domain Setup with Automatic iOS Email Profile Configuration
At POP, we're all about ridding you of the agonizing grunt work involved with establishing yourself online. If you've tried us out before, you're already aware of non-invasive signup process that will get you online in less time than it takes to brew yourself coffee. If we're new to you, POP is the most hassle-free way to get online with a new domain, simple landing page and email backed by Google and their Google Apps for Business suite. In this post, we'll be highlighting another one of our fantastic features that quickly get you on your way to building your new presence - our Apple iOS email setup!
Using your supported Apple device (iPhone, iPad or iPod), open up your Safari web browser and signup or login to POP.
If you're signing up for the first time, after you've completed our onboarding process to secure your password and setup your basic Starter Page, you're presented with the following page:
Notice that little link we've outlined in red. That's the link you'll want to click.
If, on the other hand, you're already an existing POP user, login and navigate over to your panel. Within the panel, you'll notice the following icon (click it).
Now that you're on the mobile email page on an iOS device, you should see an Apple iOS Devices section. Under this section there will be a Download button. Tap it! If you don't have an iOS device, don't fret. The mobile email setup page also contains links to detailed instructions for setting up your email on any number of popular clients: Thunderbird, Outlook, Windows Mail, and more.
Like magic, your iOS device will immediately open a profile configuration window. This window will outline the details of your new domain email address. Click on the Install button.
Once you've clicked on the Install button, a new overlay will pop up asking you to confirm your installation. This is completely normal as POP is adding new settings to your phone for your new email address. Click on Install Now.
A new screen may pop up asking you to enter your device passcode, if enabled on your device:
If necessary, entire your device passcode and click Done in the upper right hand corner.
Lastly, a screen will pop up asking you to enter the password you have set for your new POP email address. This is the same as the password you login to POP with for your account. Enter your password and click the Next button in the upper right of your screen.
Viola! You have completed installing a new email address on your iOS device! Click on the Done button in the upper right to close.
If you navigate your phone over to mailboxes, you should now see that you have a mailbox setup for your new domain. In this example, we had registered the domain mypop.co:
Your account will start automatically syncing with Google's servers and receiving emails on the fly as they are received. Feel free to test it out and send an email to a friend, family member, or colleague!
If for any reason you receive an error stating that the app is unable to connect to the server, it may take a minute or two before things sync up. Have a little patience and they will!
Profile Removal
In the event you don't continue your POP service and let your domain expire, you'll likely want to remove the existing profile for the domain you no longer own. To remove your POP.co configured email profile, navigate over to Settings > General > Profile. Under Configuration Profiles, tap on the profile with your POP domain name and then tap on Remove. You may be prompted for your passcode if one is set, otherwise the email profile will be automatically removed.
As always, feel free to ask us any questions at @thePOPguys.
We’ve created a solution that streamlines the hassle of registering and creating your online presence. We believe that, if it aggravates you, you should not have to deal with it. As a way to show our commitment to this cause, we will share a pro tip that will surely find itself useful in your everyday life.
Is your car not shining the way it did when you first drove it off the lot? Join the club. You can always take your car to get a nice and thorough wash, but what kind of life hack is that? Instead, one way we spruce up our cars here at POP is with a little toothpaste and elbow grease.
More specifically, by using ordinary toothpaste and a rag, we can make our headlights shine like they never have. Spread a healthy amount of toothpaste over the glass protecting your headlights and rub it in with a towel or rag. Now, after you wipe off the toothpaste, you will notice an incredible difference in clarity. We like to think of toothpaste as the Windex for your headlights.
Still skeptical that some good old Crest toothpaste will do the trick? Have a look for yourself. We’ve got some serious car enthusiasts on the POP Team, so shoot your best car life hacks to @thePopGuys.
It’s a new year – and to some of us, that means its time to finally get our act together. While most people ring in the new year by changing their eating habits or buying a gym membership, here at POP we are are welcoming 2014 with an entirely new look and improved user experience.
We’re so grown up, you may not even recognize us.
We’re rocking a simple white, teal, and red color scheme that makes for a sleek, slightly more grown-up look. Our pages are more user-friendly, intuitive, and purposeful. Specifically, we’ve made some major improvements to the user experience of signing up.
Better support for the rest of the world.
We have added new features to our sign-up process that make it easier to use outside of the United States.
One of POP’s radical new ideas was verification solely by SMS. It’s unusual for a registrar or service provider to take this route, but we felt that the phone number space was actually less polluted by verminous riff raff than the big free email providers. But by doing this we left out an important audience – those that cannot easily receive international SMS messages.
In some parts of the world, SMS spam is such a huge problem that commercial services need to jump through a couple hoops to get their messages through. Your out-of-the-box Twilio or TelAPI account won’t be able to get texts through to many handsets in Asia, Eastern Europe, and parts of South America.
To address this, we added verification by email to the sign-up process. We've also strengthened our behind-the-scenes fraud detection so that the bad actors will have more trouble getting .CO's registered through us (hopefully!).
If you want to get your business booted (that’s the point right?), then we’re your guy.
The sign-up process is so fast and easy that your landing page and email address are ready before you know it. We found that lots of users were adding teammate emails, so we decided – why not embed this into the sign-up process? It is now easier than ever to add email addresses for your business partners and co-founders.
Additionally, we’ve made it easier to setup POP on your phone so that you can send and receive email from your POP account while you’re on the go. A few months ago, we launched support for iPhone/iPad Configuration Profiles, which meant that you could add your POP account to your iPhone (and your team mates iPhones) without filling out a bunch of annoying information. But it was kind of a hidden feature and pretty damn ugly (a hallmark of my “design aesthetic”), and now it’s beautiful and worth checking out.
If you’re a control freak, you’ll be in heaven.
Our old control panel – the stuff you see after you are logged in to your account – was functional, but its appearance was hacky. Worse than that, many of the commonly used features of the control panel were hidden inside a mysterious "POP Settings" link, which we styled in the tiniest possible font and hidden in the upper right corner of your display, where users are least likely to look (sort of like this).
Now, we’ve rethought everything and laid out the control panel’s main page so that everything is easily within reach.
If you think our new site is helping make your life easier, give us a shout out.
We are excited for you to check out our new look and hear your feedback! You like? Reach out on the Twitter (@thePOPguys) or email us at [email protected]
We’re insanely cultishly devoted to one goal: to make your life easier. Often times, it’s the little details that can make or break your service experience. Sometimes we stumble across other examples of companies and products that truly inspire us with their unique approach to improving the life of their customers. In Uncommon Sense, we feature the best of what we find.
We make reservations at popular restaurants because we want to sit down immediately and avoid waiting impatiently as table after table gets fed right before our very hungry eyes. And when you hear “Smith table for 5” seconds after arriving, you don’t even have time to feel sorry for the guys waiting 45+ minutes to be seated at the bar. So in order for things to go our way (meaning the most convenient way), sh*t should be reserved.
SpotHero makes it possible for anyone to reserve a parking spot, on-the-go, and sometimes, at a discounted rate. The app helps you locate parking when you enter an address and gives you the option to compare nearby parking options to save you money. Once you choose a spot, you can guarantee your spot and make a payment by inputting your credit card information.
Then, similar to a restaurant reservation, all you have to do is show up (with proof of your reservation, of course). Except this time, there will be no bill at the exit because your spot is conveniently prepaid. The best part is: you will never be surprised with a hefty parking ticket. With SpotHero, you don’t have to worry about finding a spot because parking is transparent and hassle-free.
Whether its parking, or anything else that is costing you too much money, time, or pain, chances are there is already an app or startup that is working to solve your problem for you. So next time you register a domain, attempt to manage DNS, blah blah, blah – remember that there’s already a solution for that: POP.co.
We talk a lot about how we don't want you to worry about managing DNS. And we don't. But in case you're interested, here is a taste of all the backend stuff that we have to deal with, so that you don't have to.
What is DNS?
The Internet doesn't really use domain names (like pop.co or yahoo.com) at its lowest levels. Communication is done between "IP addresses", which are short numbers that uniquely refer to each piece of equipment connected to the Internet. So, for instance, the IP address of POP (www.pop.co) is 192.81.216.82.
But who can remember addresses like that? You'd go crazy! So, the smart guys who run the Internet invented DNS.
DNS basically translates names -- like pop.co -- into IP addresses. You purchase a domain name, and then you can make an association between that and the IP address of your equipment - perhaps your home computer, or your hosting company's server, or whatever you may be trying to "point" to.
So when you type POP.CO into your browser every morning (you check our site every morning, right?), your computer talks to a DNS server and says "Hey! What's the IP address of POP.CO?" The DNS server checks its memory and hands back a number, and your browser can go on its merry way connecting directly to that IP address.
This communication is happening behind the scenes every time you type in a domain name. Go ahead and type in pop.co and experience DNS at work. Don't forget to tell us how it goes!
We’ve created a solution that streamlines the hassle of registering and creating your online presence. We believe that, if it aggravates you, you should not have to deal with it. As a way to show our commitment to this cause, we will share a pro tip that will surely find itself useful in your everyday life.
It’s always better to be safe than sorry when it comes to protecting sensitive information. During the holidays, fraud runs rampant and we should all be taking the necessary precautions to ensure that our bank accounts never get hacked. A few months ago, a member of our Miami team had over $1000 of purchases in France charged to his credit card. That totally sucked. Here’s a tip that will help you get upgraded bankcard security and keep those annoying credit card conversations to a minimum.
In the event that you lose your bankcard, you can avoid online purchases being made by a stranger by taking action before the card is lost. Scrape off the 3 or 4 digit security code (CVC) on the back of your card. Without that code, a thief will have a much harder time making online purchases. Keep in mind that you must remember the code to be able to shop online, so write the number down some place safe.
There are tons of ways to protect sensitive information, and this is just one more practical way to make sure that all of those Amazon Prime purchases ship to your address, and do not end up somewhere in the French Riviera. Trust us: when you make the effort to protect yourself, your life will be much easier. Are you making your life easier? If not, do yourself the favor.
Google Apps Tips: Create Quick Surveys with Google Forms
There are a million ways that you can bypass the daily traffic of your life, and that’s because there are plenty of people (like us) who are working relentlessly to create shortcuts for you. Here are some Google Apps tips that help make this possible.
Need to create a survey for a research project or just for fun? Google Docs will set you up with a free survey or poll that you can use to gather all the data you need. Simply follow these instructions.
Open up your Google Drive and Create a Form as shown on the left. Then Choose Title and Theme from a selection of classic headers to holiday themed designs.
Go through the form adding questions and setting the response type. You’ll be able to customize your responses by paragraph text, multiple choice, checkboxes, or even grid. Once you finish a question you can continue to add questions by clicking Add Item.
Now that you’re done asking questions, it’s time to get some answers. Send Form and you will receive a link that you can share over Facebook, Twitter, or Google +. You can also embed it directly to your site, or send over email.
Whatever way you choose to publicize your survey, rest assured that all of your results will appear in a spreadsheet that you will find in your Google Drive. And when you’re all done, share your insights with us!
We’re insanely cultishly devoted to one goal: to make your life easier. Often times, it’s the little details that can make or break your service experience. Sometimes we stumble across other examples of companies and products that truly inspire us with their unique approach to improving the life of their customers. In Uncommon Sense, we feature the best of what we find.
It’s raining, it’s pouring… and I bet you can’t catch a cab. You wait for minutes that feel like hours, looking out at a yellow sea of taxis that are all filled with dry, lucky people. But, if you’re smart, you already know that there is way to avoid this misery: Uber.
Uber exemplifies all that is “Uncommon Sense”, as it turns moments like these into pleasurable occurrences where getting a driver is as easy as opening the app on your smartphone.
The first time I ever used Uber was in NYC to go to La Guardia. It was rush hour and finding a cab was nearly impossible. As a (new) New Yorker, I opened up my recently downloaded Uber app and it immediately found my location and gave me an estimated arrival time. What I did not notice (or maybe chose to ignore) was that the cost was going to be 1.5 times higher than average because of the high demand.
Nonetheless, I took the ride and ended up paying a pretty steep rate. I wrote the community manager, letting him know that I was disappointed with (the cost of) my first ride. His response changed the game for me. He sent me a long, personalized, detailed email politely apologizing for the confusion and explaining why the cost was so high. He went on to discount my ride by 20%! You see, Uber cares.
They care so much that they have teamed up with Room to Grow to facilitate a toy drive in 100 local offices. An UberSLEIGH will come around to offices that pledge to contribute 20 or more toys and will collect their donations and thank them with UberTreats. As if the tree delivery was not enough – Uber is spreading the holiday joy like no other.
We want to make sure that companies like these are getting recognized, because without them, we would all have more days like Scrooge. Take a moment to think about all the ways others are making easier and let us know!
We’ve created a solution that streamlines the hassle of registering and creating your online presence. We believe that, if it aggravates you, you should not have to deal with it. As a way to show our commitment to this cause, we will share a pro tip that will surely find itself useful in your everyday life.
Wintertime means snowball fights, hot chocolate, crackling wood-burning fires, and unfortunately, driving through snowstorms. The only thing worse than scraping ice off your window-shield and a steering wheel too cold to touch barehanded is a car stuck in a snow bank. We want to avoid finding you and your family knees deep in three feet of snow pushing your minivan.
If you have experienced this, you have probably tried to press the acceleration pedal over and over again desperately hoping for the wheels to gain traction. I am sure you have learned that at a certain point, you just end up in a deeper hole than the one you started with.
Next time, you should take out your floor mat and tuck it tightly in front of the spinning tire. Slowly inch the car forward and your car should begin to move out of the ditch. Keep moving forward and eventually you will be home free!
Now, are you thinking about all those hours you have spent pushing your car when you could have just put down the mat? Don’t worry; we had the same depressing realization too. Just like the endless hours people spend getting their website online, when all they need to do is go to POP. So instead, think of all the hours you will save in the winters to come. Let us know what you think of our tips @thePOPguys.
There are a million ways that you can bypass the daily traffic of your life, and that’s because there are plenty of people (like us) who are working relentlessly to create shortcuts for you. Here are some Google Apps tips that help make this possible.
When you feel like your life is overloaded with crap upon crap, you typically do some spring cleaning. You get rid of the many overalls and jean jackets from the 5th grade that you haven’t been able to part with and ship them off to someone who needs them.
First, you need to decide how far back you would like to check your unread emails for important messages you may have missed. Think about how quickly your unread emails accumulate and go with a date maybe 1 to 3 months ago (any email older than that is probably irrelevant or was resent). Type in this date, let’s say July 30th, 2013, in the search box, like this: in:inbox before: 2013/07/30.
Select all the messages that show up by clicking “All” and then “Select all conversations that match this search”. Now, are you sitting down for this? Click “delete”. Congratulations, you are one step closer to a more sane life. For the rest of the unread messages you do not want, you can follow the same steps described above and instead search for in:inbox is:unread.
So how many times do we have to tell you that we want to make your life easier before you start believing us? Tell us about the others who are doing the same @thePOPguys.
We had decided that a day will likely come when we want to make portions of our API publicly consumable. By going API first, we set ourselves up to drink our own Kool-Aid so to speak. We are a client of our own API and truly utilize every endpoint. As we add more functionality, we are already in a position to offer it to consumers when the time is right.
Separation of Concerns
We wanted a complete separation of the frontend and backend codebases for easier management. The word separation of concerns comes to mind. We believe we lowered our future technical debt by not interlacing backend templated code into frontend client views. Our frontend is almost entirely HTML5 and JS driven, which we believe is hugely beneficial as the future of web development progresses.
Scalability
We believe that the separation of our frontend and backend codebases will help simplify future scalability concerns as we expand. We aren’t trying to prematurely scale by any means, but this architecture will enable us to scale our frontend and backend servers independent of each other. Additionally, it will allow for the client and server to each sit behind their own load balancers. We have the ability to scale up clients and servers on a more micro-level scale and believe this will end up costing us less in the long run.
Reduction of Language Barriers
We believe that our API is a reflection of our business logic. This gives us the capability of expanding in the future with a mobile application if need be, which could still utilize the same backend. The API acts as a universal language which any of our clients can interact with. Even as we expand, every team will be speaking and understanding the same language. The expectations are always the same: same successes, same errors. Better yet, everybody knows JSON and almost everyone is up to speed with REST, so the API is globally understood.
Developer Liberation
We believe API first development liberates developers. The only thing application developers need to know is the request/response sequences of each API endpoint and any potential error codes. The same goes for mobile developers, and any other type of developer that may crop up in the future.
Widgetization
Lo and behold, our API has allowed us to widgetize our frontend into a series of independent, asynchronous requests. We can load the bulk of our static content upfront and load sections of a page asynchronously as the API returns data. At the expense of more HTTP requests and overhead, our pages have a much smaller footprint up front. If our API was to go down for any reason, our frontend load would still remain minimal.
Got any questions? We are just waiting to hear from you: @thepopguys.
POP.co gives early stage startups a .CO domain name, Google Apps Email, and a simple one page landing page - all in under a minute with a 15 day free trial and no credit card required.
We’re insanely cultishly devoted to one goal: to make your life easier. Often times, it’s the little details that can make or break your service experience. Sometimes we stumble across other examples of companies and products that truly inspire us with their unique approach to improving the life of their customers. In Uncommon Sense, we feature the best of what we find.
When I stepped into Warby Parker, I learned that buying a new pair of glasses can be affordable, convenient, and best of all—rewarding. To know that I would get a pair of nice glasses, and be giving a pair to someone in need was priceless. I cannot count the ways I am impressed with this company. But let me try…
Warby Parker gives you options, starting with the different ways you can try on your glasses if you’re not in the store. They can send up to 5 pairs of glasses to your home for free, or you can upload a picture of yourself to your digital device and “try on” glasses virtually. And if you’re still not sure, their customer representatives are available for a real-time chat where you can ask their opinion on which frames look best.
But here’s where I feel the true value of their customer service comes in... If you reach out to them via social media, their response will make your jaw drop. They're not just sending a tweet back; Warby Parker has gone so far as to respond to their customers by recording a video to Youtube of their team picking out a frame specifically for them and explaining why they will be the right fit. This made me all tingly inside.
When you go above and beyond to deliver the best customer service experience, we will notice you. And better yet, we will remember you and keep coming back. Finding unique ways to make life easier is where it all begins. We think we’ve found a way… See for yourself!
Joyent DNS Setup Guide for NodeKnockout Participants
We are very excited to be a sponsor of NodeKnocket 2013. We love node.js almost as much as we love making life easier for entrepreneurs that need to get their ideas online fast.
First, you're going to need to find your new Joyent server's IP address. Your machine has two IP addresses: a public IP address and a private IP address. The public address is used to communicate with the Internet and is the one we want to use. You can find both addresses in the Machine Details page when logged in to your http://my.joyentcloud.com portal. You may optionally SSH into your Joyent server and issue the ifconfig -a command. If you care to read the Joyent wiki entry on finding your IP address, you may do so here. The guide covers private IP ranges which can help insure you don't pick the wrong IP.
Once you have found the public IP address of your Joyent machine, you'll need to update your DNS settings in POP to point your domain at the new machine. We'll cover both simple and advanced methods for creating these records within POP below.
When you login to POP and navigate to our Simple DNS Editor, you will see a list of available website builders and hosting providers. If you scroll down, you should see Joyent listed alphabetically.
Simply click on the Joyent column and you will be prompted to enter the public IP address of your machine.
Once you submit this form, a new overlay will outline the changes that will take place and any records that will be overridden or deleted by the change. Click on the button to confirm these changes and you're all set!
If you'd prefer, you can also use our Advanced DNS Editor. On the same page as the Simple DNS Editor, there is a tab for our Advanced DNS Editor. This editor will allow you to create, update, and delete existing DNS records. To point your domain at Joyent using the advanced editor, you will need to update the existing root A record.
Your root A record is represented by the @ symbol. You'll want to point this record at the IP address assigned to you by Joyent. Simply save this record once you're done updating.
You will also want to handle the case of people navigating to www.<yourdomain>.co. To do this, we recommend updating the existing CNAME record with hostname set to WWW.
You'll want to edit this existing record and update the record's value to match your domain name. Note that you should include a trailing period at the end of your domain name.
Lastly, you may want to consider updating your machine's hostname as it has been automatically setup by the NKO staff to be <team>.2013.nodeknockout.com. Simply issue the following command while SSHed into your server, replacing <domain> with the domain name your registered on POP:
DNS propagation delays may take anywhere from a few minutes to a few hours, so please be patient when trying to diagnose or configure your domain.
Depending on your setup, you may need to update your node.js application to accept inbound connections from the domain if there are multiple apps on your machine (i.e. ConnectJS's vhost middleware).
If you're in a hurry and can't wait for DNS propagation, you can spoof your DNS records by editing your local machine's /etc/hosts entry if you're using Mac OSX or a Linux OS. If you're on Windows, you will need to modify the equivalent file %SystemRoot%\system32\drivers\etc\hosts. When editing the file, simply create a pairing of IP address to domain name as the image below demonstrates:
We should also note that Joyent wiki documentation states that Joyent does not provide DNS services for SmartMachines outside of the single A record USERNAME.joyent.us as shown in the welcome email you should receive from them. If you want a reverse record (you want your SmartMachine IP address to have a record that points to your domain name instead of your SmartMachine zone name), you need to submit a ticket.
Good luck and feel free to ask us any questions! We can be reached on Twitter at @thePOPguys