Tonido Blog

Run your Own Personal Cloud

February 16, 2009
by tuxan
1 Comment

Configure and Use Dynamic DNS

DNS

DNS or Domain Name lookup Service provides the mapping between internet addresses such as 22.43.68.133 to a human readable (and memorable) address (known as URL) such as www.apple.com. Without a DNS service it will be difficult for us to remember all the internet server addresses that we use daily. These address mappings will be hosted by some well known servers on the internet. These mappings can be created usually for a flat fee by many vendors. These mapping servers are very reliable in providing the name resolution.

DNS Pros and Cons

Pros:

  • Get any available URLs
  • Reliable, enterprise grade service

Cons:

  • Pay service
  • Not suitable for DHCP addresses

Dynamic DNS

Dynamic DNS (DDNS) is also a name to internet address mapping service but more suitable for home or small business users. The basic Dynamic DNS (DDNS) service is provided free by many service providers(www.DynDns.com).

Internet providers such as cable or DSL often provide dynamic IP addresses to their subscribers unless the subscriber paid for a static IP address. If  you want an URL for accessing your home computer from anywhere:

1.      You have to pay for a DNS mapping service.
2.      If the home computer is assigned with DHCP address then you have to update the mapping every time there is an address change.

But with DDNS service, you can get a basic mapping service for free and these services are suitable for even DHCP addresses. This is made possible by some kind of DDNS client.

Dynamic DNS Client

There are two types of DDNS clients.

  1. A client that runs on your home computer.
  2. A client that runs on your router itself.

No matter where the client runs, the functionality of the clients is the same. They connect to the DDNS provider at regular intervals and update the mapping. When the DHCP address at home changes, the mapping will be updated automatically on the next update. If you choose to go with type 2 client, there are lot of free and shareware DDNS clients available on the web. You can select them depending on the operating system of your home computer and the feature set offered.

Dynamic DNS Pros and Cons

Pros:

  • Basic service is free.
  • Suitable for DHCP addresses.
  • Restrictive URLs.

Cons:

  • DDNS clients are not available on all home routers, though newer routers mostly have this functionality.
  • Some configuration involved in running a DDNS client on your computer.

Dynamic DNS Uses

Let us assume that you have setup a DDNS at your home. Now what do you do with that. Actually DDNS setup can be found very useful for your day-to-day applications. Here are some of the uses.

Basic:

  • Remotely connect to your PC via SSH, Telnet, VNC or Remote Desktop
  • Access your files at home computer via FTP

Advanced:

  • Listen to your music collection at home computer from anywhere
  • Run your own personal web server hosting websites, blogs etc.
  • Run your own mail server for sending and receiving mails.

Tonido Dynamic DNS

Tonido is a new software from CodeLathe that includes DDNS client functionality. It is available for Windows, Linux and Mac OSX. Upon installation, user needs to create a new account and this new account name will be the users URL.

For example, If you create an account called ‘John’ then you can access your home computer from anywhere using the address ‘john.tonidoid.com’. There is no other configuration needed.

Tonido Uses

Tonido also comes bundled with a bunch of applications that will make your DDNS setup worthwhile.

  1. Jukebox: Listen and organize your MP3 song collection from anywhere.
  2. Web share: Host a quick file download server allowing access to your files from anywhere. Hosted files can be downloaded via any web browser.
  3. Photos: Securely share your photos with friends and family, without uploading to any third party servers.
  4. Workspace: Personal Information Management tool that lets you to sync notes, calendar, contacts, to dos, chat messages among your friends and family.

Summary

There are lot different ways of setting up DDNS service for home or small business. Tonido is one tool that not only provides DDNS client service but also takes one step further by providing all the applications that required DDNS in the first place. You can checkout Tonido at www.tonido.com

February 15, 2009
by tuxan
0 comments

Accessing Windows Share from Macintosh

For those who are wondering how to access your Windows files on a Mac, here is a simple command that can help you….

Prerequisite :
Create a share in Windows (‘MyHD’ in this case) .

Step :
Now to mount the share on your Mac, open command prompt (TERMINAL) and type the following command:
# mount_smbfs -W PETERGROUP //Peter@devworks/MyHD WindowsHD/

where,
# mount_smbfs [-W workgroup] //[workgroup;][user[:password]@]server[/share] path

Voila.. your Windows share “MyHD” from machine “devworks” will be accessible from your  Mac under the path WindowsHD!!

Command Details:
mount_smbfs [-Nh]  [-I host] [-M cmode[/smode]] [-O cuid[:cgid]/suid[:sgid]]
[-R retrycount] [-T timeout] [-U user] [-W workgroup] [-d mode] [-f mode]
[-g gid] [-n long] [-u uid] //[wkgroup;][user[:password]@]server[/share] path

February 15, 2009
by Ethan Hall
0 comments

Some data is better left on your desktop

15 years ago, we bought less hardware for more money. This was a time when we shelled out $2000 for a 486 with 64MB RAM and the Internet was getting popular with the advent of email over dialup.

During that time, personal money management systems like Quicken or Microsoft Money only had a desktop version. Microsoft Office was running on every single desktop that wants to do productive documentation work.

Fast forward to now, we can buy more hardware for less money. An Intel Pentium dual core with 4 GB RAM sells for less than $400. But surprisingly we don’t want to stress our PCs anymore, we are moving to Google Docs – a simpler online version of Microsoft Office. Additionally, Quicken has released a FREE online money management system and so do numerous other sites like Mint.com etc.

What is the reason for this paradigm shift?

Quicken has been in this game for decades yet did not develop an online version of its money management software until recently Why? They never thought we (people) will be insane enough to store our personal financial information on a 3rd party server. However, in the recent days, Quicken was proved wrong and so were numerous other software companies.

The enormous success story of social networking sites such as My Space and Facebook is a living proof that we will share anything and everything on the Internet. Now, every company wants a piece of you and the action.

On a quick thought, why would you want to use services such as Google docs or Quicken Online or Flickr?

  1. Available anywhere anytime: True. Flickr, Quicken Online etc will give you access anytime anywhere to your data. It provides that flexibility but at what cost? You are yet another record on their databases, probably they know more about you and your behavior than you do.
  2. You don’t have to worry about losing your data: True. You can always access your data even if your PC fails. BUT SO CAN THOSE COMPANIES. Forget about hardware failure and think about it, you have lost control over your data the moment you stored the data on their server.

How is Tonido different?

Applications built on Tonido are available from anywhere anytime. Additionally, these apps will run on your Desktop and your data will be stored only on your PC.  If you are worried about data loss, there are literally hundreds of Backup software available that can be used to back up your PC safely and securely.

For your security and privacy there are some apps that are better left on your desktop but there are times when you want to access this anywhere anytime. Tonido gives you the best of both worlds.

February 15, 2009
by codemechanic
0 comments

Cloud Services can cure common cold now

In recent times, cloud services such as Google apps, Microsoft’s Live services and Adobe’s Acrobat.com are touted as panacea for all your computing needs. If you allow it to work its magic  It can even cure common cloud :) … just kidding.  If you Google  “Live Entirely on Cloud” you will see blog posts explaining why it is so good to live completely on cloud. We have two words for you – “Be Cautious”.  One cannot completely rely on cloud for all your personal computing needs.

Apart from obvious drawbacks of cloud apps such as power and offline availability there are other important considerations one need to consider before moving everything to cloud.  Who owns your data? What will happen to your data  if the service provider shuts down its service?  What about privacy and security of your data?  Finally, Have you read the Terms  of Service agreement before clicking the accept button? These are some of the questions you should think about before jumping to cloud service bandwagon.

It is true that cloud services are good for certain needs but not for all your computing needs. The rat race to acquire  and control user’s data doesn’t bode well for common customer. Your personal freedom and privacy is at stake. In plain words,It is a virtual slavery in progress which says you put all your data in my servers,  we will take care of you ever. No, Thanks…  Personally I would never put my financial information, tax records, family photos, important documents,  projects and contacts in cloud. Call me paranoid. I prefer to have important data in my control rather than so called “do good” cloud service providers. The following cartoon from geekandpoke explains it all.

Cloud 9

Cloud 9

The fundamental motivating factor for us to create Tonido is that there should be an easy way for users to keep control over their data and at the same time should be able to enjoy the universal availability and rich feature set of cloud applications.

February 14, 2009
by madhan
0 comments

Tonido Jukebox – Listen to your music from anywhere via a web browser

After spending a bunch of posts talking about the overall Tonido concept, let us look at the applications that Tonido beta will ship with.

One application is Tonido Jukebox. Put simply, Tonido Jukebox is a music player that runs in your browser. It allows you to organize and listen to your personal mp3 collection from another machine via your intranet or from a remote computer via the internet.

  • Imagine your iTunes, Winamp, WMP based music libraries in your machine, but now accessible from anywhere via your web browser
  • Imagine being able to listen to your music from work, from your friends home, from your work laptop or from your mobile phone without having to copy or sync music to and and from your music player
  • Imagine having a single place to store all your playlists that are available from wherever you are
  • Imagine storing your music in one central location at home, and being able to listen to the music from all other devices
  • Imagine having no storage size limits to your portable music player
  • Imagine the ability to listen to your friends collection or letting him listen to yours
  • Imagine doing all this without uploading all your music to the ‘cloud’.

That is Tonido Jukebox. Your music follows you wherever you go.

Tonido JukeboxTonido Jukebox

So how does it work?

1) First add your collections. You can select and add your mp3 folders as collections into Tonido Jukebox. Adding the collection will index your mp3s by extracting the mp3 tags from your music files and storing it in the local Jukebox database.

Adding a Collection to the Jukebox

Adding a Collection to Tonido Jukebox

2) Browse your collections. Once you have added your collection you can browse your songs and folders as usual via the browser. The collection browser allows you to view album art if you have any.

3) Listen to your music. You can click on any song that is viewable in your albums to start playing it. The song will play using the embedded flash player in the browser.

Tonido Jukebox Player Controls

Tonido Jukebox Player Controls

That is pretty much it. Since all these actions happen from your browser, the process is the same whether you are using it from your machine, your intranet or the internet. And that is all you need to know if all you want to do is listen to your music collection. But it doesn’t stop there.

There is more to Tonido Jukebox if you are ready to explore. For example:

Tonido Jukebox supports playlists, both manual and automatic. Manual playlists work as usual, you can create an arbitary collection of songs.

Jukebox Playlists

Tonido Jukebox Manual Playlists

Automatic playlists create lists of songs based on criteria you specify: favorite songs, songs belonging to a specific genre and so on. See below for a automatic playlist setup screen.

jukebox_createautoplaylist-2

Tonido Jukebox Auto Playlist

Tonido Jukebox can stream songs, so that you still can listen to mp3s over a slow internet connection. You can choose the stream quality level as well.

jukebox_streamqualityselect1

Tonido Jukebox Streaming Audio Quality Selection

Tonido Jukebox allows you to organize your music by allowing you to edit ID3 tags in your mp3s, directly and from your browser. Say you are listening to your music at work and see an incorrect ID3 tag, you can fix it right then and there. Take that iTunes!

And, say you don’t like the embedded music player, and you prefer to listen using an external player, Jukebox allows you to open the current song list as a .m3u extension in the player of your choice. So for example you can play your songs using VLC or any other player that supports playing music via HTTP URLs.

Tonido Jukebox not only helps you listen and enjoy your music collection, it helps you listen to your friends collection as well( if they share it with you). Tonido Jukebox allows them to setup user accounts and share specific playlists with you. Once you login using your user account, you can listen to songs from the playlists that have been shared with you. When you login this way, you get a simplified Tonido Jukebox user interface called the Mini Jukebox, which is a compact interface with fewer functions even suitable for mobile phones.

Ready to start listening? Sign up for the Tonido beta.

February 10, 2009
by madhan
1 Comment

Using Tonido – Part 1

In previous posts, we introduced Tonido and talked about some of the salient features of the Tonido platform. In this post, we will talk about the Tonido end user experience and walk through profile creation and inital login. We will also cover some of the features available via the Tonido Admin User Interface.

Tonido is a desktop application, therefore you will need to download and install the application for your operating system. Tonido runs on Windows (2000, XP, Vista and even 7), Mac OS X 10.5 and Ubuntu/Xubuntu/Kubuntu 8.04. Tonido is written to be as lean and mean as possible, and the download will be small  (~9 MB for Windows which includes the four applications) and the runtime footprint will be very minimal even with four apps running. You can rest easy. There is no Java or .NET in sight.

Depending upon your operating system, the install procedure is slightly different, but it should be very straightforward. After install, you can launch Tonido from your launch menu, and you will see Tonido running in the system tray/tool bar/dock.

tonido_win_ss

tonido_ubuntu

tonido_mac_ss

So far, there is nothing to indicate that there is any difference between Tonido and any other application out there. But once you start Tonido, you will see that instead of a native UI, a browser window opens, with a start up page. This browser window’s web page is actually being rendered by Tonido you have installed in your local machine! You are not interacting with a third party website.

Tonido Profiles

The first page you see is the profile list page. Tonido supports the concept of profiles for the machine you are running Tonido on. You can create any number of profiles in Tonido, but you can only login into Tonido in one profile from a device at one time. For example, you might have one profile, while your spouse has another. Each Tonido profile is completely separate and has their own separate application data; separate groups; settings etc.

Obviously, if you are installing Tonido for the first time, there are no profiles; so you will need to create one. Tonido profile creation is quick and painless and it is a breeze to go through. It is also non-intrusive, we don’t even ask for an email ID. But there is one caveat; Tonido profile creation requires you to be online. The reason is that the Tonido profile provides you with an Tonido ID that can be used by other Tonido contacts to get in touch with and create groups with etc. Tonido stores very minimal information about your profile; just enough to perform authentication and to verify that no one else can pose as you. Also note that after profile creation, you do not need to be online EVER to use Tonido and its applications. In fact, no information is ever sent externally even when you are logging into your profile!

This means that you can use Tonido and its applications completely offline.

The Tonido ID I refer to previously is your unique ID for that device in which Tonido is installed. It is superficially similar to a Yahoo or Google Account, except that you can only login into that profile from that machine. You can use that profile from another machine, if you want, by copying the profile data into that new machine.

Tonido IDs looks like an email id, “USERNAME@DOMAIN.COM”. For example, if your profile name is ‘mike’ it will look like ‘mike@tonidoid.com’. Note that although, it looks a lot like an email address, if you try sending an email to that address, it won’t go anywhere. (*currently)

During profile creation, note that you need to choose a strong password (at least 8 characters; with atleast 1 number). You also need to choose a remote login question and password to serve as additional security measures when you are logging into Tonido remotely from a non-local machine.

Once you create a profile; you will see your profile in the profile list and you can select and login using your password to begin.

tonido_profilelist

You normally login into the Tonido Admin, which is the administrative interface to Tonido. This is the launchpad and the control panel for Tonido. There are several things going on in the admin panel.

Summary

The summary panel in the Tonido admin, shows your profile information, your Tonido ID, your unique URL and settings for your Tonido Web Access as well as Tonido Network. Available Tonido and application updates are also shown here. Tonido supports direct updates (similar to Firefox), so when a new version is released, you can simply click to install the new updates without having to download a new installer.

tonido_summary

Applications Launchpad

Tonido, if you haven’t heard by now is a platform and therefore it supports a varied number of different applications. Your list of installed applications is shown and you can launch them from that panel. When you launch an application, that application’s UI opens. Usually, there is a way to get back into the Tonido Admin UI from the application.

tonido_apps

Applications Management

Tonido Admin allows you to manage your installed applications. This behaves similar to Firefox addons functionality. You can suspend, uninstall applications and even install new applications from within Tonido. And unlike Firefox, suspending, resuming and even installing new applications does not require a restart. :-)

tonido_apps_manage

Group List / Online Tonido Contacts

Tonido connects to other Tonido instances directly via the Tonido Network. You can form Tonido groups with other Tonido contacts. The list of your groups and online Tonido contacts is shown in the panel quite similar to any IM program. You can even click on the Tonido Contact to view more details and to interact with that Tonido Contact.

tonido_groups

Group Management

You can also manage your groups, send invitations, manage sent invitations, etc. There are two kinds of groups currently supported in Tonido, Open and restricted groups. They mainly differ in who can invite whom into the group. But we will get in more detail about them later.

Tonido Messages

Tonido supports a simple messaging system akin to email. You can send messages to Tonido contacts via the Tonido network. Similar to email, you just type in the Tonido ID of the contact, type the message and send. When the contact is next online, he will get the message directly from you.

tonido_messages

Remote Access via Tonido Network

In addition to supporting remote access via the web access (or HTTP), Tonido also supports connecting to another Tonido profile via the Tonido network. In this case, HTTP requests are tunneled via the Tonido network. The advantage is that you do not need to setup any port forwarding via your router to access your profile data remotely from another device. All you need is a local Tonido instance running. Think of remote access as zero config; but you need Tonido to be available in the local machine. Obviously for security, this is turned OFF by default. We will look at this feature in more detail later.

tonido_remote_access

Activities

Tonido shows you a log of all important activities occurring within Tonido. Kind of useful to figure out what happened when.

There are a bunch of more stuff in the Tonido Admin, but the above list covers the majority of things you will usually do. These are the core Tonido features that by in itself are interesting. But when combined with Tonido applications that utilize them, they become much more interesting.

Most people will spend more time using the Tonido Applications than the Admin and that is what we will cover in the upcoming posts. Stay tuned.

Like what you are hearing? Sign up to be part of the Tonido Beta.

February 8, 2009
by codemechanic
0 comments

Memo to world leaders

Millions of jobs were lost in 2008. Thousands and thousands of jobs are being axed every day currently. People are in despair. A silent behavior metamorphosis is happening in the street. People don’t really know what to believe in anymore. They don’t believe in the value of once coveted dollar or the price of their property or the future of their investments in iconic companies. They also don’t know who can bring hope to their lives. They are not sure whether they can place their faith in elected leaders or the public institutions.

As the days go by, the governments around the world are pumping trillions of dollars into the world economy to prop up consumer and business spending. Being the lender of the last resort, Governments are ready to spend the money they don’t have and print additional currencies as they wish. But leaders need to exercise caution as they move further in that direction. It is not really a far-fetched imagination to say that people losing trust in Governments totally may push the currency economy to a barter economy where people exchange apples for French classes. While stimulus packages can prop up the supply side it would do little to improve the demand side which is completely dependent on people’s psych and confidence in future prospects. So the most critical job before the Government and business leaders is to reduce the uncertainty that has permeated into every sphere of economic activity – both public and private. So what is the solution that will rebuild the people’s faith in world economy? What will bring the populace again to the capital markets and banks? What will make people to invest in new ventures? The answer is

Complete and Absolute Transparency in every minutiae activities of public and private institutions.

For starters, Governments should publish how every penny of stimulus package is being spent to the public in easily available format. From now on this should expand to the spending of every state and federal institutions as well. Publicly listed companies should also follow suit. They should stop managing their earnings and open up their accounting systems to every willing stockholder in a transparent manner. Finally, the situation is so grave that if the leaders don’t practice and force absolute transparency in every action they do they may never be able to salvage the current economic crisis.

February 6, 2009
by madhan
0 comments

Where are the new Killer Apps?

Is it just me or are there no new real killer apps or categories?

Here’s a list of the most downloaded apps from download.com.

AVG Anti-Virus Free Edition 2,055,193 downloads
Ad-Aware Anniversary Edition 1,275,643 downloads
Avira AntiVir Personal - Free Antivirus 623,225 downloads
LimeWire 554,722 downloads
FrostWire 503,178 downloads
Avast Home Edition 494,921 downloads
Malwarebytes' Anti-Malware 438,892 downloads
WinRAR 309,436 downloads
Orbit Downloader 292,884 downloads
Camfrog Video Chat 272,978 downloads
YouTube Downloader 272,852 downloads
Advanced SystemCare Free 259,294 downloads
Download Accelerator Plus 206,340 downloads
Spybot - Search & Destroy 202,804 downloads
VersionTracker Pro 192,401 downloads
IrfanView 181,387 downloads
GOM Media Player 178,099 downloads
Memeo Share 171,840 downloads
PhotoScape 169,802 downloads

If I were to categorize the top 20 programs into programs, I come up with this list:

Anti-Virus, Anti-Spyware: 7 Apps

Download Software, P2P file sharing: 5

Utility (Zip, Version Tracker): 2

Media Apps (Players, Editors): 3

Chat : 1

Media Sharing: 1

It is kind of interesting, that the most popular apps appear not to be productivity or any kind of applications that help make life easier; They are actually computer maintenence apps. It is like buying a car so that you can drive it to the car mechanic.  Computers are there for taking care of humans and for making life easier. But it appears we are spending more time taking care of them.

Of course, the conclusion I am making is kind of flawed; the kind of applications everyone downloads are the most generic ones, anti-virus, mediaplayers etc and there is little wonder that there are no surprises.

But it makes me wonder, where are the brand new category of apps?

Where the new Google Earths, Skype, Napsters of tomorrow? Where are the genre defining applications that change the face of computing?

Maybe it is getting harder to create new categories?

Maybe as someone said, “Everything that could be invented has been ..”

I doubt that though.

February 5, 2009
by madhan
1 Comment

Tonido Platform – How it Works

In case you missed it, we recently announced Tonido which is an application platform that blurs the distinction between the web and the desktop. Four applications will be part of the initial beta release, but more are coming and since it is a platform, third parties can also develop applications and deploy on top of it.

This post will try to go through some of the features of Tonido as a platform.

Tonido Core Runtime

A Tonido installation consists of a runtime referred to as the “Tonido Core” runtime and “Tonido applications”. The Tonido Core is implemented using C++ and Tonido applications are shared libraries/dlls that are loaded/unloaded dynamically.

Tonido has two primary interfaces to the outside world.

  1. A HTTP interface which can be accessed by a browser
  2. A Tonido network interface which is used to connect to other Tonido instances directly

The primary function of the Tonido platform is to abstract these two interfaces from applications and present them uniformly as a single unified interface. Let’s look at how this is organized in more detail, as shown below.

tonidoplatform_small

HTTP Interface

This functional block relates to the HTTP interface of Tonido. It manages HTTP client connections, credentials, loading UIs/Javascript using the Zip based Virtual File System. This is how users interact with Tonido since the user interface of Tonido is actually presented through the browser.

Tonido Network

The Tonido network is a direct peer-to-peer based network, with a distributed login system. That simply means that Tonido instances will communicate with each other directly and but identity will be managed by a directory server. This directory server is called Tonido Domain Server (TDS). CodeLathe will operate one that provides Tonido identities running from the tonidoid.com domain. However, unlike many other messaging servers, the Tonido Domain Server can be run by anyone and they can provide their own identity management. So, for example, a corporation can run a Tonido Domain Server for their employees, e.g. microsoft-tonidoid.com, and Tonido instances running on any Tonido Domain Server can talk to each other.

The Tonido network functional block handles identity, connections with other Tonido instances, can transfer files and perform arbitrary data synchronization.

Utility and Other APIs

The Tonido Core runtime has other utility APIs that applications can use. They include image manipulation, notifications, activity streams.

The Core Runtime also supports managment of collection of Tonido instances called Tonido Groups. Tonido Groups can be used as a logical block for certain operations by applications. For example, Tonido Photos will send a photo folder to a Tonido Group. Tonido Workspace uses Tonido Groups to synchronize workspace items.

Other APIs include loading, suspending and managing applications; Tonido updates, patching and notifications. There are also several other minor utility APIs.

The final piece is Service management and message routing which we will talk more in detail below.

Tonido Services and Messages

This is the glue that holds the entire Tonido architecture together. The Tonido platform comprises mainly of static APIs and dynamic Services.

Static APIs are traditional APIs that can be invoked via a normal function call. These calls are synchronous, i.e. when you invoke them your code does not continue till the function call returns.

Services, on the other hand cannot be invoked directly. If you need to interact with a service, you need to send messages to it. Unlike static API’s messages are sent and processed asynchronously. i.e. your code continues to execute after sending a message. Once the service gets the message, it will perform a action and send you an optional response as another message.

Messages form the primary unit of communication within Tonido and in-between Tonido instances. For example, if you want to send a response to the browser, you will send a message to the HTTP Service. If you want to initiate a file transfer to another Tonido instance, you send a message to the File Transfer Service requesting a file transfer.

This allows Tonido applications to communicate with services in the local instance or remote Tonido instance the same way.

Just for fun, here is an example, (if you know C++), showing how easy it is to send a message to another Tonido contact.

Tonido::Data::Message::SharedPtr pMessage(new Tonido::Data::Message());
pMessage->setToPeerID(Tonido::Data::PeerID("mike@tonidoid.com"));
pMessage->setToService("TonidoPhotos");
pMessage->setOperation("Hello World!");
Tonido::Dispatcher()->postMessage(pMessage);

Tonido takes care of the rest, locating, connecting, transmitting the message to a Tonido contact “mike@tonidoid.com” if he is online.

When you want to write an application, you will actually write one or more services, compile it as a shared library and it becomes a Tonido Application. Since Tonido applications are mainly written in C++, they are free to use the vast C++ libraries out there. Running in C++ also gives other advantages, performance, small size etc.

Browser Based UI

Tonido uses the browser exclusively to provide interfaces to the applications. This provides a lot of flexibility, and allows users to access their applications from anywhere. Again, there are no restrictions on the type of UIs that applications have to implement, you can use plain HTML, AJAX, Flash, SilverLight or any of the hundreds of the other web development toolkits out there. The only requirement is that the browser UI communicates with the Tonido application using HTTP(S) (GET/POST)

Security

A fundamental part of the Tonido Platform is security. Significant amount of time has been spent on implementing secure communications, secure HTTP access and authentication methods.

Since messages are primary means for communications inside and outside Tonido, there is a authorization key that every message carries. There is a associated privilege level (message from unknown Tonido contact, message from a Tonido Group contact etc) , a source level (for example, message from the UI, message from the network), and finally a location access level (message from local machine, message from trusted machine, message from remote machine ) etc that is part of the authorization key. Message handlers in applications are free to setup restrictions on levels required for a particular operation.

Cross Platform and based on Open Frameworks

Tonido runs natively in Windows, Linux, Mac OS X and therefore can fully use the underlying OS’s capabilities if available. All four of the Tonido applications that are part of the inital release will run on all three operating systems.

Tonido does not reinvent the wheel when it comes to providing support for primitives like threading, shared pointers, image handling, storage and crypto. The Tonido platform integrates with the best-in-the-breed and permissive licensed libraries out there like boost, crypto++, sqlite and Poco to provide support. However, Tonido does not require application developers to stick to these libraries in their code, they are free to use any library out there. In fact, Tonido even provides support for applications to load and unload their own third party shared libraries.

Over the coming weeks, we will try to talk more in depth on individual parts of the Tonido design.

We are excited about Tonido and even more excited about the possibilities offered by the Tonido Platform to developers and consumers. We have only scratched the surface with the applications we have built so far and there is potential for hundreds of other applications that can do dazzling things that so far web applications and desktop applications can only dream of. And at the same time, keeping your data private and out of third party hands.

Sign up to get the Tonido Beta.