Saturday, 23 February 2008

Wiimote competing with the SHAKE

Over 30 million people around the world have access to Wii Controller. Nintendo Wii Controller, known as Wiimote (Wii Remote), can be used in computer-based applications without the Nintendo Console. Johnny Chung Lee, from Carnegi Mellon University, has already designed and developed tangible interaction techniques using the Wiimote. His demos are available in YouTube website.

This easy-to-use and publicly available device will open up opportunities to use the Wiimote in the interaction with handheld devices, as it communicates via Bluetooth.

Wednesday, 6 February 2008

Something less wired

No one likes carrying a big bag of wires or being wired to something when you would like to walk around freely. This problem comes to light in intelligent home project when people like to use remote controls or handheld gadgets to control various objects around. One possible solution is using a new pack of sensors, similar to Phidgets, called ZWave. These gadgets use radio to get around being wired problem, however, ZWave is still new enough that there aren't yet many such gadgets on the market in the UK.

Phidgets and Handheld device

UMPC comes with at least two USB ports, which allow users to access non-standard interaction technologies such as Phidgets. Phidgets Interface package comes with varieties of USB kits and analog sensors. For example, Interface Kit 8/8/8 allows to connect up to 8 analog sensors and 8 digital sensors and real 8 digital input. ServoMotor Kit, LCD text and RFID kit are other popular USB kits.

One problem with phidgets in particular is that using USB, they must be within a certain distance of a computer; people who are interested in making their home intelligent using Phidgets, that is a rather awkward constraint. However, there are many interesting applications built using Phidgets (Videos). Students in Computer Science Department, Swansea University of Wales do main part of their coursework for CS-M79 module using Phidgets.

Saturday, 12 January 2008

Asus EEE, Ultra Mobile PC

The Ultra-Mobile PC (UMPC), is a specification for a small form factor tablet PC. It was developed as a joint development exercise by Microsoft, Intel, and Samsung, among others. Current UMPCs feature the Windows XP Tablet PC Edition 2005, Windows Vista Home Premium Edition, or Linux operating system and low-voltage Intel Pentium or VIA C7-M processors in the 1 GHz range. The most popular UMPC is VAIO designed by SONY but in compare to other handheld gadgets such as PDAs and smart phones, UMPCs have not been so sucessful because of their short battery life, price and weight. Asus has promised to deliver a light and low price (just under 200£) UMPC in 2008. This is called EEE and is running Linux. Its weight is under one Kg; because it does not have any hard-disk and uses only flash memory (4GB). It will be a big step forward in designing ultra-light mobile PCs.

Tuesday, 8 January 2008

Powerful chips on mobile phones

The good news is in the next few years , 5 years apparently, mobile phones will carry chips with the power of today's desktop PCs. This was announced by Intel.

What has motivated this idea is having a personal net and high-speed internet access on mobile phones. Since iPhone's appealing user interface and easy WiFi connection via all access-points the competition among mobile phone designers is hight to provide a more intuitive and less frustrating web service on handheld devices. In the other hand, having powerful chips means longer battery life and good support for graphics, which eventually improve other aspect of interface design on handheld devices.

Sunday, 21 October 2007

Sensor Noise (I)


Sensory data is usually noisy unless the sensor itself has a decent built-in filter. However, we can write simple filters to filter out noise. Matlab provides decent filter function, for instance, "filtfilt" for this purpose. I have written a simple filtfilt function working with C or C++ applications, shown in the figure.

Order is the order of the filter function, i.e. zero, first, second, etc. Based on the order coefficients, "a" and "b" are calculated. The simplest way to calculate them is using Matlab "butter" function
, e.g., [b,a]=butter(order, length); For a third order filter coefficients, "a" and "b" are calculated as: [b,a] = butter(3,1/10);

b[0]= 0.0007; b[1]= 0.0021; b[2]=0.0021;
b[3]=0.0007; a[0]= 1.0000; a[1]= -2.6236;
a[2]= 2.3147; a[3]=-0.6855;

Tuesday, 2 October 2007

PDF Reader/Viewer and Handhelds (I)

FoxitReader Core Engine has been proven to be one of the best performed PDF Rendering Engines. The code base is probably the smallest in the market. Comparing with Adobe, it loads much faster and needs far less memory. Foxit Reader has recently been ranked as one of the top 100 free software by PC World magazine.

"Foxit Reader Named to PC World's "101 Fabulous Freebies' List

http://www.pcworld.com/article/id,124883-page,2-c,freeware/article.html

in Tune Up (Utilities and System Tools)

Foxit PDF Rendering customers include IBM, NEC, Panasonic, Siemens, Microsoft, Xerox, Access, Nero and Lawrence Livermore National Lab etc. Foxit supports all major desktop OSs and the mobile platforms including WinCE, Linux, Brew and Symbian. The embedded WinCE SDK is available in

http://www.foxitsoftware.com/pdf/sdk/embedded/

However, the one time licene cost for research will be $4500.00 and the royalty fee for each application sold will be $5.00.

Saturday, 1 September 2007

Python and phones II

For writing Python Scripts for your phone you need to write the script in a text editor. Useful editors are Pywin or ConTEXT, but also notepad works. To learn how to download and install Python editors on your PC see

  1. Python .
  2. DiveIntoPython and its first chapter
  3. An illustrative article to install Python in here
After installing Python and writing the script you need to save it as *.py. The final stage is testing the code, which I found this link very helpful.

Python and phones I

If your phone is Nokia S60 series then you can simply implement simple applications on your phone using script based programming language, call Python. To start you need to download

1) PythonForS60_1_3_23_3rdEd_selfsigned.SIS

2) PythonScriptShell_1_3_23_3rdEd_selfsigned.SIS

from SourceForge (or their latest edition) to your PC. Then connect your phone either via Nokia PC suite or via Bluetooth to your PC or laptop and transfer these two files to the phone and run these files from the phone. Just make sure you install PythonForS60 before PythonScriptShell. For more information about PyS60 see PyS60 wiki.

A helpful link to learn how to uninstall PyS60 or upgrade it can be found here. Or you can simply join Nokia forum.

Thursday, 23 August 2007

Peter Cochrane and GPS

I received this article from a friend today about GPS and road map in the UK. I thought this might be an answer to my early complain about poor GPS service close to London on a N95 mobile. See here for more information.

9G Sony-Ericsson Mobile Walkman

Sony Ericsson Mobile Communications will launch late Thursday in Berlin six new phones, including a high-end Walkman-branded handset with around 9G bytes of internal Flash memory, according to a company spokeswoman. More….

In the other hand IPHONE disappoints mobile developers. To hear more about this click here
third-party software developers to create Web 2.0 applications to run on Apple’s forthcoming iPhone. To read more click here
This disappointment gets worse when it comes to programming on real mobile phones, i.e., iPhone is planning to provide facilities to

Wait and see which one will win: Apple or Mobile companies?

Mobile Office

In 2000, Fishkin et. al for the first time introduced the notion of “mobile office”. They argued that for a mobile device, such as a 3Com Palm Pilot, users need to be able to produce new data and view and browse the information space via peripheral devices. However current interface design techniques in handheld devices have been copied from large screen design techniques, e.g., Windows Icon Menu Pointer (WIMP). Thanks to John who has forwarded this link to me Future of Smart Phones we see smart phone programmers have started rethinking about mobile application design to improve current bad interfaces. Then later we should wait for a revolution in mobile phones. Treating a mobile phone like N95 as a mobile office is just impossible now. See my early post.

Excited about N95

As someone recently had a nice! experience with GPS and map browsing on a N95 mobile I would like to share it with you. We were driving from Cardiff to Milton Keynes and on the way I switched on GPS unit and waited the unit to download the satellite data. After 5 minutes the communication was established and there was an almost clear map on the screen with a big red dot on it indicating car’s position. Getting closer to London I was expecting to see more details on the map but suddenly everything on the map disappeared and there only that big red dot on the screen. In summary there was no detailed satellite data for locations around London!

Also, connecting to GPS for about 4 hours killed the battery in less than 5 hours. I was looking in the internet about other people’s experience with N95 and I found this Gizmodo_N95. More review about this gadget: N95 in CNet.

If you have any bad/good experience with N95 why not sharing that with others.

Lets talk about Mobile phones

Not long time ago BBC news spoke to Jan Chipchase, principal researcher at Nokia Design about designing mobiles for the world.
Jan Chipchase’s most recent report was called Where’s The Phone?
Mobile phones have shaped global communications. But who shapes mobiles? You can find this interesting article in Designing mobile phones for the world.

OpenGL ES, A real OpenGL for mobile phones

The good news is there are a couple of freely avaiable implementations that you can downlaod and use to experiment OpenGL:
  • OpenGL ES extension for QUALCOMM’s BREW SDK: The SDK and its tools are available from www.brewdeveloper.com
  • Vincent: An open source OpenGL ES implementation administrated by Hans-Martin Will. It is available from www.ogl-es.sourceforge.net
Other OpenGL ES implementations are likely to become more available in the near future for free. The best option is checking the official OpenGL ES web site at www.opengles.org for more information.

Migrating from EVC++ to Visual Studio

I would simply recommend this link in microsoft website:

Step by Step: Migrating an eMbedded Visual C++ Application to Visual Studio 2005

Visual studio and Windows Mobile

Microsfot is trying to push designers to build a native Windows Mobile-based application by using Visual Studio 2005. To start you need to follow these steps as order:
I also found developer resource kit very useful.

EVC++ and Windows Mobile 5.0

Obviously if your PDA has been updated from WinCE 2.0 or 3.0 to 5.0 you need to take these steps to update your developing tools (please follow the order):

Downloading EVC++ executable applications or debugging them in winCE5.0 shows some warning messages, as shown in below, on the screen both on the desktop and PDA:

The ARM SA1100 CPU does not support Configuration myproject Win32 (WCE ARM4).

My experience shows it is just a warning message and nothing more and you can run your applications on winCE 5.0 systems without crashing the PDA. If you have a different experience please add your comment here.

EVC++ and FMOD sound library

FMOD is not only an easy to use API for Window32 applications but also widely used in Windows Mobile systems. You can simply find all suitable packages and APIs for your own application in fmod.

I found fmod forum very helpful. If you have got any problems just drop those guys a line and you’ll get a quick response.

EVC++ and 3D graphics programming interfaces

It is hard to believe but yes, now we can develop mobile 3D applications with OpenGL ES and M3G (see here as a reference).

All the OpenGL ES-related specifications are available for free download at here . According to OpenGL ES API developers:

The OpenGL ES 2.0 API enables floating-point programmability on next-generation handheld devices and our Bitboys G40 hardware graphics processor fully supports the new API.

said Petri Nordlund, CTO of Bitboys.

The combination is a perfect engine for amazing next-generation mobile graphics.

In the case of difficulty in importing or using OpenGL ES API in EVC++ you may find this page interesting.