briefly

Glimpses Icon

Today, Glimpses v2.1, an app that creates Still Motion Videos in just a few clicks, is available for download from the Mac App Store.
It’s a free upgrade for everyone who purchased it before.
A free, 15-day trial is available for download here, even if you’ve tried it before.

What Is Glimpses?

When you want to show your awesome photos from your recent vacation but there are just too many, you can either sort through them and heavy-heartedly decide which ones to toss aside, or you show them all – with a Still Motion Video.
Still Motion Videos show photos in very rapid succession, usually for the fraction of a second. Mix that with a soundtrack, and you can make your video action-packed and powerful, or mellow and soothing. Or even both.

Glimpses lets you create such high-quality videos with just a few clicks.
Import your photos (from your Photos.app library, a hard drive, Flickr or Instagram), add one or more soundtracks and you’re set – Glimpses figures out the rest.
The app creates your video in a smart way:

  • The video’s resolution (ranging from 240p to 4K) will be calculated by looking at the smallest photos you supply
  • Its duration is based on the amount of photos you imported, and the duration of the soundtracks you supplied
  • Soundtracks that turn out too long will automatically fade out smoothly at the end of your video, whereas short soundtracks can be looped
  • Pillar- and letterboxes can be eliminated, if the photo’s resolution allows for it
  • Due to built-in facial recognition, photos are positioned in a way that faces aren’t outside of the video’s frame

However, control is always at the user’s fingertips. For example, soundtracks can be edited so only your favorite part of it is used, in an easy-to-use, yet powerful way:

Screenshot of Glimpses' Soundtrack Editor

Additionally, every other aspect of your video can be manually set up:

Screenshot of Glimpses' Video Settings

What’s New in v2.1?

  • Improves integration with macOS by providing a QuickLook plugin that offers an easier and quicker way to identify Glimpses project files
  • Improves integration with Photos.app by supporting drag and drop from the app and offering a Share Extension so photos can be imported to Glimpses without leaving Photos.app
  • Photos can be edited using external editors
  • Shuffle photos to add a random touch to your video
  • Performance improvements, refinements and bug fixes throughout the app

Pricing and Availability

Glimpses 2.1 is available for purchase on the Mac App Store for the price of $19.99 / £14.99 / €19.99.
It is a free update for existing customers of the app.
A free, 15-day trial is available on the website, even if you’ve already tried the app.
Glimpses runs on Macs with OS X Yosemite or newer.

If you’re interested in writing about Glimpses, you can download its press kit here, which contains screenshots, a short sample video and further information.
A limited amount of promotional codes are available to members of the press at press(at)eternalstorms(dot)at.

Links

Glimpses Website
http://eternalstorms.at/glimpses
Glimpses on the Mac App Store
https://itunes.apple.com/app/glimpses/id637565340?mt=12
Glimpses Demo Download
http://eternalstorms.at/glimpses/Glimpses.zip
Glimpses Press Kit
http://eternalstorms.at/press/Glimpses-2-Press-Kit.zip
Glimpses Sample Video on YouTube
https://youtu.be/NCa4Fg6uLoI

I’m looking forward to hearing from you and to see what you think about Glimpses 2.1.
If you like the app, please consider leaving a little review on the Mac App Store, it would help me out a lot!
Should you have any feedback or questions, please be sure to get in touch, I’d love to hear from you! Thank you.

 

Eternal Storms Software Logo

– – – Do you enjoy my blog and/or my software? – – –

Stay up-to-date on all things Eternal Storms Software and join my low-frequency newsletter (one mail a month at most).
Thank you 🙂

Read more

Glimpses App Icon

Glimpses 2.0 for Mac

After a lot of hard work, I’m very happy to finally be able to announce the immediate availability of Glimpses 2.0 (formerly known as Briefly) on the Mac App Store.
The app has undergone some major changes, and I wanted that to be reflected in the app- name and icon (wonderful work by the very talented Alexander Käßner).

What Does Glimpses Do?

Still Motion videos typically show photos for not much longer than the fraction of a second.
Glimpses is designed to let you create these videos with just a few clicks, with stunning results.

The app produces high-quality video with a resolution of up to 4K and lets you add a soundtrack to make your video really sing.

Glimpses with soundtrack selection

What’s New?

– Soundtracks: Glimpses 2.0 makes it much easier to add multiple soundtracks. It also lets you select the parts of the soundtracks you really like to make your Still Motion video really shine.
– Face Detection: Glimpses analyses your photos for faces and places the photos in your video accordingly for much nicer and more personal results.
– 4K Resolution: Going beyond 1080p, Glimpses now renders your videos with a resolution of up to 4K.
– Projects: You can now save your projects. Up until now, the app only remembered the last used photos and soundtrack.

… as well as many more, minor improvements (like improved support for panorama photos) and fixes.

Details

Soundtracks

Soundtracks are a vital part of a Still Motion video. Glimpses makes it so much easier to add and edit one or several soundtracks.
With its new selection feature, you can select just the part of a song you like best that should be used for your video.

If a soundtrack is too short, you can either loop it or add another one. The order of appearance can be changed at any time.
Should a soundtrack be longer than your video, Glimpses will automatically fade it out at the end without you having to do anything.

Face Detection

In earlier versions, Glimpses used to center your photos within the video’s frame.
Glimpses 2.0 is much smarter and analyses your photos for faces and if detected, moves them into the video’s frame, resulting in much nicer and more personal videos.

Briefly without and with face detectionA still from a video created with Briefly 1.5.2 (top) compared to the same video created with Glimpses 2.0 (below)

Resolutions and Video Settings

With cameras getting better and better, it was only logical to include new resolutions in Glimpses 2.0 – the app now goes beyond 1080p and adds support for 2K and 4K resolutions. You can set the resolution manually or let Glimpses decide, based on the smallest photo.

Glimpses Video SettingsGlimpses Video Settings

A photo’s duration can be set from 0.1 seconds up to 4 seconds in 0.1-second-increments, an improvement that allows for more fine-grained control over the resulting video. Glimpses can also automatically do it for you, based on the duration of the soundtracks you selected.

Pricing and Availability

Glimpses is available exclusively on the Mac App Store (click) for the introductory price of $9.99 for a limited time (about 60% off), after which the price will revert to $24.99.
A free, 15-day trial can be downloaded from the website (click) (direct download). If you’re from the media and would like to get more info about the app, please download the press kit (click), thank you.

Glimpses Website: http://eternalstorms.at/glimpses
Glimpses on the Mac App Store: https://itunes.apple.com/app/glimpses/id637565340?mt=12
Glimpses Demo Download: http://eternalstorms.at/glimpses/Glimpses.zip
Glimpses on Twitter:https://twitter.com/GlimpsesApp
Glimpses Press Kit: http://eternalstorms.at/press/Glimpses-2-Press-Kit.zip
Glimpses on Product Hunt: https://www.producthunt.com/posts/glimpses

Thank you for your time, I hope you enjoy this great new version of Glimpses 🙂

If you have any feedback or questions, please be sure to let me know via twitter (click) or eMail (click). I’m looking forward to hearing from you.

Read more

For Briefly, I needed a nice, subtle animation for switching between the detail soundtrack view and the reorderable list view. In OS X Yosemite 10.10.3’s Photos.app, I noticed something I liked very much.
When going into an album, for example, the current view is zoomed out of focus and the new view is zoomed in.

Zoomtransition Animation Gif

NSView+ESSViewCategory

I wrote a little category on NSView to do just that, it’s a one liner (ironically, in this pic, it’s more than one line) :

Line of code

It’s pretty self-explanatory. You pass in the view you want to transition from and the one you want to transition to, the type of transition (zooming in or out), the duration and an optional completionHandler that’s called when the animation ends.

Alternatively, it’s also available as an instance method where the view you call this on will be passed into the class method as fromView:

Instancemethod

The Views

For the transition to work, fromView has to be in a view hierarchy, toView shouldn’t. They should be the same size, otherwise more work on your part is necessary (which I had to do in Briefly because the NSPopover the views reside in resizes before / after the transition), but either way the code provided should give you a nice head start.

fromView’s superview is temporarily set to have a CALayer to make use of Core Animation during the transition. After the animation ends, the superview’s wantsLayer – state is reset to what it was before the animation. If we didn’t do this, the animation would appear sluggish.

ESSViewZoomTransition

As you can see in the gif above, there are two types of the transition:

ESSViewZoomTransitionZoomOut – the transition from the textView to the view with the checkboxes.
ESSViewZoomTransitionZoomIn the transition from the checkbox-view to the textView

How To Use NSView+ESSViewCategory

You’ll have to first add the NSView+ESSViewCategory.h and *.m files to your project.
Please note that the category imports <Quartz/Quartz.h> for Core Animation’s CAMediaTiming class, so you might have to add that framework to your project, too.

fromView
It has to be inside of a view hierarchy. Fades out during the transition.

toView
Can be in a different xib file (for example, a NSViewController) or in the same as fromView. It’s important that it is not already on screen somewhere. Fades in during the transition.

Once you have set up your views, either call the class method and pass fromView and toView as well as the other parameters or call the instance method on fromView.

How It Works

The method creates an NSImage of both toView and fromView, puts them into two NSImageViews that have the same frame as the views and animates those two NSImageViews accordingly (calling imageView.animator.frame = …; and imageView.animator.alphaValue = …; )
Because fromView’s superview temporarily gets a CALayer, .animator is powered by Core Animation, which makes for a much smoother animation than doing the same without a layer-backed view.

ImagecreationCreating an NSImage of toView.

So the views themselves aren’t actually resized, they’re just screenshotted, removed from view as we place the NSImageView on top of it, creating the illusion that nothing happened. Then we animate the NSImageViews and insert toView after the animation is done, removing both NSImageViews.

The Source Code

The repository (a sample OS X app) is available on Github.

It was developed (and tested) on OS X Yosemite 10.10.3 using Xcode 6.3.1, but should work on earlier versions of the operating system.

I have some more source code available here (or directly on my github profile page) if you’re interested. If you have any questions or feedback regarding my open source projects, please be sure to mail or tweet me – I’m looking forward to your feedback!

Enjoy!

Read more

Please join me on a journey through the past 2 years, from the idea of Briefly to the development and eventual release of the app 🙂

The Idea for Briefly

The idea for Briefly was literally fed to me on a golden spoon.

Well, not literally. Literally, it was hurled at my head with a tweet by a twitter user I sadly can’t remember (believe me, I’ve tried digging up that tweet again, but I wasn’t successful).

I only remember the content (and I’m paraphrasing, because I don’t remember it word by word)

It should be way easier to do this [link to a still motion video I can’t find anymore either]

And that’s where I got the idea, because the tweeter was right – it should be easier to do this kind of video.

Getting the idea for Briefly was, thus, a case of “right place, right time” – in this case: twitter.

Existing Apps?

You might say – why create this app? There’s iMovie (on both OS X and iOS), there’s Final Cut Pro… Why develop an app that does less?

As I stated in my (also-pseudo) post-mortem of Transloader, I believe in making apps (even if they’re small ones) that improve a particular workflow or fix a particular need.

So yes, you can use iMovie to make a still motion video fairly easy. But I figured it could be even easier and faster. Thus I stuck with the idea and started development of Briefly.

It was a gut decision to go for it as I don’t have time nor the will to do much (or any, really) market research and stuff like that. I’d rather spend my time working on code.
So it could have gone either way – have a good or miserable reception (and even if you do market research, it still can go either way).

I always pick projects this way. There are two types of apps I develop:
Apps I have a (sometimes desperate) need for myself (ScreenFloat, Yoink, Transloader) and apps I think others might have a need for (flickery, Briefly).
On apps I need I usually start working right away. If I release them to the public is a different question, though. If I think it’s too niche or too small I usually don’t bother.
When I come up with an idea for an app that others might benefit from, I usually let it ripe in my head for a few weeks. I find that if I let it work out in my head, I either have less and less doubts about it or more and more. If I have too many doubts, I discard the idea for now.
If the picture of the app becomes clearer through this process, I make a move on it and start working. 

Still Motion Videos?

I hear you say – Still Motion videos? What’s that?

After I released Briefly, I’ve been told that Still Motion videos aren’t really a thing, that it’s not a correct term, that time lapse would be the right term to use.

Yes, with Briefly you can create time lapse videos. Or stop motion videos. But what do those two types of videos have in common?
The photos are connected to each other. They are a series of photos correlating with each other, creating an animation or sense of movement.

But that was not the main focus for me (contrary to what you might think watching Briefly’s intro trailer).
The focus, for me, was still motion videos, which basically are the same as stop motion videos (as in, photos shown in rapid succession) but the photos don’t have to correlate with each other. They can be of completely different things.

Because that’s what the video in the tweet I got the idea from was. It was a video of hundreds of vacation photos shown for just a fraction of a second with a soundtrack. That became my goal for this app.

Plus, it’s a term on wikipedia. So it must be right. Right? Right? 😉

Development

I began development of Briefly in October 2011. That’s not a typo. It took me almost two years to release this app. Here’s why:

