b-log – betriebsraum weblog

Software Development, Human-Computer Interaction, Projects…

Posts filed under “iOS / Objective-C / Swift”

The PROTIUM mobile application architecture for iOS and Android

Protium is an architecture for mobile applications on iOS and Android. Like many other architectural approaches, it should merely be seen as suggestion rather than panacea for solving all mobile development projects. Protium attempts to apply solid software engineering principles while capturing modern development practices. Protium is not a framework, meaning that you are not […]

Continue reading this post

Swifty Circuit Breaking

Circuit Breakers are most useful for networking where remote calls can fail or time out at any moment. When configured thresholds are reached, the circuit breaker “trips” and thus prevents putting unnecessary load on the server until the breaker resets itself after a timeout. In addition, my Swift implementation provides convenience features such as monitoring […]

Continue reading this post

A fast gesture recognizer based on the PennyPincher algorithm, written in Swift.

Penny Pincher is a fast template-based gesture recognizer, developed by Eugene Taranta and Joseph LaViola (full paper reference below). The algorithm is well-suited for mobile applications since it is both fast and accurate and, as shown in the evaluation by the authors, outperforms other recognizers. My Github project provides a Swift implementation of Penny Pincher […]

Continue reading this post

Using Swift to Predict Revisitations and Reuse

AccessRank is a Swift implementation of the AccessRank algorithm by Fitchett and Cockburn (full reference below) for iOS and Mac OS apps. The algorithm predicts which list items users might select or visit next by taking multiple sources of input into account. For instance, you could use AccessRank to generate a list of predictions for: […]

Continue reading this post

Improving iOS Target Selection for Finger Touch Using the Bayesian Touch Criterion

BayesianTouchCriterion on Github BayesianTouchCriterion is an Objective-C implementation of the Bayesian Target Criterion (BTC) developed by Xiaojun Bi and Shumin Zhai. Given a touch point and some touch targets, it improves the accuracy of selections by finding the touch target with the shortest Bayesian Touch Distance (BTD). This element is the one that the user […]

Continue reading this post

Plumber: Objective-C library for Curved Connection Lines

Plumber on Github Plumber is a tiny Objective-C library for creating curved connection lines between nodes (for flowcharts, for example). The constructed path connects the bounding boxes such that the distance between two sides is minimized. I’ve created it since a quick Google search did not reveal anything simple for iOS. The curve calculation algorithm […]

Continue reading this post

CodingKeys: Unified keyboard shortcuts for your development tools

CodingKeys on Github Nowadays, developers often work in several different development environments and text editors. For example, you may need Eclipse for regular Java development, Android Studio for Android development, Xcode for iOS development, Visual Studio for C#, Sublime Text for web development, etc.. Every tool, however, has different keyboard shortcuts. Since it is hard […]

Continue reading this post

Advanced Gesture Recognition in iOS

DollarP-ObjC is an Objective-C port of the $P gesture recognizer to be used in iOS applications. What is $P? From the $P website: The $P Point-Cloud Recognizer is a 2-D gesture recognizer designed for rapid prototyping of gesture-based user interfaces. In machine learning terms, $P is an instance-based nearest-neighbor classifier with a Euclidean scoring function, […]

Continue reading this post