<h3>Advantages of Biol.be</h3>
<p>Well, as you can see, biol.be, as far as i know, is the <strong>first site that let Twitter users to write their profile's bio longer without any limit</strong>. And more important, <strong>it's FREE !</strong> Being used by a lot of accounts (mostly RP account) for more than one year caused Biol.be <strong>indexed by</strong> <strong><em>Google</em></strong> as well.</p>
<p><strong>How to start</strong> using a biol.be <strong>is</strong> also quite <strong>easy</strong>. <strong><em>Just by logging in your Twitter account through the site</em></strong> and then you can start writing as much as you want yet you can.</p>
<p><strong>Biol.be is using a Mark Down System</strong> which let you to modify or decorate your bio to make it more interesting for the readers to see and read, of course. By using this system properly, you can easily attract the others to read the things that you want to share on this site by adding a few images, the usage of bold, italic, &amp; underline, also some other great feature as well.</p>
<p><strong>The biol.be theme</strong> is also another advantage of biol.be. Unlike the other site that i knew, biol.be provide us a few chances to set how our bio looks like.</p>
<p>Some other important fact about biol.be is, unlike the other sites which provide us to write a longer bio, <strong>there's no annoying ads</strong> while we're working on it.</p>
<p>And there's also the <strong>Menfess feature</strong>. This is quite popular amongs biol.be user. So once you become one, try it out !</p>
<p>You can also <strong>load your bio from a certain date</strong> to recover your bio if you deleted it by accident and didn't have a back up for it. So don't worry about losing your work.</p>
<p>And <strong>the review on biol.be</strong> allows you to look on your future bio before uploading it. Through this, you'll be able to correct some mistake that you've made throughout your bio.</p>
<p>Once you have upload your bio, <strong>the link to visit your bio would be the same as your Twitter username</strong>. And the other interesting fact is, when you change your uname, <strong>the link would follow the alteration that you've made</strong>.</p>
<p>And the last positive fact that i could tell you, is <strong>the admin of this site will give you quick respon when you need a help</strong>. So, find out any another interesting facts about biol.be that i might haven't write on my article above.</p>
<h3>Disadvantages and non-feature of Biol.be</h3>
<p>There nothing perfect in this world, even the best site to write your bio longer, Biol.be.</p>
<p>So here's a few things that i found as a Biol.be user :</p>
<ol>
<li>
<p><strong>Sometimes, on specific device, (mostly on BB), an error occured while biol.be is being used on that device</strong>.</p>
</li>
<li>
<p><strong>There's no hyperlink or any other way shorten your bio</strong>. Some people might think reading a long bio would be a waste since it will take a lot of time. So it would be more efficient <strong>if Biol.be has a feature to hide the content of a title</strong>, like how Wikipedia works.</p>
</li>
<li>I also suggest to add the <strong>Theme and Font</strong> feature to make the bio become more interesting to read. Along with the <strong>Background Theme Colour</strong> feature.</li>
</ol>
<p>Well, that's all that i could share for now. Sorry if there's any somekind of mistakes such as a grammatical error, or false fact. I didn't mean it. Thank you for reading.</p>
<p><strong>By : Yukimura</strong></p>