“Codesign” issue resolved Monday, May 11 2009 

Around 11:00pm last night I found the cause of the “Codesign” issue I mentioned in my last post which turned out not to be a codesign issue at all.
Awhile back I wanted to change the name of the application so I modified something in one of the project/target/executable property lists and got what I wanted so I paid it no more mind.  This worked fine with the previous build of XCode.
With the latest build however, not so much.  After beating my head on the desk trying to get the app to build and run on my iPhone, I switched over to the emulator and noticed a subtle problem with the path the debugger was trying to load the executable from, it was trying to load an executable with the original name of the application.
I searched the GUI for somewhere that this name was stored, or where I could override it, with no luck.  Finally I ripped through the project files (inside the xcode project bundle) and sure enough, the original executable name was all over the place.  A quick search-n-replace and rebuild and everything was square…
…at least with the build (I’m having another new problem under 3.0 but I’ll talk about that in another post).
So the culprit is a change in the way XCode is reading the executable name out of the project files.  The codesign error was a false-positive caused by the fact that I had an older version of the executable (under the original name) out in the build directory and it was trying to install this on my iPhone.
Most “bugs” are like this, which is why debugging is a skillset all its own.


iPhone OS 3.0 Beta 5 Thursday, May 7 2009 

Looks like I'm going to have to bite the bullet and install the iPhone OS 3.0 beta on my (only) iPhone.

Apple announced today that all apps submitted to the store from now on will be tested on 3.0 and rejected if there are any issues.  In addition, existing apps may be removed from the store if they don't play nice with 3.0 after the release.  So I'm going to need a 3.0 device to test all my apps on and make changes where necessary.
So, here we go!

Prototypical #2 Thursday, May 7 2009 

Supah Computah Status 1 Wednesday, Apr 22 2009 

I decided that working on the Supah Computah (I was finally able to decipher the name written on the side) is going to be my reward for releasing my next iPhone app.  So, until I get it submitted, I’m going to have to ignore the SC project.

So the app, yes, it’s coming along well and I’m learning a lot about memory management and debugging using crash logs.  This is the first app I’ve written that’s had to store more than just configuration options so I’m learning a lot about object persistence, storage, lazy-loading, etc.  It’s all very cool stuff and I’m learning just how lazy working in a managed language (mostly C#) has made me about memory management!

I’m planning on having a beta version of the app ready by the end of this month (April) and if all goes well submitting the app two weeks later.  If all does not go well, then it’s going to be longer obviously…

This is the first application I’ve written for a “general audience” so it will be interesting to see how it performs in regard to sales on the App Store, how much promotion will be required/effective and what sort of ratings and response it will gather.

I’m also engaging my friend Tiffany to design an icon for me this time (as opposed to designing my own as with previous applications) so I am excited to see what she comes up with.

Kindle 2 Friday, Feb 27 2009 

Two things on Kindle:

1.  Why does a reader have a keyboard?
2.  The text-to-speech issue is fascinating

If Kindle was Classics in hardware but on a big, beautiful screen I would recommend it to my friends.  As it is, no*.

The Kindle is not the first device to offer text-to-speech of copyrighted material (stop laughing).  Why The Guild chose to go after it instead of every other device seems obvious to me, but I’ll reserve judgment until I learn more about all parties involved.

My first experience with text-to-speech

My first experience with text-to-speech

What I’ll say (here) for the moment is that it is going to be interesting to watch this play out and once I know as much as there is to know, I will do what I can to influence the way this snowball rolls.

*As of now I haven’t used either Kindle device, but I can say definitively that, in its current form, it can’t be what I love about Classics.  That is why, for me, it’s an inferior solution.  It’s entirely possible that once I handle one my opinion will change.

Interesting iPhone Security Tidbits sprinkled in Apple-vs-EFF article Tuesday, Feb 17 2009 

Prince McLean at Roughly Drafted has a post regarding the conflict between Apple and the Electronic Frontier Foundation on the subject of jailbreaking the iPhone.

More interesting to me are several quotes from Apple’s response to the challenge which include insight into some technical details of the iPhone’s protection mechanisms.


Griffin Clarifi Friday, Feb 13 2009 

One of the reasons I was anxious to switch from an iPod Touch to an iPhone was the iPhone’s camera.  Over the years I’ve carried various small cameras to capitalize on unexpected photo opportunities or to document the various project that I’ve been working on.  The idea of having one less thing to carry was very appealing, and with the added capabilities of cataloging, geo-taging and uploading the photos directly from one device was something I thought could really reduce my turn-around time processing and publishing these images.

I didn’t have high expectations (or requirements) for the camera since it would only have to hang with my most recent camera of choice, the VistaQuest VQ1005.  At about $25USD, this 1.2MP camera requires almost ideal conditions to take “good” photos, but it has allot of character and its small size and durability (as well as high level of compatibility, storing its photos on a regular SD card) made it almost ideal for my application.

I say almost idea because, like the iPhone’s camera, it lacks the ability to take close-up, detailed photos.

Almost immediately after I started using the phone I thought of several applications that I wanted to write using the camera, and a few of them would use it as a way to import printed information or drawings.  I carry a Molskine around that I use to sketch out ideas and I’d like to catalog some of these items so they are always with me.  Unfortunately, the phone’s camera lacks the focus range and/or resolution for this sort of work.  Since upgrading the resolution of the camera is out of the question, a change to the optics is in order.

I was aware of several DIY methods of solving this problem and some seem to do the job well.  However all of them seemed inconvenient enough that I would inevitably be without them at the times I need them the most, so I didn’t pursue it.  Then one day I came up with an idea for a new app so compelling that I needed to solve this problem, so I decided to come up with a product myself.

Once again I searched around for the latest DIY solutions to the problem to use as a starting point for my own research and this is when I happened across Griffin’s Clarifi iPhone Case.

For the most part this case is your run-of-the mill iPhone protection device.  There is the novel feature of being able to remove the bottom half of the case to allow for docking, but otherwise it’s a two-piece plastic sleeve and clear screen protector similar to so many others that I’ve seen.

The interesting difference however is that this case incorporates a small lens that can be slid into position in front of the iPhone’s built-in lens which provides the ability to take macro (i.e., close up) photos without loosing focus.

I’m not a big fan of cases for electronics, especially when they are well-designed products that are a pleasure to look at and hold, and coming from the iPod Touch, I already felt the phone was a little “bulky”, but if the case can provide such valuable functionality, in addition to protection, it might be worth the extra bulk.

The Clarifi retails for $34.99 but I was able to get mine from Amazon for about $25.00 including shipping.  Here’s the results:

Shot of my notebook with the standard iPhone lens

Same page, with Clarifi lens in place

This is a shot of some notes I had for release 1.1 of my iPhone app “Horsepower”. The paperclip is just holding the page flat because the depth-of-field of the macro lens is shallow.

Here’s another page with some future concepts for Horsepower, apparently the auto-rotate of the phone’s camera doesn’t work so hot when you’re not parallel to the ground.

Another "before" shot (you'll have to rotate it in your head)

...and after

I definitely recommend this case, you can get it for the cost of a plain-vanilla iPhone protector with the bonus of being able to take photos of small or close-up things. For my application this is a requirement, but even for more casual purposes it’s very nice for getting shots in close quarters.

MindPulse 1.5 Avaliable Now! Wednesday, Jan 28 2009 

Just a quick note, Apple has approved MindPulse 1.5 and it is avaliable now at the iTunes App Store.

Somewhat related, I spoke yesterday with a reporter from The Washington Post about my BodyPulse and MindPulse apps.  The article should appear next Tuesday in the (free registration required) health section.

MindPulse 1.5 Monday, Jan 26 2009 

MindPulse (my MindMachine/BrainMachine/Brainwave Entrainment App for the iPhone and iPod Touch) has been updated to version 1.5 and submitted to Apple for approval.  The approval process for updates seems to take about a week; sometimes more, occasionally less.

Version 1.5 brings the most often-requested features:

  • Volume Control
  • Fade-out of the audio at the end of a session
MindPulse 1.5

MindPulse 1.5

In addition I’ve added a few things that haven’t been specifically requested, but that I felt were in order:

  • Updated UI
  • Smoother transition in and out of the visual stimulator
  • The app keeps track of where you are in a session (how many minutes are remaining), that way if you interrupt the session, you can pick up where you left off

There were a couple of additions I had planned for this release that did not make the cut this time, the main one was the ability to run the app in “audio-only” mode, to be able to jump back and forth from the visualizer without stopping the session.  I think this would be useful when you can’t partake in the full experience (for example, at the office), but you would still like to use the audio portion of the program.  It took me a long time to come up with a design that I was satisfied with for this function, but I wasn’t able to get it working satisfactorily before my code-freeze deadline.

Another feature that hasn’t been requested directly but indirectly is the ability to accompany the binarual stimulation with music from the iPod application.  I don’t like the approach other apps have taken of adding “canned” music or sound effects to the application because I think that it’s important that the user have a connection with the audio that accompanies the beats, and the chances of selecting a handful of tracks that will have meaning to the thousands of users of this application is low.  Instead, I would like to simply allow the iPod to continue playing while MindPulse runs, this way the user can select anything they like to go along with the entrainment program.  I don’t think there is a technical (or contractual) hurdle here, but I haven’t verified this because this feature was below the others in priority up to this point.  This is definately something I’ll be looking into for the next release.

The third item I’m seriously pursuing is customization to the visualizer.  The simplest form this may take is allowing for different colors of light to be used (currently the light is pure white), perhaps connected with a particular program or user-selected.  A more complex option would be to provide images in addition to colored light, perhaps even user-supplied images.  I’m not aware of any science that indicates the benefit of using images instead of pure light, but it has been requested and I don’t see the harm in it, as long as the priority of more compelling features are respected.

A few other loose ends reguarding MindPulse.  The first is that I wanted to mention that one of the biggest factors delaying the release of this update was my struggle with the user interface, and how to incorporate the changes without mucking up the cleanliness of the original interface.  I was never satisfied even with the original, and when I started working on adding controls (specifically the volume control) everything that I came up with frustrated me.

I’m not a graphic designer, but I’m a competent user interface designer; however, sometimes you need graphic design skill to implement a user interface and it is at this point that I struggle the most.  Someday I’ll simply engage a designer who I can work with collaboratively on these issues but in the meantime I have to try and struggle through it myself when the UI demands it and this is an area where vast amounts of my time are absorbed.

After several flawed revisions I finally came upon what you see here (actually, something slightly more sophisticated but I couldn’t quite put it together in time to make my deadline, but you’ll see it in the next release).  For many reasons I would have prefered to have released this update months ago, but the design simply would not present itself, and I felt in my gut that it was better to hold off until I had something that at least I was comfortable with.

One final note and then we’ll put this topic to bed until the update is actually avaliable.  I’m playing with the idea of releasing a “Lite” version of the app for free.  Something that would provide a limited taste of the experience to those who are curious about brainwave entrainment but not quite ready to invest financially in it.  What I have in mind is one-program (most likely Alpha) app that runs for a fixed amount of time (probably three minutes), enough for you to take the thing for a spin and see what it does for you.

If you have any thoughts on this I would encourage your feedback.

Fit to print Monday, Jan 5 2009 

A couple of updates:

I was interviewed for a “Maker” article that appeared in the 77Square section of the Wisconsin State Journal last week.  Always good to see the word getting out on the streets.

the workshop

Also, we decided to re-release DV Awareness to help raise some money for the shelter and to gauge interest in an “extended” version of the application.

On a final note, I’ve submitted the latest app “BodyPulse“, a compliment to our MindPulse application.  If it makes it through the approval process, I’ll post more details later.

Next Page »