develpreneur podcast

Core Component Architecture – Build a Strong Foundation

No matter what we build, there is always a foundation of some sort.  In software, the core component architecture provides us that foundation.  These are the models or objects that provide the framework for all of the other functions.  When you design these core pieces of your solution, it is essential to get them right.  When you fail to do this, you will have problems throughout the system. It Starts With The Problem Once again, we refer back to the primary problem or problems we are solving.  The solution will require certain pieces of data and functionality that will impact the entire solution.  These items may include security, standard functions, critical data elements, and more.  The core component architecture is... Read more

develpreneur podcast

Architecting For a Sometimes Connected Application

The modern world is full of options to connect your app to the Internet.  Nevertheless, there are cases where you will have a sometimes connected application.  This situation impacts architecture and needs to be understood before starting.  “Sometimes” is a challenging situation to handle with your architecture.  Thus, it is easier to architect a solution that is always connected.  Better yet, one that is completely stand-alone. Danger Zones First, it may help to highlight some of the areas and types of applications that will fall under this umbrella.  Certain building types are often problematic for wireless connections.  These include anything that is mostly concrete, including (in many cases) government buildings, schools, military locations, hospitals, and prisons. Applications that are going... Read more

How to write testable code

How to Write Testable Code

Welcome to our new series on “Integrating testing into your development flow”. To begin this series we are going to start by looking at “How to write testable code”. In essence, this new series will be covering all the ways we can Integrating testing into our development flow. Such as, how to write tests, define and implement a test plan & test strategy, unit tests, reports, tools, and frameworks. To summarize, a complete and comprehensive guide to testing and improving the testability of our code. During this presentation, we are going to be focussing on how to look at testing software from a developer’s point of view in order to write better testable code. Thus, we have to start by... Read more

develpreneur podcast

Architecting The User Experience

Architecture design can start at the back-end or the front-end.  In either case, you will end up architecting the user experience at some point.  The architecture will come out of the user interface and the controls you use.  It will be joined with the way you architect the visual portions of the application.  The result is more than look-and-feel and goes beyond designing some visual styles. Setting The Tone There is a tone or voice an application has that is beyond just the look-and-feel.  It probably falls into the “feel” portion of that facet.  However, I think this an area we rarely consider.  We tend to focus on color schemes and icons without spending enough time on content.  The words... Read more

develpreneur podcast

Architecting Large File Storage – Software From Scratch

One of the architectural challenges that are often overlooked is large file storage.  These may be documents, images, or other general binary structures.  This situation is also becoming a much more common challenge for applications.  We often have a feature for storing a profile picture for users, PDF documents, or other similar features.  This area is something worth spending time on during the creation of the software architecture. Storage and Retrieval Any time you store data, you have to include the mechanism to retrieve it.  In the world of data stores, that often means a way to index metadata or maybe the content.  When we look at large file storage, we have several options.  There is the old solution of... Read more

develpreneur podcast

Selecting Languages, Frameworks, and Libraries – Architecture From Scratch

One of the rarest of decisions we are allowed to make is when it comes to selecting languages and frameworks or maybe even libraries for our project.  These decisions are often out of our control.  Thus, this is not something with which we may have any experience.  While we do have the options to do this for our personal applications, the larger ones usually are almost predetermined concerning the implementation tools. Choosing a Primary Language The choice we least can make is the core language.  We are more or less going to be stuck with the corporate language.  Failing that, it will be what is popular in the region or what we are most reliable in.  Nevertheless, there are situations... Read more