Task-Specific Browser UIs

Writes Anil Dash:

When Jason asked “Why are Safari and Sherlock two different applications?” it made me realize that what I want is a desktop application, similar to Andre’s Konstructor, that understands SOAP as well as XML-RPC and can query a WSDL file to find out what kinds of input the web service requires.

Then, based on the type of input requested, it would display the appropriate widgets (checkboxes for true/false, drop-downs for selection lists) and arrange them on a form according to an editable set of rules. The end results wouldn’t be pretty, but you might end up with a bunch of applications that assemble themselves around web services.

If you could write the whole thing in XUL/javascript, it could run within any Mozilla-based browser.

Continue reading

Open Spectrum FAQ

Here.

From the introduction:

Imagine that every American had the same access to the public airways as broadcasters do today.

Imagine everyone living within reach of a radio signal had the ability to communicate with everyone else.

Imagine rather than having to worry about how much “bandwidth” is enough, everyone had unlimited access to bits so that the size of what you communicate simply didn’t matter.

You know the effect the Internet has had on how we live and work together? Multiply it by hundred.

Opening the spectrum would turn a federally-managed permissions system into an open market for ideas and creativity. The effects on our democracy and economy should not be underestimated.

Even though it may say “American”, the same logic applies to every country.

Programming Languages will become OSes

From OSNews:

Matthew Flat made a premise in his talk at the Lightweight Languages Workshop 2002: Operating system (OS) and programming language (PL) are the same thing (at least “mathematically speaking”). I find this interesting and has a lot of truth in it. Both OS and PL are platforms on which other programs run. Both are virtualizing machines. Both make it easier for people to write applications (by providing API, abtractions, frameworks, etc.)

The difference between the two, Matthew continued, is that OS focuses more on non-interference–or isolation between OS processes. The main task of a multiuser OS is to let several users use the computer simultaneously. Thus, it is important that no user can take over the machine or use up its resources permanently. Also, no processes shall be able to terminate other processes, peek into their resources, or do any other things that violate privacy unless it is permitted by the OS security policy.

On the other hand, PL focuses on expressiveness and cooperation. PL provides high level constructs and facilities so that one can write programs in less time and with less amount of effort. 10 lines of higher level PL code might be equivalent to 100 to 1000 lines of machine/lower level language code. Additionally, PL provides means for people to share reusable code through the concepts of modules, shared libraries, components, etc.

As time progresses, OS’es are becoming more like PL. And vice versa. OS now provides more and more ways for cooperation/sharing: IPC, threads, COM, etc. PL now provides ways to do isolation: sandboxing, processes, etc.

The article discusses three languages: Perl, Python and Ruby.

Thew New Face of Global Competition

FastCompany writes about Wipro as proxy for the emergence of India’s software services outsources:

A decade ago, Wipro was an anonymous conglomerate selling cooking oil and personal computers, mostly in India. Today, it is a $903 million-a-year global company, and most of its business comes from information-technology services. Since 1997, Wipro’s revenue has grown by an average of 26% a year while profits have grown by 69%. Its 15,000 technologists write software, integrate back-office solutions, design semiconductors, debug applications, take orders, and field help calls for some of the biggest companies in the world. They are as good at doing all of that as anyone in the world. Perhaps better. And they are cheaper — on average about 40% cheaper — than comparable American companies.

It is an irresistible force, and it’s on the rise. Three years ago, Bangalore was the software world’s biggest body shop, offering coders at $2 an hour. Now Wipro and a few rivals are moving upstream, swinging into such high-value services as consulting, integration, and architecture. Increasingly, Wipro is competing with Accenture, EDS, IBM, and the big accounting firms. And as often as not, it’s winning.

A wonderful sentiment echoed by Wipro’s Anjan Mukerji:

All of us were brought up with the thought that India was once great. We had such a rich heritage. Under the British, we lost a lot of that. Now we’re rebuilding.

Indians are proud and patriotic. Many people feel that we’re superior in math and science. We invented the sundial and the numeral zero. So we think that in anything having to do with technology, we should be world-class.

Thats exactly how I feel. We need to rebuild India using new technologies, ideas, innovations and knowledge as our weapons.

Product Promotion

Joel Spolsky discusses about the differing strategies Apple and Microsoft have to product promotion, and asks: “Should you talk endlessly about your products under development, in hopes of building buzz, or should you hold off until you’ve got something ready to go?”

I have a policy lifted from Marlon Brando, playing a mob boss in The Freshman: “Every word I say, by definition, is a promise.” The best way to avoid breaking promises is not to make any, and that’s as good a reason as I need not to talk about future versions of our products. There are four other reasons for this in software development – Competition, Underpromise and Overdeliver, Flexibility and Simplicity.

I hope we can follow these ideas for Emergic. We didnt talk much about what we did publicly (other than the blog) till we were ready. That has helped generate some buzz in the past few weeks. But, we still have a long way to go.

TECH TALK: The Rs 5,000 PC Ecosystem: The Concept (Part 2)

The Rs 5,000 PC (5KPC) never needs to be upgraded all the processing happens on the server in the network. This is one of the reasons its administration is simplified we rarely need to call customer support for our telephone. For the 5KPC, the network connectivity is what makes it come alive the network provides the digital dial-tone.

This simplification also ensures that the 5KPC is a zero-maintenance device the next set of users are not going to be half as savvy as the first generation in worrying about upgrades, device drivers and the like. Also, they are likely to be deployed in markets where customer support may not be easy to get. The 5KPC is, thus, a sealed endpoint if it does not switch on, it needs to be replaced there is no debugging it!

In addition, the 5KPC is rugged because there are no moving parts, it can work in various conditions and requires a lot less power. Open up the 5KPC cabinet and you will see a simple motherboard (a single-board computer) and a power supply, along with a set of connectors. Ideally, it should also work in situations where there is no power because round-the-clock electricity cannot necessarily be taken for granted in many of the emerging markets. Two ideas to enable this: one, use a car battery along with an appropriate converter to provide an AC supply. Or, make the power consumption so small that it could, like the Jhai PC in Laos, be powered by bicycle pedals.

So, what is the bill of materials for the 5KPC? The actual computer should cost no more than Rs 2,500 (USD 50), including the cabinet. The keyboard and mouse will cost about Rs 500 (USD 10). That leaves us with Rs 2,000 (USD 40) for the 14-inch or 15-inch monitor. Is this achievable? Yes. Heres how.

There are two options for the computer motherboard: either use an old one, or build a new one. The work is awash in older computers, which are now becoming e-waste as users in the developed markets like US, Japan and Western Europe upgrade to newer, fancier machines. These old PCs still have a lot of life in them. The problem is that the software that they need to run on the desktop (typically, Windows 2000 or XP, now that Microsoft is ending support for the older versions of Windows on the desktop) requires an ever increasing set of resources. Even the monitors are being junked as users upgrade to fancier flat-screens.

So, for that part of the world, the computers which have been disposed are junk to be taken to landfills. But these computer can be very valuable as our 5KPCs, if a way could be found to transport them cost-effectively to the emerging markets and software can be created to make them useful as thin clients.

Tomorrow: The Concept (continued)

Continue reading