Sunday, November 21, 2010

Customer Service: One Reason Why Apple is Awesome

Last weekend I bought a new MacBook Air. Rationally, I did it because I wanted to reduce the weight of my travel bag; actually, I did it because it looks cool and I wanted a notebook with solid state storage.

After spending a day with it and getting it all set up for my office and home networks, installing software, and copying files from my older MacBook Pro, I decided to take it in to the office. As I was walking from my car into the building, the strap on my bag somehow unfastened and the bag and all its contents (the new Air and also my iPad) crashed onto the concrete floor.

I unzipped the bag to look inside; the iPad seemed OK, but the Air had a big dent in the corner of the case. Opening it revealed damage to both the top lid that contains the display and the bottom that contains the keyboard and logic board. Miraculously, the thing still worked and there was no damage to the screen. I probably could have lived with it, but the bent metal was keeping the top from closing completely on that side and I was afraid that the display would eventually get damaged from flexing.

So I made an appointment with the Apple Genius Bar at my local Apple Store in Tampa, and took the machine in. I was expecting that the lid and bottom case would have to be replaced and that it would cost me a fair amount of money.

The employee there looked at it, confirmed my view of what had to be replaced, and said that they would fix it — for free!

I was floored. I know that it is going to cost them at least a few hundred dollars in time and materials for this repair. In addition to this, they thought it would take 5 days to get the parts since the machine was so new, but three days later they completed the repair.

So now I'm on the way to pick up the computer and definitely thinking that I am going to be a loyal Apple customer for a long time. Way to go, Apple!

Tuesday, August 10, 2010

Why the Volt is a Great Idea



General Motors has had its share of bad ideas over the years, but I think they have a really good one in the Volt.

The Volt is a new electric car that will be released this fall in the USA at a price of $41,000. After government tax credits, that price will be effectively reduced to $33,500.

What's interesting about the Volt is its practicality. First of all, from the outside you would never know it was anything special. It looks like a normal car. It has four doors and a roomy hatch. It has room for four people and their luggage. It has a radio, air conditioning, GPS, and OnStar service. You can fill it with gas, just like an ICE (internal combustion engine) or hybrid car. You can also plug it in to charge the battery, just like a pure electric car.

Yet compared to ICE cars, hybrid cars like the Prius, and pure electric cars like the Tesla, the Volt is very unique. Unlike an ICE car, the Volt is driven by electric power, not a gas engine. Unlike a hybrid car, an electric motor drives the wheels at all times; there is no complex transmission that connects the gas motor to the electric motor. Unlike a pure electric car the Volt has a gas engine in addition to a battery.

The battery in a Volt has more power than the battery in a hybrid, but less power than one in a pure electric car. When fully charged it can carry the car for about 40 miles of normal driving. After that, the gas motor starts up and generates the power to drive the electric motor another 300 miles per tankful.

This resolves the key dilemmas of hybrid and pure electric cars. Hybrid cars run mostly on gas so even on short trips gas is consumed and pollution is created; in the end they are only slightly more efficient than normal ICE cars. Pure electric cars run solely on battery, but when the battery is drained it takes hours to recharge, making the car impractical for long trips and causing a persistent fear of unplanned detours and the possibility of being stranded. But the Volt allows the driver to go as long as they want, stopping for just a few minutes every 300 miles to refill the gas tank.

This key capability will be what allows people to finally embrace an electric car as a practical vehicle. Though most trips and daily commutes are fairly short, we all make long trips from time to time and most of us can't afford to have a different car for those longer trips.

I drive about 40 miles to work and back each day, so on weekdays I will use almost no gasoline. Since the price of electricity per mile is radically lower than the price of gas per mile, I will save a lot of money. I will also generate a lot less pollution. Electricity from the grid has the added benefit of being generated from multiple different fuels (coal, natural gas, oil, nuclear) or even renewable sources like wind and solar power. Much of this power can be generated domestically, eliminating dependencies on foreign energy sources.

This is why I can see the Volt becoming a very popular car, and the first really practical electric car to ever be mass produced. Kudos to the engineers at GM for coming up with such a brilliantly simple concept, and kudos to the management for embracing the concept and getting it to market.

Monday, August 9, 2010

'Net Neutrality, Take Two...

Two companies, that is. Google and Verizon, the behemoth of Internet content and the leviathan of US mobile and fiber optic broadband.

Today they announced a proposed "legislative framework" around 'net neutrality. If you're not sure what this all about, here's a brief overview:

The Internet is a collection of networks that carry data between computers. This data is transported in the form of packets, where one logical communication, a video for example, is broken down into a series of packets that are carried from the sender to the receiver. This is a core feature of the Internet, and makes it very resilient because packets can be sent along many paths to get to their destination, so if in the middle of a transfer a cable gets cut somewhere the packets can immediately be re-routed over a different connection to get to the destination.

Now all of this is fine until there are more packets waiting to be sent than can be carried over any one segment of the network. When this happens, packets are delayed, like cars in a traffic jam, and the result is a slower download or choppy video. This can and does happen when there is not enough bandwidth or when bandwidth is shared across a number of users. To solve this problem companies can add more bandwidth by adding cables and equipment to the network; mobile companies might add more cell towers and backhaul circuits.

Another approach to solving this problem is to prioritize traffic, so that some packets get sent with a higher priority than others. Imagine a highway with bus or carpool lanes; while most cars sit in rush hour traffic, carpools and buses zip by at full speed. The network can be just like that, with certain bandwidth reserved for specific types of packets.

Where this gets interesting is that many of the companies that provide Internet connections and carry packets also provide data services. Consider your cable TV company — you can buy Internet service from them but they also provide video and voice services. What would happen if they protected the quality of their video and voice services by reducing the quality of Netflix and Skype? Would that be fair to these other companies?

This is the core argument for 'net neutrality; companies that carry Internet packets should not be allowed to prioritize some traffic at the cost of other traffic. If you prioritize, you are not neutral because you will make that prioritized service better than the non-prioritized service.

The concern is that without rules that require network companies to treat all packets equally, they will eventually resort to prioritizing their services and throttling those of competitors. The cable company wants you to use their video on demand, not Netflix or Hulu. The phone company wants you to use their voice service, not Skype or Fring. Thus, in the end, these alternative services won't get a fair chance because the network companies will choke them out and stifle competition.

I agree with a general policy that would prevent traffic prioritization, and think there ought to be a clear delineation between companies that transport packets and companies that provide data services like email, video, voice calling, and social networking. Without this, the Internet innovation engine will stall and we will return to the bad old days when a few big companies controlled all the information and communication services available to us. Even though there is no longer a telecommunications monopoly, over 97% of the US population gets mobile service from just four companies (Verizon, AT&T, Sprint, and T-Mobile) and a very large portion gets fixed line service from Verizon, AT&T, and a small number of major cable companies, so a small number of large companies have an awful lot of power.

However, in this announcement Google and Verizon take it upon themselves to define a framework where some traffic can be prioritized to allow broadband service providers to offer "differentiated services" whose packets could be prioritized over others. I think this loophole would be exercised to the maximum extent possible by the consumer fixed and mobile broadband companies in order to preserve their revenues at the expense of competitors.

What do you think?

Wednesday, September 30, 2009

The Ethics of Automated Weapons

I regularly follow developments in technology of all sorts, including in the computing, aerospace, and military fields. One thing that's becoming quite clear to me is that applications of automated killing are rapidly proliferating. As someone who knows a thing or two about computers and the software that runs them, I am more than a little concerned.

In the US, virtually all branches of our military are devising, developing, and deploying unmanned machines that are capable of taking lives. These include aircraft, ships, and ground vehicles.



These systems had humble beginnings focused on support functions like reconnaissance and mobility; aircraft with sensors and cameras that could observe targets and vehicles that could carry gear across rough terrain. They were like remote controlled toys on steroids, reducing the risk to our troops and increasing their combat effectiveness.



As the machines became more robust and reliable, their functional envelope was extended to contain offensive capabilities. It is now common for these machines to carry air to ground missiles, bombs, cannons, and machine guns. We regularly hear about unmanned aerial vehicle (UAV) strikes on ground targets in Iraq, Pakistan, and Afghanistan.

Today, each of these vehicles requires direct human supervision. UAVs have pilots that fly via remote control from thousands of miles away. I sometimes wonder about the morality of killing through a video screen and then going home for dinner with the family. Does this lead to a lower threshold for deciding to kill? Does it remove some of the moral repercussions of killing? Will the reduced risk to our citizens make us more apt to select war as a means to further our national interests?

Even more challenging, the future direction is clearly towards autonomous or semi-autonomous killing machines. There are many valid arguments for this strategy. The time delay inherent in remote communication reduces the effectiveness of current remote controlled vehicles; UAV pilots report that there is up to a two second time delay between their control inputs and the actual change in the aircraft's attitude, and the images being displayed back are similarly delayed. This results in a reduced ability to lock on to fast-moving targets and avoid threats that could destroy the UAV. If the UAV could be directed to a target and then allowed to operate on its own, it could make rapid course corrections that would increase its ability to successfully carry out the attack and avoid or escape from threats. This would be a semi-autonomous UAV, because a human operator still designated the target and decided to attack it. Fully-autonomous vehicles would simply be directed to a patrol area and could decide on their own when to engage a target or flee from a threat.

Additionally, autonomous machines could be programmed to coordinate attacks in real time with other machines in the area; for example a fast moving jet carrying bombs working in tandem with a helicopter hovering behind a treeline, and the helicopter popping up just in time to point a laser designator on a target to guide the jet's bombs thus minimizing the risk to both vehicles and increasing the probability of a successful attack.

The notion of autonomous killing machines raises three key concerns:
  1. What if the machine fails to select appropriate targets? In the best case, a valid target may escape and cause more allied casualties later. In the worst case, allies or civilians may be killed. In the realm of asymmetrical warfare, it is almost impossible for humans to make clear choices and avoid mistakes in these situations; my estimation is that even our best computers are not up to this task.
  2. Will this completely eliminate the ethical burden of making war? With today's UAVs, a person must still, ultimately, decide to 'pull the trigger' and take responsibility for the action. If we remove ourselves from that decision loop, will we still take moral responsibility for the actions of the machines we built and deployed? And if we don't, what will that do to the fabric of society?
  3. Who will control these machines? One thing I've learned from history is that, generally speaking, a large enough group of people will enforce moral behavior. An army won't attack a civilian population; some amoral subgroup might try, but the majority will rapidly bring them under control. In a world where a few people could control a large number of these machines, however, what would prevent a potential slaughter? And could an army of these machines be used to control the population at large in any country, even our own?
These are serious concerns, and there are probably many more I haven't considered here. Yet it seems clear that this technological development track will continue because it is a natural evolution of our current capabilities and there are reasonable arguments for it. I'm sure that I would have much stronger feelings about this if I lived in a country where these weapons are likely to be deployed, and can only tremble at the thought of being on the wrong end of a gun controlled by a soulless machine.

Friday, June 12, 2009

SDXC Raises Interesting Possibilities

I recently read this article on the new SDXC memory card standard. In early 2010, SDXC devices will store up to 64GB of data and transfer data at 52MB/s, but the industry expects capacities up to 2TB and transfer speeds up to 300MB/s within a few years.

This kind of capacity and performance in this form factor raises some interesting possibilities. Perhaps we'll keep all of our personal files on our SD cards and only keep system files on our computers, making it easier to upgrade systems or use multiple computers during the course of the day or week. All of the new MacBooks announced this week are adding an SD card slot, and many Windows PCs already offer this feature.

This will also make it easier to move data between computers and mobile devices like smart phones and media players.

I also wonder about the possibilities for high performance applications. Imagine a small RAID device with one or more USB 3 interfaces and multiple SDXC slots. Striped and mirrored, an array of 16 cards could provide 16TB of storage with aggregate transfer speeds of up to 2400MB/s. When one of the cards starts to 'wear out' — as flash cards will do over time — you just pop it out and replace it with a fresh one. No need to make backups, and no downtime from disk failures.

There are more powerful flash memory technologies available; FusionIO, for example, already offers high performance PCI Express flash cards for servers. However, the mass market aspect of SD cards means the price per GB will be lower than enterprise-class hardware. This makes it attractive for low-end and mid-range applications, and maybe even for enterprise systems looking to take advange of commodity technology.

Friday, September 5, 2008

What's Google Up To?

So you've probably heard of Chrome, Google's new web browser released this week.

Of course, anything Google does is going to get a lot of attention in the tech community and this was no exception. First there was the 'leaked' comic strip for geeks that illustrated — literally — the high points of the technology. Then there was the Walt Mossberg review (he got an advance copy). In addition, there's an article in Wired magazine (they were clued in a month in advance). It was all over every tech blog before it was even released.

Cool features? Google claims:
  • Better reliability due to sandboxing web apps; each tab is a different OS process
  • Extreme Javascript performance, 10x better than anything out there
  • Innovative tab model
  • A smarter address bar (with search integration)
  • Better awareness of phishing sites
  • Application shortcuts that make web apps look kinda like installed apps
And I think that last feature is really a clue as to why Google did this. This browser is made for web apps. Anyone that's had issues using Gmail, like pauses, slowdowns, and weird exits knows that much of this is due to the performance and stability of the browser and the behavior of other applications running in other tabs on the browser. By isolating the execution of the code in each tab and using the operating system's resiliency features that keep processes from interfering with each other, this browser will make people trust web applications more and give web apps legitimacy that previously was reserved for locally-installed programs.

Taken together, this added reliability and a radically faster Javascript engine are a game changer for web 2.0. See, Javascript is what makes web pages come alive, enabling programmers to dynamically modify text and images and create all kinds of graphical goodness like sliders, accordions, fades, and other cool effects. So the real goal is for Google to enable web apps (including Google's web apps, of course) to be first class citizens in the application universe.

Have they done it with Chrome? We'll see. Some concerns are that we may see Google pushing non-standard Javascript and CSS features out through Chrome, and using these to make their applications work better. This causes confusion for developers because they'll have another browser to target with its own unique quirks. Users may see apps that lose features or, in the worst case, don't operate at all on some browsers. However, it may drive innovation and get the other players to move faster in delivery of new features; Microsoft, for example, has been lagging in its support for CSS standards and Chrome may light a fire under them to get this rectified.

Google might have been agreeable to implementing these features in Mozilla's Firefox browser, but the Firefox folks probably would have resisted the massive changes because they would have broken many of the extensions that Mozilla-aligned developers have created over the last few years. So now we will see further fragmentation in the browser market and most probably a loss of share for Mozilla's Firefox.

Finally, it should be noted that Chrome only runs on Windows for now, but Google has said that versions for OS/X and Linux are in the works. Given the relative desktop market share, no one would argue Google's choice to release a Windows version first. What they really need to do is convince a large percentage of Windows users to use Chrome instead of IE, or force IE to support Chrome-like features in response to this threat. Either way, Google wins because it opens up a channel for more advanced web applications on the PC.

New House!

We snagged a condo in downtown Tampa on the bay. Here's a picture of it (the tall building in the center).

It's a great place, just across the channel from the downtown area, the arena, and a large restaurant and entertainment venue. We've already been to a few concerts and I'm planning to see a few hockey games when the season starts.

One neat feature is that the cruise ship terminal is right on that channel, so the ships park just a few hundred feet away from my front window. It's really amazing to see those huge ships gliding by in the afternoon when they leave port and head out into the Gulf of Mexico.