Backup you iTunes App Backups

This article explains how to backup your iTunes application backups with Time Machine on the Mac. You could follow the same procedure to backup your data on a PC.

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.

pastedGraphic
|

App Store Reviews: Contined

Now that My Eyes Only™ has been in the App Store for almost a month, it has collected a few reviews that for the most part that reflect both the past and current state of the application. There are some very useful reviews that we take seriously and use to adjust our future product roadmap. They are not the positive reviews. But that’s OK, because MEO is a young product and it doesn’t do everything for everybody and it just can’t.

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

New in this Release Version 1.1.1 - Setting when the password is requested
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

Pasted Graphic

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

One week after the MEO hit the App Store, we set an update with fixes for all the known issues our customers are having in version 1.1. In addition, we improved our encryption. Now we just have to wait for the free update to hit the App Store.

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

I’m excited to report that My Eyes Only™ has hit the App Store! You can now start using the application to protect your personal information. The 1.0 version is not without a problem or two, but the 1.0.1 is in the queue for immediate release. More information comming...
|

Avicom to the rescue!

logo_avicom
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

I might as well make my first comments about the App Store even before my app hits the store. That way, I will be commenting using pure logic and not emotion from my own experiences.

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...

Don't make me enter my password if I don’t have to! That was one of my early design criteria that I have implemented with wonderful results, if I may say so myself.
PasswordScreen


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

You can see by the graphics design though up by the Nick team at Avicom Marketing Communications,
logo_avicom
they were going for the white text over a darker background. This is fantastic looking.



HalfFincalShot

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?
HalfFinancalEditShot

The reason is because of the magnifying tool.

MagGlass

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™

The iPhone has a superior interface for accessing data fast, but it isn’t the best device for entering large amounts of data. A standard computer keyboard is vastly superior for entering large amounts of data. The trick to building a successful iPhone application is to get in and do your thing and get out. My Eyes Only™ is designed to do enter data fast and get the information out fast and easy. The bottom line is if you can get the data in easily, then nobody will use the application. And MEO fills the need to keep important information secret.
DiscoverEdit


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.
DiscoverEditingScrolled

|

Submitted to the App Store

eyecon-small-ltgray
I’m a little late to the party, but in the bigger picture My Eyes Only™ is an early onto the scene. I was late because I spent the time to get my usability and visual aspects of MEO in place before I posted to the App Store for review. That added with the fact that I had to spend late nights and long weekends designing and implementing MEO, just made the timing a little late and cost me money in the short run. I’m sure when it hits the App Store will be be worth it.

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

I’m happy to report that my first interaction with Apple Developers Technical Support (DTS) was exactly what I needed to help me with the KeyChain APIs. I was completely blocked with those APIs. They are not good APIs nor is the documentation adequate in support of the APIs. It is hard to write good documentation for bad APIs or bad software for that matter.

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

One of the scary issues facing iPhone developers is, "Who is building my app?", "How much better will be it than my app?", "Will they charge less than me or will it be free?"

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

As we’re all getting more insight into the iPhone program, it is coming to light that some folks are fortunate in getting into the program and others aren’t. There is a lot of armchair quarterbacking of how Apple should be playing the game, but I suspect is delays of getting companies and developers signed up is a function of the number staff folks available to support the developers during the beta period.

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

There is a lot of angst by some blog commentators regarding Apple’s decision to take a break from adding new features and concentrate on performance and stability. The common theme is, why should I have to pay for performance and stability it should be free!

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!

How easy was it to switch over from running on the iPhone Simulator to using an actual device? Well I was stunned to find out just how easy it was. To all the Apple engineers... Job Well Done!

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 feel very privileged to get early device access. Being a wannabe Indy in start-up mode and getting device access is key to achieving success. The iPhone OS is going to be a long road and being on the tip of the spear is a good place to be.

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

As a developer of iPhone applications my job is more challenging because Apple has set the bar so high, that you must have incredibly functional applications and they must be good looking. There has to be a WOW factor to the application.

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

Since I started developing for Mac OS X on brand new shinny Leopard, I was able to take advantage of the new API calls on NSTreeController to walk the tree, access the real objects and not the proxy objects and to insert items into the controller easier than folks have in the past.  That is what I've gathered from reading about NSTreeController on the Internet.

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

I might as well make my first comments about the App Store even before my app hits the store. That way, I will be commenting using pure logic and not emotion from my own experiences.

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.

|