April 26, 2012 at 9:17 am

Pivot… That Four (+1) Letter Word

So Windsoc is not above changing things up a little. We’ve been working over the past year to find the best way to bring about the changes in the social web that we’ve been hoping to see. We started with a social client, and then we started focusing on the API itself, and now we’ve moved towards a new goal: improving your social footprint.

This is something that we’ll be exploring more over the next few weeks as we get closer to our next product launch, but for now it’s the pivoting itself that I wanted to talk about. Because I think pivoting is the most amazing and terrible thing you can do with a startup.

It’s exciting to build a tool that developers can use to create the open, intelligent and elastic social services that should be coming any day now, but I’ve personally always been drawn to creating such a service myself. But I was always worried about cannibalizing our platform, competing with our customers directly and causing animosity, much like the trouble Twitter has had when creating and acquiring complementary services and applications within its ecosystem.

But I see now that we were looking at things backwards. The Windsoc API is a powerful tool, but that tool needs to be put to use now on something awesome. We don’t want to sit back and wait for someone else to see the potential; we want to seize that potential today. And that doesn’t stop other people from using the API, too; in reality, it strengthens the API because having a flagship product built on the API means that the API is an integral part of something, and not just an experiment in social connectivity.

When doing a startup, it’s tempting to either NEVER pivot or ALWAYS pivot; success if likely a balance between the two extremes. For us, we didn’t want to go back to everyone we’d met with and say “we’re changing EVERYTHING”, but at the same time we were getting clear messages that the standalone API was not gaining the traction we wanted. I personally think that people aren’t ready to trust a unified API with their products just yet. Windsoc needs to prove itself first.

So we went with the pivot, using the API we love to build a product we love just as much. And that’s what’s coming soon. Windsoc Push, the complete solution for building and maintaining you and your company’s social footprint. The API is still working hard, and still available for visionary developers who want to change the social web and all that good stuff. But it’s Push that excites me right now, and hopefully over the next few weeks it’ll start exciting some of you. :)

 

June 7, 2011 at 3:55 pm

My Identity Crisis: Why can’t I be more than one thing on the web?

I don’t use Twitter much; I guess that means I don’t use it well. The same can be said for my blog and my personal website (which aren’t particularly connected to each other). I’m pretty quiet on the web, and I think that may be detrimental.

But I can’t just start using everything more, because I have a problem. There’s too many me’s on the web.

I’m one of the co-founders of Windsoc, and I have several web projects aside from that. I’ve done quite a bit of consulting in the past, and I still do the odd one today. I’ve also dabbled in politics, having run for office once and spent many hours on issues that I feel are important, such as youth recreation and city planning. And I’m a part-time writer of speculative fiction, spending around 0.1 hours a week on it and seeing my literary career advance at the same rate as the snows of Kilimanjaro. And then there’s that television series I was working on…

So which one of these “hats” do I wear on Twitter? I worry about annoying followers by talking about the wrong things, so I generally say nothing at all. My personal blog has always been political, so I don’t feel it makes sense to start talking about startups or technology or programming. And there are many things I just can’t say on the Windsoc Blog, since I’m not the only one involved in this venture.

I can’t imagine I’m the only person with this problem. I’ve thought about ways of fixing it, from having multiple Twitter accounts, websites and blogs, to simply categorizing entries with hashtags or other devices and accepting that some people will just find me too noisy. But I think there needs to be a rethink here, a new way of segregating aspects of an identity.

We’ve played around with this at Windsoc for a while, with the idea of creating circles and channels to organize and focus an individual’s online contributions. Such a system interfaces well with Facebook, but fails miserably on Twitter because there is no private messaging within the timeline. Now if direct messages showed up in the timeline and didn’t always send an e-mail, things would be much different and the Windsoc Social Client would probably be out there for people to use.

Maybe something can be done with Facebook now, a way of constantly segregating your feeds and posts based on your current “aspect”. But would anyone really do that, or could they use the Pages feature to similar effect? Or do we need a new service that is designed from the start to handle multiple aspects? Or should I throw one on Twitter, one on LinkedIn, etc., and use a social aggregator to monitor and manage them all?

