Sign in

Let’s face it. Reactive programming and the traditional web APIs are not friends. Event handlers, observers, dimensions, all of these things are meant to be used imperatively using callbacks. This doesn’t play so well with reactive programming and can leave our components littered with callbacks and extra state. When was the last time you had to keep track of scroll position, blur a field, or check an element’s size? Probably pretty recently, I would bet. …


Maybe it’s the spring air and the budding trees. Maybe it’s the longer daylight hours. Maybe you watched too many home organization TV shows when it was too cold to go outside. Whatever the reason, there is something about this time of year that makes us want a fresh start by spring cleaning. And what better place to direct that energy than towards freshening up your agile team’s practices.

There are many points in time where a refresh just makes sense. Your team may have changed in composition, with new members or stakeholders. Your product direction may have changed. You…


As modern reactive front ends have begun to converge on effective module patterns and universal approaches to common application paradigms, it’s not uncommon to see much of the variance between front ends come from how they expose and implement their given style guide. The implementation and the delivery of application styles to an underlying component tree has become almost an art form, wherein each application attempts to solve the ever-present CSS problems of naming and reuse in the best, most-effective way possible.


What is CarPlay?

CarPlay is an Apple car integration standard that allows you to display content from your iPhone onto your compatible car head unit and control your phone. Common uses for this include casting music from services such as Spotify or Apple Music or for trip navigation using a map application.

As CarPlay advances with each iOS release, more and more app categories are added, opening the door for more third-party apps to be created and accessed on your car head unit. …


Mobile development mostly deals with 2 platforms: iOS and Android. There are distinct ecosystems for both platforms — each has its own languages (Java and Kotlin for Android, Objective-C, and Swift for iOS), its own standard environment (Android Studio for Android, Xcode for iOS), its own app architectures, app stores, libraries, etc. The basic capabilities of each platform are similar, and the developer has to consider a lot of the same issues (screen size, obtaining permission for things like location data, etc.), but developing apps for each are distinct processes. …


There are many articles and blog posts on the internet that attempt to advise readers on how to choose a software development company. Almost all of them discuss the traits and attributes that make one vendor superior to another. The difficulty with this approach is that a vendor’s ability is meaningless if it doesn’t align with an organization’s needs. So in this post, we’re going to focus on the needs and challenges that software development leaders have to face and how the right software development company can help them achieve their goals.

A Definition of Success

Given that a software development company’s actual role…


Most agile product teams have heard the concepts around using an MVP to learn about what customers want, Lean Startup style, but the process of defining an MVP to fulfill those goals often proves to be easier said than done. Let it be reiterated that an MVP is not needed when the market and/or user needs are well known, leading to much confusion and dilution of terminology commonality in which the enterprise world has used the term to simply refer to the first release of any product and the inevitable scoping such a release receives. One popular agilist widely said…


Carpenters have lots of tools to pick from. Drills, impact drivers, circular saws, and miter saws; each tool may be really good for a specific purpose and a great carpenter will know when to use each one. However, the best carpenter is not necessarily the one who uses the most tools, but the one who best knows how to use the tools he has to get the job done quickly and accurately.

Projects often spend a lot of time discussing what technologies to use. These conversations are important, but technology is ultimately about enabling productivity. Taking a look into these…


What is Machine Learning?

Machine learning is a subset of AI that is concerned with algorithms that can improve through experience. Experience in this case generally translates to being fed lots of data. What’s more interesting than what machine learning is though, is what it can do. Beating humans at board games, driving cars, filtering spam from your email, or picking out food items in an image; the applications for machine learning are seemingly endless. …


Want to get the most out of your dev management process?

This article covers some of the best practices and methodologies SitePen uses to accomplish enterprise-level development goals.

We’ll start with some basics on Agile methodology, then we’ll provide practical info about how our experience has culminated in a lean development process that turns ideas into milestones, and ultimately into product outcomes.

We focus on instilling best practices throughout the software development lifecycle in all areas of the project to ensure that we not only leave behind a healthy codebase but also the healthy processes and teams to maintain and…

SitePen

Modernizing Apps, Tools & Teams | sitepen.com | Twitter: @sitepen

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store