May 7, 2013
Just a quick note to say that we passed a major milestone this afternoon in the development cycle of Photosmith 3!
A few minutes ago, the results of seven months of effort was given to our team of beta testers – As we said previously, unlike previous development cycles, we’re treating this beta more as a Release Candidate in terms of quality, shine and polish. This is a feature complete beta, and all major known issues have been addressed. We’re excited to see if our dedicated team of testers can break it!
We have maintained an open and honest accounting of our development path and challenges along the way, and will continue that as we update everyone with the results of the beta testing over the coming days.
Our release timeline is still based on when the app is ready, and not the calendar; we will know more based on feedback from our testing team.
April 25, 2013
Update! Proving that Photosmith users are the smartest and best around we’ve received nearly 30 very well qualified volunteers! Thank you so much for that! We’ll set up the ‘winners’ this week and get this party started.
Well, we’re finally there! At last we’re ready to officially start the beta program! But fear not, this doesn’t mean we are still a long way away from release (we hope) like in past cycles…
In the past we started betas too early and wasted our tester’s time with crap builds and thus didn’t get very good test coverage at the end when we really needed it. So we resolved to do better this time:
So what we’re doing differently this time is wait until we are 99.5% there to start the beta. We think this build is really close to being an actual release candidate.
So… we are asking you, dear readers, for 10 volunteers to help us really work the app over hard and smash it to bits to make sure it’s really as solid as we think it is.. To be clear, this isn’t a chance to play with new goodies for free like our Adobe brethren are able to do. No, we are asking for volunteers dedicated to helping make sure this app works no matter how crazy your workflow is.
Your contributions will decide if tens of thousands of photographers the world over will keep or lose their most precious pictures. This is not an assignment for the flippant…
Your mission, should you choose to accept it, is to:
- Jump through the hoops Apple makes us go through to enroll iPad test devices (TestFlight makes this as easy as possible but it’s still a bit of a hassle)
- Import, Export, and Sync your precious pictures with Photosmith and test and verify 1,000,000% that everything worked perfectly
- Delete them and test again
- Repeat #2 & 3 a few more times
- Report back to us detailed testing results. (How many files you tested, how you verified the files, any problems encountered, etc.)
To be blunt: this is testing that will require a fastidious nature. If you’ve ever muttered the phrase “good enough for government work” this probably isn’t the job for you.
- Apple places a strict limit on the total number of devices we can register for testing. This limit only resets once per year so we have to be very picky about who we choose. Unfortunately, we can’t just take the approach of letting 10,000 folks test and hope we covered it all. Besides, managing that many people is impractical. So, we’re looking for about 10 folks.
- A hallmark of this release is it’s flexibility with different workflows. Preference will be given to folks that can test the esoteric stuff (WiFi grips, Eye-Fi, FTP upload, etc.) as well as the traditional Shoot>Download>Import>Tag>Sync or Lightroom>Sync>Tag>Sync workflows
- The deadline for volunteering is midnight EDT, 28-April, that’s this Sunday.
What’s in it for you?
First and foremost, you’ll have our eternal gratitude. This is one of those things that we just can’t do properly without community help. Second, if you don’t already have Photosmith we’ll give you a free copy. Third, you’ll have the thanks and praise of everyone else too. Finally, we’ll thank you publicly as a friend and contributor to Photosmith (optional, if you’re the shy type).
Signup here: Please tell us why you would be a good tester, any previous experience you have with testing, what model iPad you have, what cameras you shoot with, what operating system you run, Lightroom version, and about how many hours you think you can volunteer to testing.
Signup is closed. We are now sorting through the applications and narrowing our selections to a manageable few. Thank you so much for the all of the enthusiastic help!
April 2, 2013
We’ve received a number of emails asking where we are and a few complaints that the current update is taking a long time, so I wanted to give everyone an update on where we are. Development continues, and we’re getting closer to the final revision. So why is it taking so long? Because we’re focusing on making it right – no exceptions. We understand that people’s photography workflow actually defines how they work. For us to ship Photosmith out at this point with known bugs or even without pieces of functionality that complete the workflow is simply unacceptable. And so we’re making the time to make it right.
So what exactly is taking so much time? For those interested in the details, I’ll hit on a few points that have been unexpected time sinks.
Rotate an image clockwise or counterclockwise. Easy stuff, right? Right? One would think. And, as always, the devil is in the details. And we’re not the first developers to hit the orientation trap. See this page for an interesting read on how most services can’t handle various embedded image orientations.
Yes, the image orientation (rotation) is contained in the image’s EXIF, set by the camera when the picture was taken. But keep in mind that there’s typically a thumbnail image, usually a full-resolution jpg, sometimes a medium-sized jpg, and the raw data, each with their own orientation. Each needs to be calculated separately so the GPU can rotate based on the image that’s being displayed.
Now add in the user’s custom rotation for when they want to modify the orientation – we now have 3 (thumbnail, screensize, full res), plus a user orientation modifier.
But for more fun, it turns out that Apple doesn’t quite follow the norm with EXIF orientation. It took some time to realize that Apple’s implementation, albeit unconventional, was valid. Given that this is an iPad app, we can’t just ignore iOS-generated images.
And to make things more fun, Lightroom exports images without an orientation. But only if the plugin doesn’t use the previews database…
All of a sudden, there’s about two dozen different combinations of orientations that have to be handled in different ways. We claim to be a photo management app, so we have no choice other than to make it right. And that burned up several weeks of two developers’ time.
But… it’s finally all working. The torture set linked above now completely works in Photosmith:
The current version of Photosmith supports RAW+JPG, and because of some technical details, we can’t easily support all formats (DNG, for example), so RAW+JPG remains the only viable way to support those formats. This version of Photosmith is being completely revamped so that all images are handled within the app, rather than pointing back to Photos app. And while RAW+JPG was one of the items on our list, it took about two weeks of work to bring the app back up to support it everywhere (import, image extraction, display, export, sync) and thoroughly test the changes.
It now works as before – if we can’t extract everything we need from the raw file and there’s an associated jpg, then we get what we can from the jpg. It’s just now, the files sit in our own repository.
Nothing complex about this one – just a lot of small rework items spread throughout the app to get things working right.
Transferring Photos from Link to Copy
If you’ve been following our blog posts, you’ll know that the upcoming app will be able to either Copy the pictures directly into the app, for full control under Photosmith, or Link them back to Photos.app. In fact, here’s a screenshot of the import process:
However, during testing, we found a hole in the workflow: what happens if you link a picture from Photos.app, apply a bunch of metadata updates, and then decide you want to move it into Photosmith and clear out your Photos.app? Without some kind of transfer method, you’d essentially have to remove the linked references (and thus your metadata), and then run the import process again to Copy the images in. That would just plain suck for workflow management – badly enough that we created a new dialog to allow users to do exactly this – transfer linked images from Photos.app into Photosmith without losing their existing data. Design, coding, testing, and refining all combined to take several weeks for that one too.
All new development items have been completed at this point – we’re working on bugs and cleaning up some things throughout the app: Collection image counts that don’t update from a background import. You can’t change a selected album in the import dialog after making a selection / deselection. Facebook re-upload isn’t working right. Delete dialog sometimes hangs when it’s done. And about a dozen others of those kinds of items.
We’ve been doing a lot of in-house testing as we go, so we’re pretty confident that it’s getting close.
OK, dammit – when will you ship?
When it’s ready. And not a moment sooner.
Believe us when we say that we want it out to you guys as quickly as possible – we’ve spent the past 7 months’ worth of nights and weekends designing/coding/testing, and are eager to see it complete as well. But we’re committed to making it right, from beginning to end. (And we really appreciate of all those who understand this!)
Details matter. It’s worth waiting to get it right – Steve Jobs
February 28, 2013
This is part of the development cycle where there’s just not that much else we have to say. Development has been continuing at a rate as fast as we can maintain. Only a few items are left – mostly code for “just in case” types of situations, reducing memory load, and some other odds and ends.
What we can talk about is some of the newest features that will be introduced with v2.3. Almost all of these are things we’ve wanted to do, but due to “ahem”… protections… put in place by the Photos app, have been unable to do so. They’ve been long requested, and our hands have been tied… until now
Syncing deleted/removed pictures
This one has come up a LOT. And for good reason- it directly affects people’s workflow. The situation is simple: remove a picture from a Lightroom published collection, sync, and it’d show up again. Or remove it from the Photos.app, sync, and it’d be transferred again. Both sides of the sync saw the list of images and decided that, because it wasn’t there, it needed to be transferred, and so the sync did it’s thing. The problem is… this logic wasn’t always right.
Now that we have more control over the images and we know when they’re either removed from a collection or deleted altogether, we can update sync so that it properly handles the situation. Starting in v2.3, the following logic is applied:
- If you remove an image from a Lightroom published collection (or delete the image from your LR catalog), sync will remove the same image from the corresponding Photosmith collections upon sync
- If you remove an image from Photosmith (or delete if it resides in Photosmith), sync will remove the reference in Lightroom’s published collections.
- Sync will never Delete (that is, permanently remove) an image from your Lightroom catalog.
We have a policy to preserve images as much as possible, and that includes not deleting them from your Lightroom catalog. It’s too dangerous, so we’ve made a conscious decision to avoid that one. If you want to delete photos from your Lightroom catalog just mark them with a star, label, or keyword that means something to you and then use Lightroom’s normal menu options to accomplish it.
Syncing updated images from Lightroom
Another big request.
Let’s say you sync over 100 images from Lightroom to Photosmith. Tag, rate, etc. No big deal. But what if you *edit* the picture in LR (such as change the exposure, white balance, cropping, etc)? In the currently shipping version, we’re not allowed to update images in Photos.app / Camera Roll (again…. for your “protection”).
Starting in v2.3, if you update an image(1) in LR and perform a sync against that image (either in a published collection or via an Export to Photosmith), then the updated image itself will replace the existing one on Photosmith. This gets into some weird logic if you have original raw files in Photosmith; only the previews are updated – your original raw data is always untouched.
Footnote 1: Except for rotations. Inexplicably, the Lightroom plugin API is missing the ability to apply rotations so those sync from LR to Photosmith but can’t go back to Lightroom.
Everytime you do a sync in the current version, a little dialog pops up during the sync to show you the progress. But you’re blocked out of using the app while this happens. This was an unfortunate consequence of Photos.app and how it deals with threading and memory. If we tried to access Photos.app while a sync was in progress, it’d eventually crash the app. The spinner was the only workaround to the problem – it showed the progress while blocking access to the app during sync.
We don’t have those restrictions anymore, so starting in v2.3, LR sync will happen as a background task – you’ll see it in the Activity Center like you do any export action. And you can continue to use the app while a sync is in progress!
Another bonus is that you can continue to sync with Lightroom even if you app-switch out of Photosmith and into another app. For example, you can go catch up on your email while a sync is in progress. However, there is a 10 minute timeout that is imposed on every app by iOS, so you get a warning after 9 minutes to return to Photosmith if a sync is still in progress.
Oh yes, you now also have the option to receive images via FTP or Eye-Fi while Photosmith is in the background. The same 10 minute limit applies.
Before you get too excited – no you can’t sync over USB. We’ve looked and looked for solutions on this, and while it’s within the realm of possibility, it’s just too difficult to implement and support long term.
However… what we have done is open up Photosmith’s Photos repository to iTunes, so you can use iTunes to find the Photosmith app, show the “documents”, and find your entire Photos repository available for download.
In a worst-case scenario, if you have to get your pictures out of Photosmith and your iPad is locked, frozen, apps aren’t responding, etc, etc, then you should still be able to get your images off. Unfortunately, you can only download the entire repository, but that’s still 1000x better than no access.
As I touched on above, the items left to develop are mostly contingency items (ie- your previews become corrupt or weren’t restored in a iPad restore), minor quirks, updated graphics, and some other bits and pieces here and there.
We can’t give a launch date – remember we still have day jobs, so all we can do is work as quickly as possible to get things out. We’re sending what is hopefully our last mid-development release (Alpha 4) out this week to our internal team, and then planning our Beta out to a much larger audience in a week or two. Assuming all goes well, it’ll be sent to Apple and in the hands of users a week or two after that.
February 5, 2013
Update on “Sandboxing”
We’ve talked about this extensively in the past so if this is the first you’ve heard of it you may want to peruse those old posts. This time around I’m going to talk about what the changes actually are and what some of the benefits and drawbacks of them are.
In a nutshell: all previous versions of Photosmith accessed your photos directly via the Photos app (via the ALAssets API) each and every time you looked at one. Starting in this version we’re making a local copy of the photo and accessing it directly off of disk without all the extra layers in between. The benefits are we can do most things faster, use less memory, and some things are now possible that weren’t before. The drawback is we now have to do for ourselves some things that Apple gave us for free; imports take a little more time, and it uses more disk space –which is already a precious resource on an iPad.
First order of business, Import. If we’re going to change the model from automatically importing everything to giving you control over what gets imported then we have to give you a way to do that. So we need to add a whole new import process. That means changing our database to support it, making a great UI to help you select images (Hello Smart Groups!), and least fun but most import, write our own image processing and metadata extraction code. Previously we got that from Apple but that goes away now so add it to the todo list. Heh, deciphering a dozen different RAW file formats and the umpteen different ways manufacturers interpret the same EXIF spec should be no sweat, right? Right?! Luckily, we’ve got Oliver, a new developer on our team. That man is amazing, he took over our existing processing code and polished it into pure gold over the last few months so hopefully we’ve got this one about licked. Next month, we might even let him email his family, once.
Notice the “link” and “copy” buttons? How your photos are imported into Photosmith is up to you: Copy the full photo from the Camera Roll into Photosmith’s and have peace of mind that it’s safe, and you have full control over deletion of the image, right from within Photosmith. Otherwise, if you’re a little tight on storage space on your iPad, you may leave the original photos in the Camera Roll and we’ll only render some small previews for quick display purposes only. However, you run the risk of Bad Times if you accidentally purge the Camera Roll and don’t sync to Lightroom first. For this reason, Copy is the default, and is highly suggested.
Our Sandbox, Our Rules – Let There Be Delete!
So, what will all this effort buy us?
- Stability - Mike said the first Alpha release of v2.3 was the most stable version he’s ever used (keep in mind, Mike is the keeper of all the “crasher” images that customers send us) and it’s been getting better from there. It’s been a long road and we’re very excited about where we’re at now.
- Speed – you won’t believe how fast and responsive the app is getting in the latest builds – most notably, the loupe / full screens can take advantage of those local previews and load so much faster.
- Efficiency – it’s too early to say for certain, but we think we’re going to be able to do 100% zoom with images sizes that will shock you, even on iPad 1 devices…
- Future Flexibility – With all the changes in v2.3, we changed a lot of how we store data in our internal database. While making these necessary changes, we planned for the future as much as possible. Photosmith is now flexible enough to handle many different sources and destinations. Read into this what you want – this next update is just the beginning. :)
- Additional Integration - Now that we’ve freed ourselves from the bonds of the Camera Roll, we’ve been able to add FTP server support (upload/download directly to/from the app) and iTunes support (download your pictures or xmp files directly through iTunes)
And on the other hand…
- Website – We started with the website redesign almost immediately after 2.0 launched, but it took this long to catch up. We love the new look Nico created and Shawn implemented. Once the app update is live, our plan is to backfill the website with more demo videos and example workflows.
- Seagate – We started working on the Wireless Plus drives back in August. By staying involved with Seagate over the months we got the opportunity to give them suggestions of the things that we think are necessary to interoperate with Photosmith. It looks like most of them made it into the final build. Note: we haven’t run our own final certification tests yet so it’s too soon to promise, but we think their new drive will deliver the external storage we’ve all been waiting for.
- RAW Image Formats – As mentioned above, we’ve been adding our own RAW image handling. For now, we’re focusing exclusively on metadata and embedded jpg extraction. When time allows, our plan is to expand our own image rendering capabilities beyond what’s otherwise available via Apple’s code in iOS.
- Wifi grips & FTP – A nice side effect of adding the FTP server is that we now can support many WiFi grips and import directly from the camera into Photosmith. This will open up Photosmith to popular Wi-Fi-enabled dSLR grips! (Sadly, Canon’s new 6D does not appear to support FTP but instead uses a different protocol. No idea yet if we’ll be able to add that or not).
- Integration with other photo apps – Good things in good time – Let’s just say that iOS developers are some of the coolest folks out there, and we’re very proud to have a very productive working relationships with other Photography app developers. We all see the greater good, and the users will benefit to “collaborative competition.”
- Standard Boring Business Stuff - Taxes, payroll, server maintenance, it’s all comes with the territory.