I don’t have the answer. Not yet, anyway. And I wish I did. This identity crisis is deepening with every passing day.

Discuss this post on Hacker News

May 28, 2011 at 2:24 pm

Windsoc Takes the OAuth 2.0 Plunge

Following feedback from our beta testers, we decided to overhaul Windsoc with an emphasis on getting our users started as quickly and easily as possible. This improved version of Windsoc has just gone live. Now you can use Windsoc without having to download and install any client libraries. To get started, you need to add around half a dozen lines of code to your application, depending on just how concise you like to be.

The new version of Windsoc uses OAuth 2.0, the same version of the protocol as Facebook’s popular Graph API, where each end user is provided with an access token for all API calls. The big difference is that Windsoc’s access token will work with a dozen services, with more to come. This also means that services that still use OAuth 1.0, such as Twitter, can now be accessed the OAuth 2.0 way using Windsoc. Instead of wrapping your API calls using an OAuth library, you can use HTTPS and straightforward URLs to get data instantly.

If you’re on the wait list for Windsoc, your invite is coming within the next 2-3 weeks. If you’ve already been invited but haven’t had time to get started, now’s a great time to try us out.

And everyone else: if you’re looking to add social logins, activity streams, or social networking profiles to your application, or if you want to search hashtags on Twitter or status updates on Facebook, sign up for an invitation to use Windsoc. There really is no easier way to bring the social web to your product.

May 16, 2011 at 5:20 pm

The Next Big Thing: The Elastic Social Network

What is my social graph?

Is it everyone I’ve friended on Facebook?
Is it each person I’ve followed on Twitter who also follows me?
Is it everyone on my Google Chat list?
Is it the people I see regularly in real life?

Sometimes it’s all of those things. Sometimes it’s none of those things.

My social graph is fleeting, like a magic unicorn. It never stays the same.

Today’s best friends aren’t the same as last year’s best friends. My coworkers change, and even my family changes through marriage, divorce, and ostracization due to poor Thanksgiving etiquette.

And sometimes my social graph includes people who are also interested in _____, but only when I’m currently interested in _____, which isn’t all the time.

So why would I use a social network that is static, constant, and always in my face? Magic unicorns live in the mist, not on the freeway.

What’s coming is the social network that is temporary, that revolves around what I’m doing right now. If I come back to it again later, it will be familiar, but not the same. What’s coming is the social network that’s location aware, but not following me everywhere, but existing for me when I’m in a place where being part of that network makes sense. What’s coming is the social network that doesn’t try to capture all of my life for all time, because it understands that I’ll use it more and use it better if it stays out of my way.

That social network is elastic. And it’s the next big thing.

 

Discuss this post on Hacker News.

April 26, 2011 at 6:10 pm

Searching for your flagship client

In commercial real estate, it’s much easier to develop a property if you have one major client signed on before you start building.

In the world of music festivals, your headliners can often make or break the entire event.

For your startup, having a big client may make the difference between the hockey stick and cricket chirps.

Smaller clients are awesome; they make for great evangelists and often give feedback that can totally re-orient your product for the better. But in the world of social proof, bigger clients reign supreme.

What’s the difference between your friends and your mom? You’ve spent hundreds of hours with them, you know them well, and they know you. The only big difference may be that your friends have (probably) never had to clean your underwear. And the differences between your friends and you earliest clients aren’t huge, either; some of our clients are already our friends, and clients become friends as business relationships grow. You best clients will eventually support and encourage you as much as… your mom. So they’re really not that far apart, after all. And investors and the media may not be able to tell the difference, and they may just assume that the customers they’ve never heard of are just friends and family.

That’s where size and buzz come in. If a company is better known, it’s much clearer to potential advisors, investors, media, and customers that the people doing business with you have never spent any time scrubbing unsightly stains from your boxer shorts. A recognized logo on your “Who Uses Us” page can do wonders for your credibility, while testimonials from those big clients are total conversion crack.

