Tuesday, July 6, 2004
Syndication

[via Roland Tanglaos and Globeblogger] HBR has an article about Syndication:


What makes feeds so powerful? Say a consumer is a Thomas Pynchon fan and would like to know when any first editions of Gravity’s Rainbow go up for auction on eBay. If she’s not subscribing to syndication feeds, she might bookmark a search and then make a note to herself to do that search regularly. And if there were other items she wanted to troll for on eBay, she would have to bookmark those searches, too. In addition, if she wanted to know when she’d accumulated enough frequent flyer miles to book a free trip to Delhi, and when a new job was posted by a certain company, she could add those bookmarks to her list and try to remember to check them. It’s a cumbersome and unreliable system.

But, if she were to subscribe to syndication feeds, the information she’s after would instantaneously flow to her with virtually no effort on her part. She’d be alerted the moment Gravity’s Rainbow appeared, the moment more frequent flyer miles hit her account, the moment the job was posted, and so on.

What sort of information should companies syndicate? The better question is perhaps, What sort shouldn’t they syndicate? Countless data-generating events in your organization are candidates for syndication. Corporate news is an obvious place to start. But syndication should not stop with press releases.

If your organization is a shipping company, for example, why not turn order status into a feed? If it’s a manufacturer, why not turn shop-floor flow into a feed? Disney already uses feeds to distribute news content, but it also uses them internally to share information about ongoing projects. Status updates and information on project workflow stream out to team members and managers who subscribe to the feed.

BlogStreet | PermaLink | Comments (2)

To me internet is information. Syndication appeals to me as distict opportunity.

Posted by cvrk

To me internet is information. Syndication appeals to me as distict opportunity.

Posted by cvrk
KM Tools

Dina Mehta points to an InfoWorld article about NearTime's Flow and Learning Management Solutions' KnowledgeWorkshop.


Near-Time last week launched Flow, its peer-to-peer CM (content management) and KM software that allows users to access, manage, and repurpose content using a range of standards. Support for XML, HTML, RSS, Atom FTP, WebDAV, and SMTP allows Flow to target the full information lifecycle, said Reid Conrad, president and CEO of Near-Time.

This life cycle includes gathering, authoring, organizing and publishing content. "Through the [Flow] authoring environment, users can access the Internet, bring in RSS feeds, use contextual capabilities, and publish content as e-mail," Conrad said. "Flow provides collaborative content and knowledge management at the client level."

Also approaching KM from the user's perspective, Learning Management Solutions last week introduced its company and its KnowledgeWorkshop software. The software allows users to create personally relevant associations and connections between information drawn from a variety of sources, including Web pages, e-mail, documents, PowerPoint slides, databases, and spreadsheets. These connections form an information map, called a knowledge base, that is packed down into a single XML file that can be e-mailed or exchange online, said Graham Glynn, CEO of Learning Management Solutions.

Chinese Century

The New York Times Magazine has a cover story on China:


China is everywhere these days, influencing our lives as consumers, providers, citizens. It has by far the world's most rapidly changing large economy, and our reactions to it shift just as quickly. China is at one moment our greatest threat, the next our friend. It siphons off American jobs; it is essential to our competitive edge. China is the world's factory floor, and it is the world's greatest market opportunity. China's industrial might steals opportunities from the developing world, even as its booming economy pulls poorer countries up (lately it has been getting credit for helping Japan out of its slump too). China exports deflation; it stokes soaring prices. China will boom; it will bust. Or perhaps the country's economy is feeling its way right now to the soft landing that will prevent another Asian economic crash, and all the recent record numbers on trade, industrial output, consumer spending and debt are simply now in scale with China's size. The truth about China is that, like all big countries, it is full of real contradictions.

Another truth is that the current feelings about China do not fully reflect today's reality. The U.S. economy is about eight times the size of China's. Our manufacturing sector is bigger than the entire Chinese economy. Americans, per capita, earn 36 times what the Chinese do. And there is no shortage of potential roadblocks in China's path, either. Its banks may collapse. Its poor and its minorities may rebel. Uppity Taiwan and lunatic North Korea may push China to war. The U.S. could slap taxes on everything China ships to us.

Still, barring Mao's resurrection or nuclear cataclysm, nothing is likely to keep China down for long. Since 1978, its gross domestic product has risen fourfold; in straight dollar terms, China's economy is the world's sixth-largest, with a G.D.P. of around $1.4 trillion. It has gone from being virtually absent in international trade to the world's third-most-active trading nation, behind the U.S. and Germany and ahead of Japan. Tom Saler, a financial journalist, has pointed out that 21 recessions, a depression, two stock-market crashes and two world wars were not able to stop the U.S. economy's growth, over the last century, from $18 billion ($367 billion in 2000 dollars) to $10 trillion. In constant dollars, that is a 27-fold increase.

China is poised for similar growth in this century. Even if China's people do not, on average, have the wealth Americans do, and even if the United States continues to play a strong economic game and to lead in technology, China will still be an ever more formidable competitor. If any country is going to supplant the U.S. in the world marketplace, China is it.

Emerging Markets | PermaLink | Comments (5)

The other side of the coin: China will continue to lack the freedom and a liberal democracy that we take for granted for a long time to come, which is fundamental to forming a marketplace of ideas and innovation that lead to sustained, non-export led growth. Plus, even bigger question for them will be the 1 billion inland population that don't benefit from this economic growth spurt.

Just noticed the repeated posts below - sorry, the site was slowww; clicked on submit a few times ;)

Posted by Ted

Freedom and liberal democracy do not go hand in hand with economic development; the two have nothing to do with each other. Economic development is much more closely tied with the general educational level of the population. Educational standards in the US are falling; they are rising in India and China.
For every dollar spent on education in the US, seven dollars are spent on defense.
Let's not muddle economics with politics.

Posted by Paul Denlinger

More broadly speaking, well-established freedoms and liberal democracy significantly impact the degree a society's memebers can spurn and realize innovations as wholly new products, services, and markets. While it is not a prerequisite to economic development per se, it is necessary for long-term sustained growth as an economy matures (as China will one day experience, something that has come to past for Japan).

Though China [and Russia] today have a relatively educated workforce, it still relies excessively on export-led growth that is heavily tied to foreign demand, and still has yet to engender any original products or ideas of their own. As of yet, it also lacks a consistent commercial framework and the rule of law to actually foster innovation much less possess internally-generated demand.

Without guaranteed freedoms and liberalism, China will grow, hit a plateau as supply exceeds demand, and will continue to rely on foreign investments, ideas, demand, and markets to sustain its economic growth all the while artificially manipulating its exchange rate to provide sufficient jobs for its majority poor. "Ccommunism with capitalistic characteristics" is not a long-term recipe for success.

Posted by Ted Hu

The transition China is making now is one of less reliance on foreign direct investment, to reliance on its own domestic consumer spending. I was in Beijing last week, and the Chinese are the first to admit that the FDI model is one that has run its course. In addition, as interest rates hike up in the US, and later in Europe and Japan, spending in those markets will fall, which will have a negative effect on Chinese exports.

The main challenge is reducing the wealth gap between rural and urban areas. Even in Beijing, where wages are comparatively higher, it's easy to get a live-in worker who will cook three meals a day for you for US$75 a month. The question for China is how to bring the wages and living standards for those people up?

The Communist Party is getting out of most peoples' lives, and China is more about Chinese capitalism with market characteristics, than communism with Chinese characteristics. The pace of disengagement is happening faster in some sectors than others, and is slower in sectors which require heavy capital investment, mainly because the financial sector is still state-owned.

But, it is refreshing to see how many new privately owned businesses are opening in China. These will become the engines of China's growth.

As for education and freedoms, I believe that it is a two-edged sword. Education helps increase the standard of living, which encourages people to demand more freedoms, and making governments more accountable in their decisions.

But, if people make a decision to be less educated and lazy, and not read as much, then governments feel free to make simplistic decisions and indulge in jingoism in their overseas adventures.

The lesson for any people is that they not only need to get educated, but also need to stay educated.

Posted by Paul Denlinger

The wind of globalization is finally blowing the last corners of the world. Two of the biggest elephants, China and India, are finally running fast.

Most impressive is the changes within China. By now, China has become a global theater. Global multinationals now are having honeymoon inside China. They are most effective in bringing China to the global markets.

There are still countless manmade barriers. moving away from a governemnt-dominated society is easier said than done.

Still, opportunities are tremendous. China's rise will benefit the world.

