Feeds:
Posts
Comments

Archive for February, 2008

If you have been looking for an update of last month’s Mobile Monday Bangalore on this blog site and didn’t manage to find it, it’s because I was absent at the event. I had a family function to attend on the same day. So I was more than keen to attend yesterday’s event. Better still, it was at the Indiranagar Sangeet Sabha which is a spacious venue with good arrangements; and it is only ten minutes walk from my office.

The first piece of important information was that Forum Nokia is the first sponsor of Mobile Monday Bangalore on a long-term basis, starting from this month’s event. The more interesting aspect is that the first sponsorship money went towards providing Qualcomm a platform to present BREW to the MoMo community.

BREW (Binary Runtime Environment for Wireless) is an application development framework that provides developers a rich set of API for quick and easy development of mobile applications. For end users, the user experience is enhanced. When these two are met, the man-in-the-middle (the operator) stands to benefit as well. In fact, BREW enables operators to reach subscribers with a richer set of applications. The end result is a win-win situation for everyone.

What is the problem today? Rakesh Godhwani of Qualcomm pointed out that the network is ready, devices are ready but content is lagging far behind. With networks getting upgraded to HSPA and CDMA2000 EV-DO, bandwidth appears to be available. With handsets able to operate to full capability in such networks, the only thing that’s missing are the applications. In my opinion, this is a rather simplified view if not biased, but it is partially correct and the argument holds water.

Take the example of BSNL’s recent launch of CDMA2000 EV-DO. Someone announced that this service has been launched in a couple of circles in Kerala, not as handsets but as data cards. I don’t know much about EV-DO but I would expect it to exist with the same hype as HSPA where guaranteed high bandwidth to individual users is rare if it happens at all. It’s a shared bandwidth under non-ideal channel conditions only occasionally close to the base station. So what if applications are not available? Is the market ready? Are subscribers willing to pay? Is the pricing attractive? What’s the predicted change in consumption patterns of mobile subscribers? Are these subscribers changing on a social level when it comes to tele-interaction?

But the importance of applications cannot be underestimated. If not more important, applications are just as important as a subscriber’s choice of an operator or a handset. For VAS, what we are seeing is a fragmentation of device, technology and networks. It is perhaps only applications that have the ability to give subscribers a seamless experience across these diverse environments. The onus is therefore on the developer to develop applications that can work in more than one environment. A case in point is the fragmentation of the PC market between Windows and Linux. The choice there is obvious for developers but in the world of mobiles there is no obvious choice. Developers would have to consider Symbian, Linux, Windows Mobile, J2ME, BREW, Maemo or Android without being dismissive of any of them.

As for BREW, the case is strong. As of November 2006, BREW was being used by 69 global operators, by 45 device manufacturers and in 31 countries. Every CDMA mobile deployed in India supports BREW. CDMA taking up almost 30% of the Indian market, the outreach for developers for their application is no small number. The additional advantage is that price negotiation and revenue sharing is done between Qualcomm and the developer without involvement of the operator who is free to charge his premium to the end user. Having said that, other business models are also possible. Lucrative, yes. It also means that Qualcomm has to make the decision of pick-and-chose. Only applications that are unique and have a promise for the market will get a chance. It is something like writing a fiction novel. Publishers look for market value in conjunction with individuality of writing.

How does one entice the subscriber? Give a free trial for two weeks. Once he gets used to it, chances are he will buy it once his trail starts to expire. Getting new and exciting applications is one thing and using it is another. A successful application must be easy to download and install. The user interface must be elegant and intuitive. It must be attractive and useful. All these are challenges on a device that is so much smaller than a laptop monitor. In India, we are still a long way from getting there. Only 10% of revenue is from VAS, much of which comes from SMS-based services. This is where companies like Mango Technologies make a difference with solutions targetted towards low-end handsets and the cautious spender.

BREW doesn’t come on its own just for developers. There is an entire platform built around it for service delivery, billing, subscription and so forth. One such framework is uiOne whose software framework is captured in Figure 1 [1]. This enables easier rollout and maintenance of services on the carrier network.

Figure 1: uiOne Software Framework
uiOne Software Framework

Following Rakesh’s informal and interactive presentation, there was a short demo of an LBS application running of BREW. It was shown on a Motorola phone from Tata. My user experience was good but nothing out of the ordinary. Perhaps this is because I prefer to explore the environment on my own rather than let someone else tell me where the nearest restaurant is. In this demo, assisted-GPS was used which enables locating the subscriber indoors even without good satellite reception. This is because the access network sends satellite information to the mobile for location computation. In addition, Qualcomm employs many proprietory fallback mechanisms to locate a mobile. Once of these is called Advanced Follow Link Triangulation; there are six others. LBS is one of the promising applications but we are yet to see the “killer” LBS application. Point to note: developers are to tie up with map and GIS data providers on their own and Qualcomm is not involved in this at the moment. In fact, developing and deploying an LBS application is a challenge because it involves so many parties – operators, government (for privacy), map providers, developers, OEMs, chipset makers.

The philosophy of Qualcomm is of three parameters – innovation, partnership and execution. R&D spending is 20% profits. The end subscriber is kept in view but their main business is to license their technology to OEMs and operators. Thus, they say that Qualcomm has a high number of engineers (who innovate) and lawyers (who protect the licenses). Idea generation is an important activity in the company. Once a promising idea comes to the fore everyone brings it to fruition by taking it from being an idea towards making it a product.

The meeting ended with a short presentation by Forum Nokia. They talked about Symbian and its many components. They talked about Maemo, Widsets and FlashLite, about which I will write separately. This presentation, seen within the context of Qualcomm’s, highlighted that diversity in all aspects of the mobile world is here to stay. If we cannot agree, let us compete.

References:

  1. Personalizing Information Delivery with uiOne™, deliveryOne™, and the BREW Express™ Signature Solution; Qualcomm, 80-D7262-1 Rev. C, March 7, 2007.

Read Full Post »

Testing using TTCN-3

I had previously used TTCN-2 and I never really liked it. It appeared as a cumbersome language that forced you to do more work than needed. The resulting test code was neither intuitive nor elegant. Tools that existed did not enhance the experience in any way. Thankfully I never had to deal with TTCN-2 in great depth. The most I did was to improve lightly on existing test cases or give my inputs to test teams as and when required.

Part of this bias I guess comes from my lack of knowledge of TTCN-2. Last week, I attended a three-day training on TTCN-3. Now I know a great deal more about TTCN as a test language. I know the capability of TTCN-3 and the vast improvements it makes over TTCN-2. I am now all excited to design a test framework that relies on TTCN-3 for test execution, test interfaces and test case suites.

Definition

TTCN previously referred to Tree and Tabular Combined Notation. This was understandable because test cases were in tabular formats. They contained many levels of indentation that could be regarded a tree-like structure. With TTCN-3, the abbreviation refers to Testing and Test Control Notation. The focus is on testing and not really how those test cases are written. Yes, we can still write test cases in the old way of TTCN-2 but that’s not the only way.

Figure 1 gives an overview of TTCN-3 [1]. As we can see, test cases can be written directly in TTCN-3 core language (such a concept did not exist in TTCN-2), in tabular format or in graphical format. The standard also allows for newer presentations that could interface with the core language. For example, it’s perfectly valid for someone to write test cases in XML and have a conversion mechanism to the core language. Needless to say, an XML presentation format will remain proprietary with no tool support unless it gets standardized.

Figure 1: TTCN-3 OverviewTTCN-3 Overview

The second fact that becomes obvious from Figure 1 is that the core language interfaces with different other languages. These interfaces facilitate the reuse of existing data types and definitions that might have been defined in those languages. For example, UMTS RRC signalling definitions are in ASN.1. For the test engineer, there is no need to convert such definitions into TTCN-3. Any respectable tool in the market must be able to interface directly to these definitions and handle them seamlessly as part of TTCN-3 core language implementation.

Language

At this point it is appropriate to see what’s the format of TTCN-3 core language. This is nothing more than simple text with well-defined syntax and semantics. The syntax is defined using Backus-Naur Form. What this means is that any text editor can be used to write TTCN-3 test cases. Such test cases are quite different in dynamic behaviour from C or Pascal. Still, it is quite easy for programmers well-versed with procedural languages to get used to TTCN-3 easily. There are many similarities – keywords, data types, variables, control statements, functions, operators, operator precedence, just to name a few.