So how do you get the big client? Well, Windsoc doesn’t have a “Super-important People Who Love Us” page yet, but here’s what we’re planning on doing over the next few weeks:

 

1. Make sure your product is winter-ice solid. It’s still possible for the occasional crack to come in, but you should at least have gone through enough alpha or beta testing to keep the whole ice sheet from crumbling. Big clients have enough work to do without having to worry that your product is going to leave them flailing in frigid water.

We may start trying to flirt with some big names, but we have a couple more weeks before we’ll throw a dance party in the middle of our frozen lake.


2. Do your homework. Successful companies have a focus that can make peripheral offers hard to see, and for good reason: their product (and customers) come first. If you’re searching them out, you need to have an idea of what their business actually does, and why what you have to offer actually brings value.

We’re taking an in-depth look at many websites, not just to check what social integration is already in place, but also to determine the strengths of the team. Some companies are more focused on integration than others; we expect that we can provide more value to companies who haven’t had a chance to bring in as much social integration as their competitors.


3. Be careful with free. It’s tempting to promise free to the big names, expecting that this will win them over. But the sticker price of your product is likely to be far less than one percent of a company’s budget; the bigger costs are time and the risk of giving control of some aspect of their business to a new company. And a user who doesn’t pay isn’t really a customer.

We’re waiving our license fee for beta testers big and small (it’s a pretty low cost, either way), but we need to remember that a big client will increase our infrastructure cost, and at a certain point we need to recoup those costs.


4. Give them time to fall in love. This goes for customers big and small: love is positive experiences + time. Don’t push too hard in the beginning, asking for a testimonial or pushing your customer for referrals or PR. Give your relationship time to grow, and the benefits will flow naturally over time and the praise you receive will be more sincere.

We’re going to take things slow, and focus on bringing value to our customers. That sounds cheesy and insincere, but it’s really just clever and self-serving.


5. Don’t neglect the smaller customers. There are dozens of reasons why the smaller customers are important, not least of which is that over-reliance on a few big clients can bring your company crashing down if one or two feel the need to alter terms or end their relationship with you. But in the end, every customer was small and unnoticed at one point (except for Color, of course), and you definitely want to be part of a small company’s rise. Even if your product is such that they could one day outgrow you, the benefits of that relationship by then will have gone far beyond the money they’ve paid.

Our goal isn’t to grab a few big clients with fat wallets; our mission from the start has been to bring about the next generation of social by making integration with any and all services as easy as possible. That means working with the largest enterprise and the smallest side-project, in any language, on any platform, anywhere on earth. So there.


So if you’re a well-known company, don’t be surprised if I try and get in touch with you over the next few months. And if you’re a developer with a really cool hobby project or a company that provides interesting platforms or products for your customers, don’t be surprised if you hear from me, too. We’re searching for all our clients right now, big and small. And if you think that Windsoc should be one of your next clients, let us know.

 

Discuss this post on Hacker News

April 21, 2011 at 1:12 pm

Separation of Concerns 3.0 – Your Product Should Use Your API

SoC 1.0 – Functional programming and the Internet Protocol Suite (1960s-1990s)

SoC 2.0 – The popularity surge of Model-View-Controller and friends (late 1990s – 2010)

SoC 3.0 – Asynchronous design, OAuth and APIs (2005 and beyond)

I’ve always been a Model 2 type of guy when it comes to designing software, although I’ve always just arrogantly called it “the right way”.

What we’re seeing now in application development can be easily demonstrated by viewing the source of Twitter.com. Asynchronous requests, loads of JavaScript (no pun really intended), and constant use of the keyword “API”. This is long past the stage of throwing some AJAX on the page to show off; we are seeing a new era of web development based strongly on Separation of Concerns. In buzzword parlance, it’s Separation of Concerns 3.0.

The API is the foundation of a well-built application.

(it must be true… it rhymes)

I’ve read a number of articles on building your product from the start on top of your API, but all I can recall now is this Quora question: Should a startup build the API first and then make the website a client?

The answers on Quora, and the answer in Regan-land (where I go whenever I close my eyes) is an absolute YES. Well, actually, I do the screen mocks first, since that tells me what I need in the API. And why?

1. APIs separate your domain logic from your presentation.
“Keep your server code blocks away from my ordered lists, thank you.”

2. APIs make asynchronicity easy.
“Why would you use more than one page load? To boost ad impressions?”

3. APIs can bring platform agnosticism to your product.
“We’re switching from VB.NET to Scala on the backend.”
“And?”

4. APIs ease expansion to other platforms.
“Do we need back-end programmers on the iOS team?”
“Not unless we want some graphics done in MS Paint.”

5. APIs can be publicly released or shared with trusted partners.
“Should our company build an API?”
“We’ve always had one. We just haven’t told anyone about it.”

Of course, having an API isn’t the same thing as releasing your API to everyone; that can happen later, or not at all. That’s your call.

We built the Windsoc API when we were building the Windsoc Social Client (which is still hiding under the bed); only later did we realize that the API was what people would really want to get their hands on. So we added OAuth support and took a second look at our model, and now we have an API that is our product.

So maybe we’re a little biased, and maybe some would disagree with having an API at the beginning, saying that it conflicts with the notion of a minimum viable product. But you have to create your domain logic somewhere, so an API vs. no API is really a choice between putting your code in one drawer or stuffing it in the bathtub and hoping that you remember to move it out of the way before your next shower. (At least, that’s how it felt in some of my past projects.)

So yes, I want to get my grubby little hands on your API. But even if you don’t want to share it, building your own API to run your product is a good choice to make.

(And yes, we could have gone with WindSoC, but the “S-o-C” can also mean social, or society, or even sociopaths. Whatever you’d like.)

 

 

 

Discuss this post on Hacker News

April 13, 2011 at 3:01 am

The Real “Next Facebook” is All of Us

I’ve read thousands of words on the Next Facebook; actually, I’ve probably read almost a thousand blog posts on the subject. But not one seems to share my expectation of just what the Next Facebook will be.

1. The Next Facebook will not be a distributed network. (But Diaspora and Michael Chisari’s Appleseed will have their part in it.)

2. The Next Facebook will not be Path.com. (But Dave Morin and his company are still awesome.)

3. The Next Facebook will not be Color. (But that doesn’t mean Color won’t be hugely successful.)

4. The Next Facebook will not come from Y Combinator, TechStars or 500 Startups. (But we’d gladly join their programs. Get in touch, Harj, David, and that other Dave.)

5. The Next Facebook will not slowly evolve out of a photo sharing app or a local deals site or a unified social api. (But… well, there is no but on this one.)

The Next Facebook will come from all of us.

Distributed? Sometimes.

Open? Sometimes.

Not-for-Profit? Sometimes.

And often centralized, partly closed, and profitable. The Next Facebook will come from a social graph that no longer belongs to one service and no longer exists on only one service. The social graph will spread over dozens (and eventually, hundreds) of services, going wherever you want to take it, moving with you as you move from your last favorite app to your next favorite app.

It’s using Instagram, LinkedIn, and three other products no one’s heard of yet, and not feeling poorer because you just never “got Twitter“. It’s staying on Facebook and not feeling like it’s uncool that your grandma’s there, too, because you can still talk to your cool friends over on the current Social-Network-of-the-Month. It’s using Diaspora or Appleseed or BuddyCloud or StatusNet without being forced to abandon who you were back when you made all those friends on MySpace.

It’s something that everyone’s working on in their own way, Diaspora, Google, Facebook, Appleseed, Color, Instagram, LikeALittle, Spork, and probably NASA or maybe the NAACP and a kajillion other people. And our service, the Windsoc Unified Social API. When a new service can make its data available to thousands of developers without needing them to learn yet another API, well… that’s pouring on the gasoline and watching the Next Facebook go BOOM.

————————————–

Discuss this post at Hacker News.

Developers can sign up for the Windsoc Unified Social API at http://www.windsoc.co.

If you have an existing product with an unreleased, brand new, or underused API, talk to us so we can explore how to add it to our roster.

April 5, 2011 at 11:15 pm

Selling to Developers: Dealing with “I’ll do it myself”

Note: I won’t purport to tell you what works for your business, but I will gladly drone on about what I think will work for us. If you think some of our strategy would make sense for you, I hope you’ll give it a try. And I hope you’ll use Windsoc, too. :)

Doctors make the very worst patients, or so the proverb goes. How does this relate to hackers and the services they use?

At Windsoc, we’ve created a Unified Social API, allowing developers to use one simple API for a whole pile of online services. Windsoc takes away the complexity of dealing with things like OAuth, parsers and offsets. Our goal is to make integrating with other services as easy as DOM manipulation has become with JQuery, or page layout has become with CSS Grids like Blueprint.

But making things easy isn’t, well, easy. Simplifying is often seen as “dumbing down”, functionality and customization being taken away in order to please an assumed majority of users. That approach can’t happen for APIs; the long tail is where much of the value lies.

And there’s another problem: many developers are tempted to code everything themselves. If we want Windsoc to succeed, we need to make sure that we can make the argument that what we provide is better for their products both in the short and long term. We won’t convince everyone, since some programmers will always do it themselves, but we strongly believe that most hackers will see value in what we’re doing.

So how to deal with “I’ll do it myself”?

 

1. Eliminate Temptation by Following Standards

If our code makes sense, there’s less of a reason for someone to rewrite it. I think of it this way: if someone wanted to re-develop our product, would they mostly just copy and paste what we already have?

I can only speak for myself, but most of the time when I get an urge to spin my own it’s because the tool I’m using seems arbitrary and inconsistent. I’m a data guy, and sadly enough, pretty data excites me more than pretty graphics or pretty algorithms. With Windsoc, we are doing our best to make the data we return match the standards set up by the Activity Streams Working Group. We’re dealing in JSON and not using ATOM (at least, not yet), but the data model is the same. And when the Activity Streams specs don’t provide the answers, we take a look at what’s being done with OStatus, OpenSocial, and other specs that are meant to federate data formats.

We’re doing the same thing with our API URLs, using REST (get, post, put, delete) for our calls and trying to stick to the notion that each URL is unique and points to a unique resource. It’s not always easy, and we may not always get it right, but that’s what Version 2 is for. :)

 

2. Emphasize the Pain and Give Them Some Aspirin

Showcasing the maintenance we do and the problems we continue to solve will underscore the ongoing value of our product.

There are two types of pain in working with APIs: development and support. Most programmers are familiar with the first, particularly if they’ve tried to use the same OAuth code for Twitter and Facebook, or if they’ve tried to convert LinkedIn XML into JSON. Windsoc helps with development, and that’s very good to have. But the second pain point is a much bigger headache.

I can write code at work, at home, even on the bus or on the toilet (although I don’t recommend the last one). If I want to enjoy the weather, I can close the laptop and go outside. Development allows for flexibility, but support does not. When something breaks, it needs to be fixed, not later, but right now. At least that’s the case if you still want to have paying customers.

And when does support rear its ugly head? Usually whenever you can least afford it, like the middle of the night, or when you’re on a plane to Cleveland, or if you’re a part-time bootstrapper it’s when you’re at your day job. You have enough support issues as it is, so Windsoc handling your service integration and dealing with changed or broken APIs certainly reduces the load.

We have processes to use that monitor API usage so we can know which customers/products are affected by specific API changes/issues; we also have a test suite to check all methods to ensure that they are still functioning according to spec. When a service API is updated or we receive notification that an external method is no longer doing what it should, we’ll make the required changes even if it is at 3am, and then we’ll contact our clients who were affected to let them know.

Rather than having thousands of developers tracking down and working to update or fix API calls, Windsoc will take care of the problem before most clients even know that problem existed. And clients won’t need to make changes to their code to stay up-to-date with integrated services.

 

3. Show the Possibilities

By taking care of a peripheral component, we give businesses and developers the opportunity to focus on innovation and growth.

Most sites start with Facebook or Twitter integration, and they often leave it there. Why would they bother learning yet another API when they’re not even sure how it would look, or if people would even use it? Windsoc not only allows developers a much easier route to adding a new service, we are also creating demonstrations of what Windsoc can do. Our first public example is http://mentorstream.com. It’s a very simple application (written by me, Regan, and not Mike, the REAL programmer of our team) that tracks the status updates and activities of a select group of mentors in Startups/Tech. What’s interesting about MentorStream is that it brings in data that isn’t often found in aggregation, including Quora activities and submissions on Hacker News. Adding another service to MentorStream isn’t limited by technology, but by whether or not I can find a service that brings in more updates from our mentors. Check it out, and let me know if you can think of a mentor I’ve missed, or a service that I should add.

There is much more than can be done with MentorStream if people find value in it; allowing users to login and create their own personal mentor lists would obviously make sense. And since it’s powered by Windsoc, I can add logins for Facebook, Twitter, or even Gowalla. It brings integration away from being a technical challenge and makes it a business decision based on what’s best for your product.

 

4. Let Them Tinker

Give your potential clients the time and space they need to really use your product, without forcing them to focus on pricing and sales pitches.

Most hackers work on more than one project, often creating side projects that have the potential to become their major focus. We want people to use Windsoc on their projects, even if those projects aren’t going to be the next Zynga or Groupon. We want to be an accelerator for development and deployment, not an anchor that weighs products down. So rather than trying to sell the biggest corporations on switching to Windsoc, we want to focus on helping programmers and startups to grow their products and their companies, to be a part of the success whether they’ve been working on it for a while or just starting out. So if you have a project that you think would go well with Windsoc, please let us know. We’re actively looking for beta testers, and would love to get a mix of industries and business stages.

 

5. Make the Cost Match the Usage

Charging money is a scary thing, but we know that customers would prefer a service that has a plan to keep the servers running and the programmers fed.

Windsoc is not just an API translator, a Rosetta Stone of sorts; it’s also an API platform, where we work to make calls more efficient with pooling and caching. There are also occasions when we’ve combined data from multiple calls into one data stream, and that may become a larger component in future. That’s on top of translating disparate data into a common format that’s easy for developers to use. It all makes Windsoc very powerful, but adds to our server costs. On top of those costs, we have support and code maintenance, in addition to product and business development. That’s why Windsoc can’t be free for everyone, but at the same time we know that we need to make sure that any money you give to us is still working for your business by saving you development and support time, and by adding new functionality that brings value.

Obviously building a kick-ass API will help on the one end, but we also want to make sure that our billing is fair. Rather than charging a monthly subscription for every person who wants to try us out, we’re looking at a different model. Now this is still just a proposed model at this point, so please be sure to let us know what you like and dislike about it:

30-Day Trial

This should be enough time for you to see if Windsoc makes any sense. If you don’t feel like it brings any value to your projects, we’ll accept your decision to leave without sobbing uncontrollably.

$50 Developer License (1-year)

This would allow you to use Windsoc in up to five of your applications at a time without further charge. Usage limits should be high enough for beta, and even for an initial release for most apps. What the license fee pays for is usage and support, so that we can take the time that’s needed to help you build your products. Our closed beta users for Windsoc will not be charged a license fee, so please sign up if you want to be a part of our early rollout.

Higher Usage Plans – $29/month and up

For apps that have grown beyond the initial release and are reaching the initial usage limits because they’re finding success, we plan to offer higher usage plans starting at $29/month.

 

∞. Be prepared to change the strategy

So we have a strategy, but I think the biggest part of the strategy is right here at the bottom . We can’t even begin to imagine all of the possible uses for Windsoc, or all the services we may be requested to add. We’ll just have to listen to what you have to say.

I’ll just sit here and wait. No pressure, but I’m here… waiting…

 

Visit Windsoc

© 2012 Windsoc Blog: For the Social Footprint.