Archive for the ‘Mobile phones’ Category
iPhone OS 3.x Raw data of camera frames
It looks like it’s finally here – a way to grab the raw data of the camera frames on the iPhone OS 3.x.
Update: Apple officially supports this in iOS 4.x using AVFoundation, here’s sample code from Apple developer.
A gifted hacker named John DeWeese was nice enough to comment on a post from May 09′ with his method of hacking the APIs to get the frames. Though cumbersome, it looks like it should work, but I haven’t tried it yet. I promise to try it soon and share my results.
Way to go John!
Some code would be awesome…
Roy.
Weekli Lynks [Links of the week]
Hi
A hefty crop this week…
Stuff I picked up on the web this past week:
http://www.techcrunch.com/2009/11/12/trouble-at-twitter-u-s-visitors-down-8-percent-in-october/
Finally – the Twitter bubble is starting to burst. I was asking myself how long this foolishness will last. I mean, really – only 140 chars? come on…
http://gizmodo.com/5404086/10-human-functions-weve-already-handed-over-to-the-machines/gallery
Robots – you like them and fear them at the same time…
http://gizmodo.com/5403457/10-iphone-apps-to-augment-your-sad-reality/gallery
AR recap on the iPhone.
My 2 cents: this is getting old… and everyone are doing the same thing. Innovation is needed.
http://gizmodo.com/5403646/what-is-this
10 bucks if you guess what this is
http://www.techcrunch.com/2009/11/16/foursquare-api/
We GOTTA do something with this. This is a hot (and interesting) buzz out there: social-location.
http://lifehacker.com/5405684/apostropheme-explains-when-you-really-need-apostrophes
And let that be a lesson for you.
http://www.techcrunch.com/2009/11/16/youtube-direct-gives-news-orgs-a-way-to-accept-user-submitted-videos/
Another cool new thing to integrate with
http://www.mobilecrunch.com/2009/11/16/samsung-announces-new-android-powered-galaxy-spica-i5700/
More android love from Samsung!
http://gizmodo.com/5407454/microsofts-bag+based-computer-interface-for-poking
Microsoft – not so soft… finger-press based interface
http://gizmodo.com/5407319/nokias-n+series-will-ditch-symbian-for-maemo-by-2012
Let’s do something with Maemo!
http://lifehacker.com/5407010/refine-your-image-search-with-google-image-swirl
Try it – it’s cute.
http://gizmodo.com/5407245/the-true-google-phone-may-be-coming-soon
Google on the move into mobile phones, that was anticipated. But looks like the schedule is being pulled back
See ya’ll next week!
Roy.
Number Saver (Android application)
A very basic feature that I was missing in my Android phone is the ability to save a number while I’m in a call. Sure you can go to the home screen, and open up any app with a textbox, but I decided to create a dedicated application.
So, meet Number Saver!
(Source code is available at our SVN at http://code.google.com/p/morethantechnical )
Basic usage guide:
When you open the app you will get the main screen:
From here you are able to enter the number, copy to the clipboard, and clear the clipboard if it is full. Also, when you open the app, if there is a text in the clipboard it will already be in the text box. So you can press Dial to instantly dial the number
Also, during an active call you will notice the note and pencil icon. Stretching the notification area will give you the option to launch the application.
This app is available for free through the Android market




iPhoneOS 3.1 will not allow marker-based AR
I had very high hopes for iPhoneOS 3.1 in the AR arena. With all the hype about it, I naturally thought that with 3.1 developers will be able to bring marker-detection AR to the app-store – meaning, using legal and published APIs. A look around 3.1′s APIs I wasn’t able to find anything that will allow this.
Not all AR is banned. In fact AR apps like Layar will be very much possible, as they rely on compass & gyro to create the AR effect. These don’t require processing the live video feed from the camera, only overlaying data over it. This can be done easily with the new cameraOverlayView property of UIImagePickerController. All you need to do is create a transparent view with the required data, and it will be overlaid on the camera preview.
Sadly, to get marker-detection abilities developers must still hack the system (camera callback rerouting), or use very slow methods (UIGetScreenImage). I can only hope apple will see the potential of letting developers manipulate the live video feed.
Roy.
Near realtime face detection on the iPhone w/ OpenCV port [w/code,video]
Hi
OpenCV is by far my favorite CV/Image processing library. When I found an OpenCV port to the iPhone, and even someone tried to get it to do face detection, I just had to try it for myself.
In this post I’ll try to run through the steps I took in order to get OpenCV running on the iPhone, and then how to get OpenCV’s face detection play nice with iPhoneOS’s image buffers and video feed (not yet OS 3.0!). Then i’ll talk a little about optimization
Update: Apple officially supports camera video pixel buffers in iOS 4.x using AVFoundation, here’s sample code from Apple developer.
Let’s begin
Read the rest of this entry »
First steps in Android programming
Last week I finished my first Android application. All through the development stage I had to Google a lot for examples which some were really hard to find (even though you can find reference for everything in the SDK, for me, it’s easier to understand from a code sample).
My mobile company allows you to send 10 free daily SMS through their website, and after that each text message is still half priced, so I decided to take a challenge and create a UI that allows me to send my messages from the phone through the website automatically.
The core of my software was pure java, so even though it wasn’t straight forward to accomplish, I kinda know the material.
The main issues were after – when I got to the android implementation and UI
Here are the issues I needed, and will supply examples for in this post:
(Of course – for you that are more experienced than me with Android development, please forgive if I’m not doing everything ‘by the book’, it’s simply what I could find. So if you have any suggestions or improvement please send them to me or post a comment J )
- How to find out if there is an active network on the device
- How to create options menu
- How to create and clear notification in the notification area
- How to declare your program as “SMS Sender” (‘Complete action using…’)
- Taking care of orientation (Landscape and Portrait mode for UI)
Here is the code I ended up using. Hope you find it helpful
Read the rest of this entry »
VoIP for Android is in town

Well, At least when it comes to SIP communication
A Smartphone, as its name implies is… eventually… a smart phone! Exactly! That’s what I thought. And as one I should have the ability to run any software that is compatible with its hardware and software.
That turns out to be almost true. VoIP is off the limit.
And it is not because the device cannot handle it, Far from it. It is because mobile companies are afraid for their revenues. When people are using VoIP on their infrastructure, it takes away money from them. Oh you poor phone companies. My heart goes out for you.
And after all the tears run out, I went out to look for some VoIP that DOES work for me. SKYPE of course was off limit. Even though there is “Skype Lite Beta” for Android, it does not support Skype-to-Skype user call. And why should it? Skype is an excellent IM software and VoIP is only secondary (wink).
I then stumbled upon SipDroid. Sip droid is a SIP client for android. This is great if you have a SIP account provider. I for instance, have an account which runs on asterisk server (open source IPBX system).
I got the installation of SipDroid at once! And installed on my phone to try it.
What can I say? It has huge potential. But it is only fully compatible with its mother ship, which is pbxes.com. Luckily (but of course – not a solution) they allow you to enter your own sip account there so you can connect to it through them (like connecting to your neighbor through china… but it works). Although pbxes.com has a strange certification error they claim is negligible.
So, using it directly with asterisk server causes poor outgoing audio which is lame. I’m sure some people might be able to tweak their server to handle it directly and properly but I didn’t manage to do that… nor found proper idea sharing on that subject.
But this client is still in beta stage so I honestly believe it will kick ass when it’s complete.
It’s no Skype, and I hope some Skype-like client like Fring will port soon for Android, but until then, it’s better than nothing.
Two important notes if you want to use it:
- If you are planning to download it from the Android Market – You will get a limited version which disables usage of VoIP over 3G/EDGE. So if you want the full one then download it directly from the project page.
- VoIP data, is currently 1.20mb per minute, so watch your data plan
Augmented reality on the iPhone using NyARToolkit [w/ code]
Hi
I saw the stats for the blog a while ago and it seems that the augmented reality topic is hot! 400 clicks/day, that’s awesome!
So I wanted to share with you my latest development in this field – cross compiling the AR app to the iPhone. A job that proved easier than I originally thought, although it took a while to get it working smoothly.
Basically all I did was take NyARToolkit, compile it for armv6 arch, combine it with Norio Namura’s iPhone camera video feed code, slap on some simple OpenGL ES rendering, and bam – Augmented Reality on the iPhone.
Update: Apple officially supports camera video pixel buffers in iOS 4.x using AVFoundation, here’s sample code from Apple developer.
This is how I did it…
Read the rest of this entry »
Android And Me
Last week I got a hold of the HTC G1 Android Developer Phone. This (how else) was preceded by a big fight with my cellular operator who insisted that I will take a data plan.
Ok, I said to myself, I bought this phone so that obviously mean I will use cellular internet. “So how much is that data plan?” I asked the representative.
“It’s 1000K” she replied. “1MB?” I asked in wonder. “No, not 1MB – 1000 KB!”
That’s when I understood she has no clue what she’s talking about. Furthermore, this “joke-data plan” was limited to WAP browsing. Oh come on!!!!
And I can’t replace it for a real data plan; I have to add money on top of it!
Well, I do not want to bore you with this specific war, because this is only a prolog for this post, but let’s just say it pays off to be stubborn. I ended up with no obligation to any data plan (which of course I took one, but now I can cancel it any time).
Now that I’ve got THAT over with, I got around to checking out this wonderful phone (and forgive me iPhone fans – I’m not saying this is BETTER than iPhone, only that it’s DIFFERENT).

