Archive for the ‘How HipChat Works’ Category

Four HipChat secrets for remote teams using agile

3 days ago Andy Chang 0 Comments

HipChat for agile remote teams

Agile development was created with the idea that teams would work in close proximity with one another in order to operate faster as a team. But, let’s be honest, working remotely today is as ubiquitous as Elvis in Vegas.

Most businesses now have a few – or several – distributed teams. And for good reason. Strong talent can be found in less competitive markets, and teams can work around the clock.

Even so, being a remote agile team comes with challenges like coordinating across time zones, building team rapport, collaborating among different development cultures, and scheduling meetings. Luckily, communication tools like HipChat can bridge the gaps created by distance and time.

Below we’ve gathered four tips that will help your remote team go agile.

1. Structure your team

Develop a single piece of technology in each office to boost autonomy and get work done more efficiently.

HipChat for agile remote teams

HipChat Tip: When your team begins to work remotely, it’s the perfect time to use HipChat. Boost autonomy by providing an open room for your team to communicate and share information.

2. Build team rapport

Give remote teammates the opportunity to create personal connections. Doing so will build trust, minimize missed expectations, ease self-organization, and boost morale.

HipChat for agiler remote teams

HipChat Tip: HipChat lets you communicate via chat, voice, video, or text. Multiple options reduce obstacles preventing communication, giving your team the most opportunities to share business and get to know one another.

3. Create a united development culture

Keep your team in sync by laying down the framework for a united development culture. Helpful tips: over-communicate decisions, minimize the friction in setting up the development culture, clearly define the definition of “done,” and create guidelines for filing bugs.

HipChat for agile remote teams

HipChat Tip: Create a room for your devs to report, discuss, and announce news. Integrate the room with JIRA, so your entire team can stay updated on projects and tasks.

4.  Maximize the golden hour

Take advantage of the hours when the local and remote teams are both in the office by holding standups.

HipChat for agile remote teams

HipChat Tip: Encourage your team to set their timezones in their settings, so they can know everyone’s local time. That way, you can be sensitive when you call a standup and you’re not pinging people while they sleep! 

 

In a distributed organization, the reality is that every team is remote. All teams need to adapt and learn how to share work between offices, communicate effectively, and grow a consistent culture across geographies.

The most effective teams seek to find and share successful practices across all locations, with help from communication tools like HipChat.

HipChat for agile remote teams

 

Four HipChat tips for agile ceremonies

2 weeks ago Andy Chang 3 Comments

“Agile” is defined in the dictionary as “able to move quickly and easily.” You can apply that to your ninja nunchuck skills, yoga moves, or, even, the way your team works.

The agile methodology is an alternative to traditional project management that uses an iterative approach to software delivery. Broken up into “sprints,” teams can tackle tasks in pieces and review along the way. This methodology encourages flexibility to change, focusing on adaptive planning, early delivery, and continuous improvement. 

Four “ceremonies” make up the agile process – sprint planning, daily standup, iteration review (demos), and retrospectives. Atlassian has an amazing resource, The Agile Coach, which gives detailed information about these ceremonies and how to implement them on your team.

Atlassian is home to many products that help teams adopt the agile methodology, specifically JIRA, JIRA Agile, Bitbucket, and Confluence. HipChat can also play a huge role in helping your agile team communicate. Use The Agile Coach to gain deeper knowledge on agile methodology, and read on below to get our best tips for using HipChat on an agile team.

1. Sprint Planning

Set up your team for success by defining what will be delivered in a sprint. 

HipChat for agile teams

HipChat tip: Set up your JIRA integration to monitor the progress of your team’s sprint

2. Daily Standup

Quickly inform everyone of what’s going on across the team.

HipChat for agile teams

HipChat tip: Use the Standup Bot to keep track of every teammate’s report.

3. Iteration Review

Showcase the work of the team and get feedback.

HipChat for Agile Teams

HipChat tip: Create a room specifically for iteration review, then use screen-sharing to show your work.

4. Retrospective

Help your team understand what worked well – and what didn’t.

HipChat for agile teams

HipChat tip: If you’re working with a remote team, use video chat to review work as a team.

 

HipChat for agile teams

Be your own boss and work how you want

Are you a boss? Maybe not technically, but you should always be living the boss life. And that means taking control of your work environment so you can pop that collar and win those dollars.

We’re always working to make HipChat a place that helps you not only communicate with your team, but also feel empowered to work the way you want.

