- download web bookmarks

    As usual, it all started with an idea. The idea arose because of a certain feeling of dissatisfaction. At that time, I started picking the Yii framework and the number of bookmarks on this topic began to grow like a snowball. The first decision was to review all bookmarks and redistribute them into thematic subfolders. In the beginning, it even helped. However, after some time I began to notice with surprise that I bookmark entire pages just for a couple of lines of text, which is some kind of trick, illustration or application of the framework API. The first decision that came to my mind - to select only the desired text and save it somewhere immediately disappeared - in almost 100% of cases it was a loss of formatting or the desired location of information, which immediately omitted its value for me. Next, more interesting solutions were tried, - an extension for Firefox, which skillfully edit the page and save the already modified version to the hard disk. It was fun exactly until the fifth save, when removing unnecessary items was simply too lazy. A deeper search for solutions to the problem did not produce the desired results. And then it was decided - to the service that solves this problem at least for me - to be (Caution, there are a few pictures under the cut).

    Armed with the support of a typesetter, we set to work.

    Selected technologies and libraries:

    - Yii was chosen as the basis for the engine due to a number of interesting features, a rapidly developing community and promised by the developers speed.
    - MySQL database
    - For visual effects and working with the DOM, jQuery and jQuery UI were selected.
    - For the implementation of the bookmarklet, the LabJS library was needed to ensure the correct sequence of loading scripts.
    - JSONP for cross-domain queries.

    Plugins used in the project:
    - jQuery Tipsy (tools for user prompts)
    - Cleditor (WYSIWYG editor for texts)
    - TopUp (Lightbox analog for viewing images and sites)

    The development had to be carried out in periods free from the main work, which extremely complicated and lengthened the development process. We went through periods of loss of motivation and interest in the project, faced technical problems, redesigned three or four times ... In a word, I would not call development easy.

    And here, in fact, the project itself from the inside ...

    We did not depart from the classic organization of bookmarks by folders, so the list of folders looks as follows:

    One of the key ideas of the service was to provide a workspace for working with bookmarks and the ability for the user to visually place bookmarks in the right places. In addition, after creating the first working prototype, it turned out that the blocks took up a lot of space and it would be useful to fold them, thereby reducing the occupied space. For the same reasons, the names of the menu items were removed in order to increase the size of the workspace and the ability to increase its height was added.
    It looks something like this:


    Of course, the tags, descriptions and categories of bookmarks have not disappeared from us, however, we tried to make such information as less intrusive as possible.
    I will not stop in detail on the user's dashboard (where you can see detailed statistics on the use of the service and notifications about the actions of your subscribers), add bookmarks through the service itself, manage subscriptions and folders, friend lists, etc. service, which is positioned by us as the main one.


    For more convenient work with the service, we decided to put the main functionality into the bookmarklet . When the bookmarklet is called on any web page, a fixed div is created into which the bookmarklet UI is loaded. Along with this, authorization is checked on the service’s website, after which the list of folders and user information (nothing confidential) are loaded, which will be displayed in the created toolbar. How it looks can be seen in the screenshot below:


    Key features of the bookmarklet:

    - Selecting text or text along with HTML markup with the ability to view and edit selected fragments (see screenshot below)


    - Adding the current page to the Unread section
    - Saving the entire current page on the server’s hard drive
    - Saving the selected image on the server by clicking on him
    - Selecting a fragment of the page (you can select up to 10 fragments) also with the ability to view and edit (example below)


    After all the steps, the user can select the folder in which he wanted to save all selected fragments and by clicking on the (unexpectedly) button "Save" actually ... save.


    Now both the text and the selected fragments will be available on in the selected folder as a block with several buttons. You can view the selected fragments and correct their location in this type of widget.


    As you can see, bookmark links can be shared, as well as changing their availability (visible only to the current user / visible to everyone)

    So we went through the most basic aspects of the service. The plans include monetization through the introduction of monthly subscriptions with advanced functionality and the removal of some restrictions of the service, the introduction of relevant advertising on similar bookmarks, authorization via Twitter, Facebook and VK, import bookmarks from browsers and much more. Well, of course, the search for investments and partners, where without it.
    In addition, we would like to move away from PHP and rewrite the project in RoR + CoffeeScript, as current Javascript is rather carelessly written. I think this will be a separate article in which it will already be possible to highlight directly technical issues.

    And finally, a short video with a presentation of some features

    PS: At the moment, the service is at the alpha testing stage and registration is available only by invitation, which can be obtained in PM. Since only two people work on the project, everything is done as far as possible - this can explain a considerable number of plugs on the main page, we focused our efforts on completing the basic functionality and did not manage to do everything. I will try to answer all questions in the comments. And yes, IE support is only from version 8.
    Thank you for attention.
    PPS: And I almost forgot the link to the resource, -

    UPD: We are looking for like-minded people and partners in Odessa to help work on the current project and work on new ones.

    Also popular now: