Thursday, October 28, 2010

iPhone 4.1 Lock Screen ByPass

I love the simple bugs in life, you know, the ones that don't require any creativity, the ones that require someone to only notice something odd is going on... Well this is what the latest iOS 4.1 bug is. I've tried it on my phone, and while it doesn't allow someone in to my apps, it does allow someone into my dialer and my contact list (a strict no no). Anyway what you do is this:

1) Turn on the passcode for your iPhone (if it isn't already on)
2) At the passcode screen press the button to make an "Emergency call"
3) Press "***" and then as soon as you press dial, press the lock button on the top of your iPhone.

The result should be your contact list or phone dialer. Yikes.... Here's a good video that I pulled off of YouTube that shows just how it's done....

I'm sort of impressed with how often iOS is hacked, the only real scary hack I've seen is the one in 4.0 exploiting a security hole with a PDF, this allowed essentially any website to hack your phone. Apple came out with a fix for that, but the group with the current 4.1 jailbreak of the phone refused to issue their latest jailbreak for the fix, knowing that Apple was going to issue 4.1 in a few weeks. Their logic was that they didn't see why they should be beta testing for Apple, when iOS 4.1 came out, the jailbreak came out the same day.

I've switched terms I see, to "jailbreak" an iPhone is to release it from the bonds of Apple, phones with a jailbreak installed can install apps from anywhere. This is good and bad. Basically if Apple gave up control of the appstore, there would be no need to jailbreak, but while they have this control, the jailbreakers will continue unlocking phones. To counter this move Apple could "brick" the phones, meaning issuing a command that any phone that isn't carrying a valid copy of iOS be turned into what is probably less useful than a brick, though I would imagine that if they did this, the first person needing to make an emergency call would sue Apple.

Anyway iOS 4.2 is rumored to be out in November, along with it will be an iPad update also.

Monday, October 25, 2010

MacBook Air

MacBook Air

As a user of mostly Mac products (I used to use mostly Windows products in the past and if the business need is there, I'll use Windows products again), I was interested in the shipment of Macbook Air. While this device looks fantastic, it's ultralight, ultraslim, I also think it's ultra-underpowered (at least from looking at it's specs) to be a real laptop replacement (well at least for me, if you're doing simple Word Processing, it could be the device for you).

It's short-comings are:
  1. A small drive, yes it's solid state, but since when does solid state give me the extra 250GB that I need? I've got 500GB on my MacBook Pro and I'm running out of space, especially since it's the center of all my iTunes activity, so any movies, music, pictures, etc... are on my laptop.
  2. 2GB RAM, give me a break, my MBP was running well with 4GB, but it didn't start running great until I installed 8GB (which I had to do by removing and not using my existing 4GB, if you need 4GB of MBP RAM, let me know, I've got it laying around).
  3. 2 USB ports. This would be good until you realize that it doesn't have an ethernet port. So for offices like mine that don't support wifi, you're down to one USB port. For me this would mean that I'd need to get a USB hub to work (mainly because of the fact I'm continually swapping drives, and phones in and out of my computer, part of the joy of being in Mobile development).
  4. No Ethernet port, sigh... See above.
  5. No build in 3G. Since it's not a laptop, at least in my mind, you'd have thought they would have worked out an arrangement with AT&T and shove 3G into this device. Then it could be useful.
It's strengths are:
  1. It's not an iPad, meaning you can do work on it, load a real Word Processor, real browser, Flash, etc...
  2. It's quite, though to be honest the drive in my MBP isn't that noisy. So I'm not sure how much to give it credit here.
  3. It's thin and light - All my computers have been smaller (15" - 5-6lbs), but these get heavy after a while. A nice thin laptop could be the way to go for someone who needs something light.
In the end if you're looking for a device that's more computer than iPad, well it's the device for you. If you're looking for something that's a full fledged laptop, then get an MacBook Pro, I'd hesitate at suggesting which Windows machine is the best since the hardware all seems to be very bad now. My last decent PC was a ThinkPad (it was a warrior).

Wednesday, October 20, 2010

Going Mobile...

I'm a 45 year old man, who enjoys gadgets (not just new technology, but gadgets in general). I do enjoy some old-school items, such as my watch, it's analog (I don't like digital watches), my mother explained to me one day that the nice thing about an analog watch is that you can easily see into the past and into the future, by just glancing at your wrist, it sort of stuck. My watch has gadget qualities, first it's made of titanium, so it's very light, it also has the ability for me to swap between time-zones with the push of a button (so no adjusting the analog watch and never getting the accuracy back).

But this isn't about what I think is my cool watch, it's about going mobile. I've taken the challenge (despite the fact that I like paper) to go mobile and paperless. This means loading word files, pdfs, etc... that I need to for work on my iPad, I'm using "Docs to Go" and Dropbox (a very cool and free tool) to share documents. What's great about Dropbox is that if I'm on my iPhone, Android Phone, BlackBerry or iPad I can access it (most of those devices are for development purposes only). What's a shame about Dropbox is that it seems that Apples tools don't support it (or at least they don't claim to), which is why I'm using Docs to Go (sorry Apple, you need to learn how to play better with others). I'm also playing games that I normally wouldn't play, again to see how they interact with the player, how they encourage you to play, to purchase, to build. I'm doing this so I can understand the mobile space better (you can't learn if you don't do). I also get my news and magazines via apps or Zinio (I like Zinio, I just wish they allowed you to email pages to yourself, there's no way to bookmark or print either, it's not the full magazine experience yet).

I've been asked to give a presentation at a trade show in Miami on mobile, mainly Kindle, iPhone, and Android. 15 years ago my boss went to a presentation at the National Press Club in Washington DC and was told that in order to understand the web better, meaning micro payments, subscription models, video, articles, images, etc... Go to a porn site. Well things have changed some, but not entirely, now if you want to understand micro payments, subscription models, video, articles, images, social networking, etc... you need to play games. Like the porn sites of old, don't go for the content, but go for the experience, analyze what's forcing you to come back to the game, what's making you upgrade or play, what's making you want to go social. Understanding these items will help you understand mobile apps and will keep people coming back to your apps.

Tuesday, October 19, 2010

Passion of the Mac

One of my coworkers came in to my office yesterday to discuss their experience at the Apple Store, it was a good experience, but they noticed that the store itself was crowded, while the Sony Style store next door was empty. That the Apple Store was open and bright and white, while the Sony Style store was dark and closed up. He was surprised at the number of people there. I explained to him that Apple has a religious following and that the Apple Stores are the churches for the faithful. There are a few Cathedrals, Paris, New York, California where people flock to, and there's Mecca (AKA 1 Infinite Loop, Cupertino, CA).

I'm surprised at how passionate Mac fans are, if you looked at my desktop you'd think I was a Mac fan also, I have a Macbook Pro, iPhone, iPad, Time Capsule, several iPods, etc... Now while I like my Apple products, I feel that there's a lot of improvement that can be made to then, they aren't as perfect as everyone thinks they are and to work in a seamless fashion, it helps to have everything in your local swimming hole being an Apple product also. For instance, using my network drives (running NTFS) to back up my Mac to, can't be done (this should just work). I've heard the religious faithful bash other products saying that they weren't as modern as OSX (well OSX is based on Unix, which is VERY old itself). The passion of the Mac keeps people from questioning the products, people just accept that the design flaws in the iPhone 4 are OK and that they need to use their phones differently. That when they hear Steve Jobs tear into Google, that Google somehow deserves it (Personally I'm no Google fan, but since they offer free products, it's hard to pass up, which is why I'm using Blogger, a Google product). They need to question Jobs, push him some, force him to deliver quality products and let him know when he doesn't (Apple will be in trouble if ANYTHING happens to Jobs).

If I had to choose between a Windows 7 or OSX laptop, which would I pick? I'd say it depends on my job function. Right now I'm in the mobile space, since Apple requires you to have a Mac to build iPhone apps, I'm sporting a Mac. If I got back into pure web development, I might go back to Windows (mainly for the added support I'd get at work, not that I need it, I've been taking computers apart for over 20 years now, so I'm pretty adept at supporting myself). Computers are put here for us, the companies deliver to us, it's up to us not to become zealots for these companies, but push them and move to other applications based on quality, not name.

Monday, October 18, 2010

Device Fragmentation

As someone who's been developing products for 20+ years now, I've grown accustomed to supporting multiple platforms. First it was the different variations of DOS, then Windows/Mac, then all the flavors of MSIE and Netscape (luckily Netscape died), then comes Firefox, the annoyance of MSIE 6.0 sticking around, etc... Well all of that was fairly easy when compared to what's going on in the mobile space. Let's limit ourselves to the big three right now (which means I'm not including Microsoft's latest device, which looks promising, but I haven't seen Microsoft develop a decent mobile OS yet), so we have RIM, Apple, and Google.

Let's start with Apple because it's the easiest to describe. With Apple we need to look at only 3G and above, in the area of hardware we have iPhone 3G, 3Gs, 4 and iPad (iPod Touch also if you want), in the realm of OS we have 3.1.3, 3.2, 4.0+ (these are all very similar, for what I'm doing I can develop for 4.0 and still support older OS levels). The development on the iPhone has been fairly simple, because the devices are all fairly similar in size. The biggest issue I see here is that in order to code, well you'll need a Mac.

Next lets look at the next platform, Android. Google has allowed Android to be installed everywhere, this is good and bad. It's good because it's placed a very good operating system on many devices, it's bad because it's put a very good operating system on MANY devices. I see a big issue with device fragmentation with Android. There isn't ONE big company stating the law (such as Apple), instead Android is getting installed on just about every device possible. In the Android beta for TweetDeck, the app was installed on 35,000 devices (this is huge) and TweetDeck recorded 244 different variances of Android (this is scary). As a developer you need to figure out what exactly do you support.... Add on to this that Google wants to push Chrome instead of Android for Tablet devices and the newly released Google TV (I have one of the devices, not sure about it yet, I know it doesn't turn off all my devices when I shut it off).

Finally let's look at BlackBerry, this is the scariest platform of all. Not only is the hardware and OS fragmented, but the backend BES is fragmented. If you are building a "SuperApp", then you may need to ensure both handset hardware/software and BES are properly supported. In the development of my first "SuperApp", I'm also finding that some of the neat tricks I'm seeing on other apps, were done using non-public RIM API calls (these are the ones that RIM holds for themselves). This is a bit unfair and is going to make it difficult to continue RIM development. Add to this the new PlayBook (which won't be available for months) and we're talking about a very difficult platform to develop for.

If I could control my development, I'd focus on iPhone and then Android, unfortunately I need to include BlackBerry also (due to my user base). Until BlackBerry grows up some, I'd avoid development on their platform.