We’ve gathered some ways to take the reins by customizing HipChat to fit your needs.

1. Use per-room notifications

Set the stage for success by focusing on important chats and silencing others. In HipChat, you can set notifications per room to moderate the noise level from each chat.

HipChat per-room notifications

This feature is currently in the HipChat web app as a beta. In any room, just click the three dots in the top right corner, and click Room Notifications.

 

2. Customize your HipChat appearance

One size does not fit all. And the same goes for HipChat. Now in HipChat web, you can select how you want HipChat to look.

Choose a dark or light theme, adjust text density, add or remove avatars, and show either names or mentions.

HipChat appearance theme settings

HipChat appearance theme settings

The power is yours. Use it wisely.

 

3. Change your @mention name

Lastly, let’s find your chat identity. In HipChat, you can customize your @mention name, meaning you can finally be called Superman (or, in my case, BawsLady).

HipChat appearance theme settings

HipChat change @mention name

Just go to your Account Settings to change your @mention name.

 

When it comes to your work life, you’re in charge. We’re simply here to give you the tools that help put you on boss status.

We’d love to hear your from you: leave your thoughts on the beta features, and let us know what else you want to see on HipChat.

 

HipChat & Confluence: Working together to make cool hoodies

4 weeks ago Elena Gorman 1 Comment

Last fall, the HipChat and Confluence marketing teams got together. We wanted show how when both teams and tools work side by side, we create amazing things. Like hoodies.

As Product Marketing Managers, it’s our job to build consensus, make informed decisions, and complete projects in a transparent way – from our smartphones or desktops from cities across the globe.

When we got our hands on Confluence 5.7, it came loaded with some phenomenal new capabilities.

These advancements, such as in-line comments and a seamless integration with HipChat, make it simple to move fast as a marketing team.

With this new Confluence + HipChat power, we designed a new HipChat hoodie to show off our skills.

Here’s (roughly) how it went down:

Why IT teams (heart) chat

4 weeks ago Jeff Park 0 Comments

HipChat helps great teams communicate, and it’s no different for IT teams. With some help from our friends at JIRA Service Desk, we went directly to the IT community to find out how chat helps their teams.

We surveyed agents, managers, and directors and asked them about how chat makes their work life awesome. Here’s what they said (click for full-size):

Why IT loves Chat

Looking to learn more about how chat can help IT support? Check out our latest article How Chat Helps IT Support Agents Crush It.

If you’re an IT team looking for a more integrated service desk experience with HipChat, make sure you check out JIRA Service Desk.

Like this sweet infographic? Share it on FacebookTwitter, or LinkedIn, send a smoke signal, or even try some morse code. Download the PDF here!

Emoticons: saying nothing, but also everything

HipChat Emoticons

Let’s just be honest, emoticons are awesome. They’re probably one of the best parts about working with a variety of personalities.

Emoticons say so much without a word, but convey attitude, emotion, or frame of mind with a photo. Around here at HipChat HQ, we’re guilty of having entire conversations with emoticons. If aliens discovered how the HipChat team messaged one another, they’d think we use modern day hieroglyphics.

Our emoticon shrink ray resizes almost any image you find on the web into that 30 x 30 image you love. Because of this, we have so many inside jokes. It’s bananas how fast what’s trending in our social room can become an emoticon in minutes due to people thinking it’s hilarious or poignant.

From Left Shark, to one of our recruiter’s dogs looking like the cutest Ewok ever, we’re addicted to emoticons. It’s not just us, teams everywhere love them some Rage Comic faces, or the Sad Panda. Best part? They’re all predictive – so just type in the first letter and each one of these emoticons will pop up alphabetically.

Want to create your own? Team admins can add up to 100 custom emoticons. (Remember, with great power comes great responsibility.)

Check out some of our favorites below.

Funny

Sometimes it’s easier to drop an emoticon in when someone’s being hilarious. It works better than trying to put into words. We rely so much on internet humor around here. HipChat emoticon yey

HipChat Emoticons      ALL THE THINGS (allthethings)

HipChat Custom Emoticons          AWW YISS (awwyiss)

HipChat Custom Emoticons       DISAPPEAR (disappear)

HipChat Custom Emoticons       HUGE FAN  (hugefan)

HipChat Custom Emoticons       YO DAWG (yodawg)

Trolling

Need to bust some chops? These emoticons are great for calling someone out, letting them know you’re very much paying attention to what they’re doing and saying. Cause sometimes, when someone says something dumb, you need to drop a  HipChat emoticon troll on them.

HipChat Custom Emoticon Troll        TROLL (troll)

HipChat emoticon dumb        DUMB (dumb)

HipChat Emoticon downvote       DOWNVOTE (downvote)

HipChat emoticon lolwhut         LOL WUT (lolwut)

HipChat emoticon orly        ORLY (orly)

HipChat emoticon unacceptable         UNACCEPTABLE (unacceptable)

HipChat emoticon youdontsay       YOU DON’T SAY (youdontsay)

Congrats/good job/nice work/thanks

Is someone crushing it at work? It’s always cool to give them a nod of approval, a wink that people notice their work. If your girl in marketing is dominating or your dude in sales is closing the deals, drop them an (awyeah) , they’ll appreciate it.

HipChat emoticon notbad          NOT BAD (notbad)

HipChat emoticon you got it dude   YOU GOT IT DUDE (yougotitdude)

HipChat emoticon true story        TRUE STORY (truestory)

HipChat emoticon me gusta         ME GUSTA (megusta)

HipChat emoticon indeed       INDEED (indeed)

HipChat emoticon aw yeah       AW YEAH (awyeah)

Animated

Need a little something different? Try one of the animated gifs to add some flavor to your conversation.

HipChat emoticon fireworks         FIREWORKS (fireworks)

HipChat emoticon boom       BOOM (boom)

HipChat emoticon mind blown        MIND BLOWN (mindblown)

HipChat emoticon rock on       ROCK ON (rockon)

HipChat emoticon why not both     WHY NOT BOTH (whynotboth)

Dislike

What happens when stuff gets weird? Or the conversation takes a turn south? An emoticon is a great way to lessen the tension, or let someone know that it might be time to switch lanes of thought. Best part? You never said a word.

HipChat emoticon do not want       DO NOT WANT (donotwant)

HipChat emoticon Sad Panda        SAD PANDA (sadpanda)

HipChat emoticon sad indeed       SAD INDEED (sadindeed)

HipChat emoticon sad cowboy        SAD COWBOY (sadcowboy)

HipChat emoticon sad apple         SAD APPLE (sadapple)

HipChat emoticon oh god why        OH GOD WHY (ohgodwhy)

Random

What about those times when you really have nothing to add to a conversation, but figure why not drop in a kudos or a simple, “sure, that’s cool.” These are perfect.

HipChat emoticon clarence       CLARENCE (clarence)

HipChat emoticon face palm        FACE PALM (facepalm)

HipChat emoticon nice       NICE (nice)

HipChat emoticon no idea         NO IDEA (noidea)

HipChat emoticon salute       SALUTE (salute)

HipChat emoticon scumbag        SCUMBAG (scumbag)

HipChat emoticon wat        WAT (wat)

HipChat emoticon whoa       WHOA (whoa)

Most Used

A few of these were mentioned above, but some of them are too good not to repeat. Here are just a few of the emotions we overuse every single day.

HipChat emoticon lol         LOL (lol)

HipChat emoticon do not want       DO NOT WANT (donotwant)

HipChat emoticon disappear       DISAPPEAR (disappear)

HipChat emoticon true story       TRUE STORY (truestory)

HipChat emoticon waiting       WAITING (waiting)

HipChat emoticon not bad         NOT BAD (notbad)

Learn more about emoticons here.

Coming soon to every team: The emoticon shrink ray – create and upload custom emoticons with a simple click. Trust us, it’s awesome.

Work Faster with Slash Commands

We built HipChat for instant communication. HipChat slash commands are a set of time-saving tricks to get the most out of HipChat without reaching for your mouse.

All HipChat slash commands take the form: /Command + Text

  • Command is the action you want to take
  • Text is the new message you want to appear

Slash Commands for Room Actions

Slash Commands on HipChat

Slash Commands for Status Control

You can enter these commands in any chat window to change your availability.

HipChat Slash Commands

Slash Commands for Message Formatting

Keep your team members on their toes by rendering your messages in style. Or, fix mistakes you made in your last message by replacing words (ah, the relief!).

HipChat Slash Commands

Code Syntax Highlighting (/code):

Code formatting and syntax highlighting on HipChat

Quote Command (/quote):

HipChat Slash Commands

Fix Spelling Mistakes (s/):

HipChat Slash Commands

Emote Command (/me):

HipChat Slash Commands

Note: If you try typing an unknown slash command, it will just send like a normal message. Otherwise, no message gets sent and the slash command is executed.

Android Users: The following do not work on the Android app: /join, /topic, /part, /available, /away, /dnd, /clear, and s/.

Slash commands help make work communication simpler and less stressful. With these tools, you can get to your chats faster, style your text, and fix spelling mistakes. Afterall, it’s your chat, and it should work the way you want it to.

June 15th Outage

What happened and what we’re doing about it

We sincerely apologize for our recent outage: you trust us with your chats, your important documents, your cat gifs, your personal conversations, your system notifications, your internet memes – and we let you down.

Our team takes pride in making   an important part of your (work) life, and we’re sorry. sad face hipchat

What happened?

Short version: the recent Mac client release which had the much anticipated “multiple account” feature also had a subtle reconnection bug that only manifested under very high load  facepalm-hipchat.

When a large network provider in the SF Bay Area had an issue Monday morning, it caused all of those clients to start reconnecting at once. This saturated our systems and prevented normal usage.

On Monday, we released an update to our backend systems, and Tuesday morning we released a new Mac app (v 3.3.1), both of which increased protection against this type of issue in the future.

We also fixed various other bugs related to reconnection in the Mac app that will prevent another connection overload like this one. And we continue to have teams building new, amazing technology that improves our system isolation, enhances our ability to do sophisticated load testing, supports even higher scale, and increases our server-side capability management (to disable misbehaving client functionality more directly, for example).

We never want you to be without HipChat. We fell far short of that Monday and are very sorry we let you and your teams down. 

We just passed 6B messages delivered via HipChat, more than 2B of which have been delivered in 2015 – our platform is scaling and growing faster than ever thanks to teams like yours.  We’re moving quickly to build a stronger HipChat as a result of the experience – thanks for your patience while we do.

 

HipChat and the little connection that could

Three weeks ago, we introduced HipChat’s brand new, badass web client. It’s fast, beautiful and built to change how people connect. Needless to say, we’re incredibly proud of it. But, as much as we wanted a perfect launch, we weren’t so lucky: if you tried to use the client in the first week or two, you might have noticed a few hiccups.

Sorry about that.

In the spirit of Open Company – No Bullshit we wanted keep our users informed about the recent outages and what we did to fix the issue. Some of those outages degraded other areas of HipChat, like slowing our main website and message delivery. We’ve made moves to strengthen our web client’s stability so these issues never happen again.

How connecting to the HipChat web client works, at 10,000 feet

  1. You log into www.hipchat.com, creating a session with HipChat’s web layer.
  2. After logging in, you click Launch the web app which, in the web layer, creates a session with our BOSH Server.
  3. Once connected, our BOSH server in turn creates a session with our XMPP server.

In this chain, our BOSH Server is the weakest link. It wasn’t standing up to the popularity of the new client. And unfortunately, it’s coupled to our main web tier in a really bad way.

As our BOSH server came under pressure, it triggered a large number of sessions to reconnect. This, coupled with other issues, would cause hipchat.com to degrade. This is what happened the last week of March.

The little connection that could

With the new web client, the goal was to improve client reconnection, allowing HipChat to maintain resiliency toward network changes, roaming, outages, etc.

Previously, HipChat’s web client attempted reconnection every 10 – 30 seconds following a disconnection. This time around, we wanted a better experience: reconnecting as “automatically” as possible, hoping users never noticed a thing.

To do this, we decreased the connection retry from 10-30 seconds, down to 2 seconds. This drastically shortened time, combined with a surge of new users, strained our system. When we re-wrote the hipchat-js-client, we tried to ensure our users we had reasonable polling rates with exponential back-off and eventual timeout.

Here’s what the new reconnect model looked like:

webclient reconnect

The initial reconnection attempts were too aggressive for the amount of traffic we saw. So, our first action was to quickly update the back-off rate and initial poll time to be more reasonable.

The problem with exponential back-off

As always, things get complicated when we consider this at scale (webscale). Let’s say a large number of clients become disconnected at once due to a BOSH node failure. With our current reconnection model, we saw the following traffic pattern:

backoff_expo_ts

(Above example from AWS Blog, not actually pulled from HipChat, but you get the idea.)

Well, that’s not that much more awesome.