Looking at the differences between TTCN-2 and TTCN-3, Table 1 illustrates an important point with regard to indentation. In TTCN-2, many levels of indentation lead to poor code readability and excessive scrolling in editors. With each alternative, there is code duplication (S4) which can be solved only if S4 is implemented in a reusable test step. Alternatives in TTCN-3 are more elegantly specified and control flow continues at the same level of indentation. Even the example in Table 1 can be simplied by defining default alternative behaviour earlier.

Table 1: TTCN-2 vs TTCN-3 Statements
TTCN-2 vs TTCN-3 Statements

Having the core language in text also makes it easier to look at differences in a version control system. At run time, it makes debugging at the level of TTCN source a lot easier. This is important for test case developers. I have never known anyone who did any similar debugging at TTCN-2 source. The best I have seen was engineers setting intermediate verdicts at lots of places to ascertain what went wrong and where.

The language is structured in a way that allows high level of flexibility. Test system definition is modular. In fact, an important unit of a test suite is a module which would contain one or more test cases or the control part of a test suite. Concurrency of operation is possible because components can execute in parallel. Of course, execution is serialized at the level of hardware unless the multi-processors are involved. Parameterization is possible just as it was possible in TTCN-2. Concepts of PICS and PIXIT still apply because they are fundamental to any conformance testing.

 

Test System

Figure 2 represents the test system based on TTCN-3 [2]. The modularity of the design is apparent. Adapters are distinct from the executable. Test management and codecs are distinct entities that interface to the executable. More importantly, interfaces TCI and TRI are standardized so that users have a choice of easily migrating from one tool vendor to another without needing to rewrite the test cases. TTCN-3 Control Interface (TCI) allows for interfacing to codec (TCI-CD) and to test management (TCI-TM). Likewise, TTCN-3 Runtime Interface (TRI) interfaces to the adapters. This interface does the translation between the abstraction in TTCN-3 and the behaviour in runtime.

Figure 2: TTCN-3 Test System
TTCN-3 Test System

The adapters are implemented in ANSI C or Java, which have been included in the standard. TTCN-3 allows for dynamic mapping of communication channels between the TTCN-3 executable and the adapters. This is one more area in which TTCN-3 does it better than TTCN-2 where such mapping was static.

Typical Test Cycle

The following would be present in a typical test cycle:

  • Implement the adapters in a chosen language (done only once per adapter per language of choice)
  • Implement the encoders/decoders in a chosen language (done only once per language of choice)
  • Implement the test cases in TTCN-3 (done only once)
  • Compile the test case and test suite (done only once unless test cases change) – at this stage an executable is formed from the abstract definitions
  • Link with adapters, codecs and test management (varies with tool implementation: may be a static link, runtime loading of library or inter-process communication)
  • Execute the test suite (debug if necessary)
  • Collate test results and correct the IUT (Implementation Under Test) if errors are seen

Tools

I have previously used tools from Telelogic but never really liked their GUI. Their tools have generally been the least user-friendly in my opinion. I hear from others who have evaluated their TTCN-3 support that they are now better. Telelogic is not doing just TTCN-3. They do a whole of things and I think their strength in TTCN-3 is not all that obvious.

Recently I evaluated TTWorkbench from Testing Technologies. It’s an excellent tool – easy to install and easy to use. It has good debugging support. It allows for test case writing in graphical format (GFT) and looking at logs in the same format. Naturally it also allows writing of test cases in core language format. The downside of this tool is that I found it to be slow in loading and building test suites. It uses Eclipse IDE.

Next I evaluated OpenTTCN. “Open” refers to openness of its interfaces which conform to open standards. This allows the tool to be integrated easily to other platforms using standardized TCI and TRI. With this focus, the tool claims to conform rigidly to all requirements of TTCN-3 standards. Execution is generally faster than other tools in the market. The company that makes this makes only this. Nearly 14 years of experience has gone into making this product and the execution environment is claimed to be the best. The downside is that the main user interface is primitive command line interface. There is no support for GFT although this is expected to arrive by the end of the year. Likewise, debugging capabilities are in development phase and are expected to be rolled out sometime this year. OpenTTCN also relies on certain free tools such as TRex that is the front-end editor with support for TTCN-3 syntax checking. This too is based on Eclipse.

This is just a sample. There are lots of other tools out there. Some are free with limited capability and others are downright expensive. Some are proprietory. One example in this regard is the General Test Runner (GTR), a tool used in Huawei Technologies.

Conclusion

TTCN-3 is set to become a major language for formal test methodology. WiMAX is using it. SIP tests have been specified in TTCN-3. LTE is starting to use it. Other telecommunications standards are using it as well and its use has split over to other sectors. The automotive sector is embracing it. AutoSAR is using it and these test cases may be available quite soon this year. The official website of TTCN-3 is full of success stories.

It is not just for conformance testing like its predecessor. Its beginning to be used for module testing, development testing, regression testing, reliability testing, performance testing and integration testing. TTCN-3 will work with TTCN-2 for some time to come but for all new test environments it will most likely replace TTCN-2 as the language of choice.

References

  1. Jens Grabowski et al., An Introduction into the Testing and Test Control Notation (TTCN-3).
  2. Mario Schünemann et al., Improving Test Software using TTCN-3, GMD Report 153, GMD 2001.

Read Full Post »

Different perspectives exist for the same thing. While no two people look at the world in exactly the same way, two people when they collaborate look at the world in a completely new perspective that borrows from individual perspectives. I got the idea of using colours in Venn Diagrams to represent this. In this post, I present some applications of this idea.

Figure 1: Success of a Team Project
Success of a Team Project

 

 

 

Figure 2: Job Satisfaction and Effectiveness
Job Satisfaction and Effectiveness

 

Figure 3: The Market Place
The Market Place

 

Figure 4: Today’s Mobile World
Today’s Mobile World

 

Figure 5: Evolution of the Market Place
Evolution of the Market Place

Read Full Post »

Starting-up

I have not made a post to this blog for a long time. Needless to say, I have been busy with lots of things. I recently joined an Indian startup. I had previously thought of starting my own company. After considering such a proposition from all angles and recognizing my own strengths and weaknesses, I decided to abandon it. I don’t have that many contacts in India. I have never worked in India in all my career and I am new to how things are done here. Last of all, I kept questioning my motives for starting a company. The motives were not that obvious and certainly not healthy for the business.

What’s the next best thing, or perhaps even a better thing, to starting your own company? Join a start-up. That’s exactly what I have done. I started in my new job in the new year and I have been busy ever since. Today I finally decided to put some time to make this post. Choosing a start-up is not exactly an easy thing to do. You have to consider the pay packet which may not be up to market rates. You have to consider the working environment and the general lack of facitilies that is taken for granted in big corporations. You have to forgo medical benefits and insurance.

The real joy in a start-up is obvious to anyone who has worked in big corporations. There is a personal touch to everything. You know everyone in the company. The structure is flat. Rules are few and flexible. You take responsibility and make things happen. You generate ideas and take initiative. If the company has to grow, your actions matter. If the company grows, you grow along with it. Ultimately, you may not be the CEO or Founder, but you feel that you belong to the company and the company (part of it anyway) belongs to you.

Entrepreneurship

Starting a company is all about entrepreneurship. The common notion is that people don’t want to work for others. They want to do something on their own, be their own boss. On the contrary, I have a holistic take on this. The founder of a company works for and with everyone around him. His company works for the industry in which it operates. Market forces are always keeping his business vigilant. He may have some control over suppliers and customers but ultimately the market dictates his actions. The beauty is that as an entrepreneur you are in the driving seat. You decide how best to chart the progress of your company that aims to grow along with the market.

This appetite was long absent in India. People worked for rajas and maharajas. Then they worked for the British Raj. There was little innovation, if any at all. India is a country proud of its culture, customs and tradition. Anything new was seen as an invasion into age-old customs and tradition. Why change when there was no need to? Everyone was happy running their businesses on a small and medium scale, in the same way for many decades. Entrepreneurship is not about just running your own company. It’s about generating ideas, innovating and driving the industry to new heights.

There are lots of small Indian start-ups today. Some will succeed, many won’t. Not all are run by entrepreneurs in the true sense. Though all have some degree of innovation, in a competitive market only the best will survive. Some will grow to become big players while others will find their niche in the market. Many others will just dwindle and close. An example is the growing number of start-ups getting into social networking sites for the Indian market with very little competitive advantage [Business Week, November 30, 2007]. It is not an easy job. Technical innovation is one thing. It has to be backed by keen business acumen which involves a whole suite of decisions – how to keep costs low, is this the right time to release the product, what’s the best business model, is it better to import or make it indigenously, what’s the right price for the offered quality.

Today we are seeing more and more Indians breaking their long-held comfort zones and foraging into entrepreneurship. It’s part of the development of the Indian psyche which no longer sees itself as being repressed by British colonialism, princes and maharajas, or self-constraining customs. Independent India wallowed for half a century in dirty politics and ineffective governments. With the liberalization of the Indian economy, Indians may not yet be innovating for global impact but at least we are building and improving on ideas that are coming to us from rest of the world. Economy has firmly put India on the path of progress and for the first time governments, corrupt though they may remain, are forced to take note and follow.

Economy

Very few industries actually grow during a recession. The best period for starting a company is when the economy is growing or already in a boom. This perhaps is the most important factor why there are so many Indian companies doing so well. Even those that are not doing well, have the potential. In a growing market and a bullish economy, the potential is always high. In the current financial year Indian economy is set to grow at 8.7% [Business Week, February 7, 2008].

The potential for growth is enormous in many sectors. It is hard to see how, when we have come so far, the Indian economy can go into a recession. It is not likely to happen for another five straight years. A bolder prediction is that the economy will grow at 8% until 2020 [Financial Times, January 24, 2007]. The current growth has disproved previous predictions which put the long-term growth rate at 5%.

Global recession, if and when it happens, will affect India. BPOs, call-centres and software services industry will be affected. The appreciation of rupee is set to continue and will squeeze profit margins. Though India has sufficient resources for supply and potential for demand on its own, it is not self-sufficient. If India has to grow in the face of a global recession there must technological innovation and improved level of self-sufficiency.

Ecosystem

Ecosystem plays a key role towards self-sufficiency. Take the case of manufacturing a mobile phone. While Nokia has a high capacity plant near Chennai – into which it has just pumped $75 million investment [Nokia, December 5, 2007] – key components that go into the phone are not made in India. The phone may have chips from Texas Instruments or STMicroelectronics who prefer to have their fabs in China than in India. In fact, though India has been in the semiconductor for a good three decades most of India’s contribution has been towards software development and hardware design. Only in 2009 Hyderabad is slated to get India’s first fab.

If Indian companies have to compete against big foreign players they need to source indigenous components to keep costs low. They need to make the best of local knowledge for local needs. Their leverage against foreign competitors must come from their understanding of culture and consumption patterns.

In the ideal case, everything that goes into making a product is made in India. In other words, the entire value chain creation happens in India. All businesses along the value chain will stand to benefit. Creating such a value chain needs entrepreneurship at all levels. Some will focus on making the mobile phone. Others will focus on making RF tranceivers. Others will focus on baseband and modem part of the phone. Others will supply the protocol software. Others will supply test equipment. Others will play a vital role in representing India in world organizations so that when the time comes to certify the phone, there will be Indian companies certified to do so.

But making everything in India is not truly an ideal case for the simple reason that India will not have the economic advantage of making everything. India would have to specialize on what it does best and most efficiently. However, in the short-term the cost of imports and the hard affordability of foreign products make it worthwhile to look for substitutes within India. The main difficulty at this point is that Indians do not possess specialized technology. For example, no Indian company makes a mobile phone.

The future is promising. Indians returning from overseas are spawning ventures at all levels. While many may be looking at only services there are others who are taking to products. There are fabless semiconductor companies that do specialized design for silicon. There are companies starting to make RF components. There used to be a time when specialized products had to be imported directly from a foreign manufacturer. Today local distributors have taken shape. They stock various products, give faster quotes and shipments without businesses worrying too much about import duties and clearances.

Funding

