Blog

When Is it Done? The Agile Question of the Defining of Done When Is it Done? The Agile Question of the Defining of Done

Kicking off a new project, setting the cadence and planning your agile artifacts, from the product backlog, the scrum swim-lanes i.e  (Backlog | To Do | In Progress | Done), the one persistently ambiguous status is when a user story is considered done. Developers and teams define the user story’s  Definition of Done (DoD) differently, so what exactly does the developer mean when she says its done? 

 

Read More

How to deal with Technical Debt, in a Startup How to deal with Technical Debt, in a Startup

As an engineer, you would no doubt know what its like to have to hit specific deadlines, and having to make technical sacrifices or compromises, either individually or collectively as a team, and this is what the industry calls, *technical debt*, a choice that balances ‘ideal code’ against the timeline in order to meet that deadline. 

Read More

Getting Started with Server-Side Swift Using the Vapor Web Framework Getting Started with Server-Side Swift Using the Vapor Web Framework

Ever since Apple open-sourced Swift, the developer community saw a greater potential for the language than mere client-side iOS development. That community envisioned a language that could become more universal and cross-platform, as evidenced by the emergence of server-side Swift powered by the Vapor Web Framework.

Why code your back-end in Swift?

One of the most burning of questions is, "Why have Swift on the server in the first place?" True, we already have great and well-established server frameworks out there, like Node.js and Rails, so why invest in a platform that may not be as mature as those other platforms? You get a lot of added benefits, for starters.

Leveraging the same technology on your backend as on the iOS client means you can use the same team on both ends, adding greater knowledge transfer and knowledge redundancy and lowering cost-of-maintenance through additional resources.

Having a Swift back-end and front-end means that you can divide feature development according to features instead of technology stack. While one developer will own the entire registration process, another developer owns the entire activity feed feature—that is, you get vertical rather than horizontal delegation and ownership.

Swift has amazing potential on the server, and to be an even better language for server-side development Swift needs great low-level APIs common among server frameworks. The Server APIs project will provide core capabilities in areas such as networking and security, so Swift programs no longer need to rely on platform-specific C libraries frequently to provide this functionality. As a result, developers will be able to create frameworks and server applications using pure-Swift code, without the need to also have systems programming skills and knowledge of multiple platforms. (Source: Swift.org)

Getting Started with Server-Side Swift, Using Vapor

While it's still early days for server-side Swift technology, Vapor is actually one of three emergent server-side Swift frameworks, with the others being Perfect and Kitura. Perfect was one of the first Web server toolkits for Swift, and Kitura (as featured during an Apple 2016 WWDC Server session) is backed by IBM. My framework of choice for this tutorial is Vapor.

Vapor is a modern server-side platform using HTTP or Web Sockets with some claiming that it is almost 100 times faster than other comparable Web frameworks, such as Ruby and PHP. 

Read the rest of my article, exclusively on ProgrammableWeb

iOS 10 Series: Creating VoIP Apps with CallKit iOS 10 Series: Creating VoIP Apps with CallKit

One of the most distinguished features to come out of Apple’s last WWDC is the ability for third-party communications apps, like Skype, Viber, and WhatsApp, to tap into the system level and allow users to interact with incoming calls on the same level of intimacy as regular phone calls. This is possible thanks to the new iOS 10 API, CallKit, developers who are working on VOIP apps can now integrate seamlessly into the phone UI and provide a more native and intimate experience. But what does that mean?

Read More

When Agile's "Deliver Working Software Early" Doesn't Work When Agile's "Deliver Working Software Early" Doesn't  Work

One of the pillars of agile methodology, is in advocating that software is released and delivered *early & often*, to users and stakeholders. The premise is that by having the software in the hands of one's intended customer base early on, affords the startup with the ability to find /changes early, when they are easier to make/, according to Stellman, Andrew. “Head First Agile.”

Read More

The 3 steps to being a “lean’ startup The 3 steps to being a “lean’ startup

In the early stages of developing a startup, running capital is generally scarce,  and its pivotal that you as a founder, and your co-founder, start the process of conception, development and fund-raising in the leanest possible way. 

Without the ability to pay your salaries, and most likely bootstrapping your startup until you gain some momentum, choosing the right paths will ensure that you are able to sustain your startup in reaching the critical MVP goal, and positioning yourself to presenting your product to potential investors, without having to cease development. 

Read More

What is Differential Privacy? What is Differential Privacy?

One of the notable concepts to emerge from Apple’s World Wide Developers Conference in San Francisco this year, has been the notion of differential privacy. As Wired puts it Differential Privacy is the “…statistical science of trying to learn as much as possible about a group while learning as little as possible about any individual in it.”

Read More

Apple TV: Should You Create An App for the Little Black Box? Apple TV: Should You Create An App for the Little Black Box?

The Apple TV has been around for quite some time. In fact, it was introduced back in 2007, when the very first iPhone was released.

But, unlike the iPhone, the Apple TV had a back-seat status of being more of an Apple hobby. And despite numerous incremental improvements over the years, this little black box had still not received much attention from Apple.

Read More