Category Archives: Wireless

Fast Gaussian Blur alogrithm (on iPhone)

I had to implement a Gaussian Blur for an ihpone project, and the direct approach was really slow. For each point, you compute a rxrx4 pixels for each point (r is that rayon of the blur).

I’ve tried several other approach, but I found the stackblur alorgirthm. The idea of the stackblur is instead of recomputed all the neighbouround points for each new points, you juste maintain a stack of value, and remove/add value on the fly.

The source code is availabe on git hub with a sample project:
https://github.com/tomsoft1/StackBluriOS

The source code is adpated from the Mario Kingemann algorithm, check his web site, full of good stuff

Diawi : Easy upload of iPhone App


One feature that I’ve totally missed on iPhone4, was the ability to download an .ipa other the air. You can now easily download an app if you specify a link. The requirement, is that your application need to have a valid certificate for this device.

So it’s not possible to download your app on any device, as it will require Apple signature, but it can be done for AdHoc release for instance (developer releases). But the management of the certificate, device id, and so on is usually a pain.

There is a simple service that do it very well: diawi . Just upload your zip or ipa, and then you’ll get back a link that you can forward to all your tester, with an optional password

Note: this works only on iOS4….

Gret service

TvTweet: Real time Twitt about Tv Shows

I’ll present you a small side project, named “TvTweet“. Basically, the idea of TvTweet is to be able to check real time what are the discussion in twitter about TvChannel. And even better, to help you if you see something interesting and hot happening on a channel.

You can also react on Tv Shows, by sending Tweets.

Here are some screen shots:




Unfortunately, the App is only available in French and for French channels, but anybody interested by a converstion for US or UK channels (or other countries) is welcome.

There is a nice server part, “TvTweet.fr” where you can see the tweets, and also the statistics. The application is mostly client side, but the initial idea of the server side was to get statistics, like this one:

It was done quite rapidly and this was fun to create. Was build of course in Coca on the iPhone side, and using several technologies on the server side:
* Ruby On Rails for the server front end
* Node.js for a server side dispatcher, allowing you to follow real time twitter stream without being authentified.
* php for the server side stream tracker

So what I’ve learned:

* Node.js is definitvely too young, it was hard to make something work as expected , but the principle was nice. But thanks to node.js, I’ve take a deeper look to EventMachine for Ruby, and it’s probable that this part will be rewrite using rails

So last reminder: Download TvTweet for iPhone now!

AlertMachine 1.5 is out: real time push notification for everyone

AlertMachine icon

We just release “AlertMachine” on iPhone, the latest iteration of our product. It was previously named “iFlow”, but “AlertMachine” is more self explenatory.
Basically, with Alert Machine, you can be notified in real time of any “events” hapenning on the internet and easily manage these event and notifications. You can be notified of:

  • New RSS article (for instance, each time that techrunch is posting a new article)
  • Twitter notification or direct message
  • Facebook event
  • etc….

There is no limitation on the number of feed/event that you can follow.

An API is available if you want to create your own Alerts for this product, more detail soon.

You can download AlertMachine from the AppStor here.

iWebwag for iPhone is out ! RSS reader, tweet, widget and more….

We’ve been quite silent the past monthes, because one of the big project was the launch of our iPhone app, iWebwag! iWebwag is a full widget engine for iPhone, with a very powerfull RSS reader and sharing capacities trough email or Tweeter. Go to our app page description to have a nice overview of the features, but here are a few screen shot of this App. One of the cool feature is the “exposé mode”, where you see all your pages in a single view:

This is a page view. Note that each widget can have different size, choosed by the user:

And now the great news reader:



Know all about your app: Flurry analytics

Flurry, an early developer of mobile mail client for J2me seems to be reborn as a great analytic tools. This tool is available for four platforms: J2ME, iPhone, Android and Blackberry.

I’ve tested the J2me and iPhone version, and it’s one of the best tool I’ve found so far. Before, I’ve used “mobileZoo” from Stephane, and do the job, but started to be slow.

Flurry follow the same principle: you get stats about your users, their mobile, where do they come from, but give you much more details:

  • session length,
  • http usage (number of requests, time spent/request, data downloaded and received)…
  • number of canvas displayed
  • etc…

One of the coolest feature, is the notion of “events”. You can track events within your app (with a maximum of 100 events).
In J2ME, adding events is dead simple: whe you upload your jar file, flurry introspect it and you can select which procedure you want to track. If your binary is obfuscated, you can send the mapping file generated by the obfuscator. And then, by miracle, all calls to a specfific function are send back to the server.

Here is an exemple of two events that I’ve added in the 8Motions app:

Want to know if this feature is used or not in your app? Want to know the user path within it, want to track error generated…All of this is possible quite easily.

What is missing: the good thing for J2ME is it’s not a library, but it’s also a bad thing. I can not regenerate a new binary without manual interaction with Flurry. I would like to see a lib, like the iPhone version, that could be embeeded n my J2me app during the build process. Also, this could be used to add more details to event reporting, like additional parameters (this s what is done in iPhone version).

But it’s a very good product, and I strongly recomment any serious developper to check Flurry !

Incredible visualisation of mobile datas

Incredible video from FaberNovel and Orange, or mobile activity during one day: the 21 of June. This day is very populare in france, because it’s the day where everybody is playing music around streets in Paris and all around the country.

So Orange recorded all mobile activity during this day, and faberNovel created some animation around it. These are quite fascinating. It’s not a new idea, but the visalisation is extremely well done. Look at what happens around the big concert (Tokyo Hotel?) during this night…

All the videos are here.

Through Techcrunch.fr

What future for J2ME?

Waow, what a big year, with several new platforms (Androïd, iPhone, JavaFX) , the move of Symbian to OpenSource?

Everybody these days is talking only of OpenOS (which in fact are not so open, but anyway) and the reborn of mobile applications.

So what happens to j2me, which is still the most important technology to deploy applications onhundreds of millions of handsets

The good thing, thanks to the push of these OpenOS is that application are now seen as a viable alternative to browser only, and a viable revenue stream.

But J2me seems to be out of the race. Why:

  • Where’s the AppStore? Still none of the MIDP2 handset have a good equivalent of the AppStore, an easy to use discovery and download mechanism. And even worst, once downloaded, the application are usually hidden in one of the numerous sub menus of the phone. And there is NO WAY to create your own AppStore in J2me using standard API.

  • MIDP3 is too late: MIDP3 phones, which should have been an answer to many of the MIDP2 lacks (background processing, multitasking, improved UI, etc…) is late. No phone hit yet the market, and even, MIDP3 as a standard is already below the market. MIDP3 is two years too late.
  • Why JavaFX? Sun introduced JavaFX trying to compete with Adobe AIR, and Silverlight. Mistake.  As I already explained (“JavaFX, the missed opportunity of Sun“), they are not good at this. Why Sun did not invest instead to provide an embeed VM into iPhone for instance?
  • Fragmentation: one of the biggest historical issue of J2me. Something that new platform don’t have yet, due to their short life. But when we will have tenth of manufacturers doing Androïd phones, I guess that there will be fragmentation too.

So this seems to be a pessimistic article about J2me, especially regarding the fact that I invested so much in this technology (I’ve been in MIDP2 expert group, as well as MIDP3 one). Again, J2me is still the leading technlogy in terms of installed base, but in  term of usage and application, the gap is not as big. So the game is quite open, iPhone/Androïd deployment will increase this year, and I am sure that others technology will emerge.

Reblog this post [with Zemanta]

Complete howto list to create self signed application on iPhone2.1

iPhone Software Development
I’ve played a little bit this week end with the iPhone SDK, which is good on some point, but a nightmare on others. Maybe I’ll do a post on this topic later on, but my main point know is to help others on how to do self signed application running on a real device. It tooks me several hours to find the right informations, several test and try, so here is the result:

1) Jailbreak your phone. You probably already know how to do it.

2) Install a patched “MobileInstallation” file. But when moving to V2.1, I had some problems: the phone does not wanted to reboot and was vibrating every 2 to 3 seconds. To correct, this I had to do the following steps: (even if
the phone is vibrating and the boot was not finished, you still can connect to it using ssh)

 * chmod 775 to the MobileInstallation file (as before)

 But also:

cd /private/var/mobile
chmod 777 Applications
cd /private/var/mobile/Applications/
mkdir Documents
cdmod 777 Documents

3) Create a self signed certificate, named “iPhone Pwned Developer” (see apple documentation to create a self signed certificate)

4) In your project settings, add the following:

for Code Signed Identity, put “iPhone Pwned Developer” (the name of the certificate you just created)

In the general configuration set the values of PROVISONING_PROFILE_ALLOWED and PROVISIONING_PROFILE_REQUIRED to NO
(you can also do this by doing “sudo vi /Developer/Platforms/iPhoneOS.platform/Info.plist” and modifiy these two values)

In the Info.plist of your project, add the following:

for the key: SignerIdentity  add the value: Apple iPhone OS Application Signing

and you’ve done…You can install your self signed application from XCode

Note that for further project, you just need no to add the SignerIdentity key in the Info.plist and the Code Signed Identity in your poriject settings. The iphonesdkdev blog seems to also provides template for this now….

Sources:
http://www.demonoid.com/files/details/1621027 for correct V2.1 installation of MobileInstallation (but I did not had to do all the indicated steps)
http://iphonesdkdev.blogspot.com/2008/09/xcode-template-for-pwned-iphone-device.html
  for SDK installation

Webwag V2.0 mobile beta: the best mobile widget engine ever!

Ok, may be I am a little bit too enthousiate, but really, we are happy with our first realease of V2 Beta.

Features include:

  • A new dashboard, with a “grid layout”, with a cool reflection effect
  • A lot of otpimized function (I’ll go in details later on)

But also, plenty of cool widgets to play with:

  • Enhanced mail
  • Daily comics (Garfield, Dilbert, etc…)
  • Sudoku
  • Wikipedia
  • Google/MSN and Yahoo search
  • Traffic information

And of course, much more handset supports, including blackberries!

But some technical enhancement, interesting for all widget developers:

  • Enhanced “HTML renderer”
  • Much more JavaScript support: JSON creation and serialisation , Date object, etc… I
  • Introduction of some new cool high level objects:
  • TableElem, to easily display table within Widget
  • Container object…

It never been as easy to create mobile widgets, using JavaScript and other standard technologies (XML, HTML, Json,…)

So, I will share with you 20 invites for this new version, available here! be fast:

Got my 3G iPhone!

Just got my 3G iphone: a 100€ deal for a 16G one thanks to Orange incredible offer (and I still keep my old one!). Nice object, but screen look not as good as first generation, and I am encoutering a lot of random crash…. But the AppStore is a very good app, and show how the discovery part is important. Up to now, most of the mobile discovery systems where browser based, which does not give the feeling that applications are high values which was a problem mainly for games. With the AppStore, both the discovery and the payment are easy to do (and that was one of the problem that In-Fusio solved since 2000, by providing and embeeded while upgreadable discovery with an easy to use payment system! ;-) )
For more interesting comment on this, check CEO post: “Who said local apps are RIP? It is about ease of discovery

Related to the iPhone, two interesting things:

A great blog post, on the 15 risks that Apple had to fight with the iPhone: iPhone: The bet Steve Jobs didn’t decline.

And I must agree with the first comment: I was also very doubtful about the Apple ability to enter this complex and closed market, but they’ve done it!

Shazam - experience music
The second cool thing is “Shazam“, a very nice free application, downloadable from the AppStore: this app allows you to “tag” any song by recorgin a about 20 seconds of it, and magically, Shazam will show you the title, artist, and even for most of them some related links to the iTune store to buy it, or view a video from YouTube. Great app and perfect realisation! This is similar to TrackID, implemented on some phone, but here, the user experience is close to perfect.

Snapshots of incoming Webwag Mobile V2 version

Webwag’ve got a new CEO, Stephane Labrunie, coming for IPlay, that’s the first news. The second one is some snapshots of the new incoming V2 version:

Creating widget is still incredibely simple: a few XML lines, a little bit of JavaScript, and you have your mobile widget ready to be deployed! More tutorials will come shortly, but you have some of them on Webwag blog.

Check also the Official Webwag blog.

FlashLite: the beginning or the end?

Two very intersting news last week:

Adobe creating the OpenScreen project , aiming to reove some licensing restriction on Flash and Flashlite format, giving access to some Flash porting API…

The spirit is of course to be able to deliver Flash on much more device than today. I am still amazed by the low REAL usage of Flash on mobile device. This could have been the enabler of killer app, but due to many mistake, mainly from Adobe, they missed their window of opportunity. This seems to be one of the latest attempt to reverse the trend.
Is it too late?

The other (probably linked) news is the announce from SonyEricsson of project Capuchin. This project wants to link Java and Flash world. This is one of the most interesting things for Flash since a long time.

One interesting things is that SonyEricsson has been a strong promoter of standards, and it’s interesting to see it for once doing some properietary API, and for a propietary technology.

This is also probably a bad news for SVG, which never reall took off, as an alternativbe technology to Flash for creating vector content on mobile.

For your records, it’s also something that we were doing in “Exen”, at In-Fusio, in the early 2000. The game engine was able to play Flash animations (but Flash 4 only) within Java, and for instance, use Flash clip as a sprite within a game. Seemed to be a good idea, but this has never been widely used in our games: lack of documentation, portability issue, etc…

Mobile Widgets: a comprehensible tutorial

trans_tuto.jpgInterested in creating mobile widgets? Just check our latest tutorial on how to simply create and deploy mobile widgets using Webwga platform using standard and easy to learn technologies, like XML and JavaScript.

Yes, Webwag is since some monthes compliant with JavaScript (in fact a subset of JavaScript), but this make very easy for any Web developer who know a little bit XML/JavaScript to write great mobile widget.

The tutorial describe how to create a translator widget, using a web service and some Ajax techniques. And we’ve just opened the Developers corner on the forum, so support will be given to all our developers.

SecondLife on Mobile

Congratulation to Vollee, who displayed for the first time some videos of what they are doing secretely since several years: a great technology to easily deploy any desktop game to mobile, using video streaming.
As you can see, it’s not only a direct transcoding of the desktop stream to a mobile screen, as the content would have been totally unuseable ( too small, too many information, etc…) but something much more smarter. And of course, this works for any game, not only SecondLife.
We were doing some experimentation in this area two years ago at MobileScope, bascially using streamed GoogleEarth picture as a background of a game. I’ll do a post some day if I can find some video of these experiments.
But here is the Vollee example:

Now, there are some key question still to be answered: is there a market for this? Does the bandwidth cost worth the value of this?
But anyway, congrat to Vollee team and to Julian for these great achievement.

devicefragmentation.info

Discovered this website – devicefragmentation.info through Jason Delport’s Mobile Observation blog

Higly interesting paper on fragmentaitons issues, and on different way to solve them!
And like Jason, I like the way Dimath Rajapkse categorize the various technique used:

I think I’ve experimented all the techniques since I am in mobile industry, from the “old” manual multi, where I you had to do the porting “by hand”, to various multi method.
I personally think that the Derive-Multi are well adapted for one shot products, like Games, while the Single-Adapt are more adapted to long term product that require constant evolution, like Webwag for instance.

It’s also true that most of the developpeur combine some of this techniques .

But at the end of the day, dealing with JavaME is not the most complex issue. We now have to deal with JavaME+Androïd+Flash and now iPhone native and Silverlight! Waow, good time for porting companies….

Identificateurs Technorati : , ,

Webwag latest news: iPhone/iPod touch and V2

webwag_iphone_screenshot1s.pngwebwag_iphone_screenshot3s.pngwebwag_iphone_screenshot2s.png
Big week for Webwag! After the yesterday announce that Webwag was finalist of the GlobalMobileAwards, we just announce today our new iPhone version. You saw a video some time ago, but now this version is live: just point your browser to http://iphone.webwag.com (or http://webwag.com with your iPhone) and you’ll have access to your exact same account on your mobile. OF course, this works also on your iPod touch.

We created a user experience close to the default iPhone user experience, but with the full Webwag features:

  • You can add/remove new tabs
  • Add new widget
  • A first preview level with number of unread articles in your feed
  • Dynamic icons for some widgets: flickr, weather

Now, webwag covers a wide range of mobile and web device: web browser, mobile version (java me) and iPhone.

Try it, and tell us what you think!

We also launched the first step of our new Webwag V2, with some nice features:

  • resizable columns
  • variable number of columns
  • enhanced discovery
  • new themes

alltileds.png
Identificateurs Technorati : , , ,

What is really Yahoo!GO 3.0 SDK?

Finally, we had a chance yesterday to access to Yahoo!Go 3.0 SDK. As a frequent reader of this blog, you should know that Widgets is a favorite topic, so I was curious and excited about achivement of Yahoo!Go 3.0 and his SDK.

The home screen is really good, looks great. Very nice theme, with a background image and a caroussel of “widgets”. Things become bad you start to dig into the content. In fact, what is Yahoo!Go3.0 is very similar to Yahoo!Go 2.0: an enhanced browser to the yahoo content. All pages are similar to wap page, but with some improvment in the navigation. There is however some specific part that have some higher capacitities, like the “map” part which contains a GoogleMap type navigation.What really kills the experience is that the answer to every keypress (and I’ve tested this on an N95, which is usually a very fast phone) takes too much time!

So now , let’s look at the widget part and the SDK: in fact, what is promoted as “widgets” is in fact some enhanced xml/wap pages created with the “BluePrint” language. The good thing is that pages can be easily integrated within the Yahoo!Go content, and can also benefit from the integrated advertising feature.

So Yahoo!Go 3.0 is more or less an enhanced mobile browser without Ajax capacities, and these widget are XML component that can be part of the page. One of the benefit of such basic approach is that these “widgets”, can be deployed even on simple Wap/xHtml pages. The bad thing, is that it’s quite impossible to do “real widget”: very little interaction possible between the application and the user, no local caching, no access to phone features…. Seems like a step back in the times “before ajax”. Does it really make sens to build a download app if you just provides a browsing experience?

Identificateurs Technorati : , ,