All these issues are explored in a new book, China's Global Reach: markets, multinationals, and globalization. published by Haworth Press.

The author, Dr. Zhibin Gu is a veteran business insider.
see, www.haworthpress.com/store/product.asp?sku=5439 - 30k

Posted by george gu
Amaretto

Amaretto is Nokia's Python for Series 60. Russell Beattie has been playing around with it and has some thoughts:


You can run Python files that are on your phone in regular .py format (this you've seen from the public demos of the app), or you can wrap up the .py files into a .SIS Symbian installation file with its own icon, so that the user never knows that it's Python. Very cool - I mean, obvious, but cool. In terms of development, the SDK comes with both Windows and phone versions of the application and core libraries, so you can do testing in the emulator before sending to your phone. Again, this is great - as the command line intepreter may not be all that useful with a phone's keypad, on the emulator it's vital.

What I've been looking at doing is creating an RSS news aggregator. Of course! If you think about it, this would take networking and xml parsing, UI integration and also things like browser integration or at least some sort of rich text. (The latter bits aren't supported right now). An aggregator is a great sample app for Amaretto because it mimics real-world enterprise usage: client-server communication via XML with forms and offline storage. Getting a good aggregator working on Python would go a long way to proving it's capabilities in the corporate world, IMHO. So as I explore the language and libraries, this is something I'm concentrating on.

Another cool part of Amaretto that most people won't know just from hearing about the project, is that it supports Python's standard C wrapper interface! This is cool because in theory, you could have heads-down developers crank out the really intense parts of your Symbian application in C++, then they can simply create a wrapper for the Python guys, who use that as a base and then develop UIs and interactivity from there. This could reduce development times substantially. In some respects it does harken back to the bad-old OCX days of VB, but honestly, I think this is a really good model for mobile apps because of the resource constraints. Actually it could inspire an OCX-like tools market, or if not, it'll at least allow the developer community to start quickly adding functionality that may not be in the basic Nokia libraries at launch. Nokia is concentrating on just getting the basics down right now, so there will be lots of gaps that can be filled in by creative developers, I'm sure.

The reason I'm so concerned about the enterprise market is because that's where I see Microsoft making its play in to mobile world: selling to large corporations with applications developed in .Net Compact, touting their rapid VB-like development and tight integration with Outlook/Exchange. Nokia can pre-empt this move by providing Series 60 with a compelling RAD language which does much of the same, but has the cachet of being from the Open Source world, and fits in great with all those new Linux boxen that more and more companies are installing on their intranet. Nokia could even publish custom libraries itself for integration with it's NokiaOne enterprise products, and expand the functionality and applicability of Amaretto to the enterprise even more.


Looks like its time for some Python learning - given platforms like Amaretto and Zope to build netx-generation applications.

Software | PermaLink | Comments (4)

However, the other side of the coin: China will continue to lack the freedom and a liberal democracy that we take for granted for a long time to come, which is fundamental to forming a marketplace of ideas and innovation that lead to sustained, non-export led growth. Plus, even bigger question for them will be the 1 billion inland population that don't benefit from this economic growth spurt.

Posted by Ted

However, the other side of the coin: China will continue to lack the freedom and a liberal democracy that we take for granted for a long time to come, which is fundamental to forming a marketplace of ideas and innovation that lead to sustained, non-export led growth. Plus, even bigger question for them will be the 1 billion inland population that don't benefit from this economic growth spurt.

Posted by Ted

However, the other side of the coin: China will continue to lack the freedom and a liberal democracy that we take for granted for a long time to come, which is fundamental to forming a marketplace of ideas and innovation that lead to sustained, non-export led growth. Plus, even bigger question for them will be the 1 billion inland population that don't benefit from this economic growth spurt.

Posted by Ted

The other side of the coin: China will continue to lack the freedom and a liberal democracy that we take for granted for a long time to come, which is fundamental to forming a marketplace of ideas and innovation that lead to sustained, non-export led growth. Plus, even bigger question for them will be the 1 billion inland population that don't benefit from this economic growth spurt.

Posted by Ted
3D Gaming on Cellphones

WSJ has an article by Technology Review:


Right now, the first cellphones featuring 3-D graphics are appearing in Japan and Korea. In the coming months, we'll start to see the first numbers to indicate how well Asian consumers take to the new phones. And starting at the end of this year, we'll likely see the first 3-D phones hit the U.S.

