Microsoft

The Shlemiel way of software

Author Joel Spolsky talks about what Microsoft has in common with his grandparents and what Isaac Bashevis Singer has to do with code-generating schemes.

  • more
    • All Share Services

The Shlemiel way of software

Any decent programmer can sketch out an algorithm. It takes some special inspiration to explain one by telling an old joke about a painter named Shlemiel.

The connection between software and Yiddish humor may not have been evident until Joel Spolsky began writing his Joel on Software essays and blog in 2000. But now that Spolsky has demonstrated it, the payoff is clear. For starters, Spolsky’s writing is a lot more fun to read than most of the mountain of verbiage under the “how to write software” rubric. And once you’ve read his explanation of the dreaded “Shlemiel the painter algorithm” — a clumsy way of writing a routine that involves repetitious round trips, each one longer than the previous — you won’t easily forget it, whether you’re a programmer who has learned to avoid a dumb mistake or anyone else who might spy Shlemiel-like behavior in the world beyond RAM.

Spolsky, a professor’s son who grew up in New Mexico and Israel (where he served in the armed forces), worked as a program manager on Microsoft Excel in the early ’90s and later for the free e-mail provider Juno before cofounding Fog Creek Software. His entertaining and crystal-clear essays have placed him in the very small class of programming pros — from Frederick Brooks near the dawn of computing time to Ellen Ullman, Paul Graham and Dave Winer today — who are able to write about their insular world in a way that wins the respect of their colleagues and the attention of outsiders.

The best of Spolsky’s essays have now been collected between soft covers in a generous volume with a fanciful title: “Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work With Them in Some Capacity.”

Amid the clank of old heating pipes at the Fog Creek office atop an old building near New York’s Penn Station, I spoke with Spolsky recently about what’s wrong with software development today, what Microsoft has in common with his grandparents and what schemes for automatically generating code have to do with the writing of Isaac Bashevis Singer.

Why, after decades of ostensible progress in the field, does it still seem so hard to make good software?

Nobody would be surprised if you told them it was hard to do open heart surgery. OK, fine, so maybe software isn’t open heart surgery. But it has about the same number of moving parts, it’s probably just as complicated, and it’s critical in a different way. But there’s something weird about designing software specifically: Everybody thinks they know how to do it, even when they have no training. They just think, Oh sure, I can do that!

There are many different schools of thought on better ways to organize software development. Do you subscribe to any of them?

There’s certainly a lot of faux methodologies, what I often call “big-M” methodologies, extreme programming being a very popular one right now. And even when they’re reflecting good ideas or best practices, the real goal of the methodologies is to sell books, not to actually solve anybody’s problem. And selling the books is actually just a way to sell consulting engagements that the people who write those books do at high cost; that’s their career — giving speeches to people working for very boring companies on how to do software better.

The key problem with the methodologies is that, implemented by smart people — the kind of people who invent methodologies — they work. Implemented by shlubs who will not do anything more than follow instructions they are given, they don’t work.

And the smart people are probably the ones who would have done fine without them, anyway.

Maybe it would have taken them a little longer to get to the correct methodology. Which is why I still believe that there are what business consultants call “best practices.” I hate that term, but that’s what Joel on Software tries to be: Here are some best practices for this, and that, and the other thing. There’s no set of instructions, but there are all kinds of guidelines.

There’s about 8 million things I can tell you. I can tell you, when you do a beta test you’re not going to have a single beta tester who’s willing to install every single beta version of your software — and do a complete test from head to toe of that version. You’re going to have people who try it out on the first day; they’re going to report a bunch of bugs, and that’s going to be the last you hear from them. So if you have 500 beta testers, you need to give 50 of them each of 10 releases so that you actually get some feedback from the third, fourth, fifth, sixth, seventh beta. So that’s a little tiny thing — it doesn’t tell you anything about software management, it’s just a piece of random useful advice. The world is full of those things, and they don’t add up to a methodology.

It’s almost more like folklore.

Yeah, it’s just an art. There should be a guild! It’s like a medieval way of training people to do things, but it worked pretty well. The closest thing I have that people consider to be a methodology is the “Joel test,” and I don’t even consider that a methodology — it’s just a quick way to judge whether a team is doing well or badly.

A set of criteria or yardsticks.

It’s more like CMM [the "capability maturity model" from Carnegie Mellon's Software Engineering Institute] without the headaches of CMM: a quick way to find out if a software team is good or not. It’s certainly possible to fake it.

Microsoft scores pretty high on the Joel test, right?

I think Microsoft is now well in the advanced throes of getting everything 100 percent right in terms of the discipline and just no longer producing products people want to buy with any level of consistency.

You mean that the process is well tuned, but it has lost the bigger picture of what direction the army should be marching?

Partially, and partially also the process is overtuned. There’s this other phenomenon that happens.

I remember once, when my grandparents were alive but were old, they were trying to go out to a restaurant with me one night, and it took a half-hour from the time they were standing by the door to the time we got out the front door because my grandmother kept saying, “Do I have my keys?” Of course she did have her keys. “Did I turn on the burglar alarm?” She went and turned on the burglar alarm. And then she said, “Do I have my keys? Go check if the garden door’s open; I think I was outside today.” “Is the water running?”

Basically, by the time she got to be 65, every mistake she’d ever made in her life she had corrected by creating a new procedure by which she made sure that she never made that mistake again. For example, before she left the house, she double-checked that she had her keys, the burglar alarm was on and so forth. So she had been acquiring these habits to prevent making mistakes she had made in the past. And by the time she got to be 65, it took a half-hour to run through the whole checklist!

What has happened at Microsoft is that someone discovers, for example — this is something I found on a blog at Microsoft, it’s a real story — that in Turkish there are two letter I’s. There’s I with a dot and I without a dot, and a capital I without a dot becomes a lowercase i without a dot, whereas in English a capital I without a dot becomes a lowercase i with a dot. So if you’ve got some code that’s checking if something is an integer, and it’s doing it by actually comparing the strings, and if your code just happens, in order to make it a case-insensitive test, to lowercase the thing first, that works fine — until you’re running on Turkish Windows. Then, the lowercase i actually wittily, and stupidly, becomes a lowercase Turkish i, which does not compare to an integer with a dot on the i, so that code doesn’t work.

So I found on a blog some guy that was going through thousands and thousands of lines of code trying to find these cases. And he’s writing about it on his blog so that nobody else would ever make that mistake. And you can sort of see that at some point the guy would say, “Before we ship, let’s just make sure there’s a representative of the Turkish Windows team in the room signing off.” You can imagine them making up some system to prevent this mistake. And now it’s gotten to the point where, as Adam Bosworth says, it takes 16 months to get out any release of any Microsoft product. They really can’t steer that ship very fast. They spent something like a year on SP2 [Windows XP Service Pack 2] — it’s a good thing they did that, but it’s almost all cleanup, maintenance, catch-up, for security reasons.

It’s what the Army calls fatigue. Fatigue is everything in the Army that you do to keep your equipment in good working condition: polishing your shoes, brushing your teeth, making sure that you’re ready and that all your bullets are clean and there’s no sand in your gun. It’s all called fatigue, and it takes about two hours a day for an infantry guy. And it’s everything but the actual thing you’re trying to do. Microsoft has now got to the point where it’s like 80 percent, 90 percent fatigue. So even though they’re still scoring a [perfect] 12 on the Joel test, we need another category, which is “and you’re not Microsoft.”

Another problem is that everybody tries to learn about business from Google, Microsoft, eBay and Amazon — and they’re such wacky exceptions. They don’t really apply to you. I say, Microsoft makes their own gravity — they could ship a brown paper bag called Microsoft Brown Paper Bag 1.0 and hundreds of thousands of people would buy it. Or at least try it.

How did you end up working at Microsoft?

It was my first job out of college. I did a summer internship at Microsoft before my senior year. Didn’t like it. Went back full time, didn’t like it. [Laughs] Got transferred to Microsoft in New York. What I didn’t like was living in Seattle — I wanted to be on the East Coast. I transferred back to New York, spent another summer in Seattle working on MSN 1.0. Didn’t like it. Eventually realized that I was just not going to like living in Seattle, and gave up on Microsoft.

I spent a few years on Excel when it was really sort of at the peak. It wasn’t like the early days of Excel when they didn’t know what they were doing. They had learned all the good tricks, and they were performing at their peak. And of course after I left everything went downhill, because it always does. The Excel team at some point decided they didn’t really need to hog all the good people, and so they started farming out some of the best people to other teams. Once you have 100 percent market share, there’s just really no point.

Because there’s some point at which you have a product that does what people want it to do, and you’ve basically solved all the difficult problems?

Or you’ve completely hypnotized yourself into believing that you can’t solve the remaining problems, such as the limit on the number of columns that Excel has, the fact that cut and paste doesn’t work right — all those little problems.

So you say, “Those will never be solved — let’s do something else”?

Exactly. It’s kind of weird but everything that’s happened in Office since about 1995 has been more or less user interface churn. Oh, let’s put in the paper clip! Let’s take out the paper clip! Or slightly redoing the toolbars, and then you have to do it for every single product. There’s all this flotsam that’s not the actual core functionality of the product but just crap on top of it. It’s good crap, but once you get to 100 percent crap …

Have you been writing all along in your career, or is it something new?

Only for four years. Joel on Software started in summer 2000 or so. I’d written papers in college.

You weren’t writing away on the side and at some point decided to go public?

No. My job at Microsoft was program manager, and I was told my job was to write the spec, and I didn’t realize that I could have, like many other program managers, found various excuses to not actually write a spec. So I did it. It was long and detailed. What I was doing there was really writing to a large extent. I got a lot of practice with the use of the typewriter.

Your company makes a content management system and a bug-tracking tool. Which came first?

We really started three companies: a consulting business, where we made a lot of money in the first two months, then that market just completely collapsed in November 2000, and we were back to just the two founders working on the software side. We produced CityDesk, which did OK, nothing to laugh at, but it wasn’t a megahit, it wasn’t really on fire. It had some design decisions which I wouldn’t have made today, necessarily, and I still feel like there isn’t a heck of a lot of money to be made from blogging tools, basically.

The bug tracking, however, became enormously popular. We sort of had a way of doing it that resonated with people. We were very high on the usability score; we had a ready-made audience in the Joel on Software audience of people that might consider using it to spread the word. So we put most of our effort into that, and we consider that to be our lead product right now. We’re about to come out with the first beta of version 4.0.

There are so many stories of software start-ups that set out to make one thing and then find their real product in a different direction. And there are so many people making tools for developers.

That’s a common mistake I never would have made, and that’s why this was our lowest-priority thing. The mistake comes from the fact that you say, “I would want this, I would buy it — surely everybody else would buy it!” And you don’t realize quite how exceptional you are. And there’s never that large a market for development tools, although there seems to be a pretty big market for FogBugz.

I keep hearing that the market for small or medium-size independent software vendors — anyone besides Microsoft and open-source providers — is dead.

Rubbish. Completely not true, because I sell software to all those companies. There’s actually lots of software companies out there that nobody’s ever heard of because they’re in a niche. You ever heard of Blackbaud? I think it’s a couple of hundred people; they’re in, like, South Carolina. And they do software that you use for fundraising, if you’re a charity or a charitable organization. And they’re making piles of money selling to charitable organizations. They’re the No. 1 package in that particular market — Microsoft’s never going to go into it. There’s tons of good software businesses out there. Besides which, for all the fear of Microsoft, they’ve not really demonstrated the ability to move into a new market since the days of Office. How long has it taken them to get anything out of MSN that works?

Eight, nine years?

And the strategy changes every single year, and it’s never very good. You probably remember when Microsoft was trying to do content.

You mean, when was it, 1997, and they were doing “shows”?

Yeah, shows. And they were all terrible. You know why they were terrible? They were tone-deaf. It was like they knew that there should be some kind of creative person. And a creative person should generate something called content that could be thrown up on a Web site, throwing in some advertising. But they just had no ability to generate that stuff.

Can you look at software development today and say, “Things will continue the way they are, it’s just the nature of the beast,” or is there some —

Silver bullet?

Sure, silver bullet, or just some elephant in the room that we haven’t seen yet about how to do things better.

You’re familiar with [Frederick Brooks'] “No Silver Bullet” article. That’s a pretty strong theme. But it’s not like Gödel’s proof, like we now have a proof that there’s no silver bullet.

In some fields you do reach a point where there’s a giant leap of some kind that changes the way people work and think.

There have been a couple of quantum leaps in the history of programming, possibly three. But they’re not the things everybody thinks.

First of all, there are a lot of people who say they’re going to invent some new thing where the business manager is going to specify what they want the software to do and it will mechanically translate that specification, and brrrrt! The trouble is, this is a perpetual-motion machine. We keep inventing it, keep making companies to ship it, they’re always wrong. The fundamental problem that you’re trying to solve here is that humans think of things in vague, mushy terms. In order to visualize something, they don’t have to actually visualize every part of it. Whereas the programmer, in order to actually implement that thing, to create it, needs to have every part specified.

So you can imagine an airplane without even knowing what a rudder is, yet without a rudder an airplane’s not going to work very well. Partially that’s just the way the brain works. The brain is totally optimized for just looking at one thing. Just think about how the eyes work. When you’re looking at the world, you imagine that you have an extremely high resolution, extremely large screen full of billions and billions of pixels in front of you. Yet actually your eye has, I don’t know how many, but under a million pixels. And what’s really happening is, you’re just moving your eye a lot. And your brain is filling in the rest and pretending. Because you can move your eyes so fast, anything you want to see you can see, and anything you want to focus on you can focus on very, very quickly.

So your brain doesn’t actually work the way a computer works. Your brain doesn’t assume that there’s all this input coming in and then process it. Instead, it just has a variety of senses available to it, and it picks the ones it wants to answer whatever questions it has right now. So you ask questions, and your eye goes and finds out the information it needs. So you’re used to thinking that you have the big picture, and you don’t.

And with software, as soon as you start talking about how the pieces are going to fit together, you discover that the things you were imagining are going to be completely ambiguous or impossible or contradictory — instead of being as simple as you say.

One of the biggest mistakes you can make in developing software is to say, “I’m going to build this thing and it’s going to be super easy to use because it’s going to be super simple, it’s going to be unbelievably simple.” And then you say, “OK, how am I going to do footnotes?” Oh, well that’ll be real simple — you just ask for a footnote and you type a footnote, and it’ll just be there. Well, what if the footnote is too long to fit on the page it’s currently on? Um, I don’t know — maybe you have to move part of the footnote onto the next page. Suddenly, it’s not so simple.

As soon as you start to think about how to get everything to really, really, really, really, REALLY work, it becomes much more complicated. So software starts out with a simple vision and it grows a million little hairy messy things. And depending on the quality of the initial vision, those hairy things may be more or less hairy, but they’re going to exist.

And therefore, because software seems so simple and is actually complicated, you can’t implement it until you specify the complication. And all these people that are trying to make the same perpetual-motion machine — where you just write your specification and it automatically becomes code — don’t realize that the specification has to be as detailed as the code in order to work.

In order for it to be translatable into code, or in order for it to become the code.

Right. Isaac Bashevis Singer, I believe, wrote in Yiddish, if I’m not mistaken. But very few people ever read him in Yiddish. The first thing that happened to almost everything he wrote was that it was translated into English. And so it’s almost as if the goal is to create an English-language short story, but you can only write in Yiddish. And you’re going to really have to write the whole story in utter detail, and then it will get mechanically translated.

But now somebody tells you, No, don’t even bother writing the story in Yiddish — just tell me what happens, and I’ll write the story for you in English. Just give me the gist of the story.

So you say, OK, it’s gonna be sort of a love thing, in the shtetl, in Eastern Europe. The guy is a young man, he’s enthralled with the Communist Party. The woman is sort of a traditional Jew from an Orthodox family, and so her father is not very happy with this guy. Make a story out of that. You can’t. It’s not enough of a specification. You’ve got to tell me the guy’s name; you’ve got to tell me what he says and what happens. Otherwise it’s not a story. So because there’s this last-minute phase in which the Yiddish is translated into English, that deceives people into thinking that you could translate anything into Yiddish, including your …

Hold on, I’m trying to follow the analogy here! The Yiddish is the equivalent of …?

The Yiddish is the C++. The English is the machine language code. Just because there is that compilation stage doesn’t mean that the C++ level, the programming language level, doesn’t actually have to specify everything that’s going to happen. And so what a programmer is doing when they translate a quote unquote spec into quote unquote code, although it seems like a translation process, what they’re actually doing is filling in lots and lots of details. And as programmers are wont to do, they’re trying to take something, the vague thing that the humans want, and make it very, very specific, which is the kind of thing the computer wants. That’s not really a translation; it’s more of an interpretation. It’s a very hard thing to do.

The perpetual-motion machine is where you say, let’s just take these business requirements that some business guy came up with and suddenly, instantly make code from them. And that doesn’t work, because the business requirements don’t actually specify what to do with the footnotes when they run off the bottom of the page. And the computer’s going to have to know.

You’re saying there’s a ton of work between the general requirements and the detailed specifications.

There’s requirements, specifications, code — there’s many levels. If you think of the requirements as being this paragraph, and the specification as being this page, and the code as being several pages, at each point, you’re adding more detail. And in fact you can go straight from the requirements to the code, and most people try to do that. The trouble is, it’s like eating your meat without chewing it — you tend to choke a little bit. Whereas the specification is just a hope that before you actually start on the code you can think of as many problems as possible and solve them when it’s still easy to make changes, before you get into the code and it’s more costly to make changes.

So there are a lot of false messiahs in the programming world, which is where the “no silver bullet” concept comes in. On the other hand, there have been big steps forward in productivity; they’re just not as exciting as people think.

Fortran was the first one, where the idea was you would actually write out your equations, and you would be able to write formulas, you know, (I+J) x 2, as opposed to writing LOAD 2, LOAD I, multiply, blah blah blah, in assembler language.

The second thing was Algol, the first procedural programming language, where the idea was you could actually group concepts of subroutines and functions and pieces of code; certain things like the “while” loop were invented, which made another leap forward, in that code could become that much more abstract and modular. A lot of people at this point would add object-oriented programming as a big leap forward. I just don’t include it as a leap forward in productivity. I’m not saying it’s a bad thing, just not as big a leap as these other things.

And the third big leap is what they call the memory-managed languages. Languages with either garbage collection or with reference counting or some other mechanism so you don’t have to decide where memory comes from.

Your essay on “How Microsoft Lost the API War” argues that Web-based applications are winning out over desktop-based “rich client” programs. Is everything headed in that direction?

I don’t know if Photoshop will ever quite go to the Web. There’s two limitations to the Web: One is the quality of the user interface you can create, which is deliberately hobbled by incompatibilities between Javascript implementations and DOM and stuff like that, deliberately hobbled by Microsoft pulling the plug on Internet Explorer development. So it’s interesting to see if that will ever get any better. I hope it will.

I think what’s likely to happen is that Firefox right now already has enough market share, or will in the next couple of months, to make it a testing requirement for almost every serious Web developer. Which means that in the next six months, if there were any Web sites that aren’t compatible with Firefox, they will rapidly disappear. Everybody says, “I gotta keep Internet Explorer around for my bank!” Those things are rapidly disappearing.

Once that falls away, you really will have a full choice, Firefox or Internet Explorer, so there will be zero reason left not to go to Firefox. And then you’ll start to see a lot more of a real 50/50 kind of split, or 30/70, whatever. And so now there’s actually a possibility that Firefox might be able to implement some innovations, as long as they downgrade gracefully on Internet Explorer somehow.

So one of the things that might be neat that they could do is, give me a text area, in the text area tag let me say “HTML = true” or something, and that text area becomes a rich edit, and it submits HTML, with little bold tags and italic tags. As a Web designer, I don’t care what the user interface is, that’s entirely up to the Web browser, so Web browsers could show me a little italic button, a bold button, maybe a toolbar and keyboard shortcuts — that’s something the browsers could compete with, how good an HTML editor they give you. So then anybody making any kind of content management system can instantly let you edit rich text, with just this one little tag.

Anyone who uses any kind of Web application would be very grateful.

As soon as you start doing things like that, then the limitations of the Web as a platform will start to fall away very quickly. I don’t know if you’d ever get a serious word processor in a Web browser. Maybe you could.

There’s a couple of other issues which would be nice to solve. One is to give you a way to work offline in limited circumstances. Let’s say you wanted to make Gmail, but Gmail where you could actually take it on a plane and work offline, read your e-mail and send e-mail, queue it up for delivery. And so somebody could develop some kind of standardized system for doing that kind of offline work. Adam Bosworth has been working on this a lot — we’ll see if anything comes out of that, now that he’s at Google. That would be cool.

But the funny thing is, Bosworth has been talking about this same problem for a long time — he’s just obsessed with the person on the airplane. And, lo and behold, airplanes are actually getting Internet connections. And Wi-Fi is spreading like crazy. What’s kind of surprising is that it has turned out to be easier to rewire the entire world for high-bandwidth Internet than it is to make a good replication architecture so you can work disconnected! It’s actually far more likely that this problem will be solved that way, oddly enough.

The other problem is the richness of the user interface. If you want to make an application like, say, Photoshop, doing it on the Web would really suck. But there are ways you could consider making that happen. If you could have billions of gallons of Javascript, and if the Web browser gave you simple drawing capabilities and a simple canvas to draw on, then you could implement Photoshop 100 percent in Javascript. Trouble is, it’s a lot of code, and Javascript is not an efficient language; it’s not fast, and for security reasons, it’s actually hobbled in all kinds of ways that people don’t even know about. For example, by the time you give it about 500,000 Javascript statements, the Web browser just turns it off.

It assumes either you’re broken or you’re hostile?

You’re trying to attack it. So work around some of these other problems, figure out how to get Javascript compiled, and fast. If you could address every one of these issues — which are not so hard to address, not more than a couple of years’ development work for someone like Microsoft or Google or Netscape — then that’s it for the rich applications. It’s over.

The reasons people like rich applications are like, “Look, you can multi-select seven things in a folder!” I know, I love that stuff, too. But you know what, there’s a different Web interface for that — you put little check boxes next to those seven things, and then you press a button saying “move,” and then you choose a folder. OK, it’s not super good, but for one, it’s easier for most people to use. It’s a bit of a step backward; I’m a little bit disappointed. There’s latency on the Web where you wait for the next page to come on; you’re always waiting for things. But those are things good programmers can work around. I’m sort of surprised they haven’t. It’s surprising what you can do with Javascript and Flash.

It feels like in the last year we’ve begun to see more of that, from Gmail –

Oddpost. Flickr. And there really is a large crowd of people who like having everything on the Web where they can access it everywhere. Not just college students. My dad travels a lot, giving lectures all over the world, and he has switched to Gmail.

There’s more writing about programming on the Web today than ever before — it seems like every developer on the planet has a blog. If this much expertise is being shared, won’t that improve the quality of the software being built?

Partially yes. But the majority of people still don’t read. Or write. The majority of developers don’t read books about software development, they don’t read Web sites about software development, they don’t even read Slashdot. But it is true that Microsoft used to have some severe advantages. They knew this stuff, they’d figured it out, and lots of other people hadn’t. Not just Microsoft — Lotus, whatever.

Places with big groups of developers sharing their tricks.

Yeah. And Digital. That was Digital’s great strength, in those years, though they were more engineering. But even in software, they had a culture of managing engineering. Today, as I look around, even though it’s all on the Web, and there’s a million things you can read about how to make your software project work well and so forth, you still see the same old characters in Silicon Valley that should know better by now, because it’s their third company, making the same mistakes, doing the same things wrong. Making the same silly assumptions.

That’s just human nature — the march of folly.

It’s not even folly. You can sit there and preach, “You should do this!” And even if it’s a very convincing argument, that doesn’t necessarily cause institutional knowledge of why you should do it to be transferred. There’s much to be said for learning from experience.

And the truth is, things have changed so rapidly in programming and computer technology that a lot of the time, when you’re learning from experience, it may be wrong. For example, I wanted to learn how to market software. There’s this great book by this guy Rick Chapman, who has taken over Softletter, the software industry’s newsletter. And he’s got this big thick book — he sells it for like $100 on his Web site — and it’s everything you need to know about marketing software. It’s really great. It talks all about how to get into CompUSA and Egghead, and retail boxes, the companies that will make the boxes for you, and how you get your CDs duplicated, all this kind of stuff. Great details about all the incentive programs you use to make sure that CompUSA puts your box at eye level. All wrong!

All ancient history in the era of downloadable software.

So even if people hung around long enough in this industry to learn from them, you are right to be skeptical of your elders. Your elders may be wrong. I was writing about the benefits of the rich client years ago, and I was wrong. Not thoroughly wrong — there are still benefits. But anybody who listened to me made a mistake.

Salon co-founder Scott Rosenberg is director of MediaBugs.org. He is the author of "Say Everything" and Dreaming in Code and blogs at Wordyard.com.

Latest WikiLeaks: Microsoft aided dictator

Bill Gates' deal with the government of Tunisia, and other instances of officials and corporations behaving badly

  • more
    • All Share Services

Latest WikiLeaks: Microsoft aided dictatorBill Gates and former Tunisian President Zine el Abidine Ben Ali.

(UPDATED BELOW)

Politicians and corporations behaving badly: that’s one theme that emerges from the latest secret State Department cables released by WikiLeaks.

The new revelations don’t measure up to the seriousness of the alleged massacre of civilians by U.S. troops in Iraq that I delved into over the weekend. But they are still very much worth noting.

A cable from 2008 titled “Mayawati: Portrait of a Lady” reports that the chief minister of India’s Uttar Pradesh state (the country’s most populous) once dispatched an empty private jet to Mumbai to procure her favorite brand of sandals:

Mayawati’s full majority victory in May 2007 UP State Assembly elections left her beholden to no one and has allowed her to act on her eccentricities, whims and insecurities. When she needed new sandals, her private jet flew empty to Mumbai to retrieve her preferred brand. According to Lucknow journalists, she employs nine cooks (two to cook, the others to watch over them) and two food tasters.

At a press conference today, Mayawati called the report “wrong, baseless, and disgusting.” She also asked that Julian Assange be put “into a mental asylum.”

Read the original cable here.

Jumping over to the Middle East and North Africa, two more revelations of interest: First, it appears that U.S. diplomats were skeptical of a deal between Microsoft and the now-deposed dictator of Tunisia, Zine al-Abidine Ben Ali.

In a September 2006 cable flagged by ZDNet, an official at the embassy in Tunis expressed reservations about a deal that provided “for Microsoft investment in training, research, and development, but also commits the GOT [Government of Tunisia] to using licensed Microsoft software.” The basic concern was that the software giant would be helping Ben Ali’s regime oppress Tunisians more effectively.

Wrote the author of the cable:

Microsoft’s reticence to fully disclose the details of the agreement further highlights the GOT emphasis on secrecy over transparency. In theory, increasing GOT law enforcement capability through IT training is positive, but given heavy-handed GOT interference in the internet, Post questions whether this will expand GOT capacity to monitor its own citizens. Ultimately, for Microsoft the benefits outweigh the costs.

The company did not comment to ZDNet. I’ve asked Microsoft for comment and will update this post if I hear back.

Finally, a cable from Iraq flagged by AFP provides a snapshot of the ever-increasing reliance on private military contractors by the United States. The basic concern was that Iraq, which had already banned Blackwater from the country after the notorious 2007 Nisour Square shooting, would also ban all former Blackwater employees. And the U.S. still relied on the same corps of former Blackwater employees who had joined other firms like Triple Canopy and DynCorps.

From a January 4, 2010 cable:

[A government spokesman] also indicated that the GOI [Government of Iraq] might expel former Blackwater employees out of Iraq, potentially complicating security services for the Embassy. …

[T]here are many former Blackwater employees at other private security companies in Iraq, most notably Triple Canopy and DynCorps providing security services to us.

Another cable written a week later reported that, “The Embassy understands that Triple Canopy currently employs several hundred former Blackwater employees.”

UPDATE: A Microsoft spokesperson sends along this statement:

Microsoft partners with countries around the world to help spur local IT innovation and job creation, help broaden access to IT, and to enable governments to adopt IT in the delivery of services to citizens. This has been the focus of our work in Tunisia.

Continue Reading Close
Justin Elliott

Justin Elliott is a reporter for ProPublica. You can follow him on Twitter @ElliottJustin

Microsoft to buy Skype for $8.5 billion

Purchase will mark largest acquisition in the software maker's 36-year history

  • more
    • All Share Services

Microsoft to buy Skype for $8.5 billion

Microsoft Corp. said Tuesday that it has agreed to buy the popular Internet telephone service Skype SA for $8.5 billion in the biggest deal in the software maker’s 36-year history.

Buying Skype would give Microsoft a potentially valuable communications tool as it tries to become a bigger force on the Internet and in the increasingly important smartphone market.

Microsoft said it will marry Skype’s functions to its Xbox game console, Outlook email program and Windows smartphones. The company said it will continue to support Skype on other software platforms.

The sellers include eBay Inc. and private equity firms Silver Lake and Andreessen Horowitz.

About 170 million people log in to Skype’s services every month, though not all of them make calls. Skype users made 207 billion minutes of voice and video calls last year.

Most people use Skype’s free calling services, which has made it difficult for the service to make money since entrepreneurs Niklas Zennstrom and Janus Friis started the company in 2003. An average of about 8.8 million customers per month, or just over 1 percent of the user base, pay to use Skype services.

Skype lost $7 million on revenue of $860 million last year, according to papers that the company has filed since announcing its intentions last summer to launch an initial public offering of stock. The IPO was later put on hold. Skype’s long-term debt, net of cash, was $543,883 at the end of 2010.

The Skype takeover tops Microsoft’s biggest previous acquisition — a $6 billion purchase of the online ad service aQuantive in 2007.

Microsoft said Skype will become a new business division headed by Skype CEO Tony Bates, who will report directly to Ballmer.

Although it makes billions from its computer software, Microsoft has been accustomed to losing money on the Internet in a mostly futile attempt to catch up to Google Inc. in the lucrative online search market. Microsoft got so desperate that it made a $47.5 billion bid to buy Yahoo Inc. three years ago, but withdrew the offer after Yahoo balked. Yahoo is now worth about half of what Microsoft offered.

Microsoft would be Skype’s second large-company owner. EBay bought Skype for $2.6 billion in 2005, but its attempt to unite the phone service with its online shopping bazaar never worked out. It wound up selling a 70 percent stake in Skype to a group of investors led by private equity firms Silver Lake and Andreessen Horowitz for $2 billion 18 months ago.

Besides eBay, Silver Lake and Andreessen Horowitz, Skype’s other major shareholders are Joltid and Canada Pension Plan Investment Board.

 

Continue Reading Close

Steve Jobs beats Microsoft with an iPad club

The last time life was this good for Apple, the PowerBook was new and Windows 3.1 had yet to launch

  • more
    • All Share Services

Steve Jobs beats Microsoft with an iPad clubThe Mac Classic II

The news that for the first time in 20 years, Apple’s quarterly net profit — $5.99 billion — has exceeded Microsoft’s — $5.23 billion — is remarkable for a couple of reasons. First, there’s the fact that the massive success of the iPad has pounded the market for consumer laptops and notebooks running Windows.

From Bloomberg:

Consumer PC shipments dropped 8 percent in the quarter, Microsoft Chief Financial Officer Peter Klein said. Netbooks — the cheap laptops that became popular during the recession — plunged 40 percent, partially because of defections to tablet computers, he said.

When Steve Jobs debuted the iPad 15 months ago, critical appraisals were all over the map, from effusive to dismissive, but I don’t think even the most gaga fanboy predicted that in little more than year the tablet would have meaningfully reshaped the entire personal computing industry.

But the symbolism here is even more powerful. In 1991, Apple was still pumping out popular products — that year the company introduced its first serious laptop, the PowerBook 100, along with its high-end Quadra and the iconic-looking Mac Classic II.

Then, in April 1992, Microsoft released Windows 3.1 and brought the mouse and multitasking to the PC masses. And that was that. Apple’s attempt to sue Microsoft for coopting the “look and feel” of the Macintosh in earlier iterations of the Windows operating system failed miserably, and for most of the 1990s, the company was an also-ran. Die-hard Apple lovers still claimed aesthetic superiority over the commodified Windows-Intel nexus, but they were like yapping Chihuahuas — indefatigable and noisy but hardly dangerous. Microsoft proceeded to throw its weight across the entire industry, crushing its competitors and even shrugging off the best antitrust efforts of Bill Clinton’s Department of Justice.

And yet now the iPad and the iPhone rule supreme — where litigation failed, a superior design philosophy has triumphed, at least for now. It’s one of the most extraordinary stories in the history of personal computing.

Continue Reading Close
Andrew Leonard

Andrew Leonard is a staff writer at Salon. On Twitter, @koxinga21.

Nokia, Microsoft in pact to take on Apple, Google

World's largest mobile maker will use Window's software as the main platform for its smartphones

  • more
    • All Share Services

Nokia, Microsoft in pact to take on Apple, GoogleSmartphones like the Nokia 5800 will now be programed with Microsoft Window's Phone software in a partnership aimed at taking consumers away from iPhones and Androids.

Technology titans Nokia and Microsoft are combining forces to make smart phones that might challenge rivals like Apple and Google and revive their own fortunes in a market they have struggled to keep up with.

Nokia Corp., the world’s largest maker of mobile phones, said Friday it plans to use Microsoft Corp.’s Windows Phone software as the main platform for its smart phones in an effort to pull market share away from Apple’s iPhone and Android, Google’s software for phones and tablets.

The move marks a major strategy shift for Nokia, which has previously equipped devices with its own software. Analysts said the deal was a bigger win for Microsoft than Nokia, whose CEO Stephen Elop in a leaked memo this week compared his company to a burning oil platform with “more than one explosion … fueling a blazing fire around us.”

Nokia said the partnership would “deliver an ecosystem with unrivaled global reach and scale.” However, it warned that the new strategy would also bring “significant uncertainties,” and said it expects profit margins to be hit by strong competition from rivals.

Nokia’s share price plunged 9 percent to euro7.43 ($10.11) in afternoon trading in Helsinki.

Elop, a Canadian national, joined Nokia from a senior executive position at Microsoft last year. The first non-Finn to lead Nokia, he is under intense pressure to reverse the company’s market share losses to North American and Asian competitors.

“Nokia is at a critical juncture, where significant change is necessary and inevitable in our journey forward,” Elop said. He added the company was aiming at “regaining our smart phone leadership, reinforcing our mobile device platform and realizing our investments in the future.”

Speaking later to analysts in London, he declined to say when Nokia would introduce a new device running on Windows Phone. But he said Nokia won’t bury its own Symbian operating system or the new Meego platform that it is currently developing.

The Symbian technology is being used in 200 million phones with 150 million more expected on the market, Elop said.

Android surpassed Symbian to become the world’s No. 1 smart phone software in the fourth quarter of last year, according to the Canalys research firm.

Microsoft CEO Steven Ballmer said the partnership would give the team “more innovation, greater global reach and scale.”

“We need to, and we will, collaborate closely on development … so we can really align and drive the future revolution of the mobile phone,” he said.

The key challenge will be to come up with devices of a quality level and hip factor that helps position Windows Phone as an attractive alternative to iPhone or Android.

Windows Phone 7, which was launched last year, still has a lot of catching up to do in terms of both the number of users and the number of “apps” available for the phones.

Nokia said its expertise in developing new software with Microsoft will be “on top of the platform in areas such as imaging, where Nokia is a market leader.” Its map services will be a core part of the new device as will Microsoft’s Bing search engine, Nokia said.

Neil Mawston of London-based Strategy Analytics said Microsoft was the big winner in the partnership, by teaming up with the biggest mobile hardware vendor in the world.

“In terms of expanding their distribution reach, this is a huge win for Microsoft,” he said.

For Nokia the deal leaves uncertainty about what will happen to its current Symbian operating platform. Mawston said he expects it to be phased out within two years and “completely, or at least mostly, replaced by Windows Phone.”

Although Nokia still is the mobile industry’s biggest handset maker, its market share has plummeted from a high of 41 percent in 2008 to 31 percent in the last quarter of 2010.

It has also lost its innovative edge in the fiercely competitive top-end sector and is virtually invisible — with a 3 percent share — in the world’s largest smart phone market, North America.

Apples’ iPhone has set the standard for today’s smart phones and Research In Motion Ltd.’s BlackBerrys have become the favorite of the corporate set. More recently, Google Inc.’s Android software has emerged as the choice for phone makers that want to challenge the iPhone.

“Today, developers, operators and consumers want compelling mobile products, which include not only the device, but the software, services, applications and customer support that make a great experience,” Elop said.

He warned of further layoffs and restructuring, saying Nokia must “improve the speed and nimbleness and agility of the organization … by taking significant steps in how we operate.” He gave no details.

The company said it will announce a new leadership team and organizational structure “with a clear focus on speed, results and accountability.”

Nokia, which claims 1.3 billion daily users of its devices, said it hopes the “broad, strategic partnership” with Microsoft will lead to capturing the next billion users to join the Internet in developing growth markets.

Jyrki Ali-Yrkko, from the Research Institute of the Finnish Economy, described Nokia’s cooperation with Microsoft as “surprising.”

“The strengths will be in Microsoft’s strong position in various corporate solutions and server solutions, but its weakness is that Microsoft perhaps doesn’t have a broad, user-oriented group of developers like those around Android or Apple,” Ali-Yrkko said.

——

Online:

Nokia: http://www.nokia.com

Continue Reading Close

Ray Ozzie leaves Microsoft

He was considered a possible heir apparent; his departure is bad news for the software giant

  • more
    • All Share Services

Ray Ozzie leaves MicrosoftRay Ozzie

Ray Ozzie gave me hope for Microsoft. When he joined the software behemoth after it bought his collaboration-software company, Groove Networks, he brought qualities to the executive suite that Microsoft sorely needed. The most notable was an appreciation that the software world was moving toward models of cooperation with others as much as plotting their ruination. He was considered a potential, even likely, successor to Steve Ballmer, the only other CEO Microsoft has had besides Bill Gates.

So much for that idea. Ozzie’s departure, announced today in a weirdly low-key manner, shows that Microsoft is still struggling to define itself for the Internet era.

Ozzie was the company’s Chief Software Architect, a position held previously by Bill Gates after he stepped down as CEO. It was an ideal fit: Ozzie’s technical talent and vision for what we could do with technology were extraordinary. At Microsoft he headed up an effort to move the company toward the era when software was more online than not, a sea change for a company that had for its entire existence been all about what amounted to packaged goods.

I’ve been an Ozzie fan for years. To journalists who covered his doings, he was patient in helping us understand what he was doing. Just what that was could be hard to grasp, given how far ahead of his time he proved to be on project after project at several companies including Groove and, before that, Lotus Notes.

For all his qualities, Ozzie didn’t push Microsoft fast enough toward the future, or else his pushing was resisted. Microsoft dallied way too long to get into the “cloud” where software becomes as much as service as a product you buy. The competition — Google, Amazon and others — is more entrenched now, and for all the formidable technical talent at Microsoft, the company hasn’t caught up in key areas. Keep in mind, however, that Microsoft’s bread and butter (and gold and diamonds) remains in the licensed-software market, where it’s still an absolutely huge and immensely profitable enterprise.

It’ll be fascinating to see what Ozzie does next. I find myself hoping he’ll try something in the social-entrepreneurship arena. Certainly he can live with a lower paycheck than most of us.

As for Microsoft, which keeps losing (or expelling) top executives, the questions grow more urgent. Ballmer has been a better CEO than his critics say, but if the board isn’t pushing him to line up a solid successor, and soon, the directors are falling down on the job.

 

Continue Reading Close

A longtime participant in the tech and media worlds, Dan Gillmor is director of the Knight Center for Digital Media Entrepreneurship at Arizona State University's Walter Cronkite School of Journalism & Mass Communication. Follow Dan on Twitter: @dangillmor. More about Dan here.

Page 1 of 55 in Microsoft