First off, Briefly is not my only app.
In October 2011, I have flickery and ScreenFloat to take care of. I’m also working on YoinkTransloader and flickery 2, with Yoink being in the final stages of development (released in late 2011) and Transloader taking me more than another year to complete. flickery 2 is still in development.

Secondly, Briefly depends on two frameworks I created.
One is for flickery 2 (because in Briefly, you can import photos from your photosets on flickr) so I had to complete certain portions of flickery 2 before I could continue development on Briefly.
The other one is ESSVideoShare (available as open source here). I had to create that framework first so I could implement sharing functionality in Briefly.
And last but not least, support for Instagram, which took some time as well. There were a few changes in the API when I wrote the integration, so I had to keep adapting.

That alone took me a couple of weeks to get done.

Prototyping

I started off creating the backend of Briefly, which is the video creation part. 

Screenshot of ZlidezFirst interface for Briefly, then called Zlidez

I began developing the backend with QTKit, which, in hindsight, was not a good decision. Actually, it cost me two weeks, only to decide later to use AVFoundation instead.
AVFoundation is undoubtedly the future of audiovisual media frameworks on OS X and iOS. When you watch the WWDC videos, the message is clear. Not using it was a mistake because QTKit would get deprecated some time and, more importantly, is not available on iOS. When I started development of Briefly, I hadn’t considered bringing it to iOS as well, but it later struck me that it would be a good fit for the platform.

Moving to AVFoundation from QTKit

Moving to AVFoundation from QTKit was a matter of delete and re-write. AVFoundation is quite a different beast and it didn’t make much sense trying to refactor what I had written for QTKit.

So I started from scratch. AVFoundation has a steep learning curve – at least to me. “Simple” things like adding an image to a movie is very different from QTKit, where it’s a matter of

– (void)addImage:(NSImage *)image forDuration:(QTTime)duration withAttributes:(NSDictionary *)attributes

This is far more complex in AVFoundation. It’s a matter of setting up an AVAssetWriter, AVAssetWriterInput, AVAssetWriterInputPixelBufferAdaptor and adding your samples to that pixelBufferAdaptor.

Quality Output

I spent the most time of the development on assuring Briefly creates the best possible output – which should be the priority #1 for any content-creation app, anyway.

First and foremost, I wanted to eliminate the occurrence of black borders in the video itself (if they occur in fullscreen playback, that’s nothing I can avoid) all while keeping it rendering quickly (especially on iOS devices).
I was in contact with three photographers to see what they thought about it and they helped shape the output a great deal. I must admit, I don’t know much (if anything at all) about photography so I was dependent on their input.

Soundtracks

Originally, I had planned to include a couple of royalty-free soundtracks with Briefly. But I seem to have bad luck communicating with license holders in general.

I have quite some experience regarding this, coming from GimmeSomeTune. No one wanted to talk to me about that, either, and the same happened with Briefly.
I wanted to get in touch with about 5 different “soundtrack-websites”. Not one replied. So I moved on. For now, users can choose soundtracks from their hard drives or iTunes library.

This might change with a future update as, since the release of Briefly, someone got in touch with me about that. We’ll see where it goes.

At least we made first contact 🙂

What was important to me regarding soundtracks is that they automatically fade out if they are longer than the video, without the need of input from the user.

Designing Briefly

My goal was to be able to create still motion videos hassle-free in as little steps as necessary.

For Briefly, that was:
1) Choose the photos
2) Choose the soundtrack

(I don’t count clicking “Create” a real step).

I wanted an app where you could do everything you needed in one window. No panels, no inspectors, etc.
‘No preferences’ plays into that as well.
I don’t want users to have to think about what speed is best, in what order the photos should be displayed (Briefly automatically sorts added photos by date), what format it should be, if the soundtrack should fade out at the end over what period, that sort of thing.

The only real adjustment users can make is the video resolution (Auto, 240p, 360p, 480p, 720p, 1080p).
It was actually only an output test for myself and I had planned not to use it in the release, only providing the “Auto” option. I can’t say exactly why I changed my mind and decided to leave it in. Probably because I wanted to let users know somehow that Briefly would produce videos at these resolutions and if “Auto” was chosen, Briefly would figure out the best one.
The popup is a slight break from the “Briefly figures it out for you”-concept.

Briefly's first interface conceptFirst concept for Briefly’s interface (Briefly was then called PostHaste)

This first concept of Briefly’s interface is pretty close to what I released, though obviously, it was optimized to put the content in focus, not the interface elements.

For example, we (my designer, Alexander Käßner and me) fused the huge “No soundtrack selected” area into the bottom bar, between the Quality-popup and the Create button, making more place for user-selected photos.

The first iteration of the interface was this:

First iteration of Briefly's interface with wooden texturesFirst iteration of Briefly’s interface with wooden textures

When Alex and I started out designing the interface, I was pretty keen on the wooden textures. I don’t know why. I just liked them (and I still do, though I must say the release version looks much nicer).

Notice that the buttons Browse… and Import… are in the middle of the window and would vanish when photos were added. So once the user selected photos, additional photos could only be added through the File menu in the menu bar or drag and drop. Not a good design decision (especially for novice users), so we put the buttons in the title bar of the window (relatively close to release of the app) so they would always be accessible – except when in fullscreen mode, then they would disappear.

The screenshot above also shows the import view (which is pretty close to what shipped in the release version).
The import view started out as a window sheet, attached to the main window (like an open/save dialog). And it would have been fine, but there’s one problem – it makes drag’n’drop difficult because a sheet usually covers an area of the window it’s attached to.
I wanted users to be able to drag and drop from the import sheet to the main window and make multiple imports without the sheet closing every time. So the sheet had to go.
We put the import sheet into the main window as a view, so the content below it resizes when it’s shown and now users can drag and drop from the import view to the main window and click on “Import” multiple times without dismissing the import view.

More wooden BrieflyAnother, earlier screenshot of a wooden Briefly

Pretty close before release, I decided against the wooden textures. I think I found it too distracting. The focus should always be on what the user’s working on, not the interface.

Dark draft of BrieflyA darker version of Briefly

What you see in the screenshot above is a first draft of a darker, less distracting Briefly. It is quite a difference. And one more iteration of this darker interface is what’s in the release version today.

Flatter Briefly UIWe decided to go a little flatter and less texture-y.

We got rid of the title- and bottom-bar noise-texture and enlarged the soundtrack view a little bit to align with the top of the bottom bar and the bottom of the window giving it more space to breathe.

First Launch Experience

When you first launch Briefly, this is what you see:

First launch BrieflyBriefly’s UI when launched the first time

The popover you see in the screenshot used to be a sort of tutorial, instead of the arrows and explanations you can see underneath in the release version.
It would jump from UI element to UI element, explaining what each element does. Unnecessary. With the way it is now (the arrows), it’s much better.
For one because it’s always there when the window is empty, letting the user know what to do without them having to open up the tutorial again (and perhaps struggling to find a way to do so).
Secondly because a popover that jumps around is nauseating.

Saving

I designed Briefly as a one-shot app – add photos, a soundtrack, create the video and repeat with different photos and soundtrack. An app where you wouldn’t go back to past projects and redo them.

There’s no projects, no documents, no saving.

The only saving that happens is of content that hasn’t been turned into a video yet. So if you select photos and/or a soundtrack and then quit Briefly, those items would still be there on the next launch.

This could easily be turned into a Briefly-document to be edited later at any time and I might do so with a future version of Briefly.
The data saved is very small because all it does is take the paths (actually, NSURL bookmarks) and save them for later use.

Naming Briefly

Before finally coming up with and settling on Briefly, I went through a number of names.

The first name I had was “Zlidez – the z stands for zpeed”. I moved away from that because… it sucks.
Another was PostHaste – though already taken, as I later found out.

The name I absolutely loved was Momento – a portmanteau of momentum (for speed) and memento (i.e., photos). Sadly enough, this was also already taken.

Names before BrieflyBrainstorming session for Briefly’s name (notice that it isn’t on there)

more of briefly's former namesA closer selection of Briefly’s former names

As with most of the names for my apps, Briefly came to me out of the blue and I think it works very well.

Afterthoughts

I am very happy with how the app turned out. The reception has been great, although there are complaints about the rate at which photos are shown in the videos created with Briefly (although it says so in the description of the app on the App Store – “photos are shown for the fraction of a second”).

It got featured by Apple (and as of this writing, still is) on the Mac App Store front page in the “New & Noteworthy” category:

Apple Feature

and received nice reviews on TUAWCult Of Mac and lots of others.

Working with Alex Käßner again has been a blast, but I knew it would be, coming off of Transloader, where he did excellent work as well.

Now we’re working on Briefly for iOS, which will be available later this year for iOS 7.

Thank you for reading,
Take care,
Matt

[twitter-follow screen_name=’eternalstorms’ show_count=’yes’]

 

Read more