Sunday, May 02, 2010

Seven battles that changed the world and world history

As I was reading about the Battle of Tours in the Decline and Fall of the Roman Empire, by Edward Gibbons, I decided to compile a list of the significant battles in human history: the results of which changed the course of history.
Historians call them 'macro historical' events. On an average, there have been one such battle every century; but every three hundred or four hundred years there have been a really major battle that changed history for at least the next half-millenia.

The seven major battles are:
The Battle of Gaugamela, 331 BC. This is the first time a western nation defeated an eastern empire. The history of the 300 hundred years before that had become the story of large eastern empires, under an absolute emperor (shah-en-shah, king-of-kings) menancing smaller western states. This set a pattern of the so called 'clash of civilzations', and a similar theme would repeat in the list. However, the impact of the Greek victory was huge: it brought the Greek wisdom and culture to all of known Asia: brought the Greeks in military and intellectual contact with the Indians. But there is an irony: it needed a Macedonian to unite the Greeks under an Empire. The Greeks, led by Alexander, went on to conquer almost all of the known world, except for India and China.

Battle of the Teutoburg Forest, 9 AD. This is the battle that stopped the expansion of the Roman Empire into northern Europe.

Battle of Badr, 634 and Battle of Qadisiyah, 636. The two battles are taken together, although they are two distinct events. The first was the battle of the survival for Islam, which it did. The second was the battle of survival for Persians (Sassanian, Zoroastrians) which they didn't. These two laid the ground-work for the Islamic domination of the middle east. Historically, the major 'Eastern Empire' always used to be Persian. (Achemenid, Seleucid, Sassanian); but now the (middle) east had got an even greater spiritual power behind it. The center of gravity of the middle east power struggle went slightly west: to the Arabs. The Arabs themselves would not hold that for too long: they would eventually relinquish Asian power to the Turks (who founded Empires that would eventually rule all of Asia: through the Ottomans, Safavids and Mughals) until the Europeans took over.

Battle of Tours, 732. This is the battle that stopped Arab advance into Europe. There is still a lot of debate if this was as important as many historians like Gibbons say. However, one thing is certain: the political map of Europe would look really different today had the Arabs been able to win this battle, conquer France (they already had Spain) and set their sights across the English Channel. This battle also laid the foundation of European social and political structures that would persist in Europe for almost a thousand years. The victorious army was led by Charles "Hammer" Martel, whose grandson, Charlamagne would go on to found the Holy Roman Empire. Charlemagne's vision of a united Europe still inspire a lot of Europeans.

Battle of Tarain, 1191-1192. This is the battle that brought Islamic rule to India and marked the founding of the Delhi Sultanate. There had been earlier Muslim attacks on India, including the one by the Arabs that annexed Sind in 712, and the series of raids by Mehmud of Ghazni from 999 to 1025. Attacks on India from the north-west had never been new. But the previous attacks were either repelled (the Huns, for example); or the conquerors ceased to retain a separate identity for long and merged with the greater Indian body-politic (the Kushans, for example). I attribute that to the strength and vitality of the Indian culture at the time. However, this time, the Indians withdrew into a psychological shell, failed to accept the power and vitality of the new force and had a harder time 'Indianizing' the new force. However, efforts by giants like Amir Khusrau, Akbar, Guru Nanak (just to mention three) helped in creating a composite 'Hindustani' (Indian) culture, politics and religion. But the fault lines are still visible to this day. Other Asian nations have a history of converting their conquerors to their own culture. The Mongols, after conquering China, became the Chinese Yuan. The other branch of Mongols, after conquering Baghdad, adopted Islam. The Safavids (who were originally Central Asian Turks), became Persian.

Defeat of the Spanish Armada, 1588. This marked the end of Spanish domination and the beginning of English (remember, England and Scotland were still two separate kingdoms) domination in the world stage. The English could not have a built the Empire without beating the Spanish. If the English had not won, the U.S and Canada would probably be French or Spanish speaking, for example.

The Battle of Stalingrad: 1942-43. The second world war had a number of turning points: the battle of Britain, the battle for the Atlantic, the battle of El-Alamein, the battle of Midway, the battle at Kohima. But none comes close to the importance of the Battle of Stalingrad. This not only turned the tide of the second world war in the favor of the Allies, it marked the beginning of the Soviet Empire. Between two evils, the world chose the lesser. However, the courage, the valor, the commitment and the sacrifice of the Russian people does not have that many parallels in human history. The world owes a lot to the Russian people for standing up against Nazi barbarism and prevailing over them.


There is a pattern here, not of a 'clash of civilizations' type; but a more subtle fight between different ideologies to govern the human race. Different periods have marked the ascendancy of different governing ideals, these battles mark those turning points.
The other significant battles, in chronological order (includes the six mentioned above, for the sake of continuity)


The Battle of Marathon, 490 BC.

Battle of the Allia, 390 BC

The Battle of Gaugamela, 331 BC. Mentioned earlier.

The Battle of Cannae, 216 BC

The Battle of the Metaurus, 207 BC

Battle of the Teutoburg Forest, 9 AD

Notable mentions: Battle of Carrhae, 53BC

Middle Ages (100AD - 1600AD)

Battle of Adrianople, 378

Battle of Chalons, 451

Battle of Badr, 634 and Battle of Qadisiyah, 636

Battle of Tours, 732 AD, Tours, France

Battle of Talas river, 751 AD

Battle of Bach Dang river, 938

The Battle of Hastings, 1066

The battle/siege of Antioch 1097-1098

Battle of Hattin, 1187

Battle of Tarain, 1191-1192

The Battle of Baghdad in 1258

Mongol attacks on Japan:

Tenochtitlan, 1521

First Battle of Panipat, 1526

Defeat of the Spanish Armada, 1588

Siege of Vienna, 1683

Notable mentions: Battle of Lechfeld, 955. Fall of Constantinople, 1453, Battle of Kosovo, 1483, Siege of Rhodes, 1522. Russo-Kazan wars 1552. Battle of Swally, 1612.

Modern World (1700 AD - present)

Battle of Poltava, 1709

The Third Battle of Panipat. Panipat, India, 1761: Marathas defeated by Afghans. It killed any chances of a Maratha resurgence, paved the way for the British domination of India.

Battle of Saratoga, 1777

Battle of Valmy, 1792

Gettysburg, 1863 (and Sherman's capture of Atlanta, 1864)

The Battle of Stalingrad: 1942-43


Saturday, August 15, 2009

zikr-e-watan (Remembrance of my homeland): by Faiz Ahmed Faiz.

The Maqtaa from a beautiful Ghazal by Faiz Ahmed Faiz: (One of my favorite modern Urdu poets).

"Dayaar-e-ghair mein mahram agar nahin koi
To 'Faiz' zikr-e-watan apne ru-ba-ru hi sahi"

It roughly translates to:
"I dont have anyone of my own in this foreign place, but if I can't talk about my country with anyone, I could still talk to myself"


Lucky guy: at least he knew which one is the foreign land and which one is his country.




Saturday, April 04, 2009

The Books I have read in the last year (Apr 2008-Mar 2009)


Descent Into Chaos, by Ahmed Rashid. A pretty interesting account of the American War in Afghanistan, with very good historical background. I would also recommend the book 'The Dust of Empire' for a wider geo-political background.
The Federalist Papers, by Hamilton/Madison/Jay.
White Mughals, by William Dalrymple. I had blogged about it earlier.
The Third Chimpanzee, by Jared Diamond. A gripping anthropological account of the darker sides of humans and how it can bring about the destruction of the entire race.
The Khyber Pass, Paddy Docherty. The history of the Khyber Pass from ancient Persian-Indian Empires up to the present.
A Thousand Splendid Suns, by Khaled Hosseini. A nicely written novel, but left me depressed for a week.
Oracle Bones, by Peter Hessler. 'A journey between China's Past and Future'. It gave me a pretty good insight (through western eyes) of the Chinese nation and culture. I really liked the way the narrative goes from the present to the past and back to the present, again and again.
Kingdom of Ten Thousand Things, Gary Geddes. A fascinating journey from Kabul to Chiapas, through Afghanistan, Pakistan, China (through the Chinese wild west: Kasghar/Urumqi), the Pacific up to Central America.
The Complete Yes Prime Minister, Jonathon Lynn/Antony Jay. The book version of the brilliant and hilarious BBC Series.
A Random Walk down Wall Street, by Burton Malkiel.
The New Asian Hemisphere, Kishore Mahbubani.
When Markets Collide, Mohammed El-Erian.
Flip!, by Peter Sheahan. 'How to turn everything you know on its head'.
A New Earth, by Eckhart Tolle.
Swami Vivekananda Reader. A collection of speeches and essays by Swami Vivekananda.
Plus, ongoing reading of the Rise and Fall of the Third Reich and Sir Winston Churchill's memoirs.

Sunday, March 22, 2009

The week in review: March 14-21, 2009.

A few interesting things happened this week. Some are trends and some are events that are part of larger trends. Here is a summary:

Political/Economic
  • US: The 90% Tax on Bonuses. This is an amazing over-reaction. True, the public has been outraged at the same executives who they think brought about this financial mess being rewarded for their mistakes. On one hand, I don't agree with the argument that 'These people are the only ones who know how to get us out, because their actions brought us here". But on the other hand, I don't like the Congress taking such drastic measures that account for less than 1% of the bailout money just to express its anger. I am worried about the precedent it is setting and at the speed at which this passed, without almost any debate. One (possibly positive) unintended consequence of this legislation will be that the banks will now want to return the bailout money as soon as they can. This makes us question the 'bailout/stimulus' process. It is too early to say whether the bailouts using borrowed (and possibly, printed) money will work or not. But it is quite clear the bailouts that started in the previous administration will go down as a mismanaged government give-away. For example, there is a report on New York Times about how the education stimulus money is going to the school districts that don't really need them. A deeper question that needs to be answered is whether the political systems have the maturity, power and the will to tackle the restructuring of the economic system that has triggered this latest bout of economic malaise. Or, have we come to a point where the economic forces are beyond the control of any single sovereign political entity? Alan Greenspan, in this Wall Street Journal article, suggests that we are dealing with global economic forces beyond the control of domestic monetary policy.
  • India: Varun Gandhi's campaign remarks. This is interesting: although Varun Gandhi has denied making anti-Muslim comments and said that the video was doctored, he still said (in the denial) that the (Hindu) community is under a siege in its own country. Now, if you read the Urdu newspapers in India, they pretty much say the same about the Muslim community: that they are under siege, under police brutality and under-developed. Assuming both are right (and they may well be); it is giving rise to a very combustible situation where Hindus (~80% of the population) and Muslims (~15% of the population) feel that they are under threat from each other and the government. 
  • US-Iran: President Obama's video message to Iran. This is significant for someone who believes that the United States should begin engaging with Iran directly. The US needs Iran to stabilize the Middle-East. Along with Turkey, it is one of the few countries in the region that has some democracy: it isn't perfect (or even close to perfect), but it has a functioning, stable system. Iran needs to be part of any solution to stabilize Iraq and Afghanistan. The initial response from Iran was on expected lines; but the need for closer engagement is there. A very interesting beginning that has to be followed up from both sides.
I have left the events in Pakistan out of this list; because what happened last week (judges reinstated and other deals) is pretty insignificant in the bigger picture and the possibilities of what can happen there.

Technology
  • Gartner's 2008 smartphone sales data (press release and summary, full report). The report makes for very interesting reading. It pretty much reconfirms the impact of iPhone on the landscape. It also reports a dramatic growth of smartphone sales (69%)in North America mostly driven by iPhone, Blackberry and to a lesser extent, Palm. Windows Mobile sales registered a small growth, but the market-share slightly decreased. But overall, the iPhone juggernaut rolls on...
  • Facebook Connect for iPhone. This is significant, in terms of the merger of the most popular social networking platform with the most popular (and effective) data enabled mobile platform. Other social networking platforms will surely follow (actually, twitter's APIs are pretty easy to use, it doesn't need a special set of libraries). It will be interesting to see how many useful apps or services take advantage of this integration.
  • iPhoneOS 3.0 launch. Significant, because it releases a bunch of features developers and users have been asking for: push notification, system-wide search, copy-paste, MMS, P2P communications, in-app payments, Map APIs, in-app email. I love the fact that as a developer, I get to tinker with the pre-release OS and SDK.
Social/Religious.
  • The Pope's comments in Africa. The comment on AIDs, along with other messages and information that have came out of the Vatican in the past (including the one about exorcism) makes for some interesting analysis. It is quite possible that Vatican is losing touch with reality. Or, it is part of a religious strategy to make Catholicism relevant in the 21st Century and beyond! In a somewhat related story, the British Governments condom campaign has received some criticsm too.

Thursday, March 19, 2009

iPhone OS 3.0: Push Notification is here

Well, it is here. It isnt 'background processing' but a '(re)launch the app on demand': very useful if one is building communication applications. I am now worried about all my installed apps doing popups and sounds, even when it is not needed :)
It will be interesting to see how well Apple's push servers scale: apparently that was the reason why it took them longer to launch this. On a different note, Facebook Connect launched for iPhone.

Sunday, February 01, 2009

How to deal with the lack of background apps on the iPhone?

In a previous post, I had mentioned 'Background Applications' as one of the five requirements of a mobile development platform. But alas, the iPhone doesnt support it (yet). Apple is working on a push based notification system  and announced  beta versions to some select developers. (See http://gizmodo.com/5031559/iphone-developers-get-push-notification-api  and http://www.appleinsider.com/articles/08/07/31/apple_seeds_developer_tools_for_background_conscious_iphone_apps.html)
But what until then? This is the best I could come up with:
1) Send a calendar invite to the users' installed exchange email address. Email and calendar (and the ActiveSync client) run in the background. Just make sure that the meeting time is just a few minutes into the future. Remember to set a reminder.
2) The user will have the phone beep as a calendar reminder.
3) If the user notices and unlocks there is a good chance she can be notified that there is something important waiting for her in your app.

Very clumsy. To make matters worse, the links dont work on the iPhone calendar.

Does anyone else have any other ideas?

Saturday, September 20, 2008

Mobile Development Platforms: a survey

How many mobile development platforms does the world need? One? Maybe two? At most, three?
How many do we have?
Here is my list, in a certain order of importance.
1) Java (or J2ME). This is more of a 'write once debug everywhere' platform, with every phone manufacturer deciding to implement subtle differences in the platform, JSR compliance and behavior. A midlet written for one set of devices (say series 40 on nokia) can take anything between 2-4 weeks to work on another set of devices. Then, we have discoverability issues: most midlets disappear somewhere two-three menu levels deep in the phone menu. The core MIDP APIs fall short for doing complex UI: you either have forms (which are ugly but look equally ugly in all phones) or do your own drawing on the canvas (pretty on one phone but would not work on another). In short, it really makes me wonder why companies are spending so much resources developing J2ME midlets. The short answer, there is nothing better, yet!
Sun has its SDK and simulator for Windows only. Mac users may try out mpowerplayer. The simulator gives a decent debugging environment, but then the developer is pretty much stranded on the actual devices.
2) Symbian: It comes in two major flavors: Series 60 (Nokia) UIQ (Sony Ericsson, Motorola). Series 60 has its series on editions as well, so application writers have to be careful about that. Series 60 is more powerful than J2ME in terms of how much of the device is open to the application developer. But as the charts in http://www.mobref.com/statistics/world/allPlatforms show, Java has a slight edge in terms of numbers. (The reason why the total crosses 100% is because Symbian phones run Java as well). Symbian also has windows based simulators, for both flavors. Nokia's developer ecosystem is pretty impressive (with Forum Nokia, their own application store) which goes to show how serious Nokia is about their developer story.
Now, for the three platforms (OS) with less than 5% of total phone market share. (as of Sept. 2008), but most projections show that it is just a matter of time before they catch up.
3) Windows Mobile: The mobile operating system from Microsoft, with a pretty good development tools.
4) Blackberry: The phones from Research in Motion. The native development environment is based on Java, but the difference is significant which makes me count it separately. Here is a link to the development tools for the Blackberry.
5) Mac OS X (iPhone): Developers can use the iphone SDK to develop and debug applications and then work through the Apple AppStore to deploy it. The development environment is the best that I have used. Of course, it only works on Leopard. Good luck! Applications cannot be put in background, which means it is not the way to go for 'always on applications'. I think that Apple will eventually enable it, once they figure out how to solve the resource usage issues with multiple background applications.
Finally, two notable platforms with enough investment and activity, although they haven't shown much promise in the marketplace, yet.
6) BREW: The Binary Runtime Environment for phones with the Qualcomm chipsets. Mobile developers who want to target the CDMA market in a big way should consider this. The barrier to entry, however, is high, with cumbersome certification rules.
7) Linux: As usual, it comes in a lot of flavors, with some phone manufacturers internally adopting it as the OS. The two notable flavors are Qt (from Trolltech, now Nokia) and Android (from Google), the Android APIs use the Java Language.
Then, there are a few cross-OS platforms
8) The browser : Almost every data enabled phone today has a browser. How well the browser does in rendering web pages varies, though. There is a longer discussion on 'browser as an application platform' below.
9) Flashlite is trying to take Adobe's (formerly, Macromedia's) success in Flash to the mobile.
There is Silverlight for Mobile from Microsoft and Adobe's AIR, but it is too early to say where they are headed. Sun's work on JavaFx is also along the same lines, although I wish Sun spent more time on solving the JSR fragmentation issues. So, these three dont 'count', for now. (If they did, that would be a dozen developer platforms).
On the widgets side, there are a bunch of companies trying to do 'cross-platform' widgets. Yahoo Mobile Widgets (BluePrint) is a platform on top of Java. Opera has its own mobile widgets platform. The Astonishing Tribe (TAT) have their own UI framework, called TAT Kastor. There is Plusmo, there is widsets, and so on. Again, it is unclear where this is headed, including W3C's work on Widgets. The BONDI work from OMTP is on similar lines. Of the above, TAT is particularly interesting, with their relationship with S60 and Android. Opera's Widget work is interesting as well. They recently announced a relationship with UIQ.
Don't the developers need 'fewer' platforms? (The exact same sentiment as in this blog post from Little Springs Design )

So, what should a mobile application developer do?
Here are the options:
1) Try to develop on each platform, with diminishing returns with every new platform to which the application is ported to.
2) Understand your customer: That is, try to find out whether your customers need you to port on hundreds of phone models from at least half a dozen (Nokia, Sony-Ericsson, Motorola, Samsung, LG, Apple, HTC,...) manufacturers with different programming environments, or are you okay just concentrating on top two? Do you need a great user experience (in which case avoid Java), or, is reaching multiple devices more important than having a great application (in which case just use Java). If there is a need to reach non-data enabled device, use SMS.
3) Wait, for one (or two) dominant platforms to emerge. It may become a long wait.

Browser as an application platform.
This is where I spent a few years working on, unsuccessfully. The fact that the browser has been able to give an excellent programming environment is behind the success of the Web. Also, the fact that browser market share could jump from one dominant browser (Netscape) to another (Internet Explorer) meant that the developers did not have to worry that much about fragmentation. Internet Explorer came after Netscape got a dominant market share, which meant IE had to keep bug compatibility with Netscape. Anyone who wants to challenge IE now (Firefox, Safari, Chrome) will have to keep bug compatibility with IE. All good stuff for the developer. Standards obviously helped, but that was not the whole story. Unfortunately, this has not happened on the mobile front.
There is a real opportunity to standardize on the browser as THE platform for the mobile, that is, start with the current implementation of XHTML, CSS, Javascript, plus try to standardize on things that will immensely help the mobile developer: offline browsing (provide some data storage) and access to internal phone data: addressbook, calendar, file system, camera and the menu system. Then, add adequate security options and provide opportunities for mobile operators and handset manufacturers to monetize on that. In other words, the operators and handset manufacturers get to "sell" their interfaces (in a standardized way) to mobile application developers who want the richness. The security issues of a rich and deeply integrated platform probably needs a separate blog post. But security isn't a problem that can't be solved.
Yes, the browser itself will become a commodity (and it should be) and may cause the demise of companies trying to make money just by selling browsers if they dont innovate (think Openwave, think Teleca) or if they dont find anything connected to the browser (say, an SDK or a set of end to end services) that can be monetized. There is still a lot of scope for innovation in the browser itself: in terms of faster network access, less memory and battery consumption, better usability.
There is one problem here and that is a big problem. The current browser based tools do not give the ability to do what I call 'pixel-perfect' UI. The attempt to solve this in a standards based way has failed: with almost no adoption of SVG and the acquisition of Macromedia by Adobe. SVG lost out not for lack of implementation, but for lack of developer tools.
Which brings us to Flashlite, again. I think, among all the platforms, Flashlite has the best chances of making it. It has a dedicated developer community, good developer tools, a presence in major handsets and a viable business model.
The way for the browsers to compete here is not with yet another markup language, but by filling the gaps in HTML+CSS. The markup purists may not like it, but adding HTML tags and CSS properties to do advanced graphics is a good idea. Incremental ideas like border-image CSS property (draft, final version) can give a good path to mobile developers for a better UI experience.

Summary
Actually, there is no summary. The mobile developer has to pay the price of entering a chaotic market. Eventually, all markets mature and this will too. For now, I will advise mobile developers to follow option #2 (that is, select the platform based on your customer needs) and wait for consolidation. In the meantime, I will cheer for a browser based mobile application platform.