Showing projects tagged with “UIKit”


Advanced code editor for iOS.

iOS UIKit Swift Objective-C

Screenshot of Kodex

I have always wanted to replace my notebook with a tablet for most of my daily tasks. I couldn't find a code editor for iOS that fit my needs and desires, especially regarding multi-caret edititng, so I decided to write my own.

Kodex has several features I couldn't find in other code editors available for iPad. The main one is multi-caret editing. This feature has become a major tool I consistently use to transform and replicate code, and not having it really hurt my productivity.

This project was started back in June 2017, and it has finally reached the App Store in March 2018. It took several late nights of creating problem solving; studying UIKit, TextKit, and other Apple APIs; and bug solving to reach an MVP.

Some other desktop-class features included in Kodex are:

  • Customizable key bindings
  • Regex search-replace, with capture group highlighting
  • Support for third party fonts (using Configurator system profiles)
  • Source minimap

Kodex development has been very educational and fun. It makes use of some free software packages, without which it Kodex wouldn't be possible. The list of used packages is listed in the Acknowledgements page of the Settings section. I have also made part of its source available under the LGPL license as the KeyCommandKit library, allowing the entire UIKeyCommand customization feature to be implemented by any App.

Is It Down?

Service uptime checker widget for iOS.

iOS UIKit Objective-C

Screenshot of Is It Down?

Widgets in iOS are meant to provide data that is brief and meaningful at a glance. When lock screen widgets were announced, I quickly came up with the idea of this widget.

Simply put, it allows the user to pick which servers, and individual ports on each server, to test every time the widget becomes visible. Due to the limitations of the widget framework on iOS, it is not possible to run the checks on the background and send notifications to the user, but it still works well enough.

On top of that, there is a “Tap to Update” button that allows the user to manually check for the status of all servers.

This is my most popular app in the App Store, and I believe it is because it has a simple premise, and delivers on it well. It was a simple App to develop, but I don't think this diminishes its relevance at all.


iPod Classic simulator for iOS.

iOS UIKit Objective-C

Screenshot of TapWheel

This was an experiment to discover how complicated it would be to write an iPod simulator that actually plays music. Result: not too bad!

It uses the Audio library of the device it is running from (therefore won't run properly in a simulator) and uses actual UIKit table views configured to emulate the iPod interface. Also, the click wheel accepts rotary inputs just like the real thing.

There are several unimplemented features, and many screens are blank when they are opened through navigation. But the basic music playback for artists, albums, and tracks is all there. It also includes an animated “Now Playing” screen that imitates the “marquee” txt labels used by the iPod UI.

Unfortunately Apps that emulate an iPod are vetoed by Apple (guess how many people must have tried that already), so this won't be in the App Store any time soon...