Category Archives: Uncategorized

Kicksend Gets Funded!

When we started Kicksend, we wanted to make a dead-simple way for people to send and receive things they care about, with the people they care about. 

In the past few months since we started working on Kicksend, a lot has happened. Our product has improved tremendously, people are using us on a daily basis, and every day we have more happy users.

Today, we are completely ecstatic to announce that we’ve acquired seed funding from some amazing investors who fully understand and support our vision for Kicksend.

Our seed round is led by the impressive team at True Ventures (especially Jon Callaghan and Adam D’Augelli) who have been absolutely phenomenal with their support and guidance. True are founder-friendly to their core, and we’re very, very excited to have them on board as we move forward.

Digital Garage, stellar investors from Japan, are also a part of this round and are going to help us with our Japanese efforts moving forward, something they are very good at. We’re also glad to bring on board SV Angel and Start Fund, two firms who have been helping us since we started Kicksend, along with the great folks at YCombinator.

Finally, we’re very excited to bring Jack Abraham of Milo on board as an angel investor. Jack was one of our early product advisors and is an all-around fantastic entrepreneur.

Oh, and we’re hiring :)

Kicksend Gets a Makeover

Over the past few months we’ve experimented with a few different designs.  Each change was an improvement but we still wanted something better.  I’ve been the one doing most of the design work for Kicksend but we felt that we needed a really big change.  This is why we hired legendary designer Mike Kus to give Kicksend the makeover it deserved.

New Marketing Page

Screen_shot_2011-10-24_at_2

Mike created a brand new marketing page for us that conveys the same message as our old design in a much better and bold way.  The first thing that pops out to you is the brand new color scheme.  We’ve always felt that our old color scheme could use a boost.  Black, grey, and brown conveyed a more corporate feel.  The new color scheme unsparingly uses a bright blue that gets rid of the dullness.  Also many of the key messages are now graphical and much larger.

Screen_shot_2011-10-24_at_2

In our old design we stressed the 1, 2, 3 steps for sending a file with Kicksend.  Mike made this stand out by making them a main part of the design.  There’s even a little animation when you hover your mouse over any of the steps.

New Logo

Screen_shot_2011-10-24_at_2

Our first logo was a brown box with an arrow pointing down, which was carried over from when we were called Receivd.  This box emphasized the effortless receiving aspect of the application.  The new logo that Mike created for us has flames coming off of the K in Kicksend, emphasizing the sending aspect.  The new logo is more abstract and unique.

We’ve been rolling out the new design changes throughout the web app, desktop, and upcoming mobile applications.  We’d love to hear what you think about our design in the comments.

Activity Streams Rolled Out on the Web

We’re happy to announce that we’ve added Activity streams to Kicksend’s web application.  You can now get a quick overview of all of the things you’ve sent and received from all of your friends.  Along with just viewing files, you can see messages that you or your friends have sent. Activity streams will soon make it to all of our other platforms.

Activity_screen

To check out your activity stream just click on the Activity link on the sidebar.  This is just one of the many new features that we’re going to be rolling out within the next few weeks.

Trip #1 – Muir Woods

Last weekend, the Kicksend team took a break from our upcoming launch work to get some fresh air at Muir Woods, one of the most well preserved old-growth coastal redwood forests in the country. 

Coast redwoods are amazing – they’re some of the tallest and oldest trees on the planet and look stunningly graceful. Muir Woods, along with Big Basin Park in the Santa Cruz mountains, is one of the few places in the country that you can walk around near really old coast redwood trees.

  

Since it’s really close to San Francisco, the woods were pretty packed, but the whole experience was still very, very enjoyable. Brendan took some killer photos, which we’ve attached :)

  

By the way, the Kicksend team is comprised of fanatic foodies, so we couldn’t miss the opportunity to eat some awesome grilled cheese sandwiches and tomato soup at the Muir Woods Cafe (recommended!!)

 

Messages, Windows App & Gmail Integration

We have three long-awaited features being released this week:

Messaging

Messages