An extension of the ecosystem is the availability of funds. Getting funds has never been easier. Getting funds has never been more difficult. Both statements are true. While opportunities are there, investors are choosy and demand is great. No two investors look at business potential in exactly the same way. The difficult task is to find the right investor who understands your industry and meets the needs of your business. Finding the right investor also means being able to retain control over your business. Investors want returns. They do not want to take over your business. So long as you can deliver, they are happy. If you can’t, they will find a way to sell your business for a profit.
Why do people want to invest in Indian start-ups? The potential is high. The market is huge. The ecosystem is growing. Everyone’s expectations are aligned and tend to reinforce a belief in growth. People’s spending power is increasing. Consumption patterns are changing and growing. With new ideas coming up all the time, there is that chance that a business will have global value as well.

I was at a recent event in Bangalore on 19th January 2008. The event was named HeadStart and took place over three days. It brought together venture capitalists and start-ups. The event consisted of demos and presentations. The VCs sat on a panel and talked about what they looked for in start-ups – a clear business case, competitive advantage, market research, solid financial projections, break-even analysis and a host of other things that will be familiar to anyone who has done a proper business plan. Investors are not interested in your technological breakthrough per se. They want to know why you are doing it, what is its value, who is going to buy it and why.

I also attend Mobile Monday Bangalore on a regular basis. Some of the sessions are attended by investors to get insights into start-ups and the technologies concerned.

Competition for funds is intense at the moment. Company valuations also tend to exhibit great variance. There is no standard set in stone. Only experience, insights and expectations of the future. If there is a standard, it cannot apply to all industries. Valuation of a company in the communications sector will be done differently from another company in the pharmaceuticals sector. The broad factors may be the same but the emphases are likely to be different.

Funding is not just about private investors. It is about making innovation possible which translates to upfront investment. NASSCOM has taken a step in this direction by creating an Innovation Fund. The process is in place since January this year and the Rs. 100 crore fund may be operational anytime soon. Key investors are ICICI Group, Tata Consultancy Services (TCS) and Bharti Airtel. Start-ups can hope that they will not make aggressive demands on returns like VCs.

The government is ahead of NASSCOM. Start-up companies are beginning to take advantage of a scheme called Support International Patent Protection in Electronics & IT (SIP-EIT) under the Ministry of Communications and Information Technology. Under this scheme, the government will bear a maximum of Rs. 15 lakhs for every international patent application. It is a highly useful support for companies wanting to protect their IP.

Community

While there is competition among start-ups they also form a community in which ideas are shared and nurtured. Such communities serve the additional role of promoting the company and its product or service. Meetings and seminars provide platforms to enable this. Partnerships may be formed not just between companies but between individuals. New talents may be recruited and industry contacts built. Some of these events are attended by well-established and large corportations who hate to be left in the dark.

Mobile Monday Bangalore is one I have often written about. Open Coffee Club Bangalore is another community that meets regularly. BarCamp Bangalore (BCB) is another forum for sharing ideas. DevCamp Bangalore is a new event that is happening today as I write this article. DevCamp focuses on technical issues of interest to developers. I have already mentioned HeadStart. Proto.in which concluded recently in Chennai was an event very much like HeadStart. The whole of last week was the Entrepreneurship Week at the International School of Business and Media in Bangalore. It was an effort at bringing industry and academia together to forge effective partnership. It acknowledges that innovation is key in the long run and academic institutions can fill this void.

Recently, NDTV aired a live debate that took place in IIT Delhi. The debate brought together students, Indian start-ups, British start-ups, Indian government officials and their British counterparts including Prime Minister Gordon Brown. The debate addressed a number of issues but at the heart of it, it sought to build a platform for greater cooperation between small and medium business in the two countries. There are some things that Britain does best but they are others that Indians are doing better as entrepreneurship in India continues to mature and grow. Events are this can be considered as part of the overall ecosystem that nurtures start-ups.

Conclusion

One of the greatest changes that happened in economic history is the Industrial Revolution, particularly in Britain. A number of things came together to make this revolution possible – availability of capital and risk-taking investors, a banking system, the Enclosure Act and availability of labour, the import of raw materials from the colonies, ready market, political stability, technological innovation, the power of steam and above all entrepreneurship. We may not see anything like a revolution in India but conditions are right for Indian start-ups to venture boldly.

Read Full Post »