Backup you iTunes App Backups
http://www.tuaw.com/2008/08/21/mission-tuawpossible-back-up-your-iphone-with-time-machine/
How to Restore from iTunes Backup
When your device is attached, right click on the device and you will see the following options. Select “Restore from Backup...” and all the data backed up onto your iPhone will be restored from the last time it was synced/backed-up.
See our support page “How do backups work?” section for more details.
App Store Reviews: Contined
I appreciate the enthusiastic reviews, they keep us going late into the night. Thanks all!
There are few reviews, usually 1 star reviews that are just odd and out of place. They don’t provide any value to us at Software Ops and they don’t provide any value to potential customers. They are, I suspect, opposition marketing at work. Let me be clear, not all the 1 start reviews fit this category. The 1.0 version did suffer some problems, but we responded and all known problems are fixed.
The last couple of 1 and 2 star reviews are just plain stupid. Read More...
Version 1.1.1 Released
Number 1 Customer Request - An option to request password at startup. If you want to keep all your information private, go to Setting -> Password Setting and Request Password At Start -> change it to Request Password At Start
Added an “Other Card” in the credit card category for cards not already in the list
Added the icons for the cards in the credit card category list
What’s Fixed
-In the Logins, if you have a URL that starts with “https” it now will link to that URL if it is valid.
Fixed credit card customer server phone number entry issue with the form of xxx-xxxx.
The new Settings screen includes Password Settings
The new Password Settings screen allows you to select when you want to have MEO ask for your password. Read More...
Version 1.1 Submitted: Update
I’m a bit behind on the blog, but version 1.1 has been out for over a week and I believe that the majority of my customers have upgraded.
My Eyes Only™ Hits the App Store
Avicom to the rescue!
If you find that softwareops.com is a great looking site and that My Eyes Only™ has a very iPhoneish icon then I will give credit to Avicom for their creative design. Also, the backgrounds for the information screens for MEO were also created by the talented staff at Avicom. So, if you’re looking for creative support for your application or web site, click on the icon above and find out more about Avicom.
App Store Reviews
First I want point out that I want constructive criticism from users who have actually purchased My Eyes Only™.
The Freetards
Where to start with this. The freetards have polluted the App Store. This is a disgrace to the wonderful App Store. Using the word disgrace is an emotional response and I said I would use logic. Well, there is just no logic to the freetards. It is a religion filled with emotion.
Report Your Problems to the Company
It theory, this should not be needed but if you run across repetitive problems that you did have in the first place, then reboot. Here is one comment that was fair but, put the blame in the wrong place. This was for an application that I’m interested in purchasing.
I was just about to post this great review about how the application is easy to use and turns you free time in great fun, when I started to have stability issues with it. At the moment the program does not run at all, clicking ok the icon does nothing but shows the splash screen (which it already annoyed me because it takes time from starting the application) the quits.
Well I had the same problem with my iPhone and I was stumped. But, by happen stance I decided to re-download my apps from the store. Did you know you could do that? Well that cleared up my problem.
Reboot Your iPhone
I was testing MEO and I found a bug that I could reproduce. Those are the best! I did it 5 times while having lunch so I had it nailed. Well, I decided to reboot the iPhone, just to see what would happen. Well... I could not reproduce the problem. In fact, I spent an hour and a half trying to reproduce the issue and finally gave up. It most likely wasn’t my problem.
Don't Make Me Enter My Password...
You see, one thing I learned early on is that you may not actually have all the information stored in MEO that you though you did. So, allow me browse a bit to see if that infomation I need is in MEO ..... then just as I have zeroed in on the info you’re looking for..... and I’m just one simple touch away from what I’m looking for.... the darn MEO application makes me enter your stupid password!
PERFECT!!
Last Minute Eye Candy Change
So when you select the edit mode you would expect the text to remain white, but in stead you get shade of gray. Why would I mess with such a wonderful scheme?
The reason is because of the magnifying tool.
Well, where’s the big problem here it looks just fine, right? Well, the magnifying tool is “smart” enough to respect the color of the text. Thus, the beautiful white text was invisible on the white background. Not such a good thing. I had to scramble in the last day before shipping and select fonts colors for my various fields so they would show up both in the field and in the magnifying glass. What I have is a compromise but what I have now works.
Oh, BTW, I figured that if the magnifying glass respected the font color, it probably respected the background color. Well, no.
Entering information into My Eyes Only™
What I did for MEO is to design appealing visual layouts with elegant graphics as a back drops for simple edit fields. Then I used the power of the iPhone keyboard to move from field to field. In addition, if some fields had fixed lengths, as in a credit card number or social security number, it just moved to the next field automagically. I also highlighted the current edit field to help the user see what was being edited. (I credit Dan M. for the tip.)
In addition, when you are done entering the last field that is visible, when you go to the next field that is out of view, it scroll into view. Very cool! And useful I might add.
Submitted to the App Store
In reality it will be the beginning of the beginning. Everything I’ve done so far, was just the prelude to the beginning.
Help from DTS
To break me out of the bind I was in, I decided to use one of my DTS tickets and asked for support. Now in the fairness of full disclosure, I asked for support regarding the KeyChain APIs about 6 weeks before I received the help. But, help was quickly sent my way once I was accepted into the iPhone program. It was like the damn broke. I got accepted into the program and then the DTS support showed up and it was exactly what I needed to keep me moving.
With the help from DTS, my biggest technical concern is now being worked on with success. It will soon be behind me.
Interesting iPhone Apps, I've Seen: The creativity level is high
These are all real concerns, but what I've seen, is that I bet I won't have too much to worry about. Why, because the apps that I've seen, are nothing that I would have thought of, nor what I would write. And that is because the ones I've seen are so creative that I just couldn't have created them. I will be sending out some links when I can, to show you the creativity.
Sure, there will be duplicate apps on the iPhone and perhaps even duplicates of what I'm building. But, I believe I will be OK. More importantly, the iPhone users will be blown away with what they are going to have in their hands, literality, in the near future.
iPhone Program Hell
Given the number of folks out there without early access, I feel that I have to step up to the plate and deliver a high quality, application that meets the high stands of an iPhone application.
Snow Leapord: Performance is a Feature
While I agree that stability should be free guess what? It is free. That is what all the third digit updates are about. And in some cases new features are added and performance is improved for free. I think Apple is holding up its end of the deal. But what about pure performance improvements?
Performance is a feature of a working system. It takes a great deal of effort to identify, assess, engineer and test performance improvements. In fact, a proper product organization considers performance a feature. It needs to identify where performance is key to a product, plan for time to investigate performance improvements, implement the performance enhancements and then test. Then, when performance has been achieve, it needs to be marketed just like any other feature.
I give Apple product managers and sr. management credit for standing up and saying that performance is a feature, and treat it like any other feature. It’s a Think Different kind of move.
Now That Was Easy!
I first build the xCode project for My Eyes Only with Beta 1. I used that project through all the beta releases including beta 6. When I got device access and provisioned and iPod Touch, by following the multi-step instructions, I was ready to compile and run on the iPod. When I compiled with to the iPod target it didn’t compile. Sad Face. But if I build a new Cocoa Touch project in xCode, compile and run, well like magic it ran on the device. That was just so cool! But I still have a problem, my project didn’t compile.
I’m the kind of person that looks for the easy way out, especially when time to market is key. As a wannabe Indie, I need to get product into the market. So I thought to myself, I can struggle through the compiler errors or perhaps try make a new project from scratch and add all my file and compile and run and see what happens. So I did. And it worked!
WOW! Was I jazzed. I mean, it just worked like magic. My application that had been running on the simulator ran on the Touch without a single line of code changed. Did it work because I was some kind of genius engineer? No. It just worked because Apple has some genius engineers, and development manager and project managers and product managers.
The bar is high.
Getting with the Program
I owe thanks for another Indy developer for pulling some string for me and getting help from Apple evangelism. I’m not going to name-names at this time, but those who have helped know who they are. I will give credit after July 11th.
I’m grateful for you help.
Apple Has Set The Standard
This is a challenge for any application developer because we are all new to the platform. If you are a seasoned Cocoa developer you have a leg up on the mechanics of iPhone development, but what do you really know about hand held devices? What about other mobile software developers? Sure they understand the concepts of mobile computing, but the development environments are totally new. Then there's that WOW factor thing. Windows mobile applications just don't have that, so those developers will need to get into the groove of iPhone development. If you are starting from the ground floor, you have to learn how develop for mobile devices and learn the Apple way of software development. What could be more exciting!
With this said, I believe that the initial round of iPhone and iPod Touch applications that will be available at the "grand opening" will be nothing short of stellar. By bringing on third party application developers, Apple has stacked the deck in goal to dominate the mobile device market.
NSTreeController Development: Walking the Tree
The method arrangedObjects is very useful, see here: – arrangedObjects Notice that it returns a proxy root tree node containing the receiver's sorted content object. Those are some very important words and hard to explain, so instead of trying to explain, I''ll show.
NSArray *treeNodes = [[self arrangedObjects] childNodes];
So, arrangedObjects returns a proxy root tree node, so just pass that into the childNodes of NSTreeController, another useful 10.5 method, and you get all the children of the treeNode. Since I used arrangedObject, I get the top of the tree so that I can with it as I please, mostly.
Anyway here are some category classes that allow you to walk the tree using any controller selector as a callback. This example is not perfect, it is a work in progress, but useful none the less.
The code below is defined as a catagory of NSTreeController, in a garbage collected environment, so there is no memory management.
//
// NSTreeController-Extensions.h
//
// Created by Joe Michels on 3/8/08.
// Copyright 2008 Software Ops LLC. All rights reserved.
//
#import Cocoa/Cocoa.h
@interface NSTreeController (NSTreeController_Extensions)
- (void)visitAllNodesStartingWithNode: (NSArray* )treeNodes useSelector: (SEL)inSelector
withObject: (id)inObject;
@end
//
// NSTreeController-Extensions.m
// TeamPlayer
//
// Created by Joe Michels on 3/8/08.
// Copyright 2008 Software Ops LLC. All rights reserved.
//
#import "NSTreeController-Extensions.h"
#import "ProjectsController.h"
@implementation NSTreeController (NSTreeController_Extensions)
- (void)visitAllNodesStartingWithNode: (NSArray* )treeNodes
useSelector: (SEL)inSelector
withObject: (id)inObject
{
// This is a recursive decent routine. It will walk the tree visiting each node
for (id item in treeNodes)
{
NSLog( @"Visiting tree node: %@", [[item representedObject] valueForKeyPath:@"name"] );
[self performSelector:inSelector withObject:item withObject:inObject];
//check for a decendent
NSArray *childNodes = [item childNodes];
if ([childNodes count] > 0)
// we are recursing
[self visitAllNodesStartingWithNode:childNodes useSelector:inSelector withObject:inObject];
}
}
@end
Let's make a call using the above code.
- (NSArray* )itemsForScripting
{
NSLog(@"Getting projects for scripting, returned in array.");
NSArray *treeNodes = [[self arrangedObjects] childNodes];
NSMutableArray *itemsArray = [[NSMutableArray alloc] initWithCapacity: 2]; << 2??, whatever!
[self visitAllNodesStartingWithNode:treeNodes
useSelector:@selector(getOrderedListOfProjects:withArray: )
withObject:itemsArray];
return itemsArray;
}
You can pass nil for the object as in this code snipet:
NSArray *treeNodes = [[self arrangedObjects] childNodes];
[self visitAllNodesStartingWithNode:treeNodes
useSelector:@selector(findAllMatchesInNodes:withObject: )
withObject:nil];
NSTreeController Development: Inserting Objects for Scripting
First I want point out that I want constructive criticism from users who have actually purchased My Eyes Only™.
The Freetards
Where to start with this. The freetards have polluted the App Store. This is a disgrace to the wonderful App Store. Using the word disgrace is an emotional response and I said I would use logic. Well, there is just no logic to the freetards. It is a religion filled with emotion.
Report Your Problems to the Company
It theory, this should not be needed but if you run across repetitive problems that you did have in the first place, then reboot. Here is one comment that was fair but, put the blame in the wrong place. This was for an application that I’m interested in purchasing.
I was just about to post this great review about how the application is easy to use and turns you free time in great fun, when I started to have stability issues with it. At the moment the program does not run at all, clicking ok the icon does nothing but shows the splash screen (which it already annoyed me because it takes time from starting the application) the quits.
Well I had the same problem with my iPhone I was stumped. But, by happen stance I decided to re-download my apps from the store. Did you know you could do that? Well that cleared up my problem.
Reboot Your iPhone
I was testing MEO and I found a bug that I could reproduce. Those are the best! I did it 5 times while having lunch so I had it nailed. Well, I decided to reboot the iPhone, just to see what would happen. Well... I could not reproduce the problem. In fact, I spent an hour and a half trying to reproduce the issue and finally gave up. It most likely wasn’t my problem.
