We pick up at a point where Iron Man/Tony Stark has been fired from his job of Director of S.H.E.I.L.D. Basically, the top cop in the world. Additionally, his multi-billion dollar company, Stark Industries, is failing and Tony has to go on the run to protect the secrets in his head from the worlds new top cop and former/current super villain Norman Osborn. His audacious plan to protect his secrets includes erasing his memory. Dun-dun-dah! |
Anyway, at the end of this volume Tony is left at, arguably, the lowest point of his career. Volume 4 should be an interesting read to see how they put Tony Stark back together again. Oh, and Salvador Larroca is the artist on both volumes. I think he is a great artist but I would be remiss if I didn't mention that some of the photo-realistic techniques he used in the book took me out of the story. It was a bit of an uncanny valley situation where the characters looked too real but not real enough. I really don't mind if my comic books look like comic books or even cartoony. |
Friday, November 2, 2012
Books I've Read This Week
This weeks entry is a bit of an amuse-bouche as I needed to read something light between some of the weightier books I've got on the go.
Wednesday, October 31, 2012
What's New in PhoneGap Android 2.2.0
Well we've tagged Apache Cordova 2.2.0 release candidate 2 which means that Cordova 2.2.0 will be out soon in source release form which will be followed quickly by the binary PhoneGap 2.2.0 release. Shaz wrote up a post on what's new in iOS so I was asked (shamed) to do this on for Android. So without further ado here's what you should expect on Android:
1. FileTransfer API changes
See the API doc.
2. Graduated the Globalization plugin to core
This plugin was previously in the phonegap-plugins repo (BB WebWorks 5, iOS, Android). The globalization object obtains information and performs operations specific to the user’s locale and timezone.
See the API doc.
3. Splashscreen API
The Splashscreen API is now formally documented for iOS and Android.
4. Android JavaScript to Java bridge improvements
7. useBrowserHistory now defaults to true
We've deprecated the current way that history is handled in Android apps in favour of the default way it is handled in the web view. To go back a page you should be using history.back(). Because of this change iframe's now work properly.
If you need to enable the old way to handle history you can set useBrowserHistory to false in config.xml.
8. Introduce CordovaPlugin class
CordovaPlugin will be replacing the Plugin class for extending PhoneGap functionality. It adds a new execute method public boolean execute(String action, String rawArgs, CallbackContext callbackContext) to enable developers passing large amounts of data to the native side provide their own JSON parser. It also cuts down on boiler-plate, makes multi-threading easier, and adds an application-wide thread-pool to CordovaInterface. Adds an onReset method that is called when top level navigation changes. This is where you should stop any long running processes like a file transfer that are no longer needed on the new page.
1. FileTransfer API changes
- Added support for the onprogress event to get progress events for a FileTransfer operation
- Added the abort function to cancel a FileTransfer operation
See the API doc.
2. Graduated the Globalization plugin to core
This plugin was previously in the phonegap-plugins repo (BB WebWorks 5, iOS, Android). The globalization object obtains information and performs operations specific to the user’s locale and timezone.
See the API doc.
3. Splashscreen API
The Splashscreen API is now formally documented for iOS and Android.
4. Android JavaScript to Java bridge improvements
- The callback server is gone.
- Uses events to specify when a result it ready.
- Up to 25 times faster.
Read issue CB-638 for more information.
5. Partial support for video tag
We've been able to shim in support for the video tag. See my earlier blog post for more details.
6. Hardware acceleration is enabled by default
When you run bin/create to make a new PhoneGap Android project then android:hardwareAccelerated is set to true by default on the main activity.
See Android docs for an explanation of hardware acceleration.
See Android docs for an explanation of hardware acceleration.
7. useBrowserHistory now defaults to true
We've deprecated the current way that history is handled in Android apps in favour of the default way it is handled in the web view. To go back a page you should be using history.back(). Because of this change iframe's now work properly.
If you need to enable the old way to handle history you can set useBrowserHistory to false in config.xml.
8. Introduce CordovaPlugin class
CordovaPlugin will be replacing the Plugin class for extending PhoneGap functionality. It adds a new execute method public boolean execute(String action, String rawArgs, CallbackContext callbackContext) to enable developers passing large amounts of data to the native side provide their own JSON parser. It also cuts down on boiler-plate, makes multi-threading easier, and adds an application-wide thread-pool to CordovaInterface. Adds an onReset method that is called when top level navigation changes. This is where you should stop any long running processes like a file transfer that are no longer needed on the new page.
9. Various bug fixes
- Back and Menu button events now fire if the cursor is inside a text view.
- Fixed a path where the whitelist was not being checked in DroidGap.
- FileTransfer.download now supports the trustAllHosts option to allow downloading from servers with self signed certificates.
- Removed trailing space from contact.name.formatted.
- Properly set contact's IM type.
- navigator.language is now set properly when the language is switched in Android settings.
Saturday, October 27, 2012
Books I've Read This Week
So this book was very, very interesting to me. A number of things I read helped me understand better how people relate and react to my behaviour. I can honestly say the book was eye opening. I hope that I can put to use what I've learned in this book to better relate to my family and friends. Also, if you've met me and come away with the impression that I'm a jerk. Sorry. I know ignorance is not a defence but I hope to leave you with a better impression on a second meeting. |
Monday, October 22, 2012
Partial Support for the Video Tag in PhoneGap Android 2.2.0
Well if you've followed the saga of getting the video tag to work properly in the WebView on Android then you've read my post about why I created the VideoPlayer plugin and it's enhancement. Well in the upcoming PhoneGap 2.2.0 we will have better, but not perfect, support for the video tag thanks to work by Steren Giannini.
In Android 4.x you only need to set the hardwareAccelerated attribute to true in order to get true in-line video tag support on Android.
Unfortunately, in earlier versions of Android this doesn't fix the problem. So instead code has been added to the core of PhoneGap to detect the video tag and handle it better. Sadly, we are unable to play the video in-line but when a users taps on a video tag a full screen video player will be launched. In order to get back to the main app the user need only hit the back button to return to main app screen.
There are a few caveats though. The video tag will only support a single source so it will need to look something like this:
So again, it's not perfect but it is better than nothing. If you are getting tripped up with one of the caveats I described above the VideoPlayer plugin still works.
In Android 4.x you only need to set the hardwareAccelerated attribute to true in order to get true in-line video tag support on Android.
Unfortunately, in earlier versions of Android this doesn't fix the problem. So instead code has been added to the core of PhoneGap to detect the video tag and handle it better. Sadly, we are unable to play the video in-line but when a users taps on a video tag a full screen video player will be launched. In order to get back to the main app the user need only hit the back button to return to main app screen.
There are a few caveats though. The video tag will only support a single source so it will need to look something like this:
<video poster="http://path.to.my/poster.png" controls>Additionally the source url can refer to a video on the internet using the http:// protocol or a local file using the file:// protocol. At this time videos in the assets directory are not support so something like file:///android_asset/www/video.mp4 will not work.
<source src="http://path.to.my/video.mp4">
</source> />
</video>
So again, it's not perfect but it is better than nothing. If you are getting tripped up with one of the caveats I described above the VideoPlayer plugin still works.
Friday, October 19, 2012
Books I've Read This Week
The novel is full of very interesting ideas and I recommend it as a good thought provoking read. |
Tapworthy: Designing Great iPhone Apps by Josh Clark may be focused on developing iPhone applications but there is a lot of great cross over advice for mobile developers. It really helps developers understand the design of good touch interfaces, how to give your app a personality, common touch gestures and the importance of a good icon. |
Thursday, October 18, 2012
Ottawa-Carleton Wildlife Centre Video
My amazing wife, Kate, has put together a three minute video highlighting the Ottawa-Carleton Wildlife Centre where she's worked for the past 15 years. The OCWC is giving thanks to the Community Foundation of Ottawa on their 25 years of service in the community. Give the video a watch if for no other reason than to see pictures of cute baby animals and if you can hit the like button on YouTube it would be greatly appreciated.
Tuesday, October 16, 2012
Presenting PhoneGap at Ottawa Web Design, UX Design and Web Development
So if you are one of the few people in Ottawa who haven't heard me do my presentation on PhoneGap I will be doing it one more time this year at the Ottawa Web Design, UX Design and Web Development meetup on November 7th. The meeting will be held at The Code Factory which is at 246 Queen St. Ottawa, ON. Maybe I'll see you there.
Subscribe to:
Posts (Atom)

