Dec 20, 2010
It’s been a long long time since I last updated iWoman, more than a year to be precise. I have to admit the success of iWoman made me lazy. Why would you want to change something that is selling so well? In fact iWoman topped the Healthcare charts in several countries for a long time. Other projects seemed be be more important.
I have to credit my wife who kept bugging me about how I obviously did not care about we women on Earth. She is using iWoman for about years now and I kept updating her iPhone with the latest builds. For a long time iWoman was stuck right between versions, but suddenly – about a month ago – motivation returned. I wanted to polish iWoman into the jewel that is was so long ago and add all these features that customers kept requesting.
iWoman 2.0 is now (finally!) available on the app store.
Dec 19, 2010
I was interested to see what goes on in the minds of my peers when it comes to 2011. When you try to emulate the success of other developers it is not just about what they do but you also want to know what goals and wishes their mind revolves around.
I’d like to especially highlight Cory Wiles whose response was the most extensive.
1. Spend more time on my own projects
2. Be invited to give more talks about iOS
3. Finish my password management framework and submit for patent
4. Become much more proficient with CoreGraphics
5. Complete and submit at least two of my own projects to app store
(contract work takes up large part of my time)
6. Go to at least one other conference besides the WWDC
From motivational literature we know that your live moves towards what you predominately think about most of the time. Most of these thoughts would probably not be conscious but my theory is that a “shoot from the hip” response to my question on Twitter should yield a bit of insight.
Dec 17, 2010
A while back I announced some changes for my iOS business and website. First there was the new name “Cocoanetics” to replace the ill-fated “Dr. Touch”. Next there had to be a new design. Something professional. Something easy to read so that you have fun every time you return to the site.
After asking around a bit I found Jermemiah Tolbert of Clockpunk Studios who took my by the hand and made this wonderful new WordPress template. When working with Jeremiah he took charge of the design with me defining some base rules that I wanted to have incorporated:
- Be a delightful reading experience. A readable font, amble spacing. Let my tutorials and recipes shine.
- No sidebar distracting from the contents, so we had to put navigation at the top.
- Have some spots where advertisements would be placed automatically, right now I had to do all the ad inserting by hand
Working with a seasoned WP-Pro got me some pretty innovative solutions for a previously tedious work-flow.
Dec 15, 2010
In the latest version of iWoman– which I’ve been working on the past few weeks – I had a situation where I am sliding up a date picker when the user taps on a date cell. Sliding it out when the user taps on other cell was easy, you can do that in the other cells’ didSelectRowAtIndexPath. But if you have that in a grouped tableview then there are several areas outside of cells that also could become the targets of a user’s taps.
Generally a user would also assume to be able to dismiss the picker by tapping there, in headers or empty areas where you see the background shine through. In this blog post I’m showing you a technique on how this is done most efficiently and also backwards compatible.
I tried out several approaches before settling on this solution. You might be able to use a gesture recognizer, but that would rule out 3.1 compatibility. You could override the touch methods of the table view and do some fancy detective work there. But I found – as I did so often before – that by far the most convient way is to override hitTest.
Dec 07, 2010
On the Season 5 Premiere at 32:21 you can see how series protagonist Dexter (both a serial killer and a blood spatter analyst for the police) is destroying files about his victims.
When my wife saw that, she exclaimed “I want that!” which sent me to the Googles searching for what app this is. Turns out that quite a few people had a similar emotional response of “WANT” on seeing this on TV.
So in this article I’m giving you intrustions on how to achieve this.
Dec 05, 2010
Have you ever wondered what is going on when all those apps on your iPhone communicate with websites and web services? In this article I will explain a technique to employ your Mac as a spy to be able to inspect all the traffic that goes on between the public Internet and your iPhone.
This is wonderful for learning what POST requests need to be made of if you do screen scraping. It’s also quite useful if you are planning to reverse engineer some API that is not public yet. Finally you can use it to look for potential security concerns to report to the makers of your favorite apps.
You require a Mac that has a wired internet connection as well as built-in WiFi. We’ll use the Mac as the “Man in the Middle” and route all Internet traffic from our iPhone over it so that we can inspect the HTTP/HTTPS.
Dec 04, 2010
A year ago I touched upon the question as to how you can prevent NSURLConnection from aborting a HTTPS GET if the certificate is invalid. At that time it seemed like the only method available was a forbidden one: allowsAnyHTTPSCertificateForHost. It’s undocumented, works, but gets your app rejected if Apple finds it when scanning your symbols.
But what should people do who don’t want to shell out hundreds of dollars for a trusted HTTPS certificate just so that they can reap the benefit of encrypting their web traffic and possibly hide user login data from prying eyes? The alternative to those commercial certificates is to produce a Self-Signed one and install it on your web server.
In this article I will demonstrate how to properly and officially deal with self-signed certificates via NSUrlConnection. It just so happens that I have a *.cocoanetics.com on my website, primarily used for protecting SVN communication. If you go to https://www.cocoanetics.com you will see it in this dialog:
Since a Self-Signed certificate does not have a trusted root the standard is to ask the user if he wants to trust the web site temporarily, permanently or not at all. The reason being that encryption only makes sense if you know that the recipient is who he says he is. Any other site can also produce a *.cocoanetics.com certificate for their IP address. Root Certification Authorities (CA) provide security that only a certain IP address can be the holder of a domain name. This is why you see the trust of the certificate be dependent on the trust in the certificate of the CA.
But if you are calling web services of your own you can forego this mechanism. In this article I am documenting how.
Dec 02, 2010
A few days ago I mentioned to my father-in-law Alois (who happens to be a passionate wood tinkerer) that it would be nice to have something to prop up an iPad for watching movies or playing poker. A quick search yielded one at Wired, a website woodenipadstands.com and the one that Matt Legend Gemmell had recomended: WoodPad
A mere four days later he presented these prototypes to us. Ingenious!
You can see that it works well in portrait and landscape and the iPad stand has two angles at which you can use them, 15 and 25 Degrees. To make it stand even firmer he extended to pieces at the base, so it sits rock-solid on your table. The 15 Degrees also work very well with the picture frame mode which does support landscape as well.
Dec 01, 2010
You might have noticed that your SVN access to components repositories does not work any more. As of today our old Subversion server has been turned off.
It has served me well, but it was a VisualSVN on top of a virtual Windows NET and thus somewhat a pain to maintain. The new hardware is a dedicated machine with CentOS and proper backup procedures. Previously I had to rely on some file-based backup scheme, now the are regularly saving SVN backups to a second server. Having a quad-CPU dedicated server with 750 GB RAID HDD gives us way more room to grow than we previously had on a 7 GB HDD virtual Windows server.
If you are a customer of one or more of our components then look for an e-mail informing you about new access details.
Cocoanetics Component Charts
In order to be able to send out these mails I had to go through my invoices and compile a list of customers for each component. In spirit of reusability of data let me show you how many sales I’ve had per component.