Category Archives: mobile

The pad effect

e-padsSince Apple released the 1st iPhone I have always wondered how long it would take for that kind of interaction with the user to take over almost everything.

A good GUI, all interactive, with touch screen and virtual keyboards, on a phone, it was already a genius idea, so why not on a PC and then, it came the tablets.

I remember the quotes when the iPad first came out: “It is a iPhone on steroids; who will want that?”

Well, it seems that everybody. Having a tablet, ePad, iPad, regardless of the naming of it, has a huge amount of possibilities and after you own one, start to wonder how long more this format will take over.

I have got myself a good old “chinese” Android ePad. A small one, 7”. The only defect so far is that the Market doesn’t work so well, but, I still can find pretty much anything and install. I got it first as a ebook reader and today I’m thinking in ways of expanding it to several things, including, replacing my old notebook.

Look at it like this:

  • It does has skype
  • it has office (lite, but it works and you can use Google Docs as well)
  • it has browser capabilities
  • it has games
  • it is small enough for me to read a book at it
  • If necessary, I can plug a keyboard and mouse (got test this one) since it has usbs
  • It does not weight a ton

I agree that it wasn’t made to run a insane game, but seriously, any small presentation can be done with a device like an epad, so this is what I call the “Pad effect”.

Pad effect is when device-like iPad or Androids with good GUIs and touchscreens can actually replace a small notebook like the well known netbooks.

Let me place a note here. When I say small notebooks is in accordance with the technology of today. Off course, with improvements, I believe that keyboard and mouse will soon feel the pad effect.

The cool thing about this is that actually, this pad effect, is bringing huge usability standards and formats to take place on desktop applications (not that you can really call a ePad or iPad an desktop, but you get the idea) and this usability is extending out from the software level and going to the hardware level and binding it together.

The pad effect is an expression that I came  out with it. Not that it can be better represented by a better expression, but since we were all involved with iPads, ePads and Pads transformations, why not. That it can be better represented, it can be discussed, but now, that the e-pads / iPads are taking over, there is no discussion about it.


Making a mobile version of your website with PHP

droid-doesCreating a mobile version of your website is not a very hard task, but it requires a bit of work. Unlike a desktop browser (PC browser) a mobile browser still have limited resources and usually it has it’s unique way to interpret and renders the page.

When creating a mobile version of your website there is one thing you need to know before starting to develop:

  • it will work for all phone types or only smartphones and newer types of devices?

Even with support of detection and translators to develop mobile sites, this decision actually might help you on how far you will want to go with the features of the website.

Now it is time to get your tools set.

First things first. Download WURFL witch is a mobile device detection system and register on their Community group. This is the must important tool that you will need for your mobile site. WURFL is a XML device system that will read a user agent string and based on that it will give a full feature and capabilities from the device.

The next step is to install a translator. This will help you on writing the code without worrying about if it is WML, CHTML, HTML 4, etc. Make’s things a ton easier. Currently WURFL works great with WALL (old WALL API) and WNG (the next generation of WALL – go with this one if you can).

With both of these you have all your libraries set and you should be ready to code.

The best and most advisable way to use this is to use WURFL to detect the device coming and if is a detected phone, then redirect to the mobile site, otherwise, normal site. Consider the rules fully and test all. In case of doubt, redirect to the normal site (there is a greater chance for the user agent being a browser from a desktop than a phone).

A couple of good useful notes:

  • Create a domain.mobi or m.domain.com to support your mobile application
  • Javascript is still very limited even smartphones
  • size matters: rule of thumb 10 seconds for full page rendering
  • devices such as iPad are considered mobile devices
  • WURFL also is supported by Java

Good luck and have fun.


Google closes with Admob

From the Admob network

Google’s Acquisition of AdMob Closed Today
May 2010

As you may have already heard, our deal to be acquired by Google has just closed. We are all excited to start working with the team at Google. While we are still working to figure out a lot of the details, I want to assure you of two things:

Our advertiser and publisher partners continue to be our top priority
Our advertiser and publisher partners are our #1 priority now as you have always been. Everyone at AdMob, including our senior executives, sales, marketing, product, engineering, business development, and support teams remain 100% focused on continuing to provide the products and service you have come to expect from us.

We are committed to delivering a smooth integration process
We are starting to work with Google to bring our products and teams together, and collaborate on building new products and features for our customers.  Because this will take some time, we will continue to work with you on a business-as-usual basis for the time being.  We are committed to making this integration happen as seamlessly as possible and will keep you updated as we bring our businesses together.

We appreciate your business and look forward to working with you in 2010 and beyond.  We’ll be in touch again soon as we have more details to share – stay tuned.


Adding Google Analytics in your mobile site

Google Analytics is well known for having great reports and tracking and for being a free product, therefore using Javascript in a mobile site is almost impossible, but there is one good and tested alternative.

This is what you got to do:

$utmUrl           = ‘http://www.google-analytics.com/__utm.gif’?’
. ‘utmwv=4.4sh’
. ‘&utmn=’ . $randomNumber
. ‘&utmhn=’ . urlencode($domainName)
. ‘&utmr=’ . urlencode($documentReferer)
. ‘&utmp=’ . urlencode($path)
. ‘&utmac=’ . $gaAccount
. ‘&utmcc=__utma%3D999.999.999.999.999.1%3B’
. ‘&utmvid=’ . $visitorId
. ‘&utmip=’ . $ip
. ‘&guid=ON’;

Your $gaAccount will be your Google account for the Analytics with the following difference. Instead of using UA-XXXXX-XX you will be using MO-XXXXX-XX. The prefix MO will indicate to Google that it will hold data for a mobile website. About that is also good to point out that you will need a separate account from your website to track your mobile website, otherwise one data might override the other (known Google issue).

With the exception of the $ip and $visitorId, the rest of the parameters are straight forward.

$referer         = $_SERVER(‘HTTP_REFERER’);
$documentReferer = (!empty($referer)) ? $referer : ‘-’;
$path            = $_SERVER(‘REQUEST_URI’);
$userAgent        = $_SERVER(‘HTTP_USER_AGENT’, ”);
$dcmGuid          = $_SERVER(‘HTTP_X_DCMGUID’);
$randomNumber     = rand(0, 0x7fffffff);
$timestamp        = time();
$domainName       = $_SERVER(‘SERVER_NAME’, ‘m.yourDomainName.com’); // or your mobile url

To get the IP, Google reserves, to keep the user privacy, to remove the last 3 octets from the IP. It’s a simple task.

// captures the 1st 3 octets of the ip and replace last with 0
$regex = “/^([^.]+\.[^.]+\.[^.]+\.).*/”;
$ip = (preg_match($regex, $remoteAddress, $matches)) ? $matches[1] . ’0′ : ”;

The visitor id, it’s a more complex process, but Google provides you the function, here is a copy from it:

function getUniqueVisitorId($guid, $account, $userAgent) {

$message      = ”;
$randomNumber = rand(0, 0x7fffffff);
$cookie       = $_COOKIE['__utmmobile'];

if (isset($cookie))
{
$result = $cookie;
}
else
{
if (!empty($guid))
{
$message = $guid . $account;
}
else
{
$message = $userAgent . uniqid($randomNumber, true);
}

$md5String = md5($message);
$result    = “0x” . substr($md5String, 0, 16);
}

return $result;
}

Known issues that I got with data so far:

  • If you have this script inside another script from your own site, make sure that it dont’ load itself to avoid double visits
  • Since the number of phones that support cookies are very small, most likely every visit will be a unique visit.
  • You can’t use the same Google Analytics Account from your site to your Mobile site
  • Google Analytics support is all user based -> forums

For more info about how to work with Google Analytics for Mobile Sites and / or Applications, go to: http://code.google.com/mobile/analytics/docs/web/index.html


Confirmed: Gizmodo has the new iPhone prototype

Regardless to say, the new iPhone will be a hit: http://gizmodo.com/5520164/this-is-apples-next-iphone?skyline=true&s=i


Emulators for mobile application

Virtual Box Emulator for PalmI have been working with mobile lately and one of the hardest things to do is to test your application (web or not) in a phone, even more when you don’t have a couple of hand full of real phones to test your application.

Running some search’s I have found out some good sites with emulators, from the old style into the new smart phones.

Start with A guide to mobile emulators from Mobi Forge. I has almost the full list of the mobile emulators to be download and it is only outdated in regards of the Blackberry emulators, that needs an older library of Java.

What happens is that some urls have changed and some emulators need older libraries, like the Blackberry ones. For the Blackberry, to get an older library, you will need to fill out a form and then Java will send you the link with the JDK 1.5 to be downloaded. The issue with this library is that it has been discontinued and the Blackberry Email app, necessary to see webpages, does not support this new library yet. Under Linux you can use Synaptic (or apt-get, yum, etc) to install the Java Development Kit 5.0 Update 22.

Anyway, the next step is to download the VirtualBox. Some emulators, like the Palm and the Android, are under a VirtualBox disk. This makes it easier to install and run the emulators, besides this one, most of the rest are under some SDK environment.

There are a couple of test enviroments that are available online, but those are only for testing web pages, anyway, a good resource.

Also download an emulator for Openware and WML. We still have a ton of those phones around and if you are developing a webpage, then, you must use this.

I have been searching emulators for Japanese phones and so far I haven’t been able to find something really good. There is a Firefox extension, FireMobileSimulator that actually does a very good job and the only fall back is in regards the encoding. It seems to read the encoding of the machine, so, I got situations where in Japan the test was giving wrong results, but here in US everything was alright.


Follow

Get every new post delivered to your Inbox.

Join 182 other followers

%d bloggers like this: