1991-2016—25 years of Art & Logic

IoT Smart-Locks: Apple HomeKit & Schlage Sense-lessness (or how to spend $2000 on a deadbolt)

IoT Smart-Locks: Apple HomeKit & Schlage Sense-lessness (or how to spend $2000 on a deadbolt)

The goal

  • Upgrade home-office security and take the opportunity to join the Star Trek generation of smart-home IoT.

Exec summary

  • Describe my experience installing and configuring a couple of Schlage Sense smart-locks and configuring them to connect to a couple of Apple TVs as their HomeKit hubs.
  • Examine the pro’s and con’s of smart-home devices: their features are compelling when they work, but IoT remains a bleeding-edge, artful science. (more…)

Native Apps vs. Web Apps

Native Apps vs. Web Apps

Advantages, Disadvantages & Common Misconceptions Addressed

For those embarking on a new or renewed software development project today, however, the platform of choice will almost certainly be, in some fashion, the web. Whether the application in question is a consumer-facing product, a line-of-business tools, or anything in-between, taking advantage of the opportunities offered by our increasingly connected technology makes perfect sense.

Half a decade ago, this would have been the obvious purview of a native app; but with the ever-improving performance and capabilities of 100% web-based applications (or “web apps”), the question of the benefits and costs of each approach now needs to be considered to determine the best value proposition for your application’s use case. The following represents a breakdown in brief of the advantages, disadvantages and common misconceptions regarding web vs. native applications. (more…)

Why I Am No-Bidding Your (Crappy) RFP, PART II

Why I Am No-Bidding Your (Crappy) RFP, PART II

Here’s What You Should Do Instead of Relying on an RFP

Here’s my advice and, look, I’m not advocating for us here, but you.

Custom software isn’t a house. It’s a business asset that has never existed before and it is customized to the very nuanced needs of your company or your product. The code for each of these applications is like a one-off novel with actions and behaviors and results defined by you and those actions and results and behaviors aren’t static. Software is ever-evolving – an organic response to the (hopefully) growing and changing needs of your organization. Creating applications is a creative and arduous endeavor and, having watched hundreds of applications birthed into existence over the past 10+ years, I can say that, despite a client’s best efforts to make this a bloodless effort, it is always a labor of vision, effort and, many times, passion. Successes in software aren’t met with a simple dusting off of hands, but rather awe, relief and pride. Our clients enthuse. They have toasts. They celebrate. Building custom software is emotional and it’s exactly for this reason that I love what I do.

So rather than approaching the effort of finding your custom software development partner in the same way you might approach your search for a copy machine maintenance contract provider, think of it as choosing a collaborator with whom you want to get into the foxhole of creativity, long nights, hard questions and deep trust. You can’t discern this with an exhaustive questionnaire or a glossy PowerPoint presentation by sales representatives. (more…)

WHY DEVELOP A CUSTOM FIELD SOLUTIONS APP?

WHY DEVELOP A CUSTOM FIELD SOLUTIONS APP?

Your average software developer has it easy, in some respects. When most of your work takes place in virtual space, your software doesn’t have to deal with the physical world very much.

But a department store is a different story. Every day, it needs software to coordinate an intricate dance of products, customers, employees, transportation, promotions, shipping, and more. Making matters even more complicated, a retail chain has to accomplish all of this while being geographically distributed, often across a great distance.

The same challenges face most businesses dealing in a widespread physical marketplace: from manufacturers and shippers to farmers and mid-sized retailers. Often, they have to manage physical logistics while facing a rise in pressure from online competitors. (more…)

5 Steps to Hiring the Tech Talent You Need

5 Steps to Hiring the Tech Talent You Need

Hiring isn’t a job function, it’s strategic. For your company to succeed, you need really talented people: to design your products, solve your business challenges, and develop the tools you rely on. Increasingly, these key roles are filled by in-demand creative technologists – developers, designers, and project leaders. Skill variability can be significant and the media loves to remind us that competition for bright minds is fierce. But, where there’s a will, there’s a way, right? With time and planning, you can craft a strategy that will help you to build a great team.

1. Understand what position or need you’re trying to fill.

What Will They Do?
Too often, we begin the hiring search with only a vague idea of what education, skills and experience are required. It can be tempting to ask for a long list of languages, platforms, technologies and tools, but doing so can greatly limit the number of people ‘qualified’ for your job. So take the time to clearly identify which skills are a must, those that would be helpful, and omit the rest. (more…)

Developing a Test Plan

“If you fail to plan, you are planning to fail.” — Benjamin Franklin

Just as any software development project should have a project plan to ensure a successful project, it should also have a test plan to ensure adequate and effective verification of what is being developed, as part of the overall project quality assurance. Developing the test plan should be a collaborative effort by the project team from the start of the project, beginning with general project and testing information. The project testers should be involved from the very start.

Essential components of a test plan include the following.

Project Overview

It is very important for a development team, including the project testers, to understand the overall project. This sets the stage for the project, and for every testing round. (more…)