Countless times I've heard people refer to their website as a "platform". But it rarely is. Does it provide the ability for others to deploy or create new applications? Do you expose your data or functionality through a public API? If yes, only then you may call your website a platform. Facebook used to be just a website, now it also has the "facebook platform", because it allows others to leverage its data and functionality through a set of APIs and the ability to deploy applications to it. But "website" sounds like those html-only static pages that are not cool, and you don't want your product to sound uncool? Here's a suggestion - use "product" or "service". Your site most likely offers some service to its users, so it's an "online service". But drop "platform" from your vocabulary until you really have a platform.
When a few weeks ago twitter announced that they are effectively closing their platform, I put a lot of thought on possible alternative to twitter. The obvious choice is distributed social networks, where there is no single owner of the service, and so nobody can decide to enforce rules and cut API access. The two most popular distributed networks are Diaspora and Status.net. Here is how they work, in short: Everyone can decide to launch an instance (node) of the software. This instance stores their data, and possibly the data of everyone who register on their node. When a user registered on one node needs to follow/communicate/interact with someone registered on another node, the OStatus standard is used to facilitate that. So, in fact, you can register anywhere, even on your own server, and communicate with the rest of the world. And that sounds great, right? Even if latency is not an issue, I had one question, and I didn't like the answer - imagine you launch a status.net node and let all your friends register there. But then your service gets popular to a wider audience, and a lot more people join. You have two options - turn that into your revenue stream (you'd have to think of a business model, probably ads), or simply say "I don't have time for this, I'm shutting it down". And what happens is that all the user's data is now gone. True, every user can download their data, and you can keep it for a couple of months until you delete it, but it's a hassle - they'd need to jump to another node, register and import their data. And while this is OK for tech-savvy people, it certainly can't get mainstream. You can't have all of twitter move to status.net nodes, because the bigger ones will need a business model to support themselves, and the smaller ones will be dying every now and then and there will be tons of unhappy users unwilling and not knowing how to move their data around. It's still better than having a single vendor, but it's not exactly "distributed" if you have 3 huge nodes. And these nodes might at some point decide on restricting the network, because they have the data at one place. "Yes, but people can move away from them". People can even move away from facebook - they can download all their data and import it somewhere else. There's a difference, of course - you can move your status.net data to another node and still communicate with the others, and that's why status.net and diaspora may turn out to be a good model, but the fact that small nodes just die and loose their data bothered me. (I can't omit the fact that status.net is not user-friendly at all, and it's my second failed attempt to use it) At that point I thought that there is an even more distributed way of doing social networks, and I even thought of turning welshare into such a piece of software. The point is to have the data distributed (replicated), just as in a database cluster. But the cluster is internet-wide, rather than in a single network. There are enough good approaches to that in various NoSQL databases, Cassandra being the one I like most - you can add and remove nodes at any time, and the data always remains somewhere. This way, even if you decide to shut down your server, your users will be able to login to a different URL (to which you will point or redirect them) without any additional steps. Then each node will develop a business model and the system will thrive. The difference from above is that no data will be lost, and the regular users won't even notice they are using a distributed network. Optionally, you can even replicate the data to cloud storage providers like dropbox. And here comes the paradox. You can't have a fully distributed social network, because you'll have to distribute (replicate) the data. And everyone will possibly have access to that data. If a node grows big, it will get some user data from other nodes, which will turn into a privacy nightmare. So unless your users are fine with anyone being able to read all their data, you can't replicate it. The problem lies with the data - it is good that you can own your data with status.net and diaspora, but the reality is the regular user doesn't want to manage their data. Just give it to a provider and let them manage it. And they can then do aggregate queries on it and serve ads. The good thing is, a network like twitter doesn't actually have any privacy (apart from the protected accounts), so implementing such a distributed data mechanism is still an option. But as far as I see it, it's not an option for a full-featured social network - you need a single keeper of the data, and you can't democratize access to it, if privacy is concerned.
Posted on : 05-09-2012 | By : Bozho | In : Opinions
Less than a month ago I had a video in production, that was going to boost my service. The video is ready, but now I wish I didn't pay for it. Not because it's bad (it's great), but because the new rules introduced by twitter are effectively killing my service. Welshare is providing a unified interface to the major social networks, with the option to reshare content across networks. Now twitter disallows having any extra actions for a tweet. And also disallows showing content from other networks alongside tweets. And I sense the imminent end - welshare has around six months, until twitter start to enforce their rules. Well, they won't close welshare if it has 1000 registered users as it does now, but if at any point it grows, it will catch attention and my API access will be revoked. I have already emailed them possible options for working around the new rules - displaying a tweet according to the rules, but still being able to provide the "reshare" button and to view tweets and facebook posts on the same page. No response for 20 days, but I guess they're busy with requests and I'll get an answer soon. My suggestions are actually valid - displaying the reshare button on the left of the tweet. And having separate portions of the screen dedicated to twitter and the rest, but I don't know how broad can rule 6.1 be interpreted. And welshare is an alternative client, something which twitter officially "hates" now. They didn't when I started building it though. Even if we manage to negotiate a workable solution (which I hope for), the moral of the story is clear - it is a hazard move to make a product that heavily depends on other services. At some point a popular service can kill you with one blow, and all the months and money invested will be in vain. I don't say being an entrepreneur and investing time and money isn't risky otherwise, but reliance on 3rd parties increases that risk. So what naively started as a tool to simplify the usage of multiple social networks, now has become a "political impossibility" - every network wants to be "the one network". The money and time I invested? It was worth it, as is usually the case with entrepreneurship.
Posted on : 27-08-2012 | By : Bozho | In : Opinions
Recently twitter announced their new rules for using the API. Tons of angry and unhappy developers and journalists wrote that these limitations may kill businesses, and will certainly make the twitter platform less open. I won't repeat all these articles. It is obvious why this is a bad move, and how it will kill legitimate and useful apps. Twitter think this will guarantee them that people use twitter on their own premises, thus giving them the desired revenue. I won't even go into details of why this is a stupid assumption (you can have ads on other services as well). I will focus on the aim twitter has set, and how limiting the API is nonsense. Twitter claim they want a unified twitter experience, that's why they enforce tons of rules, so that you interact with twitter in the same way everywhere. So you can't have any additional buttons, any additional information and you can't position buttons in a different way. And if you do, twitter will revoke your API access. But let me tell you something - companies can still do that - there can be additional buttons and information even for users browsing your own twitter.com. How? With browser add-ons. They can manipulate what is displayed on screen. So, if twitter decide to disallow the usage of the unified "reshare" button of my service, I can make an add-on for Firefox and Chrome that puts that button on twitter.com and does not require API access at all. Virtually any "offending" application can do that. The question is - why would we have to rewrite stuff? Do twitter realize that they are not doing anything with these restrictions, apart from generating more work for developers? "But users will be aware that they are using a plugin that modifies twitter.com", you might say. Most likely - true, but I bet users of hootsuite or welshare are quite aware that they are not on twitter.com and things might look a bit different. And to view it that way - the fact that they are trying to control the presentation by restricting API access is an odd choice. While I'm still waiting for response from twitter about some features of my service, I hope twitter will get the feedback from the thousands of articles, including this one, and will revert their policy changes.
I watch movies. And, as any sane tech-savvy person, I get them via bittorrent. Here in Bulgaria it is still OK to do that without the risk of special forces breaking into your home, although intellectual property laws still apply. And since I appreciate the work of creative people, I decided to pay for movies that I watch at home. Obviously I am not going to rent a DVD, because I don't even know if there's a DVD rental store nearby, and I'd certainly don't want to order it via Amazon and wait 10 days for the postal service to lose it. And some of the movies are just not worth watching on the big screen in the movie theater - they are for a casual evening at home. So before watching each movie I check iTunes. And if it is not there (and none of the ones I checked were there, or at least not available in Bulgaria), I open the official site of the movie and contact them with something roughly saying "I am going to illegally download and watch your movie. But as I value your creative effort, I'd like to pay, so give me a PayPal account or another means of payment and I'll wire money equal to the movie theater ticket price". I've done this six times already, and I got no response. Some of the movies were Hollywood ones, some were European. No response. I will do this a couple of times more, and if there's still no desire from the creators to get my money, I will just continue to illegally download movies until the film industry realizes that it is the 21st century now, and their distribution channels are way outdated.
CTRL+Enter is the natural shortcut for "Send" in case of multiline input fields. Stackoverflow, for example, supports that shortcut for publishing comments and answers. Some messengers do. But social networks don't. Not a single one - Facebook, Twitter, Google+, LinkedIn - all of them require you to go and press the "post" / "tweet" / "share" button with your mouse. I wonder - hasn't it ever occurred to them that it is a useful shortcut that at least some tech-savvy people will prefer? You would expect that programmers that work in these companies and use the services would actually think of this and implement it (it's really simple). Or is it just me thinking that CTRL+Enter should be supported by social networks?
Posted on : 24-07-2012 | By : Bozho | In : Opinions
Twitter has taken course to limiting 3rd party apps that use its API. Their decision is their alone, so we can't blame them, although it looks rather selfish and one-sided - you want more to happen inside your platform, which is yet another "closed" system. And we all love open systems, which twitter used to be. But let's leave that and look at the bigger picture - a lot of startups based their business on the Twitter API (as well as the Facebook, LinkedIn, etc APIs). Now twitter can kill them with a single blow. And if that happens, this would be clear sign to developers never to rely on a 3rd party for the core of their business. "Man, I don't want to rely on [new cool site]'s API. Remember what happened to HootSuite when twitter became a closed platform?". And while developers can say "whatever, I'm building this stuff, it's cool", investors would be more than careful. Twitter killing many 3rd party applications may bring skepticism to anyone who ever wishes to rely on an API. What's the solution? Even if twitter cancels its "death march", it may be Facebook or LinkedIn that decide to close their APIs. The answer is a more open ecosystem where no single entity owns the data and/or the API to it. This sounds too idealistic, and it is not clear how to be implemented in reality - someone supports a service mainly because of the profits from that service. Fortunately, "openness" is not contrary to "profit", so we can hope for more open services to emerge.
You have a startup and you are thinking of a cool name. You think of a couple, check if their domains are free, and guess what - they are not. And if you want them, you need thousands of dollars, which you probably don't have or don't want to invest in a domain name. So you start wondering how to change your name in order to get a cheap cool domain name. What I've come up with are portmanteaus. That is, combine two or more words into one. You can think of a portmanteau that nobody else has thought of and it will still sound cool. A couple of examples: Facebook - not exactly the best example, but it's still comprised of two words. The domain name has been taken initially (hence: thefacebook.com), because the word already exists in the dictionary. But most others don't. Pinterest - this is not just putting two words together, it's "fusing" them. Pin + interest. This fusion is actually a very good approach, and most of the examples here are using it. Welshare - this is a project of mine that is a special case. It comes from well + share, but it follows other examples from the English language where the double L disappears - welcome, welfare. Instapaper - instant+paper, probably. It doesn't necessarily have to convey exactly the purpose of the service, but it's good if it does. Eventiply - this is a project I saw on a StartUp Live Europe event, and it's about event+multiply. It uses only one overlapping letter between the two words, and cuts a part of one of the words, but it sounds cool and is obvious what it means. Favorb - this is something I'm currently working on (it's a bit frozen right now actually), but it's a great example how you can find very short domain names that mean something. Favorb is a combination of favor+orb - it's about an orb (circle) of favors friends do to each other. The downside is that it's not obvious how to pronounce. Petridish - these are two words, but short enough. Accenture - this isn't a fresh startup, and they didn't pick their name because of the domain availability, but it's still a nice example. Accent + future. Wikipedia - again, probably didn't pick the name because of the domain. Wiki + (encyclo)pedia When choosing a portmanteu (and not only) you can use a domain hack, in case .com is taken. It is a bit odd that you should name your product based on domain name availability, but that's the reality - your domain is your the name your customers will remember. So, to summarize the different approaches:
- putting two whole words together
- fusing two words, where the ending of the first is the same as the beginning of the second (pin+interest, favor+orb)
- fusing two words, where the ending of the first is the same as a part of the second, which is cut to that part (event+(mul)tiply, accent+(fu)ture)
- putting partial words together, without fusing (wiki+pedia)
Google+ was released 1 year ago. I don't know their internal stats, but my experience is just as it was one year ago: strangers adding me to their circles, a few actual friends using it initially, then most of them stopped and currently no interesting content in the news feed. Google people claim some increasing usage and better engagement than facebook, but I just can't see that happening for me. For the anniversary they released a History API and Events. So they copied some of the remaining features of facebook, again. But I shouldn't only flame them for copying things, I'd better suggest something. Remember when twitter got "big"? It coincided with the release of their API. But not a "favorites" API, not a search API. The whole functionality was exposed. Google+ has a rudimentary API that's not usable for actual applications (I haven't seen any, and the Google+ features in welshare are not that useful.). So for one year Google confirmed that there is nothing groundbreaking that will come out of Google+. Google should stop relying on the fact that they are big and think of a way to get popular in a different way than showing red labels at the upper corner of Gmail.