Why this app?
While developing the Remote Control Flight Log app I realised that I was re-creating many of the views I had used in other apps and was creating some new views that would, undoubtedly, be useful in future apps. It seemed crazy to copy and paste these views around so, based on what I would have done in my Windows days, I looked to create a framework to put them in and share them. That resulted in the Utility Viewsframework.
Fast forward to Flight Log v2 and I realised that I was doing the same sort of thing with my logging class and the principle of creating a framework with useful classes in it would also work. Hence the Utility Classes framework was created.
Key Learning Points
What did I want to achieve?
The concept around creating a framework was covered in the Utility Views framework project, So my learning goals were around creating a specific, clean, API for logging in my apps. The key points I took away were:
- Creating a function specific API for logging.
- Remove a dependency on SwiftyBeaver for logging
- Creating docc documentation.
My framework library contains a WriteLog class that can be used for logging activity at several levels in any app.
What is in it
And the end result is...
And this is what I ended up with.
I have used SwiftyBeaver for logging in previous apps. It has the downside of adding a third party dependency to my code and introduces an overhead that I don't need for development. Remember, this isn't supposed to be an app log for use on released code, just a lightweight way to log actions during development. SwiftyBeaver was total over-kill for this but was also a great tool.
WriteLog is my lightweight alternative that gives me just enough logging to be useful without the overheads of a web logging system.
Am I really any good?
Don't take my word for my abilities, take a look at other peoples opinions about me.
One very quickly runs out of superlatives with Steve. He is the cleverest person I know. He is highly innovative, passionate regarding the proper maintenance of agreed standards and protocols and establishes excellent relationships with our clients.
Steve is a rare developer resource who is able to provide a good breakdown of technical solutions for all audiences to understand... Steve understands the importance of project deliverable's both from a client and business perspective and shows a personal pride in ensuring the delivery schedules are met.
I have worked closely with Steve for his time with us and long before we formed our company. His technical ability far out-performs anyone I have known or met in companies we have worked with like IBM/EDS/Cap Gemini
Steven showed a great deal of commitment and skill when he worked with me. His attention to detail, comprehensive documentation and well thought out code, using very impressive technical standards meant that it was always possible to rely on the solutions provided being top notch. Steven is an asset to any company, at any level - if I were able to, I'd love to work with him again.
I have had the pleasure of working with Steven for several years in my role as CTO. He his one to the most multi-disciplined technically skilled developers I have known but what sets him apart is his eye for, and attention to detail, particularly when considering the user experience. I would absolutely not hesitate in recommending Steven.