World’s first ever low cost, low-power Peer-to-Peer Device – True Digital Freedom


Yes. TonidoPlug may be the first ever low cost, low-power, personal, p2p device that offers true online freedom. Some of you may know TonidoPlug runs the Tonido platform that allows you to share and sync files, photos, music and media with your peers without relying on third party servers or public online services. What we mean by  “True Online Freedom” here is that except for the initial handshaking of peer devices  your data never travels through our servers,  and all your data is stored in your own storage devices not in ours.

The current trend in computing is to store all your data in cloud aka “third party server” and access it from anywhere. Users are increasingly storing their data on cloud servers without realizing the implications of losing control and privacy of their personal data.  The current trend belies the logic and natural order of things. On one side,  computers are getting powerful and personal storage devices are getting cheaper. But still we are turning the custody of our data to profit seeking entities whose market valuation is dependent on “how much customer data they have in their server” and “how much value they can get off from customer’s data“. They call it as a “Life time value of a Customer”  or ” Lifetime value of your data“.

Also, if you look at the Internet landscape you can realize that few companies monopolize information.  I am not being paranoid here. Information monopolies have serious consequences on how we discourse, share ideas and information and how our thought process can be influenced by selective information filtering. Now for any online business or a news story if it doesn’t come in the first two pages of Google search or News we can safely say that particular piece of information is destined for obscurity.

Tonido and TonidoPlug intend to correct the anomaly (Cloud Service) in the natural order of things (Democratization of internet)  by giving the end users the complete control of their data and at the same time giving anywhere access as cloud services. Now every Tonido user has the freedom to produce and consume the information as they wish without relying on third party servers.

By virtue of owning TonidoPlug, the plug computer becomes a p2p node in growing Tonido private p2p network. Through Tonido’s private p2p network, one can share, sync files, photos, music and media with your peers in few clicks.

So let us build the world’s largest peer-to-peer network without “information monopolies” and which espouses control of your data.

For more Info, please visit TonidoPlug.

11 Responses

Serving static websites using Tonido

Tonido is chockful of features you may or may not know about. For example,  Tonido has built-in support for serving static HTML websites easily.

To do this:

  1. Create a folder, say “public“, drop in all your HTML files, images, CSS in that folder.
  2. Open Webshare Application, select the public folder and create a new share called “website
  3. Assuming your start page is index.html, then your website location is at http://<TONIDOURL>/app/webshare/share/website/index.html
  4. Send the URL to your friends and family along with the access URL

It is that simple. Now you can host your own websites using Tonido.

One Response

Software maturity has nothing to do with version numbers

A recent article in the web said that Tonido is not mature because of the low version number( This is downright silly.

The version number as used by most software is simply a number pulled out of thin air that has no connection with ground reality. Most commercial software for example, pick numbers > 1 to send a signal their software is somehow ready. But what does it mean anyway? Your software could be called version 100 the first time it is released and it still says nothing inherently about the quality of the product. It might just as well be another name for your product. e.g. Xyclotron Series 800 Model 101 Version 2.4.

Software version numbers allow one to distinguish between two different builds of the software so that for example one can answer questions like:

  1. Is this the most recent version of the software?
  2. What features(and bugs) are available in this build?
  3. What features(and bugs) are not available in this build?

Version numbers also can be used to indicate other things about the software (binary compatibility, stability) etc. But those are secondary functions with no standard.

In Tonido’s case the version number consists of 4 numbers:


When we say, it means we are at a (0) first major release cycle, (2) second minor release, (0) not a patch release, (8156) the internal build version.

The internal build version is keyed off Subversion’s version number. The advantage of using Subversion’s build number is that the version number now allows us to quickly answer the questions posed above by simply looking at the version tracking system’s change logs. If someone reports a bug and we know we fixed it, we can simply figure out if the build they used had that fix or not.

Anyway, I think the notion of version numbers telling something meaningful about your product are outdated. eMule is at 0.5 after 6 years. Java (version 6) actually refers to version 1.6, they simply omit the first version number and these days most web based software applications don’t have a version number, they are just at perpetual beta.

In Tonido’s case we are at 0.2 after 2 years, and at this rate we will probably hit 1.0 in 10 years. So if you are waiting for Tonido 1.0, you might have a long wait ahead.

No Responses

Tonido Featured in Linux Magazine

Another first for Tonido!

Tonido is featured in August issue of Linux Magazine.  Check out

Thanks  Dmitri Popov for your balanced and thorough review.

No Responses

How one can set up executable permissions on a file under subversion

Sometimes when you check out shell and perl scripts from subversion to run automated tests it will be handy if you can set the executable permission permanently in the subversion repository. The following code snippet will do that for you. Just change the filename to your script name.

svn propset svn:executable ON filename

One Response

How Tonido can help Opera browser to triumph browser wars – an Open Invitation to Håkon Wium Lie

Note: I wrote this post 2 days before the launch of Opera Unite. So read it from historical perspective – Where the world was without Opera Unite.

I am writing this post with a hope that Håkon Wium Lie (CTO of Opera) will get a chance to read this post. I used Opera browser 3 years ago. I don’t really remember the reason why i have switched from Opera to Firefox. But i still think it is a great browser. Probably one of the under appreciated ones for the value it provides to the users. I recently came across a blog post from Geek Technica ( It is shocking to see a pioneer known for its innovations has only ~2.2% market share in desktop browsers compared to IE6’s 14.2% market share.

Browser Statistics, Source: Geek Technica

Browser Statistics

One can categorize the browser players into four major categories.

  • Microsoft (IE), Apple (Safari) – Both OS and Web play
  • Google (Chrome) – Pure Web play with Google Native Client
  • Firefox – Pure Web play with extensible add-on architecture
  • Opera – Pure Web Play

Since Microsoft and Apple have operating system play they are not going to go in the direction of making operating system completely irrelevant. But they do have the advantage of bundling their browsers with their operating systems. So IE and safari are going to be around for the foreseeable future. They are not going to go away easily.

The other leading browser Firefox commands immense loyalty with their user base. Firefox’s powerful add-ons and extensible architecture make the browser indispensable to its users and it will be hard for other players to poach the Firefox’s committed user base.

The recent entry of Google chrome has made browser market much more competitive. If you look at the chart Google Chrome has gained 5.5% of market share in a short period of time. With the introduction of Google native client its strategy is very clear. Bring the power and speed of native applications to the web platform and make the underlying operating system irrelevant for the end users. Google native client allows the developers to access the full computational power of underlying CPU and enables them to create rich dynamic internet applications. Considering their past track record Google will be able to provide all the mainstream desktop applications in browser with the same functionality and features. I will not be surprised if Google can gain at least 1/4th of total desktop browser market share in a year time.

So with the exception of Opera, all the browsers have one or other advantages (bundling, native client, add-ons, etc..). The situation is precarious for Opera in the desktop segment. Unless otherwise they do something groundbreaking or revolutionary they may not be able to increase the market share from current level and most probably will be delegated to obscure status.

So now coming to the core of the topic. How Tonido can help Opera not only to gain the market share but also to win the the browser war ultimately. For people who don’t know what Tonido is: It is a cross platform , peer-to-peer, personal web application platform.

Tonido Platform Features

  • Portable: Runs on x86, ARM
  • Cross platform: Windows, Linux, Mac OSX
  • Small memory footprint: high performance
  • Small download: 5 MB download without applications
  • Open development platform that allows new applications to be built
  • 1-click seamless install of new apps from Tonido app store
  • Apps have Web based UI
  • Apps accessible locally, from intranet or internet
  • Apps can communicate via P2P
  • Apps run locally and store data locally
  • Apps can be used online or offline w/o internet connectivity
  • Rich, Interactive Web 2.0 style UI.

If you want to know more about Tonido Platform, please refer to our post How Tonido Platform Works

So How Tonido Platform can help Opera Browser?

  • Tonido provides an development platform for Opera to create interesting rich internet applications.
  • Tonido development platform offers native OS access for Opera without limiting APIs to ones provided by Opera itself. With the native access sky is the limit for number of interesting apps you can develop on Tonido platform. All the popular desktop apps can be targeted for replacement with the help of Tonido Platform.
  • Tonido development platform offers an in-built http server and a p2p stack to Opera. Now users become not only the consumer of information provided by public online services, but also can become the producers of information. This approach is a game changer and totally revolutionary.
  • Tonido Platform is light weight. It can run happily on embedded systems. So taking the Tonido platform to Opera’s mobile forte is a cakewalk.
  • With Tonido’s P2P stack, Opera browser will be able to create the largest private p2p network mankind ever witnessed. Later Opera can use this for content delivery.
  • Finally with the help of Tonido Platform, Opera can thwart the competitions from FireFox (Extensible app and update architecture offered by Tonido) , Google Chrome (Native OS Access Offered by Tonido Platform), IE and Safari.So all-in-all Tonido Platform is a great fit for Opera. If anybody from Opera Top management reads this please don’t hesitate to contact us. :-)

— Original Blog Post Ends Here —

Note: Opera’s Unite launch today closes the opportunity for us. But Kudos to the Opera Team and we wish good luck with their endeavors.

For the naysayers, Opera’s Unite launch completely validates the concept of Tonido. We are happy about it! But we are not going to sit idle as well. This is a big space and Opera’s Unite will raise awareness overall about solutions that respect privacy and freedom from thirdparty servers and it is a good thing. And we are going to march steadfast until we reach our goal.

A question to the developer community: If Tonido decides to build a browser based on WebKit with a http and p2p stack, will you be interested in it?  Will you be able to develop applications for Tonido? Let us know.

16 Responses

A brief comparison of Internet Payment Options

Recently,  I had to research different online payment options. Out of the box options such as Paypal, Google and Amazon compared to be same except for some minor differences. However, there were some significant differences especially in the fee structure when we analyzed an independent Online merchant account.





Merchant Account1

Transaction Fees Per Transaction

Monthly sales

under $3,000           2.9% + $0.30. $3,000 – $9,999       2.5% + $0.30 $10,000 – $99,999   2.2% + $0.30 $100,000 or more    1.9% + $0.30

Same as Paypal

Same as Paypal.

5% for <$10 transactions.

2.19 + 0.35 (base)

Volume determines pricing.

Monthly Fee

$0 at Paypal
$30 at our website



Monthly Fixed Fee: $307

Foreign Card (in addition to Transaction Fees above)




+1 to 1.3%

Authorization – Reauthorization- Capture Time limit

29 days

7 days6


Time limit not specified.2

No time limit specified for Reauthorization and Capture. 3

Shipping Fees setup





Tax Fees setup


Yes (No in built support for VAT)

Yes (No in built Support for VAT)


Digital goods transactions

Yes need coding


Yes needs coding



Yes need coding


Yes need coding


Gateway account

Buyer can or cannot have paypal account5

Must have google checkout account

Must have Amazon account


Checkout at

Paypal website

Google Website

Amazon Website

Your Website


1 Average price specified. Price varies among different merchants. Custom programming required.
2No option is given for Reauthorization.
3Reauthorization must be successful to capture funds fully.
5There are complaints that after 10 or more transactions with the same credit card, buyers are required to have Paypal account. Also, transactions from outside US at times are required to create a Paypal account. Even though, it is not explicitly written on the paypal website.
6Google gives unlimited time for authorization – reauthorization – capture cycle when their API is implemented with programming.
7Average Gateway Fees and Merchant Acct Fee

One Response

New TonidoPlug Website now Live

Sorry for the long hiatus between posts. Not finding time to post, just means we are keeping our noses down on the grindstone. But we finally have our TonidoPlug sister site live.

Check it out at and do tell us if you love it or hate it. And while you are there, don’t forget to sign up for the pre-order notification mailing list.

The New Site

The New Site

No Responses

Tonido Torrent Screenshots

The upcoming release of Tonido will have Torrent client application that allows you to start new torrents, monitor their progress and even download downloaded files from a remote machine.

Here are some screenshots as a preview.


Activity (more detail)

torrent_activity1 Adding a new torrent can be done from a HTTP URL or by uploading a .torrent file.


And to make it really, really easy, we will have a FireFox plugin that will allow you to click on a torrent file and send it directly to your Tonido Torrents application to start downloading.


2 Responses

Tonido build and test HW

One of the challenges we have at CodeLathe is making sure Tonido builds/runs on all 4 OSes(Windows, Mac, Linux + Tonido Plug) without problems. And we have to keep verifying that things are not broken as we do development. So I thought I would talk a little bit about the continuous integration process we have for Tonido as well as the testing infrastructure. Maybe this would help you in your next project.


Here’s our HW setup:

Quad Core Ubuntu Server running 8.04 Hardy Heron

  • Subversion repository for version control
  • Trac for internal wiki
  • RT for bug tracking and customer feedback

Quad Core Ubuntu Server running 8.04 Hardy Heron

  • Hudson – Build System (controls all the VMs as a master-slave configuration)
    • Builds every night or on a as needed basis
    • One click build process spits out release packages once it is done
    • One click promotion promotes a Tonido build to our QA staging area for internal testing
    • One click promotion promotes a Tonido build to release
  • Ubuntu 8.04 desktop VM builds source for Linux
  • Windows XP Pro VM builds source for Windows and runs our Perl based System tests
  • Ubuntu 8.04 desktop VM runs Perl based System tests

    Mac Mini 1.8 GHz

    • Builds mac source code controlled by Hudson (It would have been nice if we were allowed to run Mac OS X as a guest in a VM)

    Test Machines

    Many of these machines are grouped using Tonido P2P groups.

    They are also located/distributed geographically with different router configurations etc, This is especially important because we need to verify NAT traversal when using the Tonido Network.

    • 4 Dual Core Windows Vista Ultimate Machine running Tonido 24/7
    • 2 Mac Minis 1.8 GHz Runs Tonido 24/7
    • 1 Quad Core Windows XP Pro Machine running Tonido 24/7
    • 1 Dual Core Windows Vista 64 bit Premium running Tonido 24/7
    • 1 Ubuntu 8.04 Linux VM running Tonido 24/7

    In addition to all these machines, there are about 5 TonidoPlugs that are running Tonido 24/7. We expect more plugs to be online once we wrap up development and start our testing phase on the plugs.

    Our biggest headache is keeping all those passwords straight. :-)

    6 Responses