Today, after a long time (I Still don’t have time, wait for September!)… I’ve released the first Moko Touch (Developer) Snapshot. Below you can see a screenshot of the MokoTouch Website that is available here: http://th30z.netsons.org/mokotouch/.
Now you’re able, to develop your app, interact with accelerometers handle some gestures and load it from the homescreen. Now There’s to add a lot of UI Elements, and IPC Services for Notifications and other nice stuff!
Today, I’ve spent half of my day to do something for the “Moko Touch” Project. I need a simple keyboard that I can use without use a stylus or a toothpick. I need something “Bigger”, so I’ve made a couple of experiments and this is the “best” result. Maybe it hasn’t a great look’n feel now but it’s really usable.
Vertical Keyboard (480x295 px)
The concept is really simple. Use less space as possible for the keyboard and use the “Maximum Size” available for the buttons. And as you can see with just 12 buttons you’ve all your Letters, numbers and Symbols in the smallest usable space (480×295 px for the Vertical Keyboard and 640×195 px for the Horizontal Keyboard).
Horizontal Keyboard (640x195 px)
But as always there’s a “Bad side”. You’ve to tap twice to pike on key, for Example: Tap on “QWER” button on the “12 keys keyboard” a 4×4 box will appear, and you’ll have to tap on the key to select it. So for each letter you’ve to tap twice. But maybe there’s no type mistake even if you’re using your phone while you’re running
This is just the 1st concept of the Moko Touch Keyboard. If you’ve ideas to improve it, send a comment or a mail. It will be really appreciated. Thanks!
We’re gonna show you some of future plans. Before that, let me remind you of where we’re at with the iPhone. (Greg Joswiak, March 2009 Apple Event)
Ok, the iPhone 3.0 is here (ok, still beta). There’re some great features like the Push Notification Service, P2P networking capabilities, Hardware Access and so on… but for us? poor Linux developers?
Previously showed in this post OpenMoko “My iPhone”, I’m working to make my Neo Freerunner similar to the iPhone. Yesterday I’ve switched to QtEmbedded 4.5 for Applications that doesn’t require media or phone content, unfortunatly QtEmbedded doesn’t have Phonon support.
Till now (Just 3 ‘days’ of development), I’ve implemented some of the Touch Screen gesture, like sweep, scroll, double tap, zoom, rotation… and others nice features with the accelerometer like Shake and Screen orientation, Normal or Landscape automatically enabled without writing a line of code.
But for those that doesn’t follow my Tweets, Yesterday I’ve updated the Cocoa SQLite Wrapper to support the NULL value.
I had in plan to post an Example of “Qt Animation“, Moving Objects along a path, something like CoverFlow or other Effects. But my Moko needs to be more usable, and needs an iPhone like UI.
QtExtended doesn’t have an accelerometer class, so I’ve decided to Write my on class with a simple Example. A Spot that moves around X and Y Axis using Accelerometer Information.
The Second NEO Freerunner Sensor, in contrast to the first sensor is turned 45 degrees around the Z axis. See the attached image to get a clue about its orientation.
The information from both of the accelerometers is exported through two different input event based file mappings. These device nodes can be found at /dev/input/event2 and /dev/input/event3.
The QAccelerometer Class emit an Event called accelerate(qreal x, qreal y, qreal z) that gives you X, Y, Z axis values.
Each acceleration event relays the current acceleration readings along the three axes of the device. Therefore, a value of 1.0 represents a load of about +1g along a given axis while a value of -1.0 represents -1g.
Keep in Mind this Simple Table of X, Y, Z axis and Phone State:
( 0, 0, 1) = Front
( 0, 0, -1) = Back
( 1, 0, 0) = Vertical (Short Side), Right
(-1, 0, 0) = Vertical (Short Side), Left
( 0, -1, 0) = Vertical (Long Side), Front
( 0, 1, 0) = Vertical (Long Side), Back
If you want take a look at the /etc/version file you will find something like this (in my case the code is this) 200804240820. Ok, it says 2008.. but is 2007.2.
Preparing the PC
Download the uImage and RootFS from the OpenMoko respository.
Shutdown your device using the Power Button (bottom right) and click on “Shutdown” menu item.
Connect PC and Phone with the USB cable (in the pack).
Press and keep pressed the AUX button (top left) on the Phone and, at the same time, press the Power button (bottom right).
Ok, Now you’re in the U-Boot Menu, is something like GRUB.
Press AUX, Three times until you’re on the “Set console to USB” item and then Press Power. (AUX is used to move between items, Power is the “Enter” button).
Then replace the Kernel and RootFS:
dfu-util -a kernel -R -D <kernel path>.bin
dfu-util -a rootfs -R -D <rootFS path>.jffs2
That’s all! Reboot your Moko and try the new Software.
Setup PC Network: ifconfig usb0 192.168.0.200 netmask 255.255.255.192
iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24