CLOSED!
I have moved to a new blog this one is officially closed.
Sunday 5 January 2014
Monday 9 May 2011
Mobile software development evolution
Yesterday was Düsseldorf's yearly Marathon and in good tradition, several runners from Vodafone tackled the full track or the famous relay run.
In 2007 I developed a J2ME application which transferred the current location from each runner to a server, so that the guys at our camp could watch the runners on Google earth.
Thursday evening I decided to implement the same functionality using today's mobile and server platforms (android and Google App Engine).
Long story short: The thing which took 5-6 days of development in 2007 (not inculding several test-runs outside) and which was still very shaky and unstable at the end, was build in 26 hours today.
Why? Mainly becasue server and client development has become so much easier. On the server side a deployment to app engine only takes minutes. In the past I had to set up my Jetty somewhere, re-configure the frontend apache, deploy a new DB to MySQL and create the schema etc...
On the client side android enables quick turn around times and most important: A stable runtime compared to the J2ME implementations which often crashed or looses connections.
The hardware of course is getting better, where in 2007 nearly no phone had GPS, I had to connect to an external one via bluetooth and implement the NMEA protocol, today's GPS location is just an API call away.
The good news: You get way more things done in less time than 4 years ago ;)
In 2007 I developed a J2ME application which transferred the current location from each runner to a server, so that the guys at our camp could watch the runners on Google earth.
Thursday evening I decided to implement the same functionality using today's mobile and server platforms (android and Google App Engine).
Long story short: The thing which took 5-6 days of development in 2007 (not inculding several test-runs outside) and which was still very shaky and unstable at the end, was build in 26 hours today.
Why? Mainly becasue server and client development has become so much easier. On the server side a deployment to app engine only takes minutes. In the past I had to set up my Jetty somewhere, re-configure the frontend apache, deploy a new DB to MySQL and create the schema etc...
On the client side android enables quick turn around times and most important: A stable runtime compared to the J2ME implementations which often crashed or looses connections.
The hardware of course is getting better, where in 2007 nearly no phone had GPS, I had to connect to an external one via bluetooth and implement the NMEA protocol, today's GPS location is just an API call away.
The good news: You get way more things done in less time than 4 years ago ;)
Wednesday 4 May 2011
Google Fusion Tables
I played around with Google Fusion Tables today. I tried to use it to visualize data from my android application, in this case an Intensity Map. It's quite easy to get quick results, but I miss customization features for the map.
Anyway I think it's great for people who are not into programming at all, so maybe I'm the wrong audience ;)
I used my default Demo-Data, check the results here:
http://www.google.com/fusiontables/DataSource?snapid=S189272gOKp
Anyway I think it's great for people who are not into programming at all, so maybe I'm the wrong audience ;)
I used my default Demo-Data, check the results here:
http://www.google.com/fusiontables/DataSource?snapid=S189272gOKp
Tuesday 15 March 2011
Statistics comparison
Wow, good timing for my log-file parser, Google just released more detailed statistics on the android market. You can check the device distribution of your app based on installations, so I was curious to compare them with my useage stats.
Here are the results from Google for my app:
Will analyze the results more deeply the next days, finally Google shares some of the information they own with us.
Here are the results from Google for my app:
- Samsung Galaxy S 23.4% (128)
- HTC Desire 20.5% (112)
- HTC Desire HD 9.5% (52)
- Motorola Defy 7.0% (38)
- HTC Wildfire 6.4% (35)
- Samsung Galaxy Tab 4.8% (26)
- HTC myTouch 3G 3.5% (19)
- SEMC Xperia X10 3.1% (17)
- Motorola Droid 2.0% (11)
- Samsung Europa 1.5% (8)
Will analyze the results more deeply the next days, finally Google shares some of the information they own with us.
Sunday 13 March 2011
The Android Zoo
I launched a small application on the android market some time ago and today I had the time to gather some stats from the server logs the app connects to.
I aggregated the user-agents to unique devices and to my suprise I found out that I could isolate 78 devices!
That basically means that nearly 100 different android devices have downloaded, installed & run my app. I should say that I have tested it on exactly one device before I published it ;)
I got little complaints so far therefore I expect that it works on nearly all of them. Amazing, isn't it? Compared with my J2ME experience this is just great.
I will share some rough stats with you now, but I hope to get some nice graphs in my next analytics-session.
Top 10 Device stats (request count) for the service lifetime (January 2011 until now):
I will share more details soon, like Android Version, requested data, User-Agent parsing details etc.
Stay tuned.
I aggregated the user-agents to unique devices and to my suprise I found out that I could isolate 78 devices!
That basically means that nearly 100 different android devices have downloaded, installed & run my app. I should say that I have tested it on exactly one device before I published it ;)
I got little complaints so far therefore I expect that it works on nearly all of them. Amazing, isn't it? Compared with my J2ME experience this is just great.
I will share some rough stats with you now, but I hope to get some nice graphs in my next analytics-session.
Top 10 Device stats (request count) for the service lifetime (January 2011 until now):
- HTC Desire (28352)
- Samsung Galaxy S (24226)
- HTC Wildfire (8471)
- HTC Desire HD (8181)
- Motorola Milestone (3831)
- Motorola Defy (3395)
- HTC Magic (3393)
- HTC Legend (2730)
- LG-P500 (2541)
- Garmin-Asus A50 (2227)
I will share more details soon, like Android Version, requested data, User-Agent parsing details etc.
Stay tuned.
Wednesday 9 March 2011
Google Instant
Google launched instant previews on mobiles and while trying it out I got curious how they build that. It doesn't feel that you leave the browser when you click on the magnifier which takes you to the screenshots of the pages, but you it also doesn't look & feel like a classic mobile webpage.
So I emulated an android user-agent in chrome and inspected the source. Actually it is a XHTML page with some nice CSS animations and script magic.
Why is that interesting? AFAIK this is one of the few commercial products (Google's mobile search, not a small fish) which uses modern web-technologies providing a user-experience beyond classic web-page browsing.
Well done Google.
So I emulated an android user-agent in chrome and inspected the source. Actually it is a XHTML page with some nice CSS animations and script magic.
Why is that interesting? AFAIK this is one of the few commercial products (Google's mobile search, not a small fish) which uses modern web-technologies providing a user-experience beyond classic web-page browsing.
Well done Google.
Sunday 30 January 2011
Sync, offline, online
Techcrunch pointed today to a side project of some googlers called Camlistore. Since the weather was great today I didn't had much time to check it out but it looks quite interesting.
As I mentioned in a previous post I still think that it's crucial for a good mobile experience to have content online AND offline availble whithout bothering the user with details.
Google contacts implementation on android is a good example. Your address book is in sync and online while you have full access to it even when you're offline.
Now it's getting of course more complicated when you're looking into things like photos or music where you want only a subset of your contents offline due to your limit storage on your mobile.
Anyway I'm curious how the guys from Camlistore proceed, it looks like the first really interesting open-source sync solution for me.
As I mentioned in a previous post I still think that it's crucial for a good mobile experience to have content online AND offline availble whithout bothering the user with details.
Google contacts implementation on android is a good example. Your address book is in sync and online while you have full access to it even when you're offline.
Now it's getting of course more complicated when you're looking into things like photos or music where you want only a subset of your contents offline due to your limit storage on your mobile.
Anyway I'm curious how the guys from Camlistore proceed, it looks like the first really interesting open-source sync solution for me.
Subscribe to:
Posts (Atom)