Really Apple? Come on!

iCloud is a HIGHLY advertised feature in the new IOS5.  Apple can’t say enough about it, including the ability for 3rd party apps to use it for syncing app data…

What they can’t say enough about, is how developers can actually get it to work…  iCloud is currently very, very broken and problematic.  Many developers are hanging out asking apple to fix it and make it usable in their own apps, but Apple is characteristically quiet about said Cloud.   It is currently unusable for many app types (though it may be useable for some ‘simpler’ use cases).  There is no word from apple on when they will get these features fixed for developers.

The frustrating thing here is that IOS users now expect that we can add such features to our apps, since it is all advertised as ready!  It sounds like an excuse when we say “well, actually… iCloud isn’t work right yet.”   But it is the truth friends – it’s not ready yet, and it is slowing down our own promises to our users.  (Can we say iphone and desktop app?)

We are currently looking nearly every day for a working icloud API, alternative syncing mechanisms, and occasionally – unicorns. I’ll report back later on which we find first…

Maxjournal and IOS5

So far, for most users there haven’t been any difficulties using Maxjournal with the new IOS 5 update.   Of course, this isn’t completely the case… read on….

For a few users (who have emailed us), they lost their journals upon upgrading to IOS 5.  This is not particular to maxjournal and not something we can fix… as it is not something in our programming.  There is an inconsistency to Apple’s upgrade process, and sometimes things don’t work out upon upgrading – other apps lose data sometimes also.  Best we can see this is a uncommon problem, but still, if you are planning on upgrading to IOS5 MOST DEFINITELY backup your journals to desktop using maxjournal’s backup feature. That’s what it’s there for folks!  That way if something goes wrong with the IOS upgrade, you are still golden (well, as far as maxjournal goes.)

For another handful of users (at least who have written to us), they have difficulty bringing up the keyboard when trying to write in their journals.  Hmmm.. this is a strange one as the coding for this is fairly straight-forward.  For now, 2 recommended possible fixes:

  1. reboot the ipad. Hold Home and Sleep buttons down together until you see the Apple logo (about 10 seconds.) Let the ipad reboot and try again.
  2. if rebooting doesn’t help, you could try re-installing maxjournal:Before you do anything like this, you MUST be sure to backup your journals to computer desktop first.  Details about how to use maxjournal’s backup feature are in the help file.  It is very important that any journal backups that you make are moved and saved to your computer before re-installing maxjournal.  After making a backup it will be saved and seen in the iTunes File Sharing section of iTunes (when your ipad is connected to your computer.) Make sure to move these files to a safe location on your computer.Now, delete maxjournal and re-install from the ipad app store.

    move your journal backups onto your ipad, using itunes file sharing.

    restore journals

This seems to fix it for some users. Jury’s still out on whether it is a permanent fix or not.  Please write us if you have this problem, and if the steps above fix it.

Maxjournal/iPad 1.61 update live

This update is the simple fix for the ‘disappearing journals’ in the last release. Apple has been great, and got this out the door in a day. :)

Maxjournal update, sometimes not reading in journals

There is a bug in the latest version of maxjournal, where it sometimes will skip reading in your journals upon starting maxjournal.  Simply, for some users after upgrade, and for all others after a full reboot of the iPad, when starting maxjournal again it will skip the step of reading in the current journals from storage.  Obviously this isn’t good and it has scared the users who experienced it into thinking their journals have been deleted.

Well, this isn’t the case, the journals exist. The quick fix is to simply do a complete shutdown of maxjournal. As some of you may know, when you close an app on the iPad, it simply places the app into the background running list. It doesn’t actually fully close. In this instance, after closing maxjournal you’ll need to show the list of apps in the background (double-tap the Home button), and tap and hold on maxjournal – then tap the red minus button to FULLY close maxjournal. Then just restart maxjournal – all journals will show. If it doesn’t work first try, just do it again.  After journals show again, the only instance where they may seem to disappear again is after a FULL iPad system shutdown (i.e. press and hold Home and Sleep buttons until the iPad turns itself off.)   Simply follow the steps above again.

Luckily Apple is fantastic when it comes to reviewing app updates in a situation like this – we submitted the fix to them yesterday and they promised to review and get it live today!  Apple can be pretty great when it comes to this kind of thing.

For those technically minded (or developers) who are interesting in learning from our mistakes, here’s a basic breakdown of what we did wrong:

We created a fix for our longer term crashing bug recently.  That bug was the result of an orphaned pointer to journal data – when maxjournal starts it reads in all journals from disk. In the bug version, if the iPad needs to clean memory it would remove some background memory in maxjournal, including the View that contains the list (array) of journals. Upon restarting maxjournal (bringing it to the foreground) maxjournal would rebuild this (now) missing screen – and part of the initialization of that screen includes reading the journals again from disk.  The problem was in the fact that an open journal might be pointing to that list of journals. Once the missing screen rebuilt, a new list of journals was created, and the open journal would suddenly be pointing to a non-existence reference to a journal. (Everything was recreated – but the open journal didn’t know that! It was pointing to an old ‘address’ for a journal, causing crashing.)

In our bug fix, we simply added a variable saying ‘we’ve already created a list of journals, if someone asks you to re-initiatalize because of memory management, do NOT rebuild the list of journals!’.   The problem was a timing issue – the code to check to see if we need to rebuild the list of journals was created in a separate CPU thread, but the variable being set to record the fact that initialization had already happened, was being set in the main thread.  On normal running of the app the timing between the separate thread and the main thread works just fine. After upgrade, or restart of the iPad, the timing between the 2 threads would tend to reverse – meaning the ‘we’ve already initialized’ variable could possibly be set BEFORE the creation of the list of journals.  The overall effect – ‘hey, I’ve already initialized, who needs to read in the list of journals? not me!” – leaving an empty list of journals.

The simple fix – the initialization variable needed to be set in the same thread as the building of the list of journals. !

Maxjournal iPad crash fixes now live!

Excellent new from Apple – they’ve just approved our lasted update (and crash fixes) for Maxjournal on the iPad. Have to hand it to Apple reviewers – they’ve consistently been quick on review turnarounds and it’s been a pleasure.

Anyways, see our previous post about the crash fix.  This fix should take care of the consistent crashing that many users have been complaining about over the last few months.  Whew.. what a relief!

Maxjournal iPad, Development notes – crashing

We’ve tracked down one of the major causes of crashing for the current Maxjournal app.  The reason it was only happening to some users (and that the ipad reset helped in so many cases) was that an important reference to a maxjournal object was being lost when the ipad decided it needed to clean house (in regards to memory).

The iPad, of course, only has so much memory to work with at one time and with the addition of multitasking in IOS 4+ the potential for memory warnings was increased greatly.  When a memory warning happened, maxjournal was losing a reference to the currently open journal (even if maxjournal is in the background), and hence as users wrote into their journal a crash could happen. Definitely something we should have caught earlier, and it has caused grief to users (and to us), and lower ratings than anytime in the past for maxjournal.  Our period in which we were basically non-functioning (dealing with our major health crisis) was the period in which we should have dealt with this, and it is only in the last month or so where we’ve been able to jump fully back into development that we’ve been able to find the issue. Talk about bad timing!

So this has been fixed and an update to the app store pending and in review.  With something like this, we lose user confidence , users and sales on the app store.  Of course, it is a lesson learned… but at a hard cost. Hopefully over time we can generate confidence in our app again, and sales will reflect that. Until that day we continue to deligently continue work on all aspects of maxjournal. Many big plans for the future!

Maxjournal, iPad and Desktop, crashing notes

So,

We have been developing the next version of Maxjournal – both for the desktop and for the ipad.  The next version for the iPad will be a complete rebuilt from scratch. There are a few reasons we chose to go this route, the primary reasons being that they’re are significant changes and improvements coming in IOS 5 that we want to take advantage of (iCloud!), and second there are still consistent crashing issues for some users. (For most users things seem to work perfectly! But for some, they are still having random crashing even after a reboot/reset of their iPad.)  The crashing, of course, has to be weeded out, and since we are already working so hard towards iCloud and syncing, we’re taking this opportunity to build from scratch and make as many improvements as possible, and at the same time, weeding out the reason for some users random crashing.

iCloud has become our tool of choice for syncing between platforms (and for backup/exporting).  Having the mechanism built into the OS of the ipad or Mac is hard to beat. We’ve tried other services (dropbox, couchbase) but neither are robust enough (dropbox) or stable enough (couchbase – still being developed) to work for us.  The mobile API for Dropbox just wasn’t built for this purpose. Every change to a file requires a complete re-upload of that file – one would expect just the file delta (i.e. only the data bits that have changed) to be uploaded but dropbox hasn’t added this capability to their mobile platform. Even their own Dropbox app for iOS cannot do this.  iCloud on the other hand is well thought out and handles changes just perfectly.

Really it’s a no brainer, the only downside is having to wait for the release of iOS 5, but we decided to be patient and wait for the best instead of jumping into a lesser solution.  Patient Maxjournal users!

Maxjournal for iPad, PDF export problem

We just had a user point out that there is a slight problem with PDF export in the current version.  When exporting to a PDF with inline text images, and you have a image close to the right edge, the text will act like there isn’t an image there and write underneath the image.  We’re working on necessary changes for a small update, but in the meantime move the offending image more to the left – away from the right edge.  Takes a little time get a feel for how far from the right edge, but once you do everything should export smoothly.

Hopefully we’ll have a small bugfix update submitted to apple in the next few days. [Edit: This has been done and the fix is live and users won't experience this anymore, as long as they're updated to the latest version.]

Cheers!

Maxjournal for iPad and Desktop update

Well, it’s been a while since we’ve posted. Our last post indicated that we had been dealing with some major health issues here at omaxmedia, that put the future of maxjournal in question.  I’m happy to say, we are on the other side of that diffulty and continuing development again! (Whew…)

We’re hard at work on both the Desktop (mac) version of maxjournal and the next iPad version.  Both need to be completed and released at the same time.  The goal is to be able to sync journals between both versions automatically.  We are also looking at some (at least basic) Rich Text Editing capabilities.  Audio note recording and geolocation of journal entries are on our list.

Apple, of course, just did WWDC 2011, their yearly and major developers conference. They announced a few things that are key to our maxjournal strategy – the primary announcements being iCloud, IOS 5, and OSX Lion.  There are some exciting tech updates that quite possibly fit the bill on some of our needs for maxjournal altogether!

The iPad version will be re-engineered from the ground up. One reason for this is to fix the frequent crashing issues users are experiencing after first install or updating of maxjournal.  Usually a fresh reboot of the ipad, or a fresh install will fix any issues!  But how annoying for users (and for us) to experience such a thing – and not everyone will read the notes in our help file or app description on how to fix this.  Sad, sad, sad… :(

Major illness/future of maxjournal

Due to a major illness, development of maxjournal is in hiatus.  We are exploring the possibility of passing our source code on to another company, to be integrated into their product (for ipad and desktop). This alternate product will be able to import Maxjournal backup files, giving users an upgrade path if they want it.