Tag: macOS

  • CircleCI Adds CI/CD Service for macOS Development

    CircleCI Adds CI/CD Service for macOS Development

    CircleCI today added a dedicated continuous integration/continuous delivery (CI/CD) edition of its namesake platform for developers building applications on the macOS platform.

    Jim Rose, CircleCI CEO, said this offering is aimed at developers that either want dedicated resources to speed up their build processes or have to address compliance and security requirements that prevent them from using shared infrastructure via the existing CircleCI cloud service.

    Most of the developers building applications on macOS platforms are creating applications that will ultimately be deployed on Apple iOS devices, noted Rose. Given the popularity of those devices, the number of organizations using CI/CD platforms to accelerate creation and updates of those applications has increased, Rose added. CircleCI estimated there are now more than 30 million developers building applications on the macOS platform that would benefit from a CI/CD platform running on dedicated bare-metal infrastructure accessed via the Amazon Web Services (AWS) cloud. CircleCI’s dedicated host provides secure access to 50% more cores and more than twice the storage capacity than is available via a CI/CD platform running on top of virtual machines.

    Other capabilities provided by CircleCI include the ability to monitor the performance of apps being developed for multiple platforms in the same pipeline. Many applications deployed on iOS are also deployed on other platforms such as Android, Windows or Linux, noted Rose.

    CircleCI also provides access to testing tools that the company recently added to its portfolio of DevOps tools. Those testing tools are especially critical given the stringent requirements developers face when trying to get approval to make their iOS applications available via the Apple Store, said Rose.

    Developer productivity is, of course, a major issue for organizations trying to strike a balance between automating software development tasks and the art that goes into building applications. While developers appreciate automation, they don’t necessarily want to feel they are working in a factory. Given the demand for their expertise, many developers will simply jump ship when they feel software development processes have become overly onerous. While many managers tend to believe they have a handle on measuring developer productivity, there is often too much focus on, for example, how many lines of code are written versus the business outcomes achieved.

    A recent CircleCI survey also found that more than half (52%) of respondents don’t allow their software developers to choose their own tools. While there is a clear need for a consistent approach to building and deploying applications, organizations will find it challenging to attract and retain the best developers if they don’t allow them to experiment with different tools.

    One way or another, however, the rate at which developers can build and deploy applications is rising as DevOps best practices are adopted. It’s not clear that organizations are going to be able to absorb all that software but, in the wake of the COVID-19 pandemic, the appetite for mobile applications that drive digital business transformation initiatives has never been greater.

  • Developing Apps for IOS 13: Things to Consider

    Developing Apps for IOS 13: Things to Consider

    Authors of numerous articles and videos have covered all the bells and whistles built into iOS 13, the latest major iteration of Apple’s mobile operating system. Rather than diving into all of these perks, though, I will focus on the changes for app developers.

    As it often happens, Apple introduced many proprietary applications that successfully supersede a number of third-party ones. It’s clear that QuickPath will now replace GBoard to enter text and provide swipe features. Also, the native secondary display feature for iPad called Sidecar will substitute Astropad and Dual Display solutions. Furthermore, custom stickers and animated emoji called Memoji can be used instead of the counterpart from Mirror AI.

    The to-do list application now comes with features that used to be a prerogative of the Things app users: you can set a date, create reminders with subtasks and configure various types of alerts based on location. The overhauled Files app allows users to share folders, connect to cloud services, leverage an archiving tool and do many other awesome things. The syncing of lyrics with Apple Music used to be a matter of installing Musixmatch solution, but iOS 13 has introduced a feature of its own for that purpose.

    There are two main conclusions you can draw from these ongoing tweaks. On the one hand, Apple is trying to hold sway over the ecosystem of the most popular applications. On the other hand, the company is developing a transparent and clear-cut array of services for integration and interoperability. 

    In other words, as long as your application hasn’t been replaced with Apple’s native counterpart, make sure its development occupies a unique niche aligned with the platform’s evolution strategy. Take into account the novelties that change the user experience and require that your coders take extra adaptation efforts.

    Dark Mode

    The 2018 macOS release came with the Dark Mode onboard. Users were expecting a similar feature for iOS back then, but it took Apple’s software engineers more time to implement it for iPhone and iPad. And here we go–Dark Mode is finally available in iOS 13. It functions as part of the Night Shift mode, and therefore the switching takes place automatically.

    It’s beyond all doubt that most users will keep the default iOS settings so that the mode is enabled depending on the time of the day. In the meantime, app developers have to do quite a bit of cumbersome work to support the new feature. They need to create UIs with variable colors while adhering to uniform graphics so people can enjoy using the app at any time with an equal degree of convenience.

    iOS 13 comes with turnkey instruments called Color Assets that minimize the amount of work required for app color theme development. iOS 11 and iOS 12 support this toolkit as well, but app makers relying on design for iOS 10 and earlier will have to stay on the sidelines of this progress.

    Standalone iPadOS

    Apple chose to depart from the general unification trend by segregating two platforms for their mobile devices. This approach gave rise to a separate branch called iPadOS. This is most likely a response to the low demand for the latest powerful iPad Pro models. Many users got the impression that the company actually created a professional, multi-functional gadget but failed to equip it with enough solutions to show its full potential. Neither applications nor compelling use cases were available to bridge the gap. The emergence of iPadOS is intended to change this as the independent, fully-fledged platform should match the hardware power.

    Overall, iPadOS bears a strong resemblance to the desktop operating system. It supports desktop-type scrolling features and the option to work with peripherals such as a mouse and trackpad. The revamped SpringBoard seems to bring some long-forgotten widgets back to the home screen. 

    Now that all of these modifications are in place, every developer should think of the iPad home screen widgets that their users might find handy. Perhaps it makes sense to add a widget rendering certain live information or providing helpful shortcuts.

    When it comes to multitasking, the all-new iPadOS appears to outperform macOS in many ways. For instance, iPad users can open multiple windows of the same app and quickly access favorite apps using the Slide Over feature.

    It means there are new scenarios the developers should consider. Among other things, they have to figure out which apps can be combined with theirs on the same screen; how to implement this without sacrificing the user experience; and what role–main or secondary–their app plays in such a tandem.

    To keep up with the new OS architecture, developers also need to ensure a resilient app layout. Enhanced multitasking means that your app will have to run seamlessly in multiple window sizes and proportions ranging from the traditional Full Screen to a swipeable tab in Slide Over mode. As a matter of fact, a similar interface design was available before; however, whereas it used to be optional, you definitely can’t disregard it anymore.

    Safari has also become a part of the maturity trend. Now it displays desktop site versions rather than mobile ones. The fundamental change, though, is that the browser has been fine-tuned at the engine level so the iPad can work with fully-functional web applications such as WordPress and G Suite. 

    Coders can benefit from this tweak as it poses a great alternative to masterminding an iPad-only application. They can save a good deal of time and money, additionally offering their users a readily available tried-and-tested web app if they have one, of course.

    Last but not least, the new Sidecar mode allows users to cast their Mac’s screen content to the iPad. This feature supports macOS Catalina. Aside from the secondary display perk, Sidecar allows you to use Apple Pencil in Mac apps. That’s one more way of leveraging iPad features without having to create a separate app version, which might make some developers question the need for such extra work.

    Data Rendering

    Dashboards are being definitely implemented in full swing in iOS 13. Lots of Apple’s native apps are using data illustrations on their main screens that reflect the event log, explain how to take advantage of new features and give comprehensive clues about various usage scenarios. This complex approach really differs from the purely functional one that used to be the case.

    The refreshed home page of Apple Maps is a good example of the current trend. It includes new tools to work with geolocation and arrange or add places to favorites. The Health app displays daily infographics, too. These features encourage users to open the application over and over.

    The ubiquity of real-time data and infographics has actually turned into a big trend for all Apple products, including smartphones, tablets, desktop computers and smartwatches. Therefore, if your app generates some potentially interesting or useful information, be sure to demonstrate it to the user. That’s what will fill the app’s dashboard. But first, you should understand what types of data your users prioritize: nifty content or strictly functional stuff.

    Photos

    The updated Photos app is one of the most conspicuous changes brought by iOS 13. You can’t go wrong if you say that creating and editing photos is currently among the main iPhone use cases. Apple developers have rethought the whole process to deliver the best graphics experience.

    The app’s home screen covers all the photo gallery browsing scenarios imaginable. It seems to have been designed specifically for hours of gazing at a time. In addition to the use of machine learning technology for choosing the most captivating images, the photo and video editor boasts amazing visualization of the settings and allows you to view the results immediately in the context of the other content. You can barely notice the process of switching between modes–from browsing to editing and taking photos. All in all, the iOS 13 Photos app exemplifies a mobile solution that surpasses its desktop counterpart in many ways.

    This is a serious challenge for developers because it calls forth a whole new level of coherent user experience in mobile app design. The users will be expecting equally elaborate and smooth apps flawlessly aligned with the rest of the iOS 13 ecosystem.

    Security

    Apple has marketed their operating systems as ultimately safe and privacy-friendly for years, consistently highlighting the leak-proof gist of both iOS and macOS as their competitive advantage. As many of you may know, it is not always the case considering how many new malware pieces target Apple users these days. 

    Trying to be on top of privacy defense, Apple updated the Location Alert feature lets the user know about background applications requesting geolocation data. Although, some programs need these details to operate properly, quite a few app authors keep such data harvesting enabled in the background just in case.

    In iOS 13, this characteristic can become a way to ruin your app’s reputation. As soon as the user gets an alert showing a bunch of points on the map that the application has been recently keeping track of, they are likely to follow the system’s recommendation and block this activity without a second thought.

    This security feature is meant to restrain developers from collecting redundant data that isn’t required for their apps to work properly. It also encourages app makers to notify users when and why they need to know their whereabouts.

    Sign in with Apple

    This feature has been anticipated for quite some time and it finally went live with the release of iOS 13. You can now use your Apple ID to sign into various websites and applications. This functionality secures the authentication routine by means of Face ID or Touch ID. Many developers will find it convenient because it introduces a simple and intuitive authentication workflow eliminating the need to store and manage passwords. The security of this process is now entirely up to Apple.

    Programming with Swift

    Apple has been endorsing the Swift programming language for a while. iOS 13 gave these initiatives a boost by introducing SwiftUI that overhauls the entire paradigm of creating applications for Apple devices. Effectively, it is a critical link between programmers and designers that was missing before. SwiftUI also propels a shift toward a reactive programming style. Apple Developer libraries now support a bevy of UI models. Furthermore, the Combine framework will be henceforth heavily used for coding. These instruments are currently in beta testing and things may change dramatically over time, though.

    Nonetheless, Apple has already provided developer tutorials aimed at facilitating the process of switching to reactive programming. The beta testing will definitely unearth a lot of roadblocks and there will be tons of bug fixes and tool replacements further on. However, Apple engineers will certainly address these issues in the long run.

    It appears that the age of Objective-C with its numerous drawbacks is doomed to fade away, succumbing to more competitive development instruments. 

    SwiftUI already allows programmers to compile applications without high coding proficiency. You can easily add modules that will complement your new app. That being said, designers and managers with entry-level skills will be able to compile prototypes of new software products.

    Overlapping Apps for iOS and macOS

    In the aftermath of the growingly close ties between iOS, macOS and the newly released iPadOS, mobile applications can now run on macOS. You actually couldn’t compile a mobile code using Apple’s desktop operating system till the summer of 2019, but now it’s possible. At the 2019 Apple Worldwide Developers Conference (WWDC 2019), experts claimed this could be done without having to use a simulator.

    However, since the layout structure of iPad applications has more in common with macOS style than the iPhone app layout does, we’re mainly talking about executing iPad apps on desktop machines. Given that some Apple apps look very much alike on different devices (Reminders and Stocks), the proprietor of the platform is expecting the developers of third-party apps to stick with the same uniformity across environments.

    It comes as no surprise that some mobile devices are starting to support desktop mouse and trackpad, and the user interfaces are being unified at the level of the smallest details. For instance, the design of the user icon has been concurrently updated in all the services and applications on iOS, iPadOS, watchOS, and macOS. To maintain the rebuilt environment, Apple is busy expanding the app development sections on their website. The company has provided UI kits even for products in beta testing and created a library of interface icons, lagging slightly behind Android in this regard.

    Summary

    To recap, it’s clear that Apple is trying to establish and push forward a convenient ecosystem for app developers. At the end of the day, this is one of the fundamental elements of a long-term competitive strategy and we may expect more changes with the advent of iOS 14.

    — David Balaban

  • Which Desktop OS Is Best for DevOps?

    Which Desktop OS Is Best for DevOps?

    Which operating system (OS) is best for DevOps engineers to use on their workstations?

    That’s a weighty question. Talk about which OS is “best” for any purpose is always controversial.

    I’m not going to stick my neck out by saying that one OS is definitively better than others when it comes to doing DevOps work. But I would like to consider the strengths and weaknesses of each of the major desktop operating systems—Windows, Linux and macOS—for performing DevOps work.

    Windows

    Statistically speaking, Windows is the OS that most people use. By extension, it’s the OS that most DevOps engineers probably use. (I can’t confirm that fact, because I’ve yet to see a study of which OS DevOps engineers actually use.)

    As I see it, Windows has two main advantages from a DevOps perspective, including:

    • Popularity. This is a strength because DevOps is all about having freedom to pick and choose which tools to use. Given that Windows is so popular, almost everything is compatible with it. OS compatibility problems, therefore, don’t get in your way of doing DevOps as you see fit.
    • The Windows subsystem for Linux, which lets you run some Linux CLI tools on Windows. This feature is handy if you need to do DevOps work for both Linux and Windows server environments.

    The main drawback of relying on Windows is that, well, it’s Windows. Compared to Linux, Windows offers very little opportunity to customize, and that restraint can be a drawback from a DevOps perspective. When it comes to core tasks, such as working from the command line, you’re stuck with the tools Microsoft offers you. And you can’t do very much to harden your Windows system for security purposes.

    Linux

    For my money, Linux is the best OS for DevOps. But I say that only because I’m a die-hard Linux lover and I tend to think Linux is the best for everything.

    But even if you are not a Linux fanboi, you have to admit that it has certain advantages for doing DevOps work:

    • Linux is ultra-customizable. You can choose to set up your system in whichever way works best for your workflow. You can use a wide array of tools. You can make lots of changes to add extra security. Given that DevOps values choice, this is a big benefit.
    • In many cases, DevOps engineers are supporting software delivery pipelines that deploy to Linux server environments. Being able to work from a native Linux environment can make it easier to do things such as test and stage those applications on your local device when it becomes necessary to do so. You could, for example, spin up a Linux container on your local machine, which you couldn’t do with a Windows or macOS workstation.
    • On most mainstream Linux distributions, installing all of the DevOps tools you need is extremely fast and simple using repositories and package managers. It’s not exactly difficult to install most DevOps tools on other systems, either, but I don’t think any OS can beat the package management systems used by Linux distributions.

    Linux’s major limitation is that learning it takes some time, particularly for DevOps engineers weaned on Windows. You also run the risk of needing a tool that doesn’t support Linux, although I’m having a difficult time thinking of any DevOps tools that doesn’t work on Linux systems.

    MacOS

    Last but not least is macOS. Overall, I don’t think macOS is ideal for doing DevOps work. The only strength I can think of is:

    • It gives you a native Unix-like environment. You can’t run your Linux containers directly on a Mac, but you can at least use some native Unix tools.

    Drawbacks for macOS are many. It’s not very customizable. It lacks compatibility with some applications and tools. It comes with its own learning curve if you have never used a Mac before.

    Does OS Choice Even Matter?

    Now that I’ve weighed the pros and cons of Windows, Linux and macOS as operating systems for DevOps engineers, let me state the obvious: It’s 2019, and in many respects it no longer really matters which OS you run on your local machine. Lots of applications—including key DevOps tools, such as IDEs—now run in the cloud as often as not. Plus, there are a plethora of hardware virtualization tools out there that will let you run virtually any OS in a virtual machine within another type of OS. You can run Linux and Windows side-by-side as virtual machines on your Mac, if you want.

    Still, not everything runs in the cloud, and having to switch between virtual machines is not always practical. It’s therefore worth thinking hard about which desktop OS will best serve your DevOps needs and making that the one that controls your bare metal.

    — Chris Tozzi

  • macOS Goes Password-Free with Introduction of Octopus Authentication

    Octopus Authentication is the market’s first password-free multi-factor authentication solution for Mac business users

     Tel Aviv, Israel – October 24, 2018 – Secret Double Octopus, the leader in password-free authentication technology, announced today its Octopus Authentication solution is now available for Mac enterprise users. Octopus Authentication is the first high-assurance, password-free authentication for macOS within corporate networks managed by Microsoft’s Active Directory.

    As companies implement increasingly strict password policies, users have to manage downgraded experiences and reduced productivity. This has led to enterprise companies looking to eliminate the workplace password altogether. With Mac now a fixture in every enterprise company in the world, delivering password-free authentication for macOS will change the way work is done, freeing up valuable time that was otherwise spent searching for, memorizing and entering passwords.

    Microsoft’s Active Directory (AD) centralizes authentication and authorization for domain resources, however, by only using one password to access all resources, AD passwords are a lucrative target for attacks. In place of passwords, Octopus Authentication enables login from a macOS host using a high-assurance, password-free authenticator.

    Octopus Authentication for macOS supports access to all enterprise resources, whether on-premise, remotely accessed or in the cloud. The solution is built upon unbreakable cryptography that is highly resistant to common attacks, such as phishing, MitM and cracking.

    “The Mac is all about top notch user experience, but at the workplace things get complicated due to security concerns, as users need to memorize and change complex passwords,” said Raz Rafaeli CEO of Secret Double Octopus. “Octopus Authentication for macOS eliminates the nuisance of passwords at work, introducing multi-factor authentication at every login.”

    About Secret Double Octopus

    Secret Double Octopus is pioneering the password-free workplace. Its high-assurance authentication solutions are built on provably unbreakable cryptography that is highly resistant to attacks and provide superior user experience. Secret Double Octopus is a Gartner Cool Vendor, Business Insider ‘Startup that will boom in 2018’, PwC game-changer for Global Financial Services Innovation, and recipient of the Frost and Sullivan ‘Technology Innovation Award‘. Its customer-base includes US, European and Asian companies.