Posts Tagged maxi80

Can we Trust IP Geo-Localization Services ?

The next version of Maxi80 iPhone application will include a very simple user tracking capability : each time a user listens the web radio for more than n seconds, the application will ping one of my servers, allowing me to collect stats such as date and time, ip address, device model (iPhone, iPod Touch,…) and iOS version number.

Most of this information is also available to the web radio admin through the Shoutcast log files – but I don’t have access to these.

On the server side, I am calling an IP geo localization service to track countries from where people do listen to the radio.

At the time I am writing this post, the new version of the application was submitted to Apple for validation.  This means that only Apple and myself have a version at our disposal for testing, the application is not distributed to the public yet.

In other words, every ping request I am seeing on my server is either coming from me, either from Apple.  Despite this, I am seeing requests from many different countries : Belgium (these are mine), United States West Coast (this should be Apple), United States East Coast (maybe Apple has iPhone Apps validators working from there too).  But I also got requests from two weird locations : Pakistan (Islamabad) and Greece (Athens).

I tested these two IP addresses on many geo localization services and they all gave me the same result.

My conclusion : either Apple tests our iPhone applications from the three continents (America, Asia and Europe), either something is flawed with IP Geolocalization services.

Should you have a good knowledge of IP geo localization inner working – or – from Apple’s iPhone Apps validation process, do not hesitate to leave a comment 🙂

, , ,

No Comments

Maxi80 App for iPhone – new release

We just released the updated version of Maxi80 Application for iPhone. This new version is available for iOS 4 phones only, you’ll have to update your phone software to find and install the update.

This new version brings the following new features :

  • You can now listen to while the application is in background.  Listen to Maxi80 while surfing the web, reading emails or your tweets on Twitter
  • You can now listen to Maxi80 in any position, landscape or portrait.  The application will adapt its screen to the way you’er holding your phone
  • You will enjoy high resolution graphics on iPhone 4 devices
  • We added an iAd banner to generate some revenues for the radio

Do not hesitate – Update today !

, ,

No Comments

Developing Applications for Android

As promised, I started looking at the Android development platform and, I must say, I am quite surprised by the results.
First, Android uses the Java programming language as language of choice, combined with a Google made class library. In this respect, my learning curve was much shorter than it was with Objective-C and Cocoa. I had to install and get used to Eclipse, but I could work over that too 🙂 (although there is an Android plugin for NetBeans too)
Secondly, once we get over the basic application programming principle and life cycle, I am surprised how quickly I was able to assemble something and how few lines of code were required.

I decided to port my Maxi80 iPhone application to Android.

I was pleasantly surprised that the Android MediaPlayer class is able to read ShoutCast stream, out of the box, starting with Android 2.2.  I decided to take the quick an easy way : let Android connect and decode the stream and piggy-back‘s web site to get the song cover and title.

Unlike iPhone OS, Android let you run applications on the background, allowing you to enjoy the music while using your phone for other tasks.  (I will update the iPhone application – as soon as iOS 4 will be released – to provide similar behavior for iPhone users)

The result is surprisingly compact : about 200 lines of code.  Half of them to manage the player and the other half for the (simple) user interface.

As usual, the source code is available under a GPL v2 license at

Should you own an Android 2.2 device, the application is available on the Android Market.

, , , ,

No Comments

iPhone applications development

Since a couple of months, I am exploring the world of iPhone applications development.  After spending some time to discover the development framework and tools, I am quite impressed by the productivity we can reach.  Cocoa is an extremely powerful framework.

Of course, I was not starting from scratch, I already I some experience with Cocoa through Mac OS X applications development (see here and here for examples)

As of today I published two applications on the App Store.

The first one is very basic and was my learning test bed.  Tip Calculator allows you to quickly add tip and split your restaurant bills.  It gives you geo localized information about local tipping habits.

As I truly believe in knowledge and information sharing, the source code is available on

You can download and install it for free from the App Store.

The second application I developed is a web radio player.  It allows to listen to, an french based, eighties web radio.

Amongst other features, it allows to view the name of the current song as well as its cover.  It displays the name of the current show and on-air DJ’s.  It allows to send emails to the web radio stations or the DJ.

Source code is also available on

You can download and install it from the App Store.

I do not intent to modify the Tip Calculator anymore, however a couple of points are on my todo list regarding the Maxi80 application, namely :

  • Integrate the newly announced iAd service to get some revenue for the web radio
  • Port the application to the Android platform, more about this later.

, ,

No Comments