When you’re a consultancy there’s little time to invest building your own intellectual property, let alone the luxury to build frameworks. How can an organisation leverage code written over several projects to build an ongoing revenue stream or use it to improve development processes?

The answer to both involves development of reusable frameworks. However, achieving this requires an organisation to acknowledge value in their production and encourage developers to be proactive, assist in identifying learning outcomes and absorbing development costs. Supporting the development of these libraries will add significant commercial value.

Of significant value is the resale of a library often in the form of a licensing agreement which produces an ongoing revenue stream. Or, we can discuss margins and how improving development processes lead to greater productivity, reduced development costs and improve margins, hence improving profit and value to the organisation. Either avenue achieves the desired result, value to the organisation.

So, it sounds relatively easy, write some code and presto, a new revenue stream. In reality, it’s not so easy. Organisations often miss the value in analysing past projects and quickly move on destined to repeat the process and end up with repositories of duplicate code.

Recently, on the completion of a long-term project, I was afforded time to investigate common elements in a complex project. The desired outcome was to produce a simplified, more generic framework that can be leveraged in future projects.

The outcome of this exercise, in its simplest explanation is a form library. Include it in your iOS project (shown below) with a data source and it will build you a form with dynamic fields that are externally controlled, meaning the fields can be edited, changed, ordered, added or removed externally from the app.

form init method

Implementing a Form in an iOS project

The Forms framework is one of two libraries Coroma maintains and deploys in our iOS applications. Our Table Manager Framework manages lists and tables, while the Forms library manages forms and fields. Currently, the Forms library builds twenty-three types of fields. Some are simple text fields, while others are complex repeating fields and drop-down lists.

After development of the Forms framework, we instantly identified new projects the Forms Library is ideal for.

The Forms framework can build more than just fields. It will effortlessly build and manage a keypad (as seen in the image right) used in our Quick Donate Application. Instead of building static buttons which require multiple constraints to ensure each button displays correctly on various handsets, the Form library will seamlessly display, handle constraints and device orientation, then display exactly as we expect it to, on any screen size.

keypad built using the forms framework

Keypad built using the Forms Framework

Another client requires a series of paginated forms to be displayed to clients for data entry. We know the flexibility of the library will create beautiful tailored forms easily with little to no additional development required.

Complex form design

Estate Form, a complex form design

Instantly two projects benefited from the Forms library, which replaces repetitive, complex tasks and simplified their implementation. The keypad, easily a days work to build and test across on multiple devices can be implemented in minutes as shown in the code snippet. A complex form shown in the Estate Form image will potentially cut months of work down to a few days.

So far, I’ve been shouting the benefits of encapsulating functionality into a reusable framework. Now let me reveal the cream on the cake, testing. Since separate, extensive testing is conducted within the framework for error tolerance, validation, output, logic and in the case of a complex form, validation of data, it drastically cuts testing time and allows you to focus on local code only.

As you can see, reusable frameworks and libraries can offer an organisation a significant commercial advantage. Planning development time into your budget for their construction and maintenance is as valuable as attracting business. Useful frameworks improve productivity, quality and development costs, it is an area I am passionate about and always happy to talk about.

If you feel your organisation requires a code review or analysis, reach out to us at Coroma. We can facilitate and speed up identification and help you begin leveraging your intellectual property.

– Wayne

Leave a Reply

Your email address will not be published. Required fields are marked *