ManETS

I haven't really blogged lately.

I thought it would be cool to talk a little about a school project we delivered today. As said in the title, it's called ManETS (Manette) which means remote in french. (yeah, there is a lot of puns going on with my school name which is ÉTS).

Part of the class GTI785, the project was basically to develop a complete mobile remote application for Android. Even if the iOS version was only a bonus, I tought it would be educative to take some time to make it happen. Here is what I could come with after few hours of coding.

Here are some key features:

  • Basic playback functions: play, pause, forward and previous
  • Meta data (ID3) was provided by the server, over the network
  • Ability to refresh content on the fly; useful for adding new songs without the need to completely restart the application
  • Basic search using a simple implementation of UISearchBarDisplayController and with the help of NSPredicate
  • Gesture implementation for forward and previous actions (swipe left or right)
  • iOS 7 style blur across some views (behind the search UITableView, behind the UINavigationBar, etc).

You might wonder what the antenna icon is for: a streaming funtionnality was initially required but I did not manage to make it work under iOS (I might be wrong here, but I think a part of the reason is because iOS only supports HTTP Live Streaming (HLS)). Also, since the iOS version was only a bonus, I did not worry to much about this.

As my first presentable iOS application, I think it's pretty nice and clean. The only sad part, is probably the code - it's probably not as efficient as it could be (implementation of CoreData would be better, there is also probably some room to more design patterns, etc.).

In a future post, I might talk a little more about the backend implementation and what were the challenging features to implement.