We’ve effectively just bunched all the reconnection requests into a series of incredibly high-load windows where all of the clients compete with each other. What we really want is more randomness. We implemented a heavily jittered algorithm design.  This gives us the benefit of having the least number of competing clients, and encourages the clients to back off over time.

waitTime = min(MAX_WAIT, random_integer_between(MIN_WAIT, lastComputedWaitTime * BACKOFF_RATE))

backoff_fj_ts

(Again, this example from AWS Blog. They have prettier graphs.)

This model has had a huge impact, and made the service much more resilient.

Untangling the Gordian knot

As mentioned, our BOSH server and our web tier are unfortunately coupled. Currently, it’s the web tier’s job to attach a pre-authed BOSH session to new clients. We do a lot of nginx hackery to ensure that your web session and your BOSH session are live, and are routed to the same box. This means anytime a web client reconnects, it hammers on its corresponding web box making both unstable.  This also makes scaling our BOSH server really tricky. And worse, it prevents service isolation since we shared a lot of resources between our web site and HipChat’s web client.

As of March 26th, we’ve deployed changes that allow our web sessions and BOSH sessions to be uncoupled. In fact, all of our new web client users are already using this new auth method. This means we can scale our main website and our web client independently. We’ve already set up isolated worker pools for each. Together, these changes should ensure a misbehaving web client doesn’t cause a dead hipchat.com.

Double the trouble, double the fun

Since we knew session acquisition was our biggest pain point, we combed through our connection code, looking for ways to make it less expensive. We noticed that it was double-hitting Redis in some cases. A fix was quickly deployed, and the results?

double-query-redis

They speak for themselves.

How’s it looking?

Since we made these changes, distribution of load on our system has been much improved. In the graphs below, the white lines show the start of Friday 3/27.

last 4

Four days of traffic prior to change (Tue – Fri)


last 14

Preceding two weeks of traffic (Mon – Fri, Mon – Fri), notice/compare Fridays (end user platform use level is approximately the same).

Many thanks

We’ve got a long list of stability and performance fixes in the pipeline to keep up with amazing growth in demand for HipChat. Thanks for your patience and support. (heart) (hipchat).

(goodnews) New and improved emoticons

8 months ago Matt McDaniel 22 Comments

Here on the HipChat team, we take emoticons seriously. It’s really weird to spend a healthy portion of your work day discussing the finer points on tiny pictures from the internet. But when we see how happy those tiny pictures make everyone, it’s all worth it. Today, we want to tell you about a few ways we’ve improved emoticons in HipChat.

Emoticons for (allthescreens)

All of our global emoticons are now built to support hi-res displays, like Apple Retina displays and the higher end of the Android pixel density spectrum. This change resolved the much voted-on UserVoice ticket that we’ve had on our list for a while.

For every new image, we created hi-res sizes up to 4x (because you never know what the future will bring), so they’ll look good on both your fancy high-res displays and that old monitor your work won’t upgrade for you.  We’ve been rolling out these Retina emoticons over the last few weeks, and we’ll continue to tweak them every so often. Check out the big changelog below for details.

Sharing our favorites

Included in this latest release are a few of our favorite emoticons. Many, like (whoa) Keanu, were added because of your feedback. Others, like (disappear) and (salute), are ones we use so much around Atlassian that it didn’t feel right to keep them for ourselves.

  

Don’t forget that you can upload your very own custom emoticons just for your team. So next time you don’t have to wait for us to update the global set with (whoa) and can BYOK (Bring Your Own Keanu).

One size fits most

In addition to Retina-fying our global set, we improved our emoticon uploader. Now, admins can upload new, hi-res emoticons. And even better, we’ll automatically scale them for you. We suggest starting with an image around 120px (the new maximum). After the image goes through some emoticon uploader magic, you’ll end up with an effective 30px image after scaling.

We debated how to handle retina images. We chose this auto-scaling method because it’s far easier to upload new emoticons, or update an existing one, when you only have to create and maintain one size.

Protip: Keep in mind that whatever you upload is going to be scaled down 4 times, so a 1px stroke is going to be hard to see on a low-res monitor. We learned the hard way how much that can really effect line-drawing emoticons. That’s why you’ll see “beefed up stroke width” on a lot of the changelog below. It also helps if your image starts with dimensions that are multiples of 4 on both sides. For example: 116 px wide is great (116/4=29), but 115 px wide isn’t (115/4=28.75). 

