jump to navigation

TrafficCamNZ – Application development status 30 March 2014

Posted by David Wilson in General.
add a comment

It’s been a while between blog posts so it’s about time I let you know what’s been happening in the development world of TrafficCamNZ.

Both the iOS (for iPad and iPhone) and the Mac OS Desktop have been undergoing some substantial changes under the covers. The big items of note are:

  • Migrating the main datafile to a Core Data database
  • Reengineering the application so that the memory foot print on iOS and Mac is reduced
  • Added support for iCloud and iCloud device syncing
  • Added support for ChromeCast from an iOS device
  • Main display now uses NSCollectionView on Mac OS
  • Added Map support on Mac OS desktop under Mavericks

The effort required to get these applications to the point of being able to submit to Apple for Appstore release is significant. With so much change and the new features and then including iCloud support the testing of the use cases is proving very complex and time consuming. The iCloud integration is especially challenging – this feature allows you to make changes on one device and have them automatically replicate to all of your other devices – it’s way cool and it works with the added bonus of getting quite complex very quickly. This time because of the complexity I want to ensure that the user experience for initial startup has a degree of simplicity – I feel as though I’m moving in the right direction – I had some good progress today – I’m not there yet.

So these changes are only getting my attention after my day job. I do not yet have a date for submission to the AppStore. In the mean time I thought I’d let you know some of the detail going on under the hood with a copy and past of my change log for both iOS and Mac OS in their raw form.

RAW change log for iOS:
1.8.4 – Added support for Google Chromecast – on the main screen tap the Google Chromecast icon to chose your Google Chromecast devvice, then single tapping or double tapping on an image will get your Chromecast device to retrieve the image from the internet – as you scroll images the Chromecast image will also change – on an iPad when viewing multiple images Chromecast works best when you tap an image on the iPad for displaying on Chromecast.
1.8.4 – Updates for 64bit support (revoked by Chromecast being only 32bit)
1.8.4 – Bug fix for potential crash when attempting to return image data to a screen that no longer exists
1.8.4 – Fixed an issue on the Chooser screen where the Camera Descriptions and URLs were being truncated
1.8.4 – Fixed a performance issue related to colour blending on table cells
1.8.4 – Fixed a performacne issue related to colour blending on all camera graphics images
1.8.4 – Fixed an issue in preferences where e-mailling the datafile would not present the send/cancel buttons on the e-mail form
1.8.4 – Updates to the geolocation components to allow for changes within iOS
1.8.4 – Fixed some formatting issues (size and background colour) with the popover on the Single Image display on iPad
1.9.0 – Camera information is now stored in a Core Data database
1.9.0 – iCloud – syncronise camera data between devices using the same iCloud account including between devices iOS and Mac
1.9.0 – Chooser screen re-written and re-re-written (happy now … maybe)
1.9.0 – dramatically reduced memory footprint, increased speed and optomisation
1.9.0 – Changed user experience for first time launch

– migrate to local store (when iCloud is turned off) and vice versa
– resolve the crash bug for syncing
– Find cameras around my location coded for core data
– Predictive camera function – coded for core data – requires some testing

– test conversion (will have to start by installing old version)
– A new features page that displays on application launch
– user experience on startup

RAW change log for Mac OS:
1.2.0 – Almost a re-write – internal data store changed to core data, better, stronger, faster
1.2.0 – New list screen – double click a camera to bring up the edit screen
1.2.0 – New edit screen
1.2.0 – Main window rewritten – faster – more user control over the layout, horizontal or vertical scrolling, with 1, 4, 9, or 16 images shown on screen at one time – and more if you choose the zero option – it will fit as many as possible
1.2.0 – Camera import now displays log on screen
1.2.0 – Improved memory management – code conversion to ARC
1.2.0 – Map pins can be clicked on to show a pop over of the camera and image. The window can be detached and moved away and resized manually
1.2.0 – Pinch and zoom is enabled on the main window for zoom in and zoom out – double tap away from the images to return to normal size
1.2.0 – 64bit support complete – remove linked framework Quicktime – this had been causing a warning

– speed up merge/import by using sorts – reduce the fetches
– camera validation (validate – testing for each camera)
– import redone for timeLapseDuration (was NSString)
– Timelapse convert and test
– memory footprint – upgraded project to ARC – leak problems have gone
– NSCollectionView implementation –
– Preferences – when doing camera merge – user could click OK – what happens? – there are no screen updates for activity
– deleting cameras – and the main window should be told to refresh the display – and then show no cameras – this isn’t working – NSCollectionView
– Fixed import/merge errors for class NSNumber and NSDate on timeLapseDuration and dateLastRetrieved
– after import – refresh main display
– fixed map popover – it was still using origional cameracontroller
– fixed a crash when urlcachecontroller tried to return an image or failure and the delegate had gone – the crash exception is captured now
– deleting cameras – should show progress
– importing cameras can show progress somewhat better
– changing the featured cameras (i.e. deleting) does not update the cameras on the main window (i.e. remove the cameras that are no longer featured
– deleting the ubiquity container – tested successfully
– memory usage after importing data is too high – (fixed somewhat with @autorelease)
– Closing the main window (cmd-w) doesn’t free memory resources – dealloc – was an issue with “target” in DGButton
– The deletion of duplicate cameras should be on the bulk cameras screen – added to bulk cameras menu
– Fixed an issue when updating XMLTags – the Bulk Utilities iwnodw was being closed and causing an application crash
– Test export of library for complicance with iPhone and older version of desktop – Title has to convert to Description
– On the Bulk cameras window – Delete all cameras, do an XML load
– Fixed an issue when closing the log window – it also closed the bulk upload window
– Fixed an issue when opening the Bulk Functions Window and closing the Bulk Functions with – the Associated menu item would not remove and display correctly
– Eliminated i386 compiler warning for 32bit only code – Quicktime framework is no longer linked (was not required)
– use icloud for the data

– David