My passion is writing, and as a freelancer I do a lot of it! I’m mainly interested in apps, SEO, and software.
The Swift programming language was introduced by Apple in 2014. It was made open source in December of 2015, and its third version entered preview status in June of 2016.
Swift is Apple’s preferred programming language for iOS apps, supplanting Objective-C. Zco’s developers have become wizards at using Swift, and I caught up with two of them for a chat about how Swift affects their work.
I spoke with Darsan, a technical lead, and Binosh, a senior software engineer.
Though there’s no bright line between scripting languages and other programming languages, scripting tends to emphasize speedy code writing and automating tasks by calling other programs that may or may not be in the same language. Because scripted languages are often run through a browser or other runtime, code can be tested on the fly more easily – without having to be compiled. When the project is ready, it’s compiled for better performance and easier distribution.
Both developers said that programmers with C or C++ experience would find Swift easy to learn – but also that even novices can learn Swift as their first language.
App memory management is an area Binosh felt Swift was a big change over Objective-C. Both languages can use a system called Automatic Reference Counting (ARC), but while it’s an integral part of Swift, it was only introduced to Objective-C in 2011.
ARC keeps track of objects used within an app’s code. When they’re not needed anymore, they’re removed from memory, so an app isn’t taking up more resources than it needs to. Older projects, Binosh said, relied on manual de-allocation of memory by the developer. Making sure the app wouldn’t cause memory leaks or performance degradation would take a lot more development and testing time.
Many legacy applications can even be updated to work with Swift.
“Even if we developed our old projects in Objective-C, we can use Swift for the latest updates of that project, because it’s cross compilable,” Darsan said. It’s not always a perfect transfer to the newer language, but the time saved creating new modules in Swift usually outweighs any time spent debugging the cross-compiled code.
Swift has a few nifty additions that just didn’t exist in Objective-C. Two of Darsan’s favorites are the tuple and higher-order functions.
Tuples are simply values that are grouped together for convenience. Apple’s own documentation gives the example (404, “Not Found”) as a tuple describing that message you get when a webpage is broken. It’s easier for a developer to deal values with that are often used together when they’re stored together.
Higher-order functions can use other functions as input and output. As basic building blocks of programs, functions in code can be made more useful by allowing them to interact with each other directly, rather than translating their results into values in advance.
In its first two years, Swift had made fans of many of Zco’s developers. Email us to learn how it could be right for your iOS project!
A number of factors determine the development time of an app. App development time cannot be decided without analyzing the type of the app and the complexity of its features.
To simplify this challenge, we can take you through a definite and step-by-step process of developing different types of apps. App development can be classified under 3 main types: mobile app development, enterprise app development, and game app development.
Confirming the app features & specs
Confirming the UX/UI design
Development of the app
App store launch
The time taken to develop any mobile app on an average basis is approximately two to three months. As with any average, however, there are plenty of examples below and above that range. Some apps can be ready in a single month while others may take over a year.
Complexity of the mobile application decides the time, and therefore cost, involved in the development. Many apps require backend processes like online storage, synchronization of data, and user accounts. Spending two months on basic backend functionality is typical, while the user interface design takes about one month.
These time frames are given based on the development of native mobile apps built for one platform. Hybrid apps for multiple platforms take a little longer, but less time than developing the app for each separate platform in native code.
Along with consumer apps, enterprise mobile apps have enjoyed a surge of popularity. Some of the major factors that affect enterprise app development are data acquisition, security, and integration with existing systems. With the increasing reliance on data-driven business management, more enterprise apps have been launched.
For instance, an enterprise app developed for the customer marketing team of Sky (a pay TV broadcaster with more than 10 million subscribers) developed an internal reporting application that provided results for their marketing campaign data, an interactive timeline, infographics, and results to their subsidiaries and related business ventures. With so much intricate real-time and complex data accessed by multiple users, developing an app that retains all these data may take more time.
The 3D game development process involves 3 main stages: pre-production, production, and post-production.
In pre-production, the game team considers:
Game Design Documentation
Production involves creating all the assets:
Finally, all the elements are put together in post-production:
Integrating with Game Engine
The 2D game development process involves pretty much the same pipeline except that designing and finalizing 2D art is a simpler and shorter process than modeling, texturing, rigging, and animating 3D assets.
As with any other mobile application, the time taken for any mobile game depends upon various factors like the type of animation (2D or 3D), game mechanics, genre, complexity of game levels, and simply the number of elements like levels, characters, power-ups. A small game like Flappy Bird has simple gameplay and consists of just one level but it was wildly popular – for a while. A simple game can always be expanded after its initial release, either with free updates or in-app purchases.
Adding features like real-time multiplayer or destructible environments on a mobile platform can be challenging. Rule changes or additions affect the core logic of how a player advances, so can lengthen a game development project if introduced mid-stream.
Every app is unique, so the development cycle will vary. The more artwork, functionality, and complexity involved in an app, the longer it will take to develop. Changes mid-process, prompted by operating system updates or competition, can increase required time as well.
If you want to develop some awesome apps, email us or call 603.881.9200.
In today’s mobile-first world, it’s difficult to imagine a life without a smartphone. There is an app for everything: shopping, booking tickets, hiring a cab, ordering your favorite cuisine, etc. Ericsson expects the number of smartphone subscriptions to reach 4 billion in the year 2016.
In 2015, mobile technology has already started migrating from smartphones and tablets to wearable devices and the Internet of Things. Consumers are syncing their smart devices with wearables and home appliances through apps. For developers, keeping up to date with changing mobile technology has become an essential standard rather than an option. What mobile app development trends will we see in 2016?
Developers love enterprise apps, owing to the monetary benefits attached. Currently 43% of app developers who make enterprise apps earn above $10K per month as compared to developers of consumer apps.
Gartner predicts that by the end of 2017, the market demand for enterprise mobile apps will outpace IT organizations’ capacity to deliver them by five to one. As enterprise apps gain more traction, developers will move toward development jobs that pay the bills.
With the growing number of smart apps and exchange of information over the web, data security has become essential. Network World reports that Veracode found “cryptographic issues” in more than 80 percent of the Android and iOS apps it analyzed. As this issue needs to be resolved, emphasis on data security will remain high in 2016 as well.
For developers, 2016 will be a year of big security challenges. Using one-time keys in NFC apps, for example, protects highly sensitive personal information like bank details and social security numbers, but that’s just the start. Developers have to use security measures like two-factor authentication to prevent unauthorized access. Updates in Apple’s iOS 9 and Android Marshmallow provide high-end security protocols for developers, so mobile payments are expected to become safer in the coming days.
In 2015, cloud technology has played a significant role in mobile app development. The biggest advantage with cloud-based application development is that it allows developers to build apps that can be accessed on different devices with the same features, functions, and data.
With the growing usage of smart devices and wearables, more enterprises are now moving to cloud technology to build their applications. App developers will have to meet the challenge of designing cloud-based mobile applications that can be synced over multiple devices without compromising features, functionalities, or security.
The Internet of Things includes appliances, sensors, and many other connected devices. In 2016, app developers will focus on building more apps to make these products useful. The World Economic Forum has predicted that more than 5 billion people and 50 billion things will be connected by 2020.
With IoT, smartphones are becoming the controlling hub for smart devices and vehicles. Mobile applications offer development opportunities for IoT apps like home automation, healthcare, integrated security control systems, energy efficiency, and more.
In 2015, Apple released the Apple Watch and launched watchOS 2. The update, allowing apps to run directly on the device, significantly boosted application development for Apple Watch. As of September, the number of Apple watch apps available has crossed 10,000 and this figure is only expected to increase in 2016. App developers will shift their emphasis to app development for Apple Watch and wearable device apps for enterprise and other industries in the next year.
With the availability of countless smartphones, tablets, and wearable devices, end users will meet more experiences across different environments in the coming years. In 2016, developers will give more emphasis to building apps that look and perform well on all devices - from the small display of Apple Watch to the rapidly increasing screen size of the new smartphones and even giant desktop monitors.
For developers, more challenges will come in the way of bringing advanced design. App analytics will help developers to predict present and upcoming the trends in user interaction.
2016 is going to be a year of hybrid apps and the emphasis on native apps is expected to decline. With the plethora of mobile devices with advanced features and functionalities, developers have no choice but to support multiple platforms. In 2016, cross-platform tools will gain more demand and popularity. Developers will increasingly rely on different cross-platform tools like Xamarin, Appcelerator, and PhoneGap to develop powerful hybrid apps in the coming year.
As you look ahead to the new year, what trends do you see continuing or changing? Let us know in the comments!
Apple released its newest mobile operating system, iOS 9, to the public on September 16. The new OS provides some significant improvements to mobile application development, especially for iPad. The major updates have presented tech giants and entrepreneurs with opportunities to deliver better apps.
One of the most noticeable updates in iOS 9 is multitasking on the large screen of the iPad. Multitasking allows users to show two apps on the screen at once – something quite familiar to desktop users, but new on Apple mobile devices. It has three modes: Slide Over, Split view and Picture-in-Picture (PIP).
Slide Over allows the user to get a glimpse of one app in a side panel while another app remains full screen behind it. Updates to an email inbox or Twitter feed can be read quickly, with minimal interruption.
The second major change is Split View. With this you can work on two apps at once independently of each other while both are fully functional. Each panel is resizable, so the apps can take up similar amounts of space or be portioned out according to need.
Finally, there’s Picture-in-Picture (PIP) video. This enables a user to play video or participate in a FaceTime conversation while using other apps. Pressing the Home button rescales the video and leaves the rest of the display available for another app. The iOS 9 player will remain on top.
Because of the demands on graphics hardware, not all iPads support all multitasking features, even if they can be updated to iOS 9. Slide Over and PIP work on iPad Pro, iPad Air or later, and iPad mini 2 or later. Split View requires iPad Pro, iPad Air 2, or iPad mini 4.
Apps do need to be optimized to work as well as possible with the three multitasking modes. Developers can take advantage of Auto-Layout and Size-Classes elements in their code so that text and graphics reflow sensibly as panels are resized. If you need to ask yourself, "Will my app work well with this?" it couldn’t hurt to test it out on recent Apple iPads.
The powerful new search API in iOS 9 provides deeper search powers into any app. The deep linking or universal linking feature enables users to easily search and access content from or within third-party apps. For example, if you have an app that books hotel rooms, when the user searches for "Niagara Falls" your app shows up with lists of hotels near Niagara Falls; when the user clicks on that search result, the exact screen in your app for booking that hotel opens.
No matter how awesome your app, it’s always best to be as lean on size as you can. Large app sizes are a huge turn off for users because it not only takes longer to download but also consumes valuable local storage space.
App thinning is all about slicing an app into its component parts. This ensures that your app will use the minimum storage space on users’ devices. It supports downloading only the bits of the app needed by that particular device, based on things like screen resolution and hardware components. This enables users to download your app specially optimized for their device.
Apps can be bloated by having artwork of all different resolutions for different devices packaged together. Functions that don’t work on some hardware – say, Apple Pay or fingerprint recognition on an iPhone 5s – simply waste space. Allowing build support for the following app thinning solutions gives your app users a smaller and convenient way to download your app.
Slicing: If your app separates multi resolution artwork using asset bundles, you are mostly set. Developers can also add additional device filters on different assets to make use of this feature. The App Store only sends those assets matching the users’ device when users download an app, thereby significantly cutting down on download times.
On Demand Resources: Using a new API available on iOS 9, developers can designate certain assets to download on an as-needed basis. Earlier, developers needed a costly custom server to do something similar, but native support within the App Store reduces that burden considerably.
BitCode: BitCode allows developers to submit an intermediate representation of your code rather than the final binary to the App Store. Apple will compile the bitcode to the actual binary pushed to a device while applying optimizations and bug fixes at their end. This means Apple takes away all the trouble of having the developers optimizing code specific to different hardware.
If you’ve released an app and want to make it fully compatible with iOS 9 – or just want to build a brand new app – email us or call 603.881.9200.
Based on Abraham Maslow’s Hierarchy of Needs, the mazlo app is designed to revolutionize the dating experience. In order to help users reach self-actualization, the app facilitates high-quality dating experiences with a scoring process and direct feedback from dates. Mazlo employs a proprietary algorithm that minimizes spam and the eliminates the need for ads, selling premium services, and selling user data to generate revenue. Instead, users can pay to refresh their profiles if their scores are low.
Mazlo rewards honest people. High quality users earn higher scores from representing themselves truthfully, which raises their chances of meeting other high quality users. The algorithm within mazlo determines a user’s “point of frustration” when scores fall too low and become unappealing to others, at which point a profile refresh is offered and the user can start over by fulfilling additional profile requirements.
The app prioritizes the safety and security of all users, keeping contact anonymous until both parties are ready to take the next step. Singles can also leave 20-second voice recordings for potential matches, freeze their profiles while not actively looking, and re-view the last three profiles they declined.
“The expectations of every user in the online dating space will be redefined by mazlo,” says Co-Founder David J. Lubert. “Ultimately, we believe that using this method of quantifying feedback and organizing the anonymous results for the user in an orderly and meaningful manner will result in less bad dates. By offering users the ability to provide feedback after meeting, mazlo will facilitate a sense of empowerment that is not currently available. Everyone should have the opportunity to enjoy a satisfying dating experience without having to pay for monthly access or premium services, deal with spam, or waste time on disingenuous people. Mazlo addresses each of these inconveniences by employing a logical approach that is transparent to the user.”
Mazlo also incorporates a dual connection dating experience with two ways to meet new people within one app. Users can maz through profiles to determine if they are interested, or can use maz live to anonymously connect with other active maz live users within 100 feet.
“Maz live transforms the scope of online dating and will ultimately change how people communicate in social situations. With maz live, online dating becomes a social experience and can be done anywhere,” says Co-Founder Jessica Birks. “Why stay in on a Friday night looking through profiles, when a user can be anywhere and meet new people without the risk of being rejected or missing an opportunity to meet ‘the one’? Mazlo exponentially increases the opportunities to find what you are looking for.”
Mazlo launched in August and is now available to everyone in the iTunes App Store and Google Play.
Mazlo was created by EndGame Design Laboratories, LLC. EndGame aims to provide an efficient and worthwhile experience for every user, every time. Through the use of proprietary algorithms within mobile applications, the company designs app solutions that focus on the elimination of spam and inconvenient user experiences such as ads, buy ups, or selling data. EndGame’s mission is simple: we strive for precision and efficiency in everything we do in order to perfect each user’s experience – while protecting the user at all times. This belief is at the core of everything we create.
Zco Corporation is a tried-and-true software development company that has been living and breathing technology for over 25 years. A proven and reliable vendor choice, Zco is passionate in its mission to create attractive, resilient products for its clients. Its powerhouse team, one of the largest in the world, was handpicked for specialties in mobile app development, enterprise software, and animation services.
Zco Corporation is a custom software company with headquarters in Nashua, New Hampshire, USA specializing in mobile app development, enterprise software, and 3D animation.
NEW HAMPSHIRE, HQ
58 Technology Way, Suite 2W10,
Nashua, NH 03060, USA
Phone: (603) 881-9200
745 Atlantic Ave,
Phone: (855) 926-2777