(Now you can.)īut we found this useful for OmniFocus for the Web - an API host gets a notification that something changed, and it triggers an update in the front end, in your browser. In those days you couldn’t use Apple’s push notifications service with apps distributed outside the App Store. The notifications service, written in Go, had originally been written to send notifications to the non-Mac-App-Store edition of OmniFocus for Mac. (It may be a surprise to hear that we have a lot of Python experience. It also cleans up idle instances and takes care of API host scaling. The coordinator initiates an instance of the shared model code for each user, and makes sure that user is connected to that instance. ![]() We run more than one of these, so that if we need to take one offline (for an upgrade, for instance) then OmniFocus for the Web will continue working. The front end doesn’t talk directly to the shared code - instead, we’ve created an API, and the front end talks to one of our API hosts, which then talks to the shared model code. API HostsĪPI hosts sit between the front end and the shared model code. They are: API hosts, the coordinator, the notifications sytem, and the front end (the user interface). In addition to that shared model code, the web version has additional components that aren’t shared - they’re only for the web app. But it’s not the only thing running on the web. It means that, when you’re using OmniFocus for the Web, you’re actually connecting to a sandboxed instance of that same OmniFocus code that’s running on your Mac, iPhone, or iPad. ![]() Given that this code is all under-the-hood code - it’s not user interface code - we realized that we could run it on the web, too, as long as we’re using Mac servers. Something that works perfectly in one place might not work in another, or might work subtly differently. But that would have meant more work up front and more ongoing work, as both versions would have to be in step with each other.Īnd it’s likely that each version would have different bugs. Our model code - the code that manages the database and syncing - was already shared between OmniFocus for Mac and iOS, and it’s a mix of Objective-C and Swift code.įor OmniFocus for the Web, we could have written a new version of this code in another language such as Go or Ruby. It actually makes complete sense! Shared Database and Syncing Code John’s right: it’s so Omni, and it does sound a little nutty - but only because it’s not what most companies do. It’s so very Omni to do something so nutty-sounding. Crazy, right? And so for all of the consternation that people like us, and all the anger we have at developers who make web apps and put it in a shell and call it their Mac app, The Omni Group has done the right thing! They took their Mac app and now it’s on the web! Super-super great. …instead, what these crazy people did is they’re using the same Objective-C and Swift code that OmniFocus for Mac is built with, and they’re running it on Mac servers, and they just have web output display from the same code. Follow her on Twitter.If you listen to The Talk Show Live from WWDC 2019, near the beginnning (around 3:33) you’ll hear the host John Gruber talk about OmniFocus for the Web: Originally from the UK she now calls Vienna, Austria, home…until she returns to the U.K. ![]() She is runs WhenWorks to help you schedule appointments more efficiently. When she’s not making Shortcuts or podcasting about them, you’ll frequently find her discussing her love of iPads and other Apple technology on, Automators, Nested Folders, The Sweet Setup, and ScreenCastsOnline. Rosemary Orchard is a nerd, automator, and chocaholic. This edition of MacVoices is sponsored by Smile, the makers of PDFpenand PDFpenPro, PDFpen for iPad, PDFpen for iPhone, PDFpen Scan+, as well as TextExpander for Mac and TextExpander for iPhone and iPad, as well as the new TextExpander for Windows. Great software to help you get more done. Then, we talk about getting started with OmniFocus, and her book, Build Your OmniFocus Workflow, and how to break down those big tasks into smaller, more manageable chunks. Rosemary explains how she came to WhenWorks, why she didn’t want to see it go away, some of the things under development. Rosemary Orchard returns to talk about her most recent project: taking over WhenWorks, the service that helps you schedule your appointments with others at times of mutual convenience without revealing your entire calendar.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |