Snow Leopard Exchange Support

Snow Leopard Exchange support isn’t quite as good as it looks.  The email works well, but contacts show up in their own separate folder.  You can’t sync them to your normally contacts on your mac.  This means you can’t sync them with Mobile Me and they often are available in other programs that use your address book.  Calendar support works the same way.

It is a step forward, but not quite what a lot of people were expecting.  Still the mail working well is a great thing.  In the past messages would disappear and reappear when connected to an Exchange server and that doesn’t seem to be a problem with this version.

Problems using Google Voice Mobile

Google Voice Mobile is a welcome addition.  It gives you many of the capabilities of GVDialer for free.  You can place outgoing calls from your Blackberry using your Google Voice number receive and send SMS messages and listen/read voicemail.

Some people are having trouble placing outbound calls. Most of these issues are caused because people don’t understand what the application is trying to do. When you place an outbound call using Google Voice Mobile the application tells your phone to dial a special access number. For most people that number is 347-234-5001. This number rings into a computer at Google. When the computer answers it looks at the caller ID information to determine who you are. It then turns around and dials out to connect you to the number you typed in the Blackberry application.

Obviously if your phone does not send caller ID information to Google’s computer it doesn’t know who you are and it simply hangs up. So if you have some type of privacy setting turned on to block your caller ID the application won’t work. The GVDialer application doesn’t run into this problem because it dials directly into your Google voice number, selects a few menu options and then dials the number you wish to connect to.

Another problem occurs if your mobile number is associated with more than one Google Voice account. If that is the case Google’s computer reads the incoming caller ID and can’t figure out which Google voice account you are associated with. Instead of giving a meaningful error it simply hangs up on you.

Imagine a Phone Company

Lets say you have a telephone line installed in your house. One day you need to send a fax, so you hook up a fax machine, but it won’t work. A call to your phone company reveals that you aren’t authorized to send a fax over their telephone line. You will have to buy a special phone fax line that is much more expensive. Later on you try to hook up a modem, but it won’t work either. The phone company informs you that to use a modem on the phone line you have to buy a special data phone line that is also more expensive.

In the US we have the concept of common carrier laws. These laws mean that an airline can’t let part of the general public buy transportation while prohibiting another part of the general public. The same thing goes for telephone usage. They can’t sell you a telephone line and then keep you from using it for a fax line so you have to buy a fax line service from them.

This is similar to what is happening with the iPhone. Skype has come out with a program that will let people place phone calls over the data connection from the iPhone. However AT&T (the sole carrier of iPhones in the US) doesn’t want people to use VoIP applications over their data connection. They would rather you use their (much more expensive) voice network. So they make it a breech of your contract to run VoIP over your data connection.

A similar thing is happening with cable modem providers. They are starting to limit the amount you can download. On one hand, this makes sense–people who use more bandwidth cost them more money. On the other hand, many of activities that use lots of bandwidth–particularly video streaming and downloading movies–use a tremendous amount of bandwidth. If the cable companies can prevent users from streaming movies from their Netflix accounts, they may be able to get more of them to sign up for premium services.

It might make sense for cable companies to start charging for usage instead of a flat fee. However, this would probably cut into their very high profit margins on the vast majority of customers who use very little bandwidth per month. If they start making these people focus on how much bandwidth is actually being consumed, they may be less inclined to pay $50 per month for 5GB of data.

There isn’t a whole lot of competition in wireless voice providers and internet providers. Both of these things require a very substantial investment. While it wouldn’t be too expensive to start a small wireless cell phone company, the real benefit of a cell phone is being able to use it everywhere. If you can only use it in one local area, it is much less valuable because people are mobile. (Cricket is a phone company that takes this type of approach.) Cable companies are hard to start because you have to run wires to every house. This is also very expensive.

In the future, a possible solution is going to be wireless internet. With WiMAX, it should be reasonably inexpensive for a company to start up service for a metro area. For service that competes with a cable modem, mobility is less of an issue. The problem is that the speeds provided by WiMAX are much lower than the theoretical limit of cable. It is possible the cable companies may compete simply by offering faster service.

Some municipalities are putting in their own fiber optic networks and treating internet as if it is a city utility. This has its own set of problems–namely that that the cable companies are suing them.

Even if this happens, the competition should be good. If cable companies keep increasing their speed while lowering the bandwidth, people are going to eventually get fed up with a connection that can only be used to its full capacity for 5 hours per month. Given another choice for reasonable service many might make the switch–especially with the plans that can give you internet access at your house as well as your laptop when you are around town.

Changing User Agent in Rome

If you are trying to use Rome and Rome Feed Fetcher, you may want to change the user agent.  However, the following will not change the default user agent:


FeedFetcher feedFetcher = new HttpURLFeedFetcher();
feedFetcher.setUserAgent("User Agent 007");
SyndFeed feed = null;
feedURL = new URL(rssUrl);
feed = feedFetcher.retrieveFeed(feedURL);
List entries = feed.getEntries();

To change the user agent you must use the InfoCache as shown:


FeedFetcherCache feedInfoCache = HashMapFeedInfoCache.getInstance();
FeedFetcher feedFetcher = new HttpURLFeedFetcher(feedInfoCache);
feedFetcher.setUserAgent("User Agent 007");
SyndFeed feed = null;
feedURL = new URL(rssUrl);
feed = feedFetcher.retrieveFeed(feedURL);
List entries = feed.getEntries();

Otherwise the User agent is set to “Java/1.5.0_04”. This is odd because the default client for Rome is “Rome Client (http://tinyurl.com/64t5n) Ver: 0.7”. It seems like an attempt to change the user agent without having a HashMapFeedInfoCache will result in changing the user agent, but somehow it reverts to “Java/1.5.0_04” instead of whatever you set it to.