Apple has asked developers to do better with release notes — and so we figured we’d write about our system, in case it’s helpful to other developers.
Collecting the Notes
For major releases, our product managers (PMs) use our bug tracker (OmniBugZapper) to make sure there’s a note for each bug fix, new feature, and behavior change.
During TestFlight, sometimes its easier to use SCM logs (for example: svn log -r <revision of last release notes edit>:HEAD | less) to capture work in progress.
This phase is critical: being able to know exactly what has changed in a given release needs to be easy.
Writing the Notes
We have a build phase that renders Markdown to HTML and also replaces some tokens, so that, for instance:
- new - **Tags** --- Contexts have been replaced with Tags.
Our PMs use TextMate and BBEdit, and we’ve done some customization to make editing these easier, as in this screen shot:
Editing the Notes
We have an internal editors mailing list that all the PMs and a few other people are on. Much of our written communication passes through this list — including this blog post! — since we all have an interest in making sure everything we publish matches our standards.
Editors don’t always have feedback. Sometimes it’s just a thumbs-up emoji. But, when they do, it might be a wording suggestion, a question about something not clear, or just pointing out a typo — but the point is that everything ends up better by going through this process.
(Yes, the downside of a process like this could be that everything ends up sounding like it was written by committee. We’ve avoided that, but not by any magic other than just everyone doing a good job.)
We use the Apple style guide and recommend that you do too. Many of us have internalized the common rules, but things come up from time to time where we have to refer to the guide.
future tense Whenever possible, use present, not future, tense. Don’t switch unnecessarily from present to future tense when present tense is sufficient to express a sequence of steps or events.
Publishing the Notes
Release notes are included with each app — for instance, on the Mac, choose Help > Release Notes to see the latest. They’re shown in a web view.
They’re also published on our website. See the OmniGraffle 7.8 release notes for a recent example. Our CMS knows how to turn the Markdown copy into the proper rendered HTML.
The App Store requires plain text, so we convert the rendered HTML to plain text. Links are turned into plain URLs.
We try to localize the App Store release notes for major and feature releases.
We also localize the introduction and poststcript for minor releases, so that customers who don’t read English know that it’s just a minor release, and they can read the info about contacting us for help or leaving a review. (OmniFocus PM Dave Messent uses a shell script that takes the introduction and postscript in each of our ten languages, and makes a sandwich using the plain text version of the meat of the release notes.)
We use fastlane to upload all the metadata for each release to App Store Connect.
Upon release of an app — once it’s been approved by the App Store and, in the case of Mac apps, also uploaded to our website — then there may be a blog post and accompanying social media posts, and these often link to the release notes. Minor releases don’t necessarily get a blog post, but release notes are still published on the website.
The City of Toronto is welcoming feedback to a proposal for moving the bike lane on Adelaide from the south (right) side to the north (left) side. The website for the proposal has more details, including lessons from comparable cities who have installed or moved their bike lanes to the left side of the street. The principal impetus for this project is to avoid interactions with the loading docks on Bay St., which cause cyclists to have to move in and then out of traffic. We provided the feedback that the City consider working with the Toronto Bike Share to move their docks to the north side as well. That would help prevent cyclists borrowing a bike from having to cross the street in the middle of the block or use the sidewalk to go to an intersection. It would save time and increase safety for bike share users.
We offer for your perusal the maps of the Garment District part of the map as they were just before we added our own stickies. The parts to the east of the maps, which are not shown here, have the most to gain, but, as you can see, cyclists and other users of the street have their thoughts for our neighbourhood. We'll stay interested and involved, and look forward to next year when it will potentially be implemented.
Now that we’ve had a chance to evaluate how WWDC’s announcements affect our development schedules, I’m happy to share that we plan to ship the Mac edition of OmniFocus 3 in September.
We’ve got details…
OmniFocus 3 for Mac will be available from the Mac App Store and from our website. It will be a free download with a 14-day trial. The Standard edition will cost $39.99, and Pro will cost $79.99.
Everyone who bought a previous version of OmniFocus for Mac will get a 50% discount, and everyone who bought OmniFocus for Mac since our announcement last October will get a free upgrade. (Which also means that you can buy OmniFocus 2 for Mac today and you’ll get a free upgrade to OmniFocus 3 for Mac.)
OmniFocus 3 for Mac will bring tags, enhanced custom perspectives, interleaved Forecast, the Forecast tag, enhanced repeating tasks, and other new features already found in OmniFocus 3 for iOS.
How You Can Help
It’s not in beta-testing yet, but our team’s hard at work and it will be in testing this summer, and you can sign up to help test. We appreciate it!
If you previously signed up to help test OmniFocus 3 for iOS, you don’t need to sign up again. We’ve got you. :)
One of the most appealing aspects of soccer is its simplicity—a ball, some open space, goal markers, and you can play. As the 2018 World Cup kicks off in Russia, with matches held in massive modern arenas, here is a look at the beautiful game in action in some smaller and more unusual venues around the world, including pitches built on a glacier, on a beach, floating in a river, made of straw, on a rooftop, and more.
An adventurous weekend getaway is never a bad idea. With the natural beauty and burgeoning craft beer scene in the Comox Valley beckoning, I just knew I had to make the trip! Having never been to this part of Vancouver Island before, I was eager to do some research on the area and discover what it has to offer, and the more I learned, the more excited I became. The Comox Valley is on the eastern coast of Vancouver Island and includes the cities of Comox, Courtenay and Cumberland. It is also in very close proximity to Strathcona Provincial Park, a 2458 sq. km park known for its amazing hiking trails, lakes, waterfalls and glaciers, not to mention pristine forests and colourful alpine meadows.
Our flight out of Vancouver with Harbour Air was scheduled for an early morning departure so we arrived at the marina as the sun was about to rise above the horizon making for a gorgeous start to the day. The near cloudless sky made for quite a sunrise!
Check-in was a breeze and before we knew it we were already making our way down the ramp to the dock where we would soon board our DHC-3 Turbine Single Otter Seaplane, a rather cozy plane that only seats a maximum of 14 people. This was my first ride aboard a seaplane so I was excited and a bit nervous to be honest, but that went away quickly as the plane gently lifted off the water and climbed towards the east over the Lions Gate Bridge. The views along the way were spectacular as the plane’s cruising altitude is below 3000 metres. With the Vancouver skyline disappearing into the distance, we did our best to figure out what islands and cities we were seeing below us while marvelling in the breath-taking views of the Howe Sound, coastal mountains and Sunshine Coast. Fifty minutes later we were touching down at the Comox Valley Marina.
We had yet to have a proper breakfast and found a cool local breakfast joint called The Hen and the Hog Cafe. It’s a tiny little place with limited seating, but trust me when I say it’s worth the wait. I had their daily feature which was two poached eggs in a chipotle marinara served with smoked bacon, toast and hash browns, while my wife enjoyed a much healthier option of quinoa, yogurt and fresh fruit. Both of us thoroughly enjoyed our meals and we left with our solid base for a day that about to be spent touring some wineries and breweries.
We dropped our bags off at our accommodation, the beautiful Crown Isle Resort, and awaited our tour guide to pick us up for our tour. We booked a day tour through Discover Comox Valley and were excited to get started! Our guide Brent informed us that we were the only ones on the tour that day so we basically had our own private driver who encouraged us to just go at our own pace and take it all in. Our first stop was 40 Knots Winery. As we rolled in the first things we noticed were the lush rows upon rows of grapes and a beautiful, rustic barn-shaped building with the double doors swung wide open, inviting us into the tasting room.
Charlene greeted us and we got down to wine sampling right away, running through four different wines: White Seas, Uncloaked Chardonnay, Rose and the recently released Stall Speed Meritage. All of them were quite tasty and we settled on a bottle of the Chardonnay to bring home. We took a little stroll from there down into the vineyard and snapped a couple of photos before loading back into the minivan for our trip to the next stop.
From there we headed to Coastal Black Winery, which lies just on the outskirts of the Comox Valley. It is a fruit winery that also specializes in mead and honey. This was a unique experience for us as this winery does not use any grapes! We settled into the tasting room where we were greeted by Sam, one of the winemakers, who offered us up some samples of their blueberry table wine, Blueberry Mead, Sparkling Raspberry Brut and a Blackberry Sparkling Brut. These styles and flavours were all new to us and both of us really enjoyed them. So much so that we got a bottle of each! We then went on a quick tour in the back and got a little inside scoop that they are currently doing some test runs on making their own ciders. I’m sure they will be amazing as well.
Back to the tour van and off to Forbidden Brewing in downtown Courtenay. We found a seat and I ordered the flight on offer. Being a nano-brewery they only had four options, but all of them were quite enjoyable, especially the Arnold Schwarzen’ale.
The vibe was chill and comfortable and the opportunity to chat with the staff was a lot of fun. We were getting hungry and we heard our final destination had some great tacos so we moved on.
We arrived quickly at Gladstone Brewing, which had a vibrant atmosphere, great music and a very unique overall design that was still themed around the building’s history as a car mechanic’s shop.
With a selection of eight beers to choose from, I narrowed it down to some unique styles, a Belgian Stirling Single, Munich-style Festbier, Gose and a Burton Ale, which was a collaboration with Vancouver Island Brewing. We grabbed a seat outside on the patio and soaked in some sunshine. By this time we decided we should probably get something to eat and ordered a sampling of the tacos from Taqueria Guerrilla located in the brewery. The chorizo and the pork belly tacos were my favourites, while my wife enjoyed the cauliflower and kimchi one. I also grabbed a couple 4-packs to go and a pint of the Burton Ale, as it was my favourite on the flight. We enjoyed the heck out of our little feast while chatting with some locals about their favourite hiking spots and hidden gem restaurants.
That brought our tour to an end, so we hopped into the minivan and our driver delivered us back to the hotel for an afternoon siesta. The early morning flight and afternoon sampling session had taken its toll and besides…we were on holidays!
The room itself at Crown Isle Resort was a stunner! It had a full kitchen, living area, huge walk out deck that faced the first tee of the golf course, fireplace and a big 50 inch TV. The bedroom had a jacuzzi tub big enough for two, another TV and a fireplace. We crashed on to the comfy king size bed and had a power nap.
Later that night we made our way into town for a nice dinner at Locals Restaurant. They had a three-course meal deal that had options that appealed to both my wife and me so we went ahead and ordered those. She had the seafood chowder, a grilled halibut and prawn entrée, and a dessert sampler, while I enjoyed a crab cake starter, chanterelle mushroom risotto with poached pear as my main, and a berry pie with custard filling. Everything was presented exceptionally well and tasted amazing. With our bellies full, we headed on home for a good night sleep.
We decided that a day of hiking and exploring would suit us just fine so we set out in search of some nourishment and found another great local restaurant recommended on the BC Ale Trail. This place was called Atlas Cafe. The food there was also creative and delicious, and the coffee was tasty. From there, we headed out on a hike in Strathcona Provincial Park called Lake Helen Mackenzie, an 8.5-km hike with a modest 450m of elevation gain. We drove the 30 km up Forbidden Plateau towards the Mount Washington Ski resort where we found the trailhead for our hike.
The trail begins with a beautiful walk through an alpine meadow along a wooden boardwalk that stands just above the ground. With it being the end of September there was no snow on the ground and the leaves were starting to show signs that autumn was setting in. After a kilometre or two, the trail heads uphill, and soon it emerges alongside Battleship Lake.
The views from here are so pretty. Looking out across the still water towards Mount Washington, you can see the ski runs that carve up to the peak, all of it reflecting on the water like a mirror. Further along the trail we were entertained by a few squirrels and some extremely confident grey jays that happily ate from the palm of your hand if offered food.
As we were leaving, it was decided that we would make one more quick stop to see Nymph Falls before continuing our way along to Cumberland Brewing Co. The trail in is very short and well-groomed so it only took a few minutes to get to the river’s edge and see the active area of rapids knows as Nymph Falls. We snapped a couple of pictures and made our way back. Having now walked over 11 kms, we were ready for some beer sampling and food.
We arrived at Cumberland Brewing and immediately scoped out a spot to sit on the packed outdoor patio. It was late afternoon and this place was hopping! With one eye scanning for patio vacancies and the other reading over the menu board, we were greeted by the energetic staff and offered a flight of five beers. Of course, I accepted while my wife opted for a cider.
The moment I was handed my flight I saw a couple leaving so we made a B-line for the table. After starting off my flight we began perusing the food menu, and man did that get my mouth watering.
We ordered some vegetarian tacos and a spicy Indian chicken dish with fresh pita and neon pink beet hummus. We enjoyed the food so much that we had to get more, so we ordered their baked Focaccia bread with melted cheese, marinara and a selection of sliced meats. It too was unreal!
While we were sitting there enjoying our meals we were fortunate enough to meet Darren, one of the owners. He joined us for a short while and shared his stories about the opening and growth of the brewery. His energy and enthusiasm for what he does is very evident. I could really hear the passion in his voice as he spoke. This is truly my favourite thing about drinking craft beer. I love supporting our local economies and occasionally walking into a brewery in a small town and meeting the people who actually make the beer and sign the paycheques. Overall, much like our visit to Gladstone, this too was a genuinely fantastic experience.
Back to Crown Isle for a soak in the jacuzzi tub to soothe the muscles and to get ready for another night out. We had been told by some of the locals that if I loved craft beer, The White Whale would be a great option, so we ordered up a cab and were on our way. We drank the night away and enjoyed some tasty nachos while chatting with the bar staff and some local regulars. Another great place to check out while you’re in town.
It may be check-out day but we still had some adventuring to do! After turning in the room access cards and having some breakfast at the golf course, we tossed our luggage in the Explorer and headed north up the Island Highway to 49 North Helicopters at the Campbell River Airport for a 45-minute tour over the Comox Glacier. Campbell River was about 60 kms away but thanks to the 120km/hr speed limit on the inland Island Highway, we were there in no time flat. We arrived and signed our life away and headed out the door to the awaiting chopper. We were joined by a tourist from Sweden who we let ride shotgun in the four-seater Robinson R44 Helicopter beside our pilot Bastian who was ready to roll. After a quick chat with the tower to warn us of some parachuters in the area, we were off.
Flying due west over the runway we were instantly greeted by a landscape clinging to its lush green colours as of summer and the awe of the experience began to sink in. As we got closer to the glacier itself I was at a loss for words at the natural beauty that was below us. The vibrant deep blue water of the glacier lakes that sat silent, filled to the brim, at the top of the various peaks were a sight to behold.
Bastian flew the helicopter tight to the mountains and up and over peaks, giving us a close of view while I snapped picture after picture. After circling in and out of the peaks we looped back and flew over top of Lake Helen Mackenzie. It was pretty cool to see the entire hike we had done the day before from above.
We ventured over to the peak of Mount Washington and did a couple tight circles to entertain the hikers below and then made our way back the airport. 45 minutes was over in the blink of an eye. It was an exhilarating adventure that must be experienced to appreciate.
Back on solid ground, we said our goodbyes and headed into downtown Campbell River to visit the local craft brewery, Beach Fire Brewing and Nosh House. The place has a cool look inside: a rustic bar with stools, long harvest tables, local artwork adorning the walls, and a cozy sitting area, as well as some patio space.
I ordered up a flight and we snacked on some tortillas chips and house-made salsa. The Wheel Bender Stout and their Kettle Sour were both noteworthy, but I enjoyed them all. With the clock ticking down on our return flight, it was time to head back to the marina.
As we boarded the seaplane, we were already discussing when we would come back to the Comox Valley. It was truly a fantastic experience visiting the region. It has everything we look for when we travel: natural beauty, great options for craft beer, adventurous excursions and a list of restaurants making some memorable meals. Can’t wait to return soon and explore a little more!