If the rumor mill is to be believed, Apple will announce their new iPhone on Sept. 10th. That is not too far away, and as such means developers are working hard to have launch titles available. Realistically, I doubt that Apple will make the iPhone 5s/c or whatever it will be called, ready on the day of announcement; however, I do believe that they will make iOS7 available almost immediately.
As a developer, I am looking forward to releasing updates of my app that will more closely align to Apple’s new UI vision. I am also looking forward to all the new API’s that Apple has been talking about since June’s WWDC.
For my Android needs, I currently have an Galaxy Tab 2 (10 inch). It is running Android 4.2.1 and I have been wanting to install the latest version of Android, but Samsung has yet to roll the update out for my device. I have read that they are rolling it out around the world, but those reports tend to be a bit confusing. I could root the device and do the update myself, but due to my day job’s policy at IBM this is prohibited on any device that accesses my corporate resources. I currently use the Tab 2 to get my corporate email and instant messaging (using Lotus Traveler and Lotus Sametime for Android). I had these both on my iPhone and iPad, but since, as a developer, I tend to run pre-released and unsupported operating systems I decided to only run corporate software on my Android device.
I guess I could buy another Tab, perhaps the 7 inch, and another iPad (perhaps the mini) and only do upgrades on one device, keeping one device in compliance with corporate policies. What do you think? Do you invest in multiple devices for all of your development environments? One for personal/development use, and one for production use?
Last night, as I was checking my email before going to bed, I got a note from Apple that their replace/rebuild of the Developer portal had been completed and all services are working again. Great news, and hopefully Apple has addressed, not only the security flaws identified by the Turkish researcher, but any fundamental design flaws which could expose other security issues going forward.
The biggest lessons I’ve learned from watching this all unfold is – security is hard. Steve Gibson (from Spinrite fame) has been recording a long running podcast on security called “Security Now“. He spends 2 hours, each week, going thru all the latest info on security patches, and describing the underlying design and technology of various protocols, etc. which shows how much you need to know to make truly secure applications.
Years ago, when I was working as a consultant, I wrote a Human Resources system for a home health care management company. I was asked to make sure that we had an appropriate level of security and could segregate data between managed companies via passwords. The design was simple. Within the application, you had to enter a unique company identifier and password for each company’s data. Simple and somewhat effective, given that the entire application and all of its data resided on a midrange computer that could only be accessed within the companies physical boundaries. Within 1 month of the application going live, every monitor within the HR department had a nicely printed sticker listing the company identifier and the password for each. So much for security.
The reason I bring this up is to identify how technology is only as secure as its weakest link. Kevin Mitnick, shows us in his biography – Ghost in the Wires, that the best hacks are really around social engineering and not technology. Even Mat Honan’s famous twitter / gmail / icloud hack, was much more a social engineering issue than a technology flaw.
If you are storing sensitive data (however you define sensitive), what are you doing to make your application secure, with out distracting from its functionality?
I recently posted a blog entry about upgrading your app, if you should support past versions of iOS or Android. So imagine my delight when I saw this post – Majority of Developers working on iOS7 Updates. A study shows that 52% of iOS developers plan on making their apps require iOS7 and drop support for prior version of iOS. I think this is great. The many new features that are being talked about in IOS7 show that these features are the ones that developers have been waiting for. Features like better multi-tasking and improved screen layout to address multiple screen sizes have all been a long time coming, and I expect that if iOS7 is adopted quickly by consumers, that number of apps that become iOS7 only will quickly go above 70%.
What do you think?