Archive for March, 2009

Create your own Virtual Private Network for SSH with Putty

Introduction

I have multiple Linux machines at my home. Previously, when I needed SSH access to these machines I used to setup port forwarding on my router to each of these machines. It was a tedious process of enabling port forwarding and then disabling it after use. It was also difficult to remember port number forwarded for a particular machine. But now I found a cooler way to get SSH access to all my machines at home without setting up port forwarding or remembering any port numbers and most importantly, I can address my home machines with local subnet IP address, no matter wherever I connect from the internet.

Requirements

  1. Remote machine with Putty installed in it.
  2. Home router’s internet accessible IP address or dynamic DNS (DDNS) address.
  3. One/more Linux/Windows machine(s) to which direct SSH access is required.
  4. On the router, port forwarding is enabled for SSH service to at least one of these machines.

Setup

The basic idea to get this working is that we make one initial SSH connection to our home machine. Then using this connection as a tunnel we can connect to any machines at home by addressing them with local sub-network address (such as 192.168.x.x). So the high level steps are:

  1. Open a putty session and configure it to act as a tunnel.
  2. From this session connect to your default SSH server at home.
  3. Open another putty session and configure it use the previous putty session as proxy.
  4. SSH connect to any machine at home using the local subnet IP address. Since we are using a proxy it will resolve the local subnet’s IP address properly.
  5. You can make any number of connections to all your home machines by just repeating steps (3) and (4).
    Note: If on the remote network’s subnet is same as your home network’s subnet then you might run into IP conflicts.

SSH VPN with Putty

Step-by-Step

1) On the remote system, open putty enter the IP address or dynamic DNS (DDNS) name in the host name field. Select “SSH” as connection type. Port 22 will be selected which can be left alone unless you run the SSH service on a different port. Note: Though your putty screen might look a little different than the one seen here due to version differences, the basic steps would be still the same

In our example,
Host Name = demo123.dyndns.org
Port= 22

Remote home system network details

2) In putty, on the left-hand navigation panel, open SSH option and select “Tunnels”.

In the tunnels screen, set these values
Source Port: 3000 (this is the port at which our proxy service listens to, this port can be changed to any but preferably a number larger than 1024)
Destination Port: (Leave Blank)
Finally, select “Dynamic” from the radio button options.

Tunnelling information for the proxy

3) Important: Click “Add” to add the tunnel settings to the connection.

Tunnel settings added

4) On left-hand navigation panel, move the scrollbar to the top and click session. You will be seeing the settings entered in step(1). Now we can save the whole connection settings. Add a name for this connection in the saved sessions textbox and click save.

Saving the connection settings

5) Click open, to open connection to home machine, and enter login and password information for the remote machine. This user need not be root user, but it needs to be an user with network access on the remote machine. That brings to the end of putty configuration. Now you have a proxy tunnel connection from remote machine to one of the home machine. Now we are ready to connect to any home machine.

6) Open another putty session. Select the options “Proxy” from the navigation panel. On the right-side proxy options, enter only the following information. Don’t change any other settings.
Proxy type               : select “SOCKS 4″
Proxy hostname     : enter “localhost”
Port                            : 3000

Proxy Settings

7) Click on the “Session” option from the navigation panel. Enter a name under “Saved Sessions” text field. Don’t enter any information in the “Host Name” field. Now click “Save”. Now we have a template connection session using our proxy.

Proxy template

8 ) Now enter local subnet IP address of a machine at home and click open. The connection gets routed through the proxy tunnel and you will be connected to the home machine directly. Similarly you can connect to another home machine by opening putty and loading the template we created and just filling in the machine’s local subnet IP address.

Connect to home machine with local IP address

BTW, if you think just SSH access is not cool enough, you can do more cool stuff like

  • Listening to music stored at home
  • Viewing/sharing photos at with friends and family
  • Creating schedules, Todos, notes etc., securely at a home computer

To get these functionalities checkout this free utility called Tonido. For more information on different applications bundled with Tonido you can read more Tonido related blog posts here.

Great UI experience means good shopping carts

scart

Have you use IKEA’s shopping carts, versus ones in Walmart, ToysR US for instance? The difference is huge.

The bad shopping carts tend to run in one direction, steer doggedly against where you want to go and take a huge amount of patience just trying to move from one aisle to another. This can become more painful when the store is crowded and you are trying to pull off some tight maneuvers. While the ones I used recently in IKEA were a dream come true. They steer perfectly, the ride is perfect and is effortless to move around. If I can compare shopping carts to cars, the ones in IKEA have to be the Mercedes, while the rest are the equivalent of the now defunct Yugo.

So why do shopping carts matter and what point am I trying to get across?

Shopping carts matter a lot for stores, because that is what (most of) the customers use when trying to buy things. If their shopping carts cause frustration, are fussy, customers are more likely trying to make that thing move instead of looking wondrously at the goods at your store and potentially buying more of them. I am sure stores want their customers looking at their products rather than at the shopping cart’s handlebars.

The same analogy holds true for great UI. You want to make a UI that is effortless to navigate, takes the user where he wants to go without trying to frustrate him needlessly. Otherwise you end up with user interfaces that are much like bad shopping carts, that a user spends more time trying to figure out how to navigate than looking at the great features you provide. Build great shopping carts and then build great features.

PS: Walmart, fix those bad shopping carts please.

Comparing Tonido Photos and Memeoshare

Summary

Both applications are designed to simplify photo sharing experience and save users from spending time in downloading and uploading photos. Users can form groups (Circles in Memeoshare and Tonido group in Tonido Photos) to share their photos. Group members need not upload or download photos, they automatically receive the photos.

For the first 10 minutes learning about these applications, they appear as if they are doing exact same functions. However, you will soon notice that there is a fundamental difference between these two applications. Tonido creates a private P2P network to transfer files among group. Tonido doesn’t use a third party server to store or channel user photos. In case of Memeoshare, it loads user photos into a central server and sends the photos from the server to other in the user group.  Since Tonido doesn’t use a central server, it promises complete privacy — user communications or photo sharing is neither monitored nor stored in any server.  This is a big advantage that Tondio Photos offers that no other photo sharing service offers.

tonido_p2p_sharing

memeoshare

Comparison By Feature

Feature

Tonido Photos

MemeoShare

Photos vs. Memeo

Ease of Use: Sharing Photos

·   Quick to install

·   Easy steps to share

·   Notification when new photos are received

·   Quick to install

·   Easy steps to share

·   Notification when new photos are received

Tie

Viewing options

·   Browse by user, group, tag

·   Filter by date-time

·   Slideshow

·   Browse by tag

·   Slideshow

·   Option to rotate photos

Tie

Size/bandwidth Controls

·   Users can set bandwidth to use

·   Users can set size limit on group

·   No such controls

Tonido Photos

Privacy

·   No one outside group can see what is shared by whom

·   User communication/ data/ photos are neither monitored nor stored in any external servers

·   Photos are stored in third party servers. Potential privacy concerns

Tonido Photos

Performance/ Footprint

·   Uses 19MB RAM

·   Uses 83MB RAM

Tonido Photos

Operate from anywhere and device

·   Access Tonido from any device with standard browser

·   Share new folder or create new group from anywhere

·   Only view photos/videos from anywhere

·   Cant create new group or share folders remotely

Tonido Photos

Porting to Facebook

·   Not available in Beta. (in product roadmap)

·   Easy to upload to Facebook

Memeo

Backup option

·   Needs extra steps to set backup option

·   Easy backup

Memeo

Selling points

·   Absolute Privacy

·   Extensible Platform (comes with other applications jukebox, workspace, webshare)

·   Performance

·   More granular user controls

·   Supports videos

·   Easy backup option

·   Option to upload to facebook

 

Screenshots

Photo Sharing in Tonido

1)      Create a Profile (no email registration)

createprofile

2)      Create a Tonido group

creategroup

3)      Select a folder to share

800px-firstshare

4)      View gallery in Tonido Photos

tonido_photos

Photo Sharing in Memeo

1)      Register a new user

image002

2)      Create a circle

image003

3)      Select a folder

share-folder

4)      View the gallery in http://share.memeo.com/

gallery

Browse options

Tonido

browse-options

Memeo

photo-editing

Footprint Comparing memory usage across Tonido and Memeo

image015

image017

Tonido JukeBox Vs Jinzora: Installation and Configuration

Listening to music online is not a new concept to many internet users. However this habit has evolved more into listening to your own music collection online. With hardware prices getting dirt cheap and more users switching to faster internet connections (switching from dialup to cable/DSL), running your own personal radio station is fancier than ever.

In this article, we will take a look at the installation and configuration of two such software that lets user to run their own internet radio station.
(1) Tonido Jukebox – An application plugin from CodeLathe that runs on tonido platform.
(2) Jinzora – A PHP based web application that runs on LAMP stack.

Before proceeding with the installation let us look at the comparison of each of the above.

Tonido Jukebox

  • Setup very trivial.
  • Supported for different OS without any additional software stack.
  • Very Low memory footprint. (about 10M for music collection with 50 songs)
  • No need of separate Dynamic DNS (DDNS) setup.
  • Automatic UPnP port forwarding available if supported by users router.
  • Simplified user interface.

Jinzora

  • Setup is more involved.
  • Additional software stack (such as LAMP, WAMP, MAMP) will be needed depending on the target OS.
  • More memory footprint.  (about 50M for music collection with 50 songs)
  • Needs registration with a DDNS provider if a URL access is needed.
  • Automatic UPnP not available
  • Complicated user interface.

Let us look at the steps involved in installing the above two on a windows platform.

Installation of Tonido Jukebox

Tonido Jukebox is an addon plugin for tonido platform. Jukebox is bundled with the default Tonido installation along with few more other applications. Tonido also has the advantage of automatic dynamic dns (DDNS), so accessing your Jukebox with a URL is possible without any extra DDNS configuration.
1)  Download the latest Tonido from http://www.tonido.com/ . Click the downloaded file to run the setup.

2)  In the windows security warning window, Click “Run” to run the setup.
Security Warning

3) In the Tonido setup welcome screen, click “Next”.
Welcome Screen - Tonido Install

4) In the next screen, keep the default start menu folder. Click “Next”.Tonido Install - Folder

5) In the next screen, keep the defaults. Click “Next” to start the installation.Tonido Install - Shortcut selection

6) After installation, click “Finish” to conclude the installation and launch tonido.
Tonido Setup - Launch

7) Tonido UI opens in a browser window. Click on “Create Profile” to create a new user id.
Tonido Installation - Select Profile (Empty)

8) Create a new user id by entering all the information and click on “Create”.
Tonido Install - Create Profile

9) A new user id is created in your Tonido. This instance of Tonido is completly local to your PC and no information is stored in any thirdparty servers. Login to the account by entering the password and clicking “Login”.
Tonido Install - Login Profile

10) In Tonido administration screen, click on Jukebox from the application list on the left navigation panel.Tonido Application List

11) When Tonido Jukebox starts for the first time, it prompts the user to add MP3 song collection. Enter the path to your MP3 collection and click “Add”. Jukebox - Add new collection12) Finally Jukebox is up and running. All the necessary configurations are completed and ready for access from anywhere.

Tonido Jukebox

13) Tonido Jukebox is already configured for dynamic dns (DDNS). So now you can access Jukebox anywhere on the internet by using the URL (http://tuxan.tonidoid.com:10001/ui/jukebox/index.html), assuming tuxan is the user id and port forwarding is enabled. Goto www.tonido.com/support for more information on port forwarding.

Installation of Jinzora

Jinzora is a PHP based streaming application that works on top of a LAMP stack.  So the steps include LAMP stack setup and then the Jinzora setup.
1) Download the latest LAMP stack from here. Click on the installer to start the installation. Click “Run” at the windows security warning window.
Lamp - Security Warning

2) Click “Yes” on the setup warning window.
WAMP - Install warning

3) Click “Next” on the welcome screen.
WAMP - welcome

4) In the next window, select “I accept the agreement” and click “Next”.
LAMP - License

5) In the next window, do not change the default path and click “Next”.
LAMP - Folder Selection

6) In the next window, select the shortcuts options that needs to be created. Click “Next”.
LAMP - Shortcuts

7) Enter the SMTP server information if you have one. If not keep the defaults. Click “Next”.LAMP - Email

8) When the installation is completed, click “Finish” to close the launcher.
LAMP - Summary9) Before proceeding with the Jinzora installation, the MySQL database user (root) should be assigned with a password.
Open URL(http://localhost/phpmyadmin/)  on a web browser. Click on privileges. Edit root user and set a password.
sshot-141sshot-15

10) After setting a password for root MySQL user, php admin application won’t be able to access MySQL database.
Edit the config file(Default : C:\wamp\apps\phpmyadmin3.1.3\config.inc.php).
Change the line from,
$cfg['Servers'][$i]['password'] = ”;
to
$cfg['Servers'][$i]['password'] = ‘password’;
Save the file and restart all servers from the windows system tray. Click on the WAMP icon and select “Restart All Services”.
WAMP - Restart services

11) Now its time to install Jinzora. Download the latest Jinzora installation from here. Open the zip file and copy the contents of the zip to apache web directory. (Default C:\wamp\www). After copying the contents the folder should look as follows.

Apache - Web Folder
12) Open a browser window and go to the URL (http://localhost/jinzora2/).
You will be greeted with the Jinzora welcome screen. Click “Proceed to Requirements” to move to the next screen.
sshot-16

13) Jinzora will check for the requirements and will show the results. If nothing major is found missing click on “Proceed to License”.
sshot-22

14) In the license screen, select “I Agree to the license terms” and click on “Proceed to Install Type”.
sshot-32

15) In the installation type screen, select “Standalone” as the installation type. In the Jukebox mode, select “Streaming Only” as the mode.
Click on the “Proceed to Main Settings”.
Note:
Streaming Mode : Music will be streamed to the remote client and the music is played at the client side.
Jukebox Mode: Music will be played at the server side.
sshot-42

15) In the main settings screen, enter user, password and theme details for the Jinzora webpages. Click on “Proceed to Backend Setup”.
sshot-52

16) In the backend settings screen, enter the password details for the MySQL root user. Select “True” for the option “Create Database”. Click on “Continue with Backend Install”
sshot-62

17) In the backend creation summary screen, the setup summary will be displayed. Click on “Proceed to Import Media”.
sshot-72

18) In the import media screen, enter the path of the music collection and click “Import Media”. After the import is done, click on “Proceed to Save Config”.
sshot-81

19) In the save config screen, config change results will be displayed. Click on “Proceed to Launch Jinzora”.
sshot-92sshot-102sshot-121

20) Jinzora frontend opens in the web browser. Jinzora can also be opened using the URL(http://localhost/jinzora2/index.php) from a web browser.
sshot-131

21) When the web page is opened, a login prompt will be displayed. Before proceeding with the login delete the install directory under the Jinzora web directory.
(Default : C:\wamp\www\jinzora2\install).

22) Now in the browser window enter login id and password (admin/xxxx) to login to Jinzora.

23) Now that you have Jinzora up and running, next step is to configure access to Jinzora from anywhere on internet. Unlike Tonido Jukebox, Jinzora doesn’t support Dynamic DNS (DDNS) automatically. DDNS for Jinzora can be setup following the instructions here.

Tonido Workspace: Alternative to Microsoft Groove

Tonido Workspace Main Screen

Tonido Workspace is a powerful application that is part of the Tonido Platform. It is a personal information manager and a P2P group collaboration application. Nearest competitor to Tonido Workspace is Microsoft’s Groove application. To those who don’t know, from Wikipedia,

“Microsoft Groove’s core concept is the shared workspace [3], which consists of a set of files to be shared, plus some aids for group collaboration. Groove users can create workspaces, add documents, and invite other Groove members to a workspace. A user that responds to an invitation is made an active member of that workspace. Each member has privately editable copy of the workspace. Users interact and collaborate in the common workspace which is a private virtual location. All changes are tracked by Groove, sent to all members and all copies of the workspace are synchronized via the network in a peer-to-peer manner.”

This exactly describes Tonido Workspace as well. Tonido Workspace allows you to setup a shared workspace that is shared among a set of group members. Each group member needs to have Tonido installed and the Tonido Workspace application enabled. A group member can invite another group member to be part of the workspace. Once they accept, they will get a privately editable copy of the workspace. Users interact and collaborate via the workspace. These changes are tracked by Tonido workspace, sent to all members of the group via the Tonido P2P network.

So in this post, we will describe some of the features of Tonido Workspace and how it compares with Microsoft Groove.

Before we do that, let us look at the base set of features that Microsoft Groove has and compare that with Tonido Workspace. Instead of using the usual set of hundreds of features most sales materials use, let’s look at a list of general features as listed on a slashdot posting.

1. It’s a rich client in a Web 2.0 world – which means you will see people running it on an airplane (also, incidentally, where you don’t see any Web apps running)

Tonido Workspace is a rich client in a Web 2.0 world. It works online or offline, whether you are at work, at a customer site or on a plane.

2. It runs a distributed directory, so people can collaborate across organizational boundaries without requiring IT to modify directory systems (a challenge that has been vexing the industry for at least 15 years now)

Tonido Workspace uses a fully distributed identity management of Tonido Network. People can fully collaborate across organizations. And if your enterprise requires it, you can run your own custom Tonido Domain Server (TDS), with fully custom IDs (mark@yourenterprise.com)

3. It navigates across firewalls to create a “live” peer-based connection between Groove users – features are presence, awareness, instant messaging, and a whole raft of collaborative tools like file sharing, calendars, discussion threads, and customizable forms.

Tonido Workspace runs on top of the Tonido P2P network. Tonido P2P network establishes fully direct p2p connection between Tonido Group users. Tonido Workspace shows whether a peer is online or offline, chat and a bunch of collaboration tools like a shared calendar, discussions, tasks, contacts and files.

4. Security is built-in from the ground up – every user is authenticated, which has proven to effectively limit spam, viruses and other malware, and all work is protected with FIPS-approved 192bit AES encryption on disk and over the network.

Tonido Workspace runs on top of the Tonido P2P network. Every user is authenticated, all network transmission is via 256 bit AES encryption. Encryption support for Workspace data on disk is coming soon.

5. Trust. Only the people designated to read information you choose to share will have the keys to unlock it. That means that an errant sys admin cannot view Groove workspaces or intercept data intended for another recipient.

Workspace data is transmitted directly between peers. It is never transmitted to third-parties, never relayed through the Tonido DS. The data transmitted across the wire can only be unencrypted by the other party; since the shared key for the session is setup using Diffie-Helman key exchange.

6. Synchronization. This actually should have been first, since at the core, Groove is a great big XML message switch. Here’s where you’ll find the patents. Groove has a very robust synchronization engine that ensures that all documents, files, messages, changes to a workspace, etc. are synchronized with all members, whether they are online or offline. This is a hugely complicated endeavor that the Groove team has been working on since the Lotus Notes days – and they KNOW how to do it right.

This is subjective, but Tonido Workspace also has a full-fledged robust data sync framework with can work with any type of data. The sync feature in Workspace allows all objects to get synchronized whether the group member was online or offline; allows you to resolve conflicts on objects, in case two members edited the same object before synchronization.

Advantages of Tonido Workspace

So far you can see that Workspace matches Groove in most of the main features and functions. Now we will see where Workspace is better.

1. Browser based

Tonido Workspace UI is via the browser. This offers a huge advantage over a normal rich UI. Say for example you have Workspace installed in one machine, you don’t need to install Workspace in 3 other machines just to access your workspace. You can simply access it from another machine. Even better, you can even access it from your mobile phone browser in a pinch.

2. Cross-platform

Tonido runs on all OS variants unlike Microsoft Groove. It hardly matters which OS you wish to use.

3. Hierarchical Organization of Data

In Groove, objects are all straight jacketed to a single type. In the discussion forum tool, you can only add comments or topics. In Tonido Workspace, however, any object can be children to any other type. In a discussion forum, you can add child comments, attach files, attach a note, even attach tasks to be completed. Groove requires you to work within their boundaries while Tonido Workspace is flexible enough not to impose those boundaries. Want to add a reminder for an object, just add a child calendar event and it will appear in your calendar.

4. Cost

It is unknown what Groove really costs an enterprise, but it is probably hundreds of dollars, and thousands more if you want to run the Groove server internally. Tonido Workspace will be a fraction of the cost for small business and enterprises.

Missing Features/Cons in Tonido Workspace compared to Groove

1. More variety of Tools

Groove offers a variety of tools that can be integrated into a workspace. Tonido Workspace offers less. But we believe less is more especially if the less is better integrated with each other and offers a better user experience.

2. Relay Capability

Groove has relay capability so that if peers cannot directly connect to each other, it relays information between them. Tonido, however does not relay information at all. All connections are peer-to-peer. However, there are two mitigating factors.

1. Tonido Workspace can synchronize group information through any set of connected peers. If there are 3 peers (A, B, C), and A connects to B and C, but B and C cannot directly connect to each other. Information added by B and C will still propagate to each other through A.

2. CodeLathe hosted Relays. CodeLathe will host relays that will be always online, and which can be added to your groups as regular members for a nominal monthly costs. Since these relays will be always be on and it will always have internet access, you can depend on syncing information to the group irrespective of whether or when anyone is online.

Screenshots of Key Features in Groove and Comparable Feature in Workspace

Online Status

groove_online_status

ws_online_status

Online Contact Options

groove_online_contact_options

ws_online_contact_options


Files

groove_files_workspace

ws_files_workspace1

Calendar

groove_calendar

ws_calendar2

Chat

groove_chat_window

ws_chat_window

Notes

groove_notes_window

ws_notes1

Forum

groove_forum_window

ws_forum_window1

Contacts (Only in Workspace)

ws_contacts

Learn more about Tonido Workspace and how you can use it to work seamlessly, securely, privately with distributed teams.

Search is for Big Players – Why size matters?

Most of the search algorithms learn and improve as more people do more searches. As algorithm improves, it produces better results and attracts more users to use the engine. On the flip side, if an engine doesn’t have enough volume of people doing searches, it cannot learn and improve its algorithms, thus wouldn’t be attracting users. This is a vicious cycle – you need more people to attract more people a.k.a “Network Effect”.

A leader like Google, who has head start and share in the game, is already in an advantaged position. With its 70% market share, Google continues to improve its algorithm and extends its lead by improving its search results. This positive reinforcement is evident from the market share growth that Google experiencing for the past 3 years.

Advertisers want to place their ads only in engines which can maximize their spend by showing their ads to a variety of searchers. Unless an engine has enough scale, advertisers will not be ready to spend money and time for small share of consumer eyeballs. Even if they spend, they wouldn’t pay as much as they are ready to pay in Google platform. Moreover, ad platforms are auction based hence if a search engine wants higher price per click, it should attract more advertisers to bid on keywords. Since Google has large enough users to attract advertisers to compete for keywords, Google will get 2-3X price for same keyword than any other search engine. With its scale, not only Google continually improves its algorithm, it gets higher price for its inventory hence higher revenue per user.

Search is high investment business where table stakes are high. Company like Google has millions worth of server farms and data centers that are continuously indexing web content and serving query results in blazing speed. Whether an engine serve 1 million users or 200m users, it has to invest in servers which is a fixed cost. Marginal cost of serving an additional query is very less and almost entire price through ad is profit. Hence profitability also improves as scale increases.

Given higher price for click and higher profitability, Google can share more profit with content providers. This attracts more content providers to choose Google Ad platform over other search engines. In turn, Google gets content for its tailend queries and helps it to give results that are deep. This reinforces its lead in term of better results and more users.

Given the above reasons size is important. For a small player, it is extremely difficult to improve algorithm, attract advertisers, maximize investment and attract content network.

For a startup it poses huge entry barrier to cross and compete against Google or Yahoo. Most of the startup in this space know they can’t compete directly against big players and these startups hope that one of big search engines will acquire them. E.g Powerset was acquired by Microsoft. As a small startup competing against Goliaths, we at Codelathe understand the tough path ahead these startups, and we wish them good luck.

Internet User Involvement Trends

Traffic for a website is driven by number of users, and visits/user. In addition to user visits, time spent in the website or in an internet activity is a key metric to understand trends among web consumers. Visits/user and time spent by a user collectively define user involvement. Here are the some trends in users and user involvement in various internet activities – search, portal and social networking.

  • Nearly 90% of all US Internet users visit a search engine in a month. An average user makes close to 24 visits in the month and spends average 2 minutes each time a user visits a search engine. (Source: Comscore January 2009)
  • Number of Internet users who have a search engine for their home page has grown significantly. 21% of Internet users said that their home page is a search page such as Google — more than double the response in 2005. On the other hand, % of users, who set an Internet portal (Yahoo, America Online, or MSN) as their home page, is continuously declining. (Source: Daily Internet Activities (May 08, US, Pew/Internet)
  • Apart from decline in portals as homepages, overall pageviews for portal websites usage is declining. Though the usage is declining, portals still get almost twice as many visits as a search engine gets. Not all portals are performing poorly. Yahoo’s portal usage and pageviews are growing while others are declining. Yahoo has consistently shown growth through building a very strong user community that uses multiple Yahoo Services. 
  • % of users who participate in social networking and consume blogs grown to 65M which is close to 1/3 of total internet users. In terms of user involvement, an average user visits 20 times a month to a social networking website and spends close to 14 minutes per visit in social networking. Social network’s share of user time has grown to catch with time spent by a user on email and has surpassed the time spent by a user on a portal. This is why Facebook is getting crazy valuations. (Source: Comscore January 2009)

Tonido Beta Launches!

fireworks

CodeLathe is proud to announce the beta release of our new software product, Tonido (pronounced Tone-ee-doh).

Tonido is an open personal web application platform that offers an array of useful applications. This product is perfect for you if you dislike the idea of your personal data residing on public servers, yet still want to access your applications/data from anywhere without sacrificing privacy.

Currently Available Tonido Apps
* Tonido Jukebox – Organize and play your music via a browser.
* Tonido Photos – Privately share photos without uploading via the Tonido P2P network
* Tonido Workspace – Personal Information Manager and Private P2P Group collaboration
* Tonido Webshare – Share large files from your desktop directly to the web.
* Tonido Thots – Your personal journal and note keeping application

and more are on the way…

If you are interested in getting Tonido, sign up to get an invitation.