Herein you’ll find articles on a very wide variety of topics about technology in the consumer space (mostly) and items of personal interest to me. I have also participated in and created several podcasts most notably Pragmatic and Causality and all of my podcasts can be found at The Engineered Network.
The Apple Developer NDA And Why Tech Sites (Generally) Don't Care
Another WWDC is behind us and another shiny new, or perhaps a not quite finished yet Beta is ready for eager developers to start playing with. The staggering number of “pretend developers” that sign up just to install the latest operating system on their iOS device but have never and will never develop an App for their iOS device(s) is sure to be a significant number.
Time and again technology news websites offer “hands-on” and “first looks” at iOS builds as they are released. They have signed up claiming to be a developer to obtain the latest build, play with it, write down and post what they find and wait for the torrent of page views to ensue.
Now wait just a moment. What about the NDA? That’s Non-Disclosure Agreement for those not versed in legalise. (Okay fair point - I’m not totally versed in it either and expect very few truly are…) I would like to point out that whilst I am not a developer at the moment I have been in the past with an App in the App Store and as such I’m going to be a bit careful about what I say and link to. First and foremost however I need to link to the current Apple “Developer Agreement” which is unfortunately only available if you sign up as a developer hence the external site link. Section 10 of the iOS agreement called Confidentiality says it all in legalise, with 12.2 (b) stating in effect that if you don’t keep pre-released software details confidential then you’ll be kicked out of the developer program and a few other possible fates, not worse than death but annoying perhaps.
Developers that rely on Apple and the App Store for their income will not break the rules: they can’t afford to. If they get banned they will lose their revenue and in some cases all of their income. That’s a strong incentive to take the NDA seriously.
Pretend developers that want to just download and play with the latest firmware, or those that are trying to make money from it with no income intended or expected from Apple are free to do as they please. If they are an individual then Apple will not likely track them down or lock them out provided they aren’t making money from disclosing features of the upcoming Beta software. On the other hand if they are releasing information about the new software that is making them ad-based revenue from lots of page views then Apple may take it more seriously.
Let us suppose they did. They could shut down the account of the offending individual from that company (let’s say Gizmodo for example). All Gizmodo need to do is persuade another employee to sign up and foot the bill for the application fee and they’re off and running again. It would be problematic for Apple to try and screen all applicants to see if they are in any way related to Gizmodo who had just had their membership revoked. (Whilst Gizmodo had been banned from Apple events due to the iPhone 4 scandal, so far as I know they haven’t been banned as developers)
The flip side of this is that Apple is getting free publicity. They don’t need to release any update to their websites, no keynotes nor press events and these Tech Sites will do their advertising for them. How many features do they have to release to the public for testing and how many are tied to new hardware in their next device? It’s easy enough to hide functionality due to be released in conjunction with new hardware (the next iPhone or iPod Touch for example) without revealing it to Beta testers. Apple surely release the occasional extra feature with versions of the Beta that give further hints and clues about upcoming features: all of which are snapped up by Tech Sites and a rumour-hungry world-wide audience of enthusiasts.
Perhaps then the NDA is more of a formality. A rule that is more honoured in the breach than the observance (thank you William). Apple may never truly crack down on NDA breakers and “pretend developers” and if they don’t Tech Sites will continue to not care about the NDA, whilst ever fearful genuine Apple Developers will tread carefully; just in case.
WWDC 2012 Brings Welcome Updates in iOS6
The WWDC 2012 Keynote has just concluded with a new 15" Macbook Pro with a Retina Display and 2kg weight stealing the hardware spotlight (spec bumps for all other Macbook Air and Macbook Pro models except the 17" which appears to have been retired as it is now absent from the Apple website and store) and the addition of Power Nap as a useful background updating/backing up feature for Mountain Lion (no release date announced but it was announced it would be available as an upgrade from Snow Leopard or Lion starting at $19.95 USD) on newer Macbook Airs and the Retina Macbook Pro rounded out the first half of the presentation. Mountain Lion has been previously shown off at a closed presentation session with only a handful of additional features shown today including the ability to tweet/message from within the notification centre drop-down seemed like a good addition. The addition of USB 3.0 to the Macbook lineup is also a long time coming and was well received. Little additions like the new Thunderbolt to Firewire 800 and Gigabit Ethernet adaptors will also be very useful for those that want hardwire connected speed over wireless.
Reported moves to 802.11ac were unfounded and there was no mention of iMacs, Mac Minis or Mac Pros during the presentation and a check of the Apple website showed no updates to the iMac or Mac Minis. However as Apple occasionally does silent updates of products they don’t feel need the spotlight the Mac Pro is listed as “New” on the Apple Online Store but appears to have no feature bumps, no USB 3.0 and no Thunderbolt with the same existing video cards.
The major updates to iOS6 were all new including a long-awaited Do Not Disturb feature for the iPhone plus when a call comes in new shortcuts to leave yourself reminder to call them back or to respond with a quick Message (such as “I’m busy”), the extension of Siri to the “New iPad”, sending Siri worldwide now (previously local business searches and several other features were restricted to the US only and in US English only) and with multiple and additional languages. Apple also introduced their answer to Google Maps with their own native app using their own native mapping geo-data that includes a visually impressive 3D mode in both plain and satellite view detail as well as turn by turn navigation built into the app that works from the lock screen.
FaceTime and iMessage now integrate such that if you receive a phone call or message you can answer it on any supporting device (iPhone/Mac/iPad) which is the same concept as was shown for the now defunct TouchPad a bit over a year ago. Photo streams can now be shared between users with those users watching your Photo Stream notified that an additional photo has been added. After the issues with Ping integration with Facebook a few years ago it’s clear that Apples relationship has improved with Facebook to the point where Facebook integration is now deeply embedded into iOS6 much the same way that Twitter has been. This makes it possible to share things from within photos, the App Store and now supports contact integration and along with Twitter it is now possible to post from the Notification Center pulldown.
A new app called Passbook that is designed to keep digital copies of ticket “stubs” such as boarding passes, cinema tickets, as well as store cards and can track balances for such accounts within it. (Sounds good in theory but will need time to test this to see how effective it is). Mail is finally receiving custom notifications (iOS6 also supports custom vibrate notifications) and flagging users as VIP users for a new priority Inbox and photos and videos can now also be inserted in-line in a message (another long overdue feature). Guided Access now allows a user to disable certain screen areas or even hardware buttons to allow a single app mode - very handy for very young children in my case for example where one can now disable the home button.
Apple has added many of the remaining “it’s about time” features to iOS6 and in so doing has matched pretty much every competitors feature further rounding out the iPhone as one of the best smartphones in the world. The first Beta release is available now at the Apple Developer website and is only available for developers to install on their devices. As always it is not recommended for devices that are intended for day to day operational use.
Codium Extend Child Theme Headers: Taking Control
If you’re like me and you like using WordPress you may want to modify the themes that are commonly used and customise them to your own liking. The WordPress supplied themes TwentyTen, TwentyEleven are quite commonly used and there is a lot of support for them on WordPress’ own site but those suggestions won’t help if you are using a different theme: such as Codium-Extend that already includes a customisable header.
It is generally considered to be bad practice to modify existing themes mainly because their complexity sometimes leads to bugs that require patching/updating and hence your updates to the parent theme can be wiped out by a single careless “yes I’ll update that theme” moment one late night. Of course you could just resolve to NEVER update your theme but there may be a time when you really want that new feature or bug fix and you have to update the parent theme. In these cases and for best practice it’s best to create a child theme and update the style.css file as you see fit. In my case this wasn’t enough as there were functions called in my theme of choice that could not be over-ridden by modifying the style.css file.
Presented with the issue of updating the header of a codium-extend themed site I spent a lot of time both searching and learning how WordPress have implemented their PHP/CSS before I came up with the following solution - which I might add was not actually presented in full on any one site I found in my searching.
Before I go on I need to say that this is likely not the only solution nor is it necessarily the best solution I know only that it works well for me on my site.
The way codium-extend creates its custom header is by using the function add_custom_image_header() and it references two functions to do so: codium_extend_header_style() and codium_extend_admin_header_style(). These are all located in the functions.php file in the parent theme (codium-extend). Since you can’t redefine previously defined variables and since you can’t over-ride already defined functions neatly, it’s just easier to ignore those two functions created by codium-extend and simply create your own.
Start by copying the existing two header style functions from codium and renaming them to whatever you like. From there modify them as you see fit/require. Here’s what mine looked like after I had done this:
<?php
// gets included in the site header
function td_header_style() {
?><style type="text/css">
div#header {
background: url("http://techdistortion.com/wp/wp-content/themes/codium-extend-td/TD-1090x120.png") no-repeat;
height :120px;
-moz-border-radius:6px;
border-radius:6px;
}
<?php if ( 'blank' == get_header_textcolor() ) { ?>
h1.blogtitle,.description { display: none; }
<?php } else { ?>
h1.blogtitle a,.description { color:#<?php header_textcolor() ?>; }
<?php
} ?>
</style><?php
}
// gets included in the admin header
function td_admin_header_style() {
?><style type="text/css">
#headimg {
width:1090px;
height:120px;
}
</style><?php
}
?>
After this we’ve now setup the two functions how we want them and it’s time to remove the existing image header for which WordPress provide a function appropriately called remove_custom_image_header(). In order to execute this and our two new functions we need to wrap them in an action that takes place after the theme has finished its setup (if we don’t we’ll be removing an image header that hadn’t been created yet = this is bad) as follows:
<?php
add_action( 'after_setup_theme','remove_image_header', 100 );
function remove_image_header() {
remove_custom_image_header();
add_custom_image_header('td_header_style', 'td_admin_header_style');
}
?>
Of course you can name your two new functions whatever you like but I prefixed mine with “td” after this site.
All of this is all very well and sedentary but the problem is that as of WordPress v3.4 (not released yet but will be soon) the add_customer_image_header is going to be deprecated. It’s advisable then to look into add_theme_support(‘custom header’); after that point. I’m assuming there will be an update to codium-extend to support add_theme_support at that time.
The same principles in this article can be used to create your own functions that are executed in a child theme to supplement functionality not present in the parent theme, without having to modify the parent theme.
The “New” iPad Doesn’t Work on 4G in Australia: Part 3
As I’ve previously discussed both here and here the ACCC took issue on behalf of consumers over false advertising in Australia of the iPad + 4G as it was called at the time. Although the judge has yet to provide a final approval for the amount of the fine for Apples infraction, The Australian (link via news.com.au) reports that Apple will receive a $2.25M fine that will cover the ACCCs court costs plus the remainder as a penalty as provided for by the Australian Consumer Law. It may sound like a lot of money but for Apple with nearly $100B USD in cash on hand it’s hardly more than an irritation to the giant company. In terms of the amount of the penalty the value is nowhere near the highest penalty brought for false and misleading advertising by the ACCC in Australia. Only last year Optus was fined in excess of $5M AUD for example.
The sad truth is that it is unlikely Apple will change their US-centric view of their business - which is understandable since the US is where they operate and is their largest single market (though not their largest source of revenue anymore). If a name makes sense in the US then it is likely they will use it everywhere in the world once again and argue their case for that product on its own merits again. Such is their approach to product naming in general they will likely continue to name products the way they choose to, and like this fine will simply cop the flak when it inevitably comes back as a cost of doing business in other countries.