develpreneur podcast

Administrative Tools And Architecting Your Solution

Nearly every solution includes some manner of administrative tools.  These tools range from scripts and manual process steps to full graphical interfaces and wizards.  No matter the form these take, they must be considered as part of architecting a solution.  Their very nature is for it to work hand in glove with the architecture and design to manipulate data as needed. Low-End Administrative Tools The simplest form of tools are scripts and similar utilities that are primarily manual.  These are often built around the architecture and implementation after the fact.  While that is acceptable, it is not ideal.  There are many times that I have seen these tools pushed off until after production deployments only to find that the proper... Read more

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