And now that you can’t stand to look at your old custom emoticons on your Retina monitor, you can re-upload any of your existing custom emoticons by deleting old ones and uploading a new, larger versions. We’ll continue to refine and add to our global emoticon set.

The other “emoticons”

We also updated our set of little faces. Similar to the situation with the Retina emoticons above, we needed higher resolution images than the current assets allowed. We also wanted a new set of our own.

We started looking at emoji sets for inspiration and pulled in little touches from our HipChat brand, like using the logo smile shape as often as possible, and we ended up with a set that we really like. As with everything else, we’ll be iterating on them here and there, and someday may bring full emoji support.

Oh, and the icy blue corpse thumb thing we did is dead and buried. Dig it out if you want: (corpsethumb). We’re replacing the re-colored Apple emoji thumbs-up and thumbs-down with a new pair of icons that don’t look at all like Facebook. (badpokerface)

Check out hipchat.com/emoticons to see all the new emoticons and try them out with your team! And keep the feedback coming at help.hipchat.com.

Changelog

Changes made to global emoticons

  • (awyeah): beefed up stroke width
  • (badass): beefed up stroke width
  • (badjokeeel): added contrast and adjusted size
  • (bumble): added contrast
  • (caruso): adjusted size
  • (challengeaccepted): beefed up stroke width
  • (chewie): added contrast, brightened
  • (chucknorris): brightened up to bring out the Chuck Norris
  • (clarence): added contrast, brightened
  • (derp): beefed up stroke width
  • (dumb): enlarged to show face better
  • (facepalm): added contrast, tightened crop to improve chest to face and palm ratio
  • (fonzie): added contrast
  • (freddie): beefed up stroke width
  • (gangnamstyle): cleaned up gif
  • (gates): adjusted a little to match (jobs)
  • (goodnews): scaled up a little
  • (haveaseat): added contrast
  • (heart): updated to match smilies, adjusted crop
  • (ilied): lightened up to bring out details
  • (indeed): cropped to just face and highlighted monocle
  • (itsatrap): added contrast, brightened up to bring out detail
  • (jackie): beefed up stroke width
  • (jobs): adjusted to match (gates), added contrast and brightened
  • (joffrey): new image, fewer spoilers, more like the others (not shown above)
  • (kennypowers): added contrast and brightened
  • (krang): beefed up stroke width, reduced contrast between colors
  • (lincoln): brightened to blow out noise
  • (lolwut): added contrast and brightened, scaled up
  • (notbad): beefed up stroke width
  • (notsureif): replaced with (fry) to match
  • (philosoraptor): brightened to bring out detail
  • (present): added contrast and brightened
  • (reddit): removed white fill from antenna shape
  • (romney): added contrast and brightened
  • (sadpanda): using a sadder, more forward-facing panda
  • (samuel): added contrast and levels adjusted to stand out more on white
  • (skyrim): added contrast and brightened
  • (sweetjesus): crammed into (iseewhatyoudidthere)’s head shape to resolve weird corners
  • (taft): cropped closer to face, mustache volume increased, mustache/face contrast increased
  • (twss): added contrast and brightened
  • (wtf): enlarged to show face better
  • (yodawg): added contrast and brightened
  • (yuno): resized because he was too small
  • (zoidberg): resized because he was too small

New global emoticons

  • (awesome)
  • (aww)
  • (awwyiss)
  • (badtime)
  • (bicepleft)
  • (bicepright)
  • (borat)
  • (carl)
  • (catchemall)
  • (chef)
  • (cookie)
  • (corpsethumb)
  • (disappear)
  • (doh)
  • (donotwant)
  • (downvote)
  • (drool)
  • (evilburns)
  • (excellent)
  • (feelsbadman)
  • (feelsgoodman)
  • (finn)
  • (ftfy)
  • (giggity)
  • (goldstar)
  • (haha)
  • (huehue)
  • (hugefan)
  • (jake)
  • (meh)
  • (motherofgod)
  • (nice)
  • (noidea)
  • (notit)
  • (ohmy)
  • (paddlin)
  • (rockon)
  • (salute)
  • (sap)
  • (standup)
  • (taco)
  • (tayne)
  • (thatthing)
  • (theyregreat)
  • (toodamnhigh)
  • (unacceptable)
  • (upvote)
  • (waiting)
  • (whoa)
  • (yeah)
  • (youdontsay)