Three-dimensional games will enter a U.S. cellphone market primed for their arrival, with two main factors driving the desire for more full-featured games. First, hundreds of cellphone game titles are now available from companies such as Sorrent, JamDat and THQ's wireless division, and the sector is growing fast. Research firm IDC projects the U.S. cellphone game market will grow from $394 million today to $1.7 billion in 2008. Moreover, phones have upped their storage capacities. And color screens, once available only for high-end phones, are now showing up even in inexpensive models.

3-D graphics technology in cellphones will allow games to evolve from the flat, simple facsimiles of popular titles of today to more exact replicas of these games. And with the promise of better, network-ready games comes the prospect of additional revenues for wireless carriers and phone manufacturers. "[Cellular companies] are recognizing that people like games," says Schelley Olhava, a videogame analyst at IDC.

When we talk about 3-D technology on cellphones, we're not talking about displays that require funny-looking glasses to appreciate, but rather, the visual style that requires more processing power than today's cellphone engines provide. And three-dimensional games -- first-person shooters such as Doom and Quake, role-playing titles such as The Sims, and flight simulators -- have proven their popularity with the public. The cellphone industry is rightfully excited about what 3-D games on phones portend. "The more compelling the game, the more time the user will play them," says Alex Slawsby, a cellphone analyst with IDC. "If the games have an online component, it means more time spent on data services."


News.com writes about Samsung's 3D game phone.

TECH TALK: Tech Trends: Service-oriented Architectures

XML.com provides an overview:


SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents. A service is a unit of work done by a service provider to achieve desired end results for a service consumer. Both provider and consumer are roles played by software agents on behalf of their owners.

This sounds a bit too abstract, but SOA is actually everywhere. Let's look at an example of SOA which is likely to be found in your living room. Take a CD for instance. If you want to play it, you put your CD into a CD player and the player plays it for you. The CD player offers a CD playing service. Which is nice because you can replace one CD player with another. You can play the same CD on a portable player or on your expensive stereo. They both offer the same CD playing service, but the quality of service is different.

The idea of SOA departs significantly from that of object oriented programming, which strongly suggests that you should bind data and its processing together. So, in object oriented programming style, every CD would come with its own player and they are not supposed to be separated. This sounds odd, but it's the way we have built many software systems.

The results of a service are usually the change of state for the consumer but can also be a change of state for the provider or for both. After listening to the music played by your CD player, your mood has changed, say, from "depressed" to "happy". If you want an example that involves the change of states for both, dining out in a restaurant is a good one.

The reason that we want someone else to do the work for us is that they are experts. Consuming a service is usually cheaper and more effective than doing the work ourselves. Most of us are smart enough to realize that we are not smart enough to be expert in everything. The same rule applies to building software systems. We call it "separation of concerns", and it is regarded as a principle of software engineering.

How does SOA achieve loose coupling among interacting software agents? It does so by employing two architectural constraints:
1. A small set of simple and ubiquitous interfaces to all participating software agents. Only generic semantics are encoded at the interfaces. The interfaces should be universally available for all providers and consumers.
2. Descriptive messages constrained by an extensible schema delivered through the interfaces. No, or only minimal, system behavior is prescribed by messages. A schema limits the vocabulary and structure of messages. An extensible schema allows new versions of services to be introduced without breaking existing services.

As illustrated in the power adapter example, interfacing is fundamentally important. If interfaces do not work, systems do not work. Interfacing is also expensive and error-prone for distributed applications. An interface needs to prescribe system behavior, and this is very difficult to implement correctly across different platforms and languages. Remote interfaces are also the slowest part of most distributed applications. Instead of building new interfaces for each application, it makes sense to reuse a few generic ones for all applications.


John Hagel has proposed the concept of service grids.

Tomorrow: ASPs

Related Entries:  [All]

Me
Entrepreneur, Mumbai, India, Emergic, Netcore, Internet, IndiaWorld, Sify, IIT-Bombay, ColumbiaUniv ... More [Write to Me]

- MyToday
- Emergic Ecosystem
- Netcore
- Emergic MailServ: Enterprise Messaging
- Emergic CleanMail: Anti-Virus, Anti-Spam
- BlogStreet: Blog Profiles, RSS Ecosystem
- Novatium: Network Computers
- SEraja: The EventWeb
- Rajshri Media: Broadband Portal
- Newsweek on Novatium (Feb 2007)
- Knowledge@Wharton Interview (Oct 2006)
- TIME Asia (Mar 2000)

Free SMS Updates
Indian mobile users can sms START EMERGIC to 9845398453 to get free daily updates on new additions. [To unsubscribe, sms STOP EMERGIC to 9845398453.]
My Writings
Affordable Computing and ICT for Development
India's Digital Infrastructure (May 2007)
Envisioning Tomorrow's World (Mar 2007)
Computing for the Next Billion (Jun 2006)
City Wi-Fi Networks (Apr 2006)
Microsoft Live (Nov 2005)
Internet Tea Leaves (Sep 2005)
Next-Generation Networks (Jul 2005)
Disruptions (Jul 2005)
The Mobile Phone Platform (Feb 2005)
Microsoft, Bandwidth and Centralised Computing (Jan 2005)
Computing for Broadband 101 (Jan 2005)
Tomorrow's World (Nov 2004)
CommPuting Grid (Nov 2004)
Massputers, Redux (Oct 2004)
The Network Computer (Oct 2004)
Reinventing Computing (Aug 2004)
Tech Trends (Jul 2004)
Letter to Arun Shourie (Apr 2004)
As India Develops (Mar 2004)
My Mental Model (Dec 2003)
The Next Billion (Sep 2003)
Transforming Rural India 2 (Jul 2003)
The Discovery of India (Jun 2003)
Transforming Rural India (Mar 2003)
The Rs 5,000 PC Ecosystem (Jan 2003)
Disruptive Bridges (Nov 2002)
India Post: Ideas for Tomorrow (Nov 2002)
Technology's Next Markets (Oct 2002)
Server-based Computing (Jul 2002)
India's Next Decade (Apr 2002)
The Digital Divide (Apr 2002)
The Real Wireless Revolution (Mar 2002)
Envisioning a New India (Jan 2002)
Emerging Technologies, Emerging Markets (Jan 2002)
The Indianised Linux Desktop (Nov 2001)
Mass Market Internet (Nov 2000)

Enterprise Software and SMEs
The Coming Age of ASPs (May 2005)
SMEs and Technology (Oct 2003)
The Death and Rebirth of Email (Aug 2003)
IT's Future (Aug 2003)
Rethinking the Desktop (Sep 2002)
Rethinking Enterprise Software (Jun 2002)
Emerging Enterprises and Emergent Networks (Mar 2002)
Web Services (Nov 2001)
Alt.Software (Oct 2001)
The Intelligent, Real-Time Enterprise (June 2001)
Enterprise Software (Mar 2001)
SME Tech Utility (Feb 2001)
Software and SMEs (Jan 2001)
The Intelligent Enterprise: Integrating CRM, SCM and EIP (Jan 2001)

Information Management
The Emerging Internet (May 2007)
The Now-New-Near Web (Sep 2006)
Mobile Internet (Aug 2006)
Video on the Internet (Jun 2006)
India Internet and Mobile (Feb 2006)
Rethinking Newspapers (Jan 2006)
Web 2.0 (Oct 2005)
The Future of Search (Mar 2005)
Web 2.0 Conference (Oct 2004)
Thinking A New Food Portal (Sep 2004)
Rethinking Search (Jan 2004)
India.com 2.0 (Jan 2004)
The Publish-Subscribe Web (Jun 2003)
Constructing the Memex (May 2003)
RSS, Blogs and Beyond (Feb 2003)
Blogging (Feb 2002)
Harnessing Information (Oct 2001)
News Refinery (May 2001)

Entrepreneurship
When Bad Things Happen (Jan 2007)
Ventures and Capital (Dec 2006)
15 Years as an Entrepreneur (Nov 2006)
Of Blue Oceans and Black Swans (May 2006)
Let's Build a Business (Apr 2006)
The Value of Vision (Mar 2006)
Vision and Worries (Oct 2005)
Bootstrapping a Business (Oct 2005)
India Needs More Entrepreneurs (Aug 2005)
Dotcom Nostalgia (Jun 2005)
When Things Go Wrong (Apr 2005)
My Life as an Entrepreneur (Nov 2004)
An Entrepreneur's Growth Challenge (Sep 2004)
Creating Options (Sep 2004)
From Employee to Entrepreneur (Aug 2004)
A Tale of Two Summers (Aug 2004)
Crucible Experiences (May 2004)
The Company (May 2004)
An Entrepreneur's Attributes (Nov 2003)
An Entrepreneur's Early Days (Sep 2003)
Reflections on Ideas and Entrepreneurship (Jul 2003)
Entrepreneur's Enigmas (Jan 2003)
The Entrepreneur's Delights (Sep 2002)
Life as an Entrepreneur (Oct 2001)
Leadership Lessons from Lagaan (Aug 2001)
Entrepreneurial Learnings (July 2001)
Entrepreneurship (Mar 2001)
The IndiaWorld Story (1997-8)

Abhishek (my son)
Photos
Letter to a Two-Year-Old (Apr 2007)
Father to Son (Apr 2006)
Letter to a 2005 Baby (Jun 2005)
The Making of Abhishek (Jul 2005)

Moreover
Facebook (May 2007)
Doing Education Right (May 2007)
Reflections from a Dubai Trip (Apr 2007)
Creating India's New Cities (Apr 2007)
India's Challenges (Mar 2007)
3GSM 2007 (Feb 2007)
Demo 2007 (Feb 2007)
A Tale of Two Covers (Feb 2007)
3GSM Mumbai (Feb 2007)
2007 Tech Trends (Jan 2007)
The Best of 2006 (Dec 2006)
Best of Tech Talk 2006 (Dec 2006)
Cyworld (Nov 2006)
Two 2.0 Events (Nov 2006)
Two-Sided Markets (Nov 2006)
The Rise of YouTube (Oct 2006)
Gandhigiri (Oct 2006)
Education and Reservation (May 2006)
Four Blog Years (May 2006)
Fooled by Randomness (May 2006)
Blue Ocean Strategy (May 2006)
Revolution on the Roads (Apr 2006)
The MySpace Story (Mar 2006)
A Presentation at PC Forum (Mar 2006)
Extreme Competition (Mar 2006)
3GSM World Congress 2006 (Feb 2006)
DEMO 2006 (Feb 2006)
India Rising (Jan 2006)
2006 Tech Trends (Jan 2006)
The Best of Tech Talk 2005 (Dec 2005)
The Best of 2005 (Dec 2005)
Trains, Planes and Mobiles (Dec 2005)
Peter Drucker: Management's Newton (Nov 2005)
India Empowered (Oct 2005)
Rajasthan Ruminations 2 (Sep 2005)
Building a Better India (Sep 2005)
South Korea's IT839 (Jul 2005)
Shift-Ctrl (Jul 2005)
Best of Future Tech (Feb 2005)
Multi-Model Minds (Feb 2005)
The Best of 2004 (Jan 2005)
On Watching Swades (Jan 2005)
The Best of Tech Talk 2004 (Dec 2004)
India Trends (Dec 2004)
An American Journey (Aug 2004)
Black Swans (Aug 2004)
A Train Journey (Jun 2004)
An Agenda for the Next Government (May 2004)
Two Blog Years (May 2004)
Rajasthan Ruminations (Feb 2004)
Technology and the Indian Elections (Feb 2004)
2003-04 (Dec 2003)
Random Musings (Sep 2003)
Useful Concepts (July 2003)
Dear Non-Resident Indian (July 2003)
Tech's 10X Tsunamis (July 2002)
An Indian in China (Mar 2002)
Disruptive Technologies (Aug 2001)
Innovation (Aug 2001)
Good Books

- My Business Standard columns
- More columns at Tech Samachar

Presentations
- TiE Bangalore (Dec 2004)
- BangaloreIT.com (Nov 2004)
- CIT 2004 (Jan 2004)
- BangaloreIT.com (Nov 2003)
- Pune CSI Open-Source Workshop (Sep 2003)
- Sydney ICT Workshop (Jul 2003)
- Netcore (Mar 2003)
- Emergent Democracy (MP Govt, Feb 2003)
- Vision for Digitally Bridged India (Dec 2002)
- India Post (Nov 2002)
- Open-Source for eGovernance (Oct 2002)
Recent Entries
Archives
BlogStreet
Syndicate
Powered by
Movable Type 2.21


Main - Feedback
© Rajesh Jain