MIT Releases Public Beta of App Inventor for Android
If you had been a fan of Google’s App Inventor for Android, during its first release, you will be excited to know that MIT announced the public beta version of the new app inventor, today.
App Inventor for Android lets users create apps for Android phones by manipulating programming blocks in a web browser. Since July 2010, Google has run App Inventor as a large-scale public web service as a part of its Google Labs suite. With the wind down of Google Labs, as of December 31, 2011, Google ended support of App Inventor.
In order to ensure the future success of App Inventor, Google Research has funded the establishment of the Center for Mobile Learning at the MIT Media Lab. Sometime in the first quarter of 2012, the Center plans to provide a large scale App Inventor service for general public access, similar to the one Google ran. MIT’s will be posting progress on getting their public service up and running at MIT Developer’s Blog.
Like what we post? Share your thoughts on the comments below. If you wish to get regular updates on what we post, do subscribe to our RSS Feed
Mirah For Android Development [Slides]
Brendan Ribera, a Seattle based hacker introduces Mirah, a JVM-based programming language with a Ruby-like syntax, type inference, closures, meta-programming, macros etc.
Salient Features of Mirah:
- Ruby-like syntax
- Compiles to .class or .java
- Fast as Java
- No runtime library
Requirements:
- JRuby 1.6.0 or higher.
- BiteScript 0.0.8 or higher
Check out Brendan’s presentation at Strange Loop Conference, introducing Mirah for Android right here below.
Like what we post? Share your thoughts on the comments below. If you wish to get regular updates on what we post, do subscribe to our RSS Feed
Xamarin.Mobile – Simplifying Cross Platform Mobile Web Development
Xamarin.Mobile is a library that runs on iPhone, Android and Windows Phone 7 & unifies hardware access across these platforms.
When .NET developers target mobile devices they have three API sets to choose from: Windows 7, MonoTouch, and Mono for Android. While the .NET framework standardizes a lot of stuff, there are many hardware features that simply aren’t covered by the Base Class Library. looks to greatly increase the amount of reusable code by standardizing the API across the platforms.
Like .NET itself, Xamarin.Mobile is an abstraction layer that sits on top of the native API. In exchange for giving up some of the underlying operating system capabilities, developers no longer need to re-implement common functionality for each of the three platforms. The areas Xamarin.Mobile is proposing to cover are:
- Contacts
- Geolocation
- Compass and Accelerometer
- Video and Audio
- Notifications
The most notable area missing from the list is the user interface itself. Much like its predecessors Ximian and Novell, Xamarin is still dedicated to their vision of platform specific, first-class user interfaces written in .NET/Mono.
Roboguice - An Open Source Dependency Injection for Android
Roboguice 2.0 beta is Out!
RoboGuice smooths out some of the wrinkles in your Android development experience and makes things simple and fun.
It slims down your application code, and less code means fewer opportunities for bugs. It also makes your code easier to follow. No longer is your app littered with the mechanics of the Android platform, but now it can focus on the actual logic unique to your application.
If you're familiar with an older version of RoboGuice, 2.0 brings the following new functionality:
- Support for Fragments
- Easier bootstrapping - No need to create your own custom Application class anymore
- Easier injection into any arbitrary object, including Views
- Easier to write tests using test-specific bindings
- Guice3 and Maven3 support
IRIS - Android gets its SIRI Clone in 8 hours of Development time!
Apple's Siri 'intelligent assistant' is doubtless impressive, but as the flagship feature of a new iPhone that's been in development since the company bought Siri Assistant's creator back in 2010 you would expect that. Iris, having had a whole eight hours of development time, is rather more impressive.
Created during a hack day by staff at Dexetra, Iris - "Intelligent Rival Imitator of Siri" - is an unapologetic nod at Apple's wise-cracking artificial-artificial-intelligence. Unlike the latest incarnation of Siri, however, you don't need a new phone in order to use it."When we started seeing results, everyone got excited and started a high speed coding race. In no time, we added voice input, text-to-speech, also a lot of heuristic humour into Iris," writes Narayan Babu of his company's project."Quickly, I created a decent layout and design, and we added all shiny little things to Iris, and what came out was a really good app - for an 8 hours effort that is."There's no denying that Iris is impressive: tying in to Google's own speech recognition system and the native Android text-to-speech system, it reproduces the basic functionality of Siri well. You can ask it serious questions - at which point it searches the web for answers - or more sarcastic queries to generate an amusing response.Telling Iris to "open the pod bay doors," for example - a request of the murderous artificial intelligence HAL in the film 2001: A Space Oddessy - returns: "I can't. I'm at the office right now."
Iris is no Siri: it lacks the deep integration that Apple brought to the table when it purchased Siri back in 2010 to turn the app from a stand-alone package for any iOS device into the flagship feature exclusive to the iPhone 4S. As a result, you can't set alarms, edit your schedule, or read and reply to messages.For a project which took eight hours to complete, however, it's impressive - and is likely to get better over time, should Dexetra continue its development.Iris isn't the only voice assistant for Android, either: while it's the most Siri-like, existing apps like Vlingo and Speaktoit have been offering voice-activated control for quite some time - and Vlingo in particular is pleased with Apple's Siri, given that in the days since the iPhone 4S launched the company has seen downloads of its Vlingo Assistant for Android and BlackBerry more than double.The alpha release of Iris is available to download now from the Android Market.GreenDroid - An Android Development Library
GreenDroid is an open source development library for the Android platform. It is intended to make UI developments easier and consistent through your applications.
Cyril Mottier, a software engineer who created GreenDroid lists the purpose of the project as:
- Prevent loosing time at copying the same snippets of code over and over again.
- Try to make Android applications alike.
- Help developers to code highly functional applications.
- Leverage the power of the Android framework.
- Use as much XML as possible.
How to use GreenDroid?
In order to use GreenDroid you have to do the following steps:
1. Download the GreenDroid library on your computer with a simple:
git clone http://github.com/cyrilmottier/GreenDroid.git
2. Apply GreenDroid to your project: Go to the scripts/ folder of the GreenDroid folder. Run the script named “greendroid.py” (make sure you can run it - chmod +x greendroid.py) to apply the library to your project :
./greendroid.py apply <project_directory>
3. By default, the GreenDroid theme inherits from @android:style/Theme. If your project inherits from a different theme, you’ll have to modify the GreenDroid library on your own (and do that everytime you are updating GreenDroid as updating delete all of your changes). Open the res/values/gd_themes.xml and replace the parent theme @android:style/Theme with your own theme
4. You finally need to make your project use the GreenDroid base theme. In your Android Manifest, go to the application tag and add android:theme="@style/Theme.GreenDroid" as a new attribute (if this attribute already exist override it: if you processed the step 3 correctly, you will have a theme that inherits from this theme)
Looking for a trusted development partner to build your custom Android applications? Visit us at: www.amt.in
Presentation: Introduction to Android Development Using .NET and Mono
Greg Shackles, a senior Developer at OLO Online Ordering, introduces us Android, Mono and Mono for Android, explaining the fundamental components of programming for Android with Mono accompanied by demos and code samples.
Greg Shackles is an active member of the .NET community as well, and speaks regularly at user groups and regional events. In addition to technology, he is also an avid fan of heavy metal, baseball, and craft beer, sometimes all at once. About the conferenceMonospace provides developers a unique look at running their applications across all the platforms using Microsoft's .NET Framework by focusing on the Mono framework and open source .NET technologies. We will start with 2 days of talks and sessions, aiming to teach the attendees about the various technologies and innovations that currently exists. We will then end with a one day open space unconference where dialogs and conversations will help kick start the next wave of open source projects that will help the community remain competitive.
Looking for a trusted development partner to build your custom Mobile applications using .Net? Visit us at: www.amt.in
Achartengine : An Open Source Charting Library For Android Apps
AChartEngine is a charting library for Android applications which currently supports the following chart types:
- line chart
- area chart
- scatter chart
- time chart
- bar chart
- pie chart
- bubble chart
- doughnut chart
- range (high-low) bar chart
- dial chart / gauge
- combined (any combination of line, cubic line, scatter, bar, range bar, bubble) chart
- cubic line chart
All the above supported chart types can contain multiple series, can be displayed with the X axis horizontally (default) or vertically and support many other custom features. The charts can be built as a view that can be added to a view group or as an intent, such as it can be used to start an activity.
Read more…Interesting Time Lapse Video of Android Game Development
If you’re like me, you’re probably pretty much into your Android device. You may have even toyed around with the idea of possibly taking a summer course at your local community college to make an app of your own, with dreams of one day publishing to the Android Market and “hitting it big.” Angry Birds “big.”If you’ve ever been curious to see what exactly would go into developing an Android game from start to finish and get a peek into the life of Android game development, today is your lucky day! Since you nor I, have 6 hours of free time on our hands, developer Hunter Davis took the time of making this handy time lapse video of him producing an Android game app — only crammed into 1 and half minutes of video and to the music of Nikolai Rimsky-Korsakov’s “Flight of the Bumblebee.” (Watch on YouTube and enable annotations for the developers running commentary).
[Via HunterDavis]
Node.js on Android
I'm trying to make the recently popular (well, maybe not so recently) Node.js run on Android. So far, I've succeeded in getting it to run on the ISO1, a smartphone running Android 1.6, but only by doing the following.
Here are the basic steps:
- Root the IS01
- Use qemu to build a Linux on an ARM environment
- Use the ARM Linux environment to build Node.js
- Copy the Node.js binary to the IS01
Rooting the IS01
This step requires root permissions on Android to get Node.js running, since we need to create a lib directory in which to place shared libraries.
To root the device quickly, we'll follow the directions in the MobileHackerz Blog: Getting Root Permissions for the au IS01, build 01.00.09(Japanese).
Following the directions there is an easy way to get root.
Things to watch out for:
- Turn USB debugging on.
Settings => Applications => Development => USB debugging
- Install ChainsDD Superuser.
Install it from the Android Market
- Try repeatedly until it works.
Using qemu to build Linux on an ARM environment
Using qemu allows us to emulate an ARM CPU, and build a virtual environment. We'll install debian on qemu, and from there build Node.js. This will get us a Node.js binary that can run on an ARM processor.
For details about building the qemu environment, I used Himajime’s site for ARM emulation.
The procedures are as follows. I'm using Ubuntu 10.4.
Install qemu
$ sudo apt-get install qemu qemu-kvm-extras
Get and execute the image
Now we grab the installed Debian image file.
$ wget http://people.debian.org/~aurel32/qemu/armel/debian_lenny_armel_small.qcow2 $ wget http://people.debian.org/~aurel32/qemu/armel/initrd.img-2.6.26-1-versatile $ wget http://people.debian.org/~aurel32/qemu/armel/vmlinuz-2.6.26-1-versatile
Run Debian on qemu
Execute the following command to start Debian on qemu.
$ sudo qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.26-1-versatile -initrd initrd.img-2.6.26-1-versatile -hda debian_lenny_armel_small.qcow2 -append "root=/dev/sda1" -m 256 -redir tcp:2222:10.0.2.15:22 -redir tcp:8124::8124
Keep the following in mind:
- The above has been formatted to display, but should be executed on one line
- Memory is allocated by specifying -m 256
- Connections via ssh over port 2222 on localhost are enabled by specifying -redir tcp:2222:10.0.2.15:22
- Access over port 8124 is checked by specifying -redir tcp:8124::8124
Using the ARM Linux environment to build Node.js
We can build Node.js using the usual method. We could also use nave to manage multiple versions of Node.js, or build as-is from the source code.
$ sudo apt-get install build-essential libssl-dev curl $ mkdir tmp $ cd tmp $ wget http://nodejs.org/dist/node-v0.3.1.tar.gz $ tar -xvzf node-v0.3.1.tar.gz $ cd node-v0.3.1 $ ./configure $ make $ sudo make install
The build options for the V8 engine need to be changed.
$ vi node-v0.3.1/deps/v8/SConstruct
# For node-v0.3.1, add '-march=armv5t' to 'CCFLAGS', around the 128th line.
126 'gcc': {
127 'all': {
128 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS', '-march=armv5t'],
129 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'],
130 },Use tar to archive the Node.js executable and shared libraries, and move them to Android.
$ tar pcvf node.tar /usr/local/bin/node /lib/librt* /usr/lib/libssl.so.0.9.8 /usr/lib/libcrypto.so.0.9.8 /lib/libdl* /usr/lib/libstdc++* /lib/libm.so.6 /lib/libm-2.7.so /lib/libgcc_s.so.1 /lib/libpthread* /lib/libc.so.6 /lib/libc-2.7.so /lib/ld-linux.so.3 /lib/ld-2.7.so /usr/lib/libz.so.1*
Get root on the terminal in Android, and execute the following commands:
$ su # tar xvf node.tar # /usr/local/bin/node --version v0.3.1
This is translated version of a Japanese article originally written by Tom Hughes-Croucher who is working in joynet.
This article was translated by @jedschmidt.
Special Thanks to @jedschmidt & Tom Hughes-Croucher!



