Home » Posts from May, 2010
Saturday, May 29, 2010 | Posted by TJ Draper
What are iPhone Push Notifications? They are a service that Apple provides for iPhone developers and users. Instead of each application on iPhone having it’s own service running to listen for incoming notification, Apple provides one service to listen for incoming notifications. Apple can this way insure that it is passive on the iPhone’s part, thereby maximizing battery life. And since it is one service running for the entire OS and any application that needs it, and not a background service for each app, it really is the maximum efficient way for apps to receive notifications while “in the background.”
I really do like the concept of a single Push Notification service for the sake of battery life and phone performance. I use Push Notifications primarily for BeejiveIM (Gtalk), Pushmail, Facebook, and Echofon (twitter). I’ll use BeejiveIM as an example of how this works.
In order for me to stay signed in to Gtalk when BeejiveIM is “in the background” (I use quotation marks because the app is actually not running in the background at all, and until iPhone OS 4 comes out, it’s state is not even stored in memory, making it’s launch time a little long to feel like it really is running in the background), BeejiveIM’s servers must maintain my Gtalk account’s connection to the Gtalk server. If someone sends me an instant message, the BeejiveIM server through which my account is signed in, sends a notification to the Apple Push Notification Server (PNS), and the PNS pushes the notification to my phone where I see both a pop-up message, and a badge is placed on the app’s icon.
If you followed that you can see a drawback here in using a 3rd party server through which I am signed in to my Gtalk account, but I’ve never really had a problem with my account being signed in through Beejive’s middleman server. And for the most part it works really well.
But here are the real draw backs. And the kicker is, these could be eliminated by better implementation (isn’t Apple supposed to excel at implementation?). Current implementation is better than nothing (certainly better than the iPhone OS 1 and 2 days where we had NOTHING) but I REALLY hope Apple expands Push Notifications soon.
I would like to see 2 things ASAP:
1. Notification Management (and no more single mode disruptive notification popups)
Push Notifications do not stack, but in it’s current implementation, if they did, it would be even worse! Because they popup over everything, and nothing else is accessible until the notification is dismissed. And if I got 10 notifications while my phone was in my pocket or something, I would have to acknowledge and dismiss each one. And of course, once I have acknowledged and dismissed a notification it is gone, never to be seen again.
So I want Notification Management. The way I want this to work is to have a place where all notifications are collected (push or local, missed calls, ALL notifications) and I can view them at any time, mark some or all as read etc.
And then to replace disruptive popups, how about a double height status bar of a color not yet used by iPhone, say yellow perhaps (green is for active calls when not viewing the call screen, looks like red is for active VOIP calls in iPhone OS 4, blue is for an active tethering session), with text displaying the number of new notifications.
2. I want the push notifications to wake the app in question so it can update with the new information
You see, the push notification system shows me something is new, but the app receiving the push notification does not update with that new information. The only thing the app gets is a badge with a number on the icon. So I have to wait for the app to pull that new info in when I open it. It’s even worse right now than it will be with iPhone OS 4, because right now the app is killed completely when closed so when opening, I must wait for the app to load itself into memory. In iPhone OS 4 this will be somewhat alleviated because OS 4 will save the state of the app in active memory so that when you activate it again, it can pick up right where it left off (Sound familiar Android users?). So you don’t have to wait for it to load itself into memory. But you still have to wait on the app to receive the new information that was already sent to you in a push notification.
So to fix this, how about to go along with the way Apple is approaching multitasking (freezing the app in active memory), let the push notification wake the app up in the background, update with the new information, then if the user hasn’t activated that app, let it go back to sleep. That way it’s ready to go when I open it.
These two things seem simple to implement, and they seem like no brainers to me. And the lack of those two things really hurts the iPhone user experience. But Apple has had a habit of SLOWLY (painfully so) adding much needed features as we go so we will see what develops for iPhone OS 5 I suppose. I can’t imagine Apple won’t expand on their way of approaching multi-tasking…
Tuesday, May 18, 2010 | Posted by TJ Draper
Let me start with the MacBook Pro. I love the look, feel, battery life, and power of the new MacBook Pros. The unibody design makes it more rugged than the MacBook Pro from the previous era on which I type now. It’s solid, it’s fast, it’s got 8 hours or so of battery life. That’s all great!
But, Apple did something when they went to the unibody design that REALLY ticked me off. They dropped the Express/34 slot off all models but the 17” and replaced it with an SD card slot.
...
SAY WHAT?!?
As a professional in the field of film and video I have NEVER used an SD card. I have on occasion used an SD Card reader for my personal camera. But never in my professional field of work with my laptop have I even considered the need for an SD Card reader. I do however, use the Express/34 card slot every day to connect eSATA drives to my laptop. It is a professional laptop, being a MacBook Pro and all. The MacBook Pro does not have eSATA ports, as most laptops do not. But with that wonderful standard called the Express/34 slot, I can use any number of adapters to connect all manner of gadgets, hard drives etc (including by the way, SD Card reader adapters). I would not be able to use my laptop in this professional setting very well without the Express/34 card slot.
The real kicker here is that putting an SD Card reader on the consumer MacBooks makes sense. But to replace a real professional standard multi purpose slot with an SD Card reader that only serves the one purpose is just a low blow to Apple’s loyal professional users! The position from Apple seems to be, “if you need a Express/34 Card slot, get the 17” MacBook Pro. Well I happen to be a fan of the 15” considering the 17” just too big. One of my colleagues had a 17” for some time. It’s just too darn big. My 15” is perfect and has served me well. I don’t want to be forced to buy the big bulky 17” but that is exactly what I would have to do if I upgraded right now.
Let me now move to the Pro Apps. Apple’s Pro Apps still don’t run in 64 bit. We Pro Apps users are still living in the 32 bit, access to only 4 gigs of RAM past. And the key application, Final Cut Pro, is STILL a mostly carbon app, not Cocoa (the OS X API of choice).
And now today I am seeing disturbing reports from Apple Insider, and Mac Rumors that Apple is planning to scale it’s Pro Apps to fit into a more prosumer model.
Hello? Final Cut PRO!
Does the use of the word “Pro” in these names Apple has bestowed on these products now mean nothing? There is no doubt that I have lots of things I would like to see happen to Final Cut Pro, and it’s bundled apps. I believe there is a number of ways they could be improved and would love to consult with Apple (I’m only slightly kidding, I have lots of ideas I wish Apple would ask me about), but the words “scaling Final Cut Studio apps to fit prosumers” frightens me. If that means what I think it means, then I’ll be needing to learn to use other editing software soon.
So Apple, I’m pleading with you, remember your Pro users and don’t spit in their collective faces please! Your Pro Apps and Pro computers have been a wonderful thing in my life, but now I’m very worried!
I know I’m just one person, but I have a lot of Professional Apple using friends that feel the same way. Don’t drive us out of the camp!
Saturday, May 8, 2010 | Posted by TJ Draper
I just can’t resist posting my current desktop wallpaper when it’s so cute!
There’s also a few more pics here on Facebook.
Saturday, May 8, 2010 | Posted by TJ Draper
Yesterday, my dad and brother helped me get my driveway back in working order. Looks much better now:
Monday, May 3, 2010 | Posted by TJ Draper
We are very grateful to the Lord that we have not suffered near the damage or loss that so many around us have with all the flooding.
With that said, there is work to be done. Our driveway is currently unusable. Most of the top layer has washed into our front yard and there are big gullies washed in it of axel breaking proportions!
So lacking the necessary tools to effect the move of the gravel back into the driveway, I went to the store and got this to move the gravel back where it belongs:
My primary area of concern is right here:
It might be hard to get the scope of that from the pictures but believe me, If I were to try to drive over that, I believe serious damage to my car would ensue!
And one final picture for good measure.
Monday, May 3, 2010 | Posted by TJ Draper
Announcing the mobile version of TJDraper.com for iPhone and iPod Touch (as pictured on the right!).
Now Live!
I was very careful to offer the full access and functionality while still formatting it for the small screen real-estate of the iPhone. I can’t stand sites that offer limited functionality on the iPhone version. Usually I'd rather just have the full site when that happens. So I think I have avoided that on this mobile version of the site.
And the nice thing is, you don’t have to visit a special URL. All the URLs are the same. I’m detecting the browser type with PHP. If the browser loading the page identifies itself with “iPhone” or “iPod” in the string, the page is served up in mobile format. If the browser does not identify itself as one of those two, the normal site loads. This is great because it prevents confusion and preserves permalinks etc.
To you Android users, I'm sorry! I thought the mobile version would work on Android, but I had a friend load it up on his Android phone and said it didn’t work right at all. So for now I'm serving the regular desktop version of the site to you Android users. Unfortunately I simply can't afford to get an Android device just for testing websites so I can’t develop an Android version at this time.
The rest of this post may get a bit geeky so if you do not have an inner geek, please feel free to ignore the rest. You have been warned.
So I'm kinda excited seeing as how I really am not any good at PHP programing and despise it in general (don't get me wrong, I think PHP is a good thing, I'm just more of an HTML/CSS person). The code was actually fairly simple to implement. And believe it or not, I didn’t actually even find this exact code, I found the principle and modified it to fit my needs. So here's what it looks like:
<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
if ($iphone||$ipod == true) { echo 'Mobile Code Goes Here'; }
else { echo 'Normal Code Goes Here'; }
?>
It's actually fairly straight forward. The first two lines find out if the browser is identifying itself as iPhone or iPod, the second line says, if either one of those is true ( the double vertical bar means “or") then use the code in the “echo” section.
And of course “else” delivers the desktop version of the site. I must admit it took me about a week of evenings to get it just right, but I got it none the less. Now I have a few other sites I'd like to implement this on!