You can now attach a message along with the files you send. Once your friend gets the files, they can reply back privately to you, initiating a private conversation for each file. You’ll get notified via email whenever someone sends you a message so you can reply back. This is a feature that we really enjoy using with our family and friends here at Kicksend. It’s currently live on the webapp and will be on the desktop apps shortly. 

Send Files Now

Windows App (beta)

Windows

The road to releasing a Windows Kicksend app has been long and fraught with difficulties, but an early version is finally here. The first release of the Windows app lets you send and receive large files directly from your desktop. Files that are sent to you will be automatically downloaded and organized in folders on your hard drive. You can send to any email address directly from your desktop. The Windows app is designed to run in the background and stay out of your way till you need to use it. This is still an early version of the Windows app and we’ll be releasing new features and changing the look quite a bit in the future.

Download the Windows App

Gmail Contacts Integration

Gmail

We added in integration for your Gmail contacts last weekend. On the webapp, you can now connect your Gmail account securely to have access to all of your Gmail contacts within Kicksend.  By connecting your Gmail account, we can pre-populate the drop down on the Send Files page with all of your Gmail contacts.  This makes it easier to find the email addresses of people you already know and ultimately, much easier to send files to them.

Tell us what you think about these features using the ‘Get Feedback’ link from within the app.

Kicksend is the best filesharing solution on the planet. Signup here

Stack Glue Using Node.js & Redis

One of our requirements at Kicksend is to get messages proxied out from our Rails app to the XMPP messaging server on-demand during a HTTP request. This is trickier than you would expect. A typical XMPP session consists of a multi-step authentication and then usually a persistent connection per-user, something that doesn’t play well within a typical short HTTP request cycle. While most of Kicksend’s messaging triggers are on the client-side, there are a few instances when we need to communicate server-side from the webapp to the XMPP server (for example, when adding a new connection), and doing an authentication each time produces a noticeable slowdown that degrades user-experience.

Xmpp_proxy_1

The solution to this problem involves setting up a XMPP component that hooks into the XMPP server directly, acting as a trusted proxy. Any messages you forward to this component will get passed on directly to the server. Indeed, many of the bigger XMPP-backed apps you’ve used have some custom components running in the background in addition to the XMPP server. 

XMPP components can be written in any language as long as they conform to the spec. At the same time, they should be able to handle a flood of messages that might occur at any time and also be easy enough to connect to from other sections of your app. While I was doing some poking around on Github, I noticed xmpp.js, an XMPP component library for Node.js – after doing a quick test, we realized this worked really well.

Next up, we need a way to reliably get messages to the new proxy-component. The naive implementation would be to maintain a persistent connection to the proxy-component from each instance of the Rails app – but this is a horrible idea in practice. Honestly, the less things you have connected persistent to your Rails instances, the better. We were already using Redis in our stack, so it made sense to use a Redis list as a queue instead of setting up another direct connection. Now the new architecture is as shown in the image below.

Xmpp_proxy_2

Now, whenever we need to pass a message to the XMPP server from the webapp, we stick it into a special Redis list. The proxy-component is now connected to the XMPP server and also connected to Redis. Using Redis’ BLPOP feature, the proxy-component ‘listens’ to the list, and forwards any new messages to the XMPP server. BLPOP is especially suited for this setup since it blocks the redis connection till a new item shows up in the list, making it quite zippy (otherwise you’d have to poll the list every few seconds, not as great or fast). 

We have this running internally on Kicksend, and it’s proving to be quite reliable. Sure, architecture-wise this adds a new point of failure but we’ve ensured that it’s isolated to a smaller section of our app and constantly monitored. At the same time, we’re also making sure that only messages that can afford to be lost run through this, and our users see direct speedup results in some of the more important UX elements of our app. We’re all about optimizing user-experience, so this setup is a definite win in our eyes.

Kicksend is beautiful, powerful realtime filesharing for your family and friends. Signup here.

PS: XMPP folks who want to use this setup, there are a couple of gotchas. Make sure your XMPP server isn’t checking “from” attributes in the component configuration. Also, older versions of Redis have issues with maintaining BLPOP connections alive. Make sure you’re on the latest.