Strong opinions, weakly held

Tag: best of

Is the iPad the harbinger of doom for personal computing?

In 2002, there was a lot of fear of Microsoft’s trusted computing platform, Palladium. The idea was that Microsoft was going to add new security to computers that was enforced in the hardware which would put an end to viruses and some other security problems but would also fundamentally change the relationship between computers and their users. Your computer would no longer be fully under your control, nor would it be functionally anonymous. Steven Levy’s original article hyping Palladium explains the purported benefits, then Ross Anderson explained what was scary about it.

In the end, Palladium was a total failure. It never went anywhere. But people at the time reacted very strongly when the traditional idea of the general purpose personal computer was threatened. People were afraid that if Palladium were implemented, the PC maker, application developers, and media companies would all be able to exert control over your experience.

Now we turn to Apple’s iPad. It’s just an iPod Touch with a big screen, but that’s all that many people need from a computer. You can use it to surf the Web, read email, listen to music, watch video, or compose documents. That’s the personal computer use case for many people. And I think a lot of people are going to buy them.

The fundamental difference between a Mac and an iPhone is that I can run any software I want on my Mac. I can buy it on a DVD, I can download it from the Internet, or I can compile it myself. I can get rid of OS X and install another operating system. The Mac is a general purpose computer in the classic sense. The iPhone is not.

Apple decides which software I can run on my iPhone. Apple provides the only means by which I can get it. The platform is for all intents and purposes, closed, and the hardware is closed as well. Sure, the iPhone is great to use, but the price of using it is that you’re rewarding Apple’s choice to bet on closed platforms.

What bothers me is that in terms of openness, the iPad is the same as the iPhone, but in terms of form factor, the iPad is essentially a general purpose computer. So it strikes me as a sort of Trojan horse that acculturates users to closed platforms as a viable alternative to open platforms, and not just when it comes to phones (which are closed pretty much across the board). The question we must ask ourselves as computer users is whether the tradeoff in freedom we make to enjoy Apple’s superior user experience is worth it.

The Setup just published an interview with free software pioneer Richard Stallman about the tools he uses. He uses a crappy Chinese netbook as his only computer:

I am using a Lemote Yeelong, a netbook with a Loongson chip and a 9-inch display. This is my only computer, and I use it all the time. I chose it because I can run it with 100% free software even at the BIOS level.

If Apple is really successful, it’s likely that other companies will be more emboldened to forsake openness as well. The catch is that customers won’t accept the sudden closing of a previously open platform, that’s one of the reasons Palladium failed. But Apple has shown that users will accept most anything in an entirely new platform as long as it offers users the experience they want.

I think that it’s a real possibility that in 10 years, general purpose computers will be seen as being strictly for developers and hobbyists. The descendants of the iPhone and iPad and their competitors will rule the consumer market and people will embrace the closed nature of these platforms for the same reason that Steve Levy hyped Palladium almost 10 years ago — because what you get for trading off freedom is reduced risk. There will be few (if any) viruses, and applications will “just work.”

General purpose computing is too complicated for most people anyway, and the iPad’s descendants along with similar competing products from other companies will offer an enticing alternative. So I see the death of the traditional, open personal computer as a likely occurrence.

Will closed personal computing matter?

The other question that arises for me is whether, in the the long term, the computer you hold in your hand really matters. If all of the applications we use run on other people’s Web servers, and all of our data lives in the cloud, then the fact that our computers are closed appliances we use to get to the Web isn’t such a big deal.

When you look at the performance curve for JavaScript, it does not seem unreasonable to me to imagine that one day in the not too distant future there will be no difference in performance between desktop applications and applications running in the browser. Apple has done a lot to make it possible to build Web applications that are nearly indistinguishable from iPhone applications. It seems likely that every platform vendor will be following their lead, so for most users it won’t matter whether they launch an application by clicking on an icon or by choosing a bookmark in their browser. Indeed, on the iPhone you can already assign icons to Web sites as though they are full-fledged applications.

I foresee an era where people who really care about computing freedom use whatever closed personal computer is available, but run their open source applications on a virtual machine in the cloud somewhere running an open source operating system. Their data is stored in some other location, perhaps in encrypted format so that the fact that it’s not in their physical control matters less. It’s not quite the same as the traditional definition of a “personal computer” but it’s not any less free than what we have now, and it provides the benefit of being accessible from anywhere with an Internet connection.

A future where applications and data in the cloud are more our own than the computers on our desks seems bizarre, but I can see things playing out that way.

For more on the threat to open computing posed by the iPhone platform, check out this piece from Create Digital Music.

Do you want to be in the software business?

Tim Bray’s post, Doing It Wrong is a great summary of the overall problem with large IT projects, contrasting the traditional practices of corporate IT with the more iterative, more realistic approaches used by Internet companies.

Having worked on dozens of projects over the years, this is a topic about which I have some thoughts.

Years ago it occurred to me that Amazon.com was a software company. That’s not news to anybody any more now that they’ve turned pieces of their infrastructure into cloud computing products that they lease out, but I realized it long before Amazon announced their Web services products, and even before they started outsourcing their online store and logistics to other retailers like Borders and Toys R Us. Early on, Amazon was thought of as a retailer, but their retail strategy was based on building the best software for running an online retailer. My guess is that Amazon.com knew from the beginning that they were in the software business, but a lot of companies that expend a large share of their resources building software don’t.

What I’ve also realized is that the best way to avoid failed software development projects is to avoid starting software development projects. Awhile back I worked with an organization that I won’t name. They were a very small shop that had a Web site, an online store, and an internal membership management application. All of them were custom and were maintained by an in house IT person who also performed every other IT task for this organization. The total head count at this organization was maybe five people, and yet they were maintaining complex applications built using ColdFusion and FileMaker. They had decided to rewrite these applications, combining them into a single application built using Ruby on Rails. The project was not successful.

While the scale was vastly different, the project was very similar to many massive IT projects. This organization’s entire business was run through this legacy software and the budget was very large by their standards. The rewrite was behind schedule, the requirements were not gathered well so the resulting application was not a good replacement for the (terrible) applications it replaced, and they were on the hook to keep Rails expertise in house or on retainer indefinitely because of this completely custom, highly specialized application they had built.

When I talked to them about fixing the new application, the question that popped into my mind was, “Do you guys even want to be in the software business?” Committing to this custom application meant that they would invest a sizable chunk of their resources into software development forever, and they lacked the expertise to manage such a project. The right solution for them really was to dump their custom application and use whatever existing software they could afford that would allow them to move forward, even if it was quite different from what they had before.

I think that’s true for a lot of organizations. The question people need to be asking is how little custom software can they get away with having. The ideal number is zero. If you’re working at one of those web design that rolls a new content management system for every customer, you’re doing your customers a disservice. Honestly, if you’re selling them your own proprietary CMS you’re probably doing them a disservice.

Software developers like to build things. And most developers are confident that they can provide something that perfectly solves whatever problem they’re confronted with as long as they can write it from scratch. Developers are horrible at estimating the long term costs of building applications yourself. And they have an incentive to be bad at it, because if they were good at it, nobody would let them loose to write custom software.

The first question everyone should ask when thinking about building custom software is, does building this give me a tangible strategic advantage over the competition? Specifically, does it provide enough of an advantage to make up for the amount you’ll spend on initial development and on maintenance and improvements going forward. Account for the fact that packaged software will likely be improving over time as well, so your custom solution may be great today, but the feature set in the packaged solution may blow away what you have two years down the road.

The second question is, how small can you start? The larger the project, the more likely it is to fail. And by small, I mean relative to the capabilities of your organization. If you have one in house developer who has other responsibilities as well, pretty much any project is large. You want to start with something you can release right away. Starting small is easier when you’re doing something totally new and difficult when you’re trying to replace something that already exists, but that’s really a warning against replacing things. Replacements for existing applications are the projects that are most likely to fail.

The Line Diet

Like many people whose occupation and hobbies both involve sitting at a desk, I could stand to lose some weight. We’ve arrived at the time of year when a lot of people think that they could stand to lose some weight, too, and so I thought I’d talk about an approach to eating that has been working for me — the line diet. I read about the line diet this summer in a blog post at kottke.org. But before I talk about the line diet, I want to talk about weight loss in general.

There are hundreds of approaches to losing weight, but at the most basic level, they all work the same way. Losing weight requires you to consume less calories than your body uses. You can break it down mathematically. You have to deprive your body of 3,500 calories to lose one pound. If you eat 3,500 surplus calories, you’ll gain a pound. To lose a pound a week, you have to eat 500 fewer calories per day on average than your body is using. Diets are tools for managing your caloric consumption (making sure you’re eating the number of calories you intend to), managing your appetite, and in theory, managing your metabolism (encouraging your body to burn more calories than it would otherwise).

