official blog of marquis montgomery: complete with notes, rants, reviews, tips, and tricks.

Want to program for mobile devices?

I’ve been fighting with myself over the past few months about what I should devote time and effort into learning to use to program for the iPhone and other mobile platforms. Seriously, I have been thinking about this since the summer of 2009, and there are honestly a number of ways to accomplish this.

Of course the big one is learning Objective-C, and then using X-Code on a Mac to write native code using the iPhone SDK. The drawback is you have to submit every update to the app store, and this stuff only works on iPhones, iPads, and iPod Touches. However, if you were gonna pick one platform to develop for, this would be the one.

The other option is going with java byte code (or whatever they call it) and writing for the Android platform. Same problem here as well. Whatever you write here only works on android devices.

There are a few third party SDKs and languages that allow you to write using their software kit, and then they have compilers that will make the same code work on multiple platforms, like android and iPhone for instance. This is actually a cool solution, especially if you find an SDK that actually has the features your looking for. The big problem here is that when Apple or Google invents some new feature in their software package, you can bet your app is NOT gonna have it for a while because you gotta wait on your third-party SDK to build that in. No go for me.

So what does that leave? The web.

Theres a handful of platforms for web based applications out there, and every single one of them works on every modern internet connected device on the planet. In fact, when you think about it, the stuff people *really* care about is all web-based. Ever heard of Facebook? GMail? Google Maps? You get the point. The drawback with this is that you don’t get all of the bells and whistles and speed that a native app for a device would give you, but the new HTML5 is rapidly changing all that. HTML5 isn’t just about streaming video. Don’t believe me? Check out SproutCore and Cappuccino, two VERY good web frameworks for desktop applications, on the web.

Take a look at some of the demos and examples. You’ll be impressed.

For the record, I chose SproutCore to focus my efforts in. It seemed like the best route to go, and its gonna force me to learn javascript (which is a good idea anyway), and because its javascript based, I’m going to have full control over the app, period.

Have you thought about how secure your password is?

Raise your hand if you use the same password for everything. Now, raise you hand if you know your password is not secure (one-word and some numbers or something like that.)

You may not care about this, but if I told you that I could break into your accounts with minimal effort would that make a difference? If it does, maybe you should give some thought to using better passwords for your stuff, and (gasp.) using a different password for every website. I know, thats a major pain, but I’ve come across a really interesting and free tool called LastPass that will help you get this accomplished. Far as I can tell, its incredibly secure too, safe enough to put all your passwords and credit card information in.

Now me, being a very technical guy, needed actual proof. A security expert by the name of Steve Gibson did a very good security analysis of LastPass, detailing exactly how it works. If you’d like to hear it, you can listen to the relevant episode of his podcast ‘Security Now’ at

You can read more about LastPass and download it for your platform and devices at

Which cellular network is the best in the US?

Since I have owned a device on every major cellular network in the US in the past few months, I think I amin a unique position to know exactly how each network performs and what the pros and cons of each are (at least from the standpoint of someone living in the Atlanta, GA area). I also have a lot of 4G WiMAX experience, so I will throw my ideas about it as well. Let’s get started:

So there are really two types of cell phone users out there. People who like their phones to primarily make calls and not do much else, and people who like to use their smartphones for almost everything but phone calls. Think about this for a minute, because depending on which type of person you are your gonna like certain networks over others (the quick answer is Verizon 😉

So. AT&T. In my experience, the nation’s fastest 3G network. And they have coverage all over metro areas, and in the majority of fringe highways and sorts. You may not see that 3G network in your basement though, and unfortunately when the network gets overloaded, you could see 5 bars of 3G and still not be able to get connected. This contributes to dropped calls as well.

Next, Verizon. You may have heard that this is the best network out there, and no, Im not going to say that. But it does have a HUGE 3G footprint across the nation, and it seems very reliable for call quality, but they are not perfect. I’ve experienced a few dropped calls (not as many as others), but where Verizon gets a black mark in my book is the speed of their 3G network. Ive very seldom been able to see over 1.5mbit consistently on this network, which is not good when compared to others.

T-Mobile. I had the nexus one on this network, but I only had it for six hours. Why? I sent it back. Because of the phone? No, I loved that phone dearly even though I had only used it for a few hours, I sent it back because in my location (my apartment) I did not get a 3G signal. Well, I did, when I stood still and faced north.. and even then it was only one bar. My point is this: T-Mobile is the newest to this 3G game, and they are still building out their initial network, so dont expect coverage to be their strong suit. They are cheap though, if thats what you are looking for.

Sprint. This network is actually one that kinda sneaks up on you from behind. Why? Because it has a history of being terrible, but as far as I can tell they are just as good as Verizon for call quality and the scarcity of dropped calls. AND they stomp Verizon when it comes to cell network speeds, not even close. Verizon’s footprint is still bigger however. On top of that, they have also bought in to the first 4G WiMAX in the states, which is awesome IF you live in one of the lucky cities that actually has it (like Atlanta). A little note on 4G, its awesome if your sitting still, drops out a little too much if your moving. Just FYI, its still a work in progress. But the speeds are like your DSL at home, which is worth it for me.

So. If you want an iPhone, get AT&T. Its your only choice, and you might be disappointed to see how slow Verizon’s data speeds actually are. If you don’t care about data so much, and want a phone that will work just about anywhere, Verizon all the way. If you need a combo of both, Sprint looks like a winner, and the 4G network is a nice plus. If your on a budget and need a cell phone, maybe T-Mobile will work for you. I wasn’t impressed.