Hi habr! I want to introduce you to my project I have been working on for the past few months. This is a small post about how alone and without money having in stock the knowledge of JS to develop a small web project, plug-ins for several browsers and a mobile version to it.
Foreword
I have always been depressed by browser bookmarks or any other services with their non-informational content. It is rather difficult to find the necessary link with only a favicon and a title. And if you need to find a specific video or image in an expanded collection of bookmarks?
At one time, I just saved URLs to a txt file, kept a hidden group on Vkontakte, took notes in Evernote, used a bunch of services. All this led me to create
Raindrop.io .
Under the cut details and a bit behind the scenes.
about the project


Raindrop.io saves not just bookmarks, but also
related content depending on the type of page. If this is an article, for example, with a habr or tape.ru, it will be cut out and saved along with the bookmark.
The same goes for video, photo, Coub from Coub.com or a presentation, for example, from SlideShare.
Thus you can organize thematic collections with different content.
Collections can be made public and used in your applications or on the website using a
simple API . I am very interested in what collections you will create! Examples of use can be
found here .
')
With a mobile, you can use Raindrop, for example, as a postponed article reading service. The client for iOS is available in the
AppStore . For other platforms soon.
What is hidden under the hood?

- On the server, Node.js + Express works, which issues only statics and data in JSON, on the AngularJS client, and the mobile version on Appcelerator Titanium . It allows you to write native cross-platform applications for iOS, Android, Blackberry, etc.
No problems with approval in the AppStore were noticed. It took exactly a week on April from Apple. - For parsing articles, the Node-Readibility module . Initially I used the open API from Readability, but it is not clear how much it will cost when there are a large number of requests, because they have no open price. There is another diffbot . Prices do not bite, wide API, the ability to customize the parser. But the speed is often not very happy. On average, one page 3-5 seconds and to infinity.
- Also, to accurately determine the type of page look for the Open Graph and Twitter Cards meta tags. They are used quite often and carry a lot of useful information, for example iframe player or previews, not to mention the title and description.
- Writing an extension for Google Chrome makes it very easy to port it to Safari. Apple’s only browser does not allow the use of cookies for iframe in a pop-up extension window. He simply does not save them.
For Opera, you can add an extension from Chrome without modification.
About some other aspects I can tell more in the comments.
Analogs
- Pinterest is a social network that focuses primarily on pictures, but Raindrop is more likely your personal money box of any content.
- Pocket - a service of deferred reading of articles, i. E. Has a narrower application.
- http://kippt.com is a similar functionality, but in my opinion the visual display is not very convenient. Free version with limitations.
- https://icebergs.com - rather for creative people. It has broader functionality (notes, files). Free version with limitations.
- https://springpad.com - instead of collections of notebooks. It seems to me that it has quite an unnecessary functionality. In addition to the content available to create recipes, task lists, points on the map and many others. other
I would appreciate any feedback! I want to thank the administration of Habrahabr for providing a free company account.