How Apple Is More Authoritarian Than The Chinese Government

September 2nd, 2008

I am a fan of Apple’s products. I believe that the hardware is well-designed, and so is the software. In particular, I believe that the design philosophy behind Objective-C and Cocoa frameworks are the best thought-out and implemented tools for any developer looking for a strong and robust environment for object-oriented programming.

Like other Apple fans, I get excited at the new hardware the company puts out on a regular basis. I have reconciled myself to the fact that the top-of-the-line Macbook Pro I now use will shortly be replaced by a newly refreshed iteration of this line, and I will soon torment myself when I see others with their newer computers. The sames goes for my iPod touch.

I am also a fan of Steve Jobs; he shows what can be done by a very smart guy who has fallen down a few times in life who now has a good plan, and who just focuses on implementing his plan. The guy knows exactly what he wants, and doesn’t let anyone or anything get in the way of his plans. He is the poster boy for a smart authoritarian and autocratic management in an organization. I’m convinced that without a firm grasp of the challenges the company faced in 1997, Apple would have quickly gone into bankruptcy.

Steve Jobs saved Apple.

This is why I get upset with the company’s policies towards China. I mean, for Apple to criticize the Chinese government for not being open and nice to minorities is just completely wide of the mark.

With this in mind, let me show you how the Chinese government, in comparison to Apple’s management, is in fact much more open and democratic:

  • China now has a group leadership on the national level. Who is in the group leadership at Apple? And how much do you see others besides Steve Jobs talking about “different directions” at Apple?
  • Who is going to be the successor to President Hu Jintao. I can name several candidates including Xi Jinping, Bo Xilai, Zhou Yongkang, just to name a few. Who is going to succeed Steve Jobs? I can’t name any.
  • Leaking any information about any new products which have not yet been announced at Apple are grounds for immediate dismissal. Same goes for China.
  • Apple employees are not allowed to publish unofficial blogs without company permission. Doing so may be grounds for dismissal. China has 100 million blogs; all of them are unofficial.
  • In private meetings with Steve Jobs and Apple senior and executive management, the senior and executive management turn and look to Steve Jobs for permission to speak before speaking, even when they are addressed directly. The Chinese national government leadership is more relaxed than Steve about other senior officials speaking about national affairs.
  • For many Apple employees, the most dreaded moment is sharing the same elevator ride with Steve. If he talks to them and he asks what they do, and they go not give a good response, he just might terminate them.

Basically, Apple (the company) is an extension and implementation of one man’s (Steve Jobs) vision of what the consumer electronics and computing industry should look like. And ironically, laws in the US permit Steve Jobs to run his company in a very autocratic fashion. I have not yet heard of people being “dismissed” from China because they were not productive according to one ruler’s definition. On the contrary, the Chinese government goes out of its way to keep the Chinese economy on a growth track, creating more jobs. (I must admit that I think many of these jobs are of questionable value, but that’s another discussion.)

And yet, Apple doesn’t like things the Chinese government does because they are less than democratic and are autocratic? How many current Apple employees do you see protesting at the way the company is run? I’ll tell you how many there are.

Zero, nada, zilch.

Sure, Steve Jobs is running a company and the Chinese government is running a country, but is there anything to suggest that Steve would act any differently and suddenly become open and democratic if he were running a country?

Come on Steve, look in the mirror. When it comes to autocracy, the Chinese government can’t hold a candle to you.

I’m really trying to wrap my mind around this and am trying very very hard to understand Apple’s criticisms of China. If anyone can explain this to me, I’m all ears.

Where China Falls Short

May 1st, 2008

China’s economic growth over the past several years has excited many members of the international community, who see it as an alternative to the US’s and west’s leadership of the world order for the past two centuries. There has been a deep underlying distrust of the west, but it was brought to the fore by the Bush administration’s single-minded focus on the invasion of Iraq in 2003, and what to many, have seemed like trumped-up reasons for the invasion.

This, along with China’s dramatic economic growth, has opened up a great opportunity for China to offer an alternative vision of economic and social development. But China has fallen short with the recent fuss over the torch relay, and the actions of the fenqing (angry youth). In a very short period of time, a great deal of the goodwill China has earned has dissipated.

This situation has forced many supporters of the reform and opening-up of China into a lose-lose situation. If they support the Chinese position, they become seen as Chinese toadies, and if they criticize certain aspects of what has happened during the Olympic torch relay, they become dismissed by the Chinese, especially fenqing, as western toadies. Intelligent people should not be forced into making choices like this which are not real choices, and further polarize the two sides. People should be able to make constructive criticism without being forced to make bad choices and being pigeon-holed into one group or the other.

I, for one, believe that there is validity to the Chinese criticisms of the way China and the Chinese have been shown in the western media. There are biases; some are based on ignorance and some may be based on malice. But anger and heavy-handedness are not the right way to correct these perceptions; instead they validate the views and fears of China’s worst critics.

But this is not purely a public relations exercise. If China was a smaller and less influential country, maybe that would work. What China needs is to offer an alternative vision to the western model of development. This model must include dialogue, institutions and rules without a pre-conceived agenda which are pre-packaged for others, who must buy into it. Basically, a new framework needs to be created for Chinese engagement and dialogue on a global scale.

One of the criticisms of western hegemony is that it has offered a pre-packaged vision which in reality, offers pre-packaged western interests at its core. Joseph Stiglitz talked about this in his book Making Globalization Work.

So what is China’s vision? Is it just anger for western wrongdoing and the way it is depicted in the western-controlled media? How much goodwill will venting anger get China? There needs to be a better more thought-out way which offers more constructive results.

More people need to be included, and it should not just be government to government. It should be open where all can offer their views, and be listened to. Differing opinions should be debated and allowed to co-exist. Out of this, some kind of rationale for China’s rise has to come out, and this vision needs to be consistent with the rest of the world, as well as the Chinese people.

China is now a real power in every way. Real powers listen to and debate different views. If they don’t like certain views, they can offer a point by point rebuttal, or they can debate those views, but there is no need to get angry.

New times bring new challenges, and new challenges call for new thinking.

Ruby on Rails, Agile Development and the New Website Development Paradigm

January 25th, 2008

ror.jpg

I have been spending some time researching Ruby on Rails, how it works, its development philosophy, and how it has affected web development, and will affect business in the near future.

The Ruby on Railsframework was released by David Heinemeier Hansson(it’s open source) in July 2004 has had a profound effect, and has been especially important in the development of the Web 2.0 movement.

Most importantly, Ruby on Rails simplifies the web development process through its “convention over configuration” and “Don’t repeat yourself” it fundamentally changes the role of the programmer in web development. Instead of asking questions like “How do I get function x to call method y?”, he is able to focus or how to do something, he is freed to focus more on the general business logic of the application.

This is why Ruby on Rails and the Agile software development movement go hand in hand. The Agile movement places a premium on human interaction and communication between programmers and business experts over software tools, process and methodology. The relationship between the Agile movement and Ruby on Rails is most clearly defined in the book Agile Web Development with Rails. Although the book is written for programmers, an intelligent lay reader and business person can also get a lot out of it, and understand the business implications of Agile development for web application development.

What does this mean? Basically, web application development as it is done by most businesses today is broken. Here are the two most common approaches:

  • Designer-driven development. In this model, the client is non-technical and is more focused on “look and feel” than functionality. The web design firm uses Photoshop and Fireworks (or similiar applications) to create mockups to show the client. When the client finally selects the look and feel he likes, it is then handed over to the front-end developers to start coding the HTML, CSS, JavaScript and Flash files as necessary, while the backend developers create the databases and tables, and finally hook up the backend to the assets. The problem which happens when the website is prototyped, the client inevitably wants to make changes to the look and feel, and sometimes functionality. Changes to look and feel mean that assets have to be found, destroyed, created and moved around. Changes to functionality mean that new databases and tables have to be made and old ones destroyed. On the business side, this means that the projects inevitably go over budget, and often the client and web design end up in an unfriendly state of affairs.
  • This is backend driven by database developers and developers who have good database and networking experience, and focus on creating the databases and tables, with little care, and often even less interest in the look and feel of the website. The most frequent result of this is a website which works fine on the functionality and business logic level but is butt-ugly. In projects of this kind the designers come in to mount rescue jobs, trying to turn a website only a mother could love into something which does not scare visitors away. In effect, the designers end up playing the role of the cosmetic surgeons in “Nip/Tuck”. Sometimes it works, often it doesn’t.

For a non-technical client more interested in creating a working application from the user point of view, this constant back and forth between client-side (front-end) design and backend programming throws them off completely from their established business goals. This is frequently made worse by the whole process: The client gives a brief then goes away, comps are submitted for approval by designers, then they go away, then the whole completed web application is shown to him, and he is expected to sign the check for the final payment with very little recourse if he is not pleased with the results, and all changes incur extra charges.By the time they have finished the project and made their final payment, they are often walking wounded.

Obviously, there is something very wrong with this development process. The designers get frustrated by limited client feedback until the project is nearly completed, the programmers get frustrated when the client changes the business logic, and the account people get frustrated at everyone, including the client.

This is what the Agile development process attempts to address. Basically, the client is asked to be fully engaged throughout the development process, sitting with the developers throughout and providing feedback all the while through while the developer is programming. The client can makes changes at anytime, and the website can even be tested in production mode to get user feedback, and more changes are made.

How is this made possible with Ruby on Rails? Since RoR is a framework, it creates default folders or directories in a basic configuration. The business logic is fixed by the MVC (model, view, controller) multitier architecture so that if the client wants to make changes, it is very easy to do so since the relevant files will always be in the same folders. There is no need to worry about where to find files to make changes. This design philosophy fits in very well with the web standards movement, which has focused on separating client-side development into HTML for structure, CSS for presentation and JavaScript for behavior on the browser side.

So how will Ruby on Rails change the role of the developer? It will no longer be enough for a programmer to be only a coder; a good developer will also have to understand business goals and user experience. With its emphasis on convention and process simplification, it is very likely that some of the best developers will come from client-side programming, while the best programmers will be those who have worked in business and understand business goals.

Does this mean that budgets for development will go down? In many cases it will probably be “yes”, but for developers who know how to understand communicate with their clients, and understand business, it’s more likely that their services will be especially in demand, and their fees will most likely go up.

Programming will be taken out of the lab, and it may well be that if you see two or three people sitting together over a notebook computer (most likely a MacBook Pro) in a cafe in Beijing, London or Pretoria, they are creating a new web application.