For starters, I’m not a believer in any diets that I’d classify as “metabolism hacks.” The most famous of these is the Atkins diet. I know a lot of people who have successfully lost weight that way, but most of them gain the weight back when they go back to eating a “normal” diet. In a more general sense, I’m not a fan of any diet that discourages you from eating normal meals consisting of fruits, vegetables, carbohydrates, and protein. I also find these sorts of diets aesthetically offensive.

Beyond that, I don’t have any opinion on diets. People should be on the diet that enables them to manage their food consumption and achieve their goals. If it works for you, do it. If it doesn’t, do something else. Some people eat one or two meals a day and feel fine, other people need to eat five meals a day to keep from going around hungry all the time. The world is full of people who want to tell you that one way works better than others, but everybody is different. The only thing that matters is whether the way you’re eating is helping you get to where you want to be. On that same note, if you’re not really committed to managing how much you eat, no diet is going to work for you. Just skip it until you’re ready to commit, you’ll be happier.

steve-ward-diet.png Back to the line diet. The graph here illustrates the entire concept. The Y-axis on the graph represents your weight, and the X-axis represents time. You plot your current weight at spot 0 on the X-axis, and plot your desired weight to the right on the date you hope to reach that weight, then you draw a line connecting them. Every morning when you wake up, you weigh yourself and plot your weight on the chart. If your weight is above the line, you “eat light” and if it’s below the line you eat whatever you want. I never drew a graph, instead I bought the iPhone application Bang Bang Diet, so every morning I just weigh myself and punch in my weight.

I’ve been using the application since August, and my goal was to lose about 20 pounds before January 1, 2010 — a little more than a pound a week. I am currently a bit below my end of year goal, so the project has been a success. The question is, why has it worked?

I knew I didn’t want to go on a diet that involved tracking or counting calories in any way. I know that works well for many people, but the accounting overhead just wasn’t something I was interested in. I also didn’t want to deal with dietary restrictions of any sort. Psychologically, that just doesn’t work for me.

The only thing you absolutely must do on the line diet is take “Eat Light” very seriously. If you really eat light, you will lose weight. The catch is that if you eat too much on “Eat Normal” days, you’ll see a lot of “Eat Light” days. It took me about a week to figure out that the best way to succeed is to eat less every day — my goal from the beginning has been to avoid “Eat Light” days entirely. That never worked out — I find that my line is pretty jagged, as soon as I hit a new low, I tend to gain two to four pounds, and sometimes that puts me over the line and I have to eat light. I almost never eat as much on any given day as I ate almost every day before I started the line diet.

I mentioned above that diets serve two functions (metabolic hacks aside) — managing caloric intake and managing appetite. The line diet only takes on the first, managing caloric intake. As far as managing appetite goes, I just got used to being hungry more than I was used to. The most powerful feature of the line diet for me is that you’re accountable to the scale (and to yourself) every morning. It’s a powerful incentive not to go for seconds or to snack thoughtlessly. I also try to eat the minimum possible to kill my appetite. One of my neighbors is this incredibly skinny Italian lady. She came over once and saw we had some candy she really likes. She took one 30 calorie piece (I looked it up). I learned something from that.

I still have no idea how many calories I eat every day (although it wouldn’t be hard to figure out), and I didn’t start thinking about how many calories are in a pound or how many calories I wasn’t eating until Thanksgiving, when I read in an article that there are 3,500 calories per pound. I just became a lot more deliberate about what I ate.

I have no idea if the line diet will work for you, but I’m very pleased at how well it’s worked for me. Good luck in keeping up with your New Years’ resolutions.

Update: One tool I’ve found essential in following the line diet is a really nice bathroom scale. I have a Soehnle scale that is very accurate and weighs to a tenth of a pound.

Update (January 5, 2011): Here’s a link to my “one year later” post.

Close votes are a feature, not a bug

I’ve seen a somewhat common piece of bad analysis I’ve seen over the past week, and have been surprised to see people correct it. As you may know, the House of Representatives passed a health care reform bill last night, 220 to 215. 39 Democrats voted against it. The fact that the Democrats couldn’t get everyone on board is being treated as a flaw in their strategy when in fact I’m sure their leadership sees it as the key. The bill passed in the House will be merged with whatever bill is passed in the Senate, and that’s the bill both the House and Senate will vote on again to be sent to the President for signature.

Every vote over the minimum necessary to secure passage represents compromises that the Democrats as a group would prefer not to make. It’s not that Nancy Pelosi was lucky to pass the bill, it’s that the Democrats wrote the strongest bill they could that would get enough votes to pass. That’s good strategy.

© 2024 rc3.org

Theme by Anders NorenUp ↑