TwinTechs

Dream, Create, Deliver…

Twin Tech Guru Gus Holcomb Speaks at InsideMobile

August 2nd, 2009 Written by: julie.colwell · Android, Flash Catalyst, J2EE, Java, LiveCycle, Mobile Devices, News, RIA

Twin Technologies’ Gus Holcomb spoke at the first ever InsideRIA conference this week in San Francisco.  Java engineers interested in learning how to program iPhone apps came to hear his presentation.  

Gus says people are often intimidated by programming for the iPhone  because the language is weird and while there are a number of tools you can use, selecting the right one for what you want to do can be tricky.  Gus talked about what makes the iPhone  language different,  the language features you need to know about.  By using the right tools, what might initially look daunting, gets a lot easier when you look at how to link objects together.  

Gus showed two code examples… enough to get people to get out and start working on it, so they knew enough to start getting their programs out.   Since the audience was already fluent in Java, Gus used Java to prove concepts that appear tricky on the surface so he could relate them to familiar material.  

Look for Gus’ lunch and learn on iPhone development coming this fall!

→ No CommentsTags: ····

Unlocking Android Just got Slashdotted

June 29th, 2009 Written by: Robi Sen · Android, books

We were pleased to see that Unlocking Android, for which Robi Sen and Jesse Dailey contributed to, just got slashdotted.

→ No CommentsTags: ·····

Unlocking Android in top 10 books at JavaOne

June 11th, 2009 Written by: Robi Sen · Android, Uncategorized

Recently manning sent out a report from Java One which said:

“Unlocking Android showed up in the top 10 [of books sold at Java One Bookstore]–a good sign for Google’s entry into the mobile app space. And it’s no surprise that a couple of iPhone books, including iPhone in Action, also made the list. With JavaFX and Microsoft  Silverlight also making a run at mobile development, along with new developments in location based services, mobile aps are clearly here to stay.”

Amazon.com is also showing a positive acceptance of Unlocking Android by the user community.  If you have read the book please let us know what you think and to let you, the readers know, we are keeping the code up to date with 1.5 specific code changes.

→ No CommentsTags:

SVP Robi Sen Guest Blogs for InsideRIA.com

May 14th, 2009 Written by: julie.colwell · AJAX, Android, Mobile Devices, News, RIA, Web 3.0, books, iPhone/iPod Touch

Senior Vice President and Managing Partner Robi Sen launched his blog series, Building Higher Performance RIAs for Smart Phones today on InsideRIA. The series will address the challenges of optimizing software for mobile platforms.

Today’s smart phones are not only used for making calls, taking pictures, and listening to music; now people are using their phones to do business, build presentations, make quick edits to important files, and even surf the web.

Yet contrary to what the commercials would have you believe, few smart phones provide a web experience equivalent even to a netbook. In large part this is because web application developers rarely consider the memory and CPU constraints of smart phones. At the same time, an increasing number of people are using their smart phones as a secondary or even primary method for accessing the web (http://www.theiphoneblog.com/2009/03/02/iphone-mobile-browser-share-67/). This becomes problematic because most websites are slow to download, hard to navigate for mobile users, and, most importantly, often take a long time to render, which is driving more and more mobile users away from the interactivity and power that Rich Internet Applications promise to deliver. The answer to this dilemma is that developers need to create RIAs, generally using AJAX, that are specifically designed and optimized for mobile phone users. In this series of blog posts, we are going to look at how to make applications that are not only rich and powerful, but respond quickly and offer users the experience they have come to expect from the web.

Leveraging its digital media and RIA expertise, Twin Technologies is creating web applications for the mobile platform.  These are optimized for use on mobile devices and offer the  functionality of desktop software and the agility of RIAs so users can access the material they need whenever they need it.

→ No CommentsTags: ·········

Unlocking Android Available

April 27th, 2009 Written by: Robi Sen · Android, Mobile Devices, Uncategorized

 

Twin Technologies’ Robi Sen and Jesse Dailey have both recently finished work on the book “Unlocking Android” from Manning press. Robi was a co-author (along with Charlie Collins and Frank Ableson) and Jesse was the technical editor. Unlocking Android is currently the most up-to-date discussion of Google’s Android SDK and covers SDK 1.+. Amazon is now taking orders that should ship around April 28th, or you can just pop into your local book store and pick up a copy. If you’re interested in developing on Android, check the book out and please let us know what you think of it.

→ No CommentsTags:

Unlocking Android Sample Code

December 25th, 2008 Written by: Robi Sen · Android, Mobile Devices, books, writings

Charlie Collins, has setup a Google Code project with updated source for the Unlocking Android book here.  There are several really interesting projects in the source and all the code is running and working on the lattest 1.0 builds of the SDK.  Whats great is the authours will be actively updating the code and you can leave comments at the Manning forum if you find issues.

→ No CommentsTags: ····

Frame by Frame XML Animation with Google Android

June 23rd, 2008 Written by: Robi Sen · Android, Mobile Devices

One major issue I ran into when working on the new manning book, Unlocking Android, was trying to use the Google Android Frame by Frame animation example and API from Google. It appears to be outdated and several people seemed to be having this issue. Frank Abelson, the main author, lent me a hand and updated my code to work well. Here is the source so hopefully others can overcome their problems with the API (note I am we are using the latest version of the SDK (m5-rc15). Anyways here is the code and the actual Eclipse project is attached.

 

 simple_animation.xml

 <?xml version=”1.0″ encoding=”utf-8″?>
<animation-list xmlns:android=”http://schemas.android.com/apk/res/android” id=”selected” android:oneshot=”false”>
<item android:drawable=”@drawable/ball1″ android:duration=”50″ />
<item android:drawable=”@drawable/ball2″ android:duration=”50″ />
<item android:drawable=”@drawable/ball3″ android:duration=”50″ />
<item android:drawable=”@drawable/ball4″ android:duration=”50″ />
<item android:drawable=”@drawable/ball5″ android:duration=”50″ />
<item android:drawable=”@drawable/ball6″ android:duration=”50″ />
</animation-list>

 Main.xml

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
>
<ImageView android:id=”@+id/simple_anim”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:gravity=”center”
android:layout_centerHorizontal=”true”
/>
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Hello World, XMLAnimation”
/>
</LinearLayout>

 

XMLAnimation.java 

package com.msi.manning.chapter10.xmlanimation;

import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.widget.ImageView;
import java.util.Timer;
import java.util.TimerTask;

public class XMLAnimation extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);

ImageView img = (ImageView)findViewById(R.id.simple_anim);
img.setBackground(R.anim.simple_animation);

MyAnimationRoutine mar = new MyAnimationRoutine();
MyAnimationRoutine2 mar2 = new MyAnimationRoutine2();

Timer t = new Timer(false);
t.schedule(mar, 100);
Timer t2 = new Timer(false);
t2.schedule(mar2, 5000);

}

class MyAnimationRoutine extends TimerTask
{
MyAnimationRoutine()
{
}

public void run()
{
ImageView img = (ImageView)findViewById(R.id.simple_anim);
// Get the background, which has been compiled to an AnimationDrawable object.
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

// Start the animation (looped playback by default).
frameAnimation.start();
}
}

class MyAnimationRoutine2 extends TimerTask
{
MyAnimationRoutine2()
{
}

public void run()
{
ImageView img = (ImageView)findViewById(R.id.simple_anim);
// Get the background, which has been compiled to an AnimationDrawable object.
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

// stop the animation (looped playback by default).
frameAnimation.stop();
}
}
}

XML Animation

→ No CommentsTags: