On TV.com: Why Is Everyone in TV High School SO OLD
BNET Business Network:
BNET
TechRepublic
ZDNet

Category: Programming

November 5th, 2009

New Epic 3D game engine toolset: Fabulous, fun, and free!

Posted by Ed Burnette @ 12:05 pm

Categories: Commercial, Community, Games, General, Licenses, Programming, Scripting

Tags: 3D, EPIC, Epic Games, Unreal Engine, Games, Personal Technology, Ed Burnette

This is big: Epic Games just announced the release of the Unreal Development Kit (UDK), a free edition of the Unreal Engine 3. It’s available to anyone interested in using 3D game engine technology, including game developers, students, hobbyists, researchers, creators of 3D visualizations.

The Unreal Engine is the technology behind popular PC and console games such as Gears of War, Unreal Tournament, Bioshock, Medal of Honor, Army of Two, and Batman: Archam Asylum. It’s one of the best game engines available today. See the UDK features page for more details on all of its capabilities.

Previously, if you wanted to use the Unreal Engine in your programs you had to enter into a very expensive agreement with Epic for access to the technology. A few years ago, Epic reportedly asked for up-front payments of as much as $8 million before your game was even developed! Now anyone can download the PC version of the UDK and immediately try it out without paying a cent or signing anything. As a former professional game developer, this is just amazing to me.

The Unreal community was going nuts this morning after the announcement. Some were shocked that Epic chose to release the entire engine and not just a crippled subset. As one poster put it,

“Man, one thing I hope you guys realize is that this is almost EXACTLY the engine build that we’re using here at Epic! You get every single feature that we’ve been using here that aren’t even in any games yet! We only got some of these features last week!”

Use of the new UDK is free for noncommercial purposes, but it can be licensed cheaply for commercial uses. For example you can use it to write a commercial PC video game and pay nothing up front and no royalties until your sales go over $5,000. See the licensing page for all the details. Currently, the free kit is only offered to PC users but Epic says console support is “under consideration”.

“Unreal Engine 3 has been used to create games in a wide range of genres, as well as military simulations, 3D architectural walkthroughs, animated movies and more,” said Epic VP Mark Rein. “Users are only limited by their imaginations. Go ahead, make something Unreal!”

Related articles:

October 29th, 2009

Android 2.0 (Eclair) FAQ

Posted by Ed Burnette @ 8:54 pm

Categories: Android, General, Google, Programming

Tags: Google Inc., High Tech Computer Corp., Phone, FAQ, Emulator, Android 2.0 Software Development Kit, Q., Q. Does Google, Telecom & Utilities, Ed Burnette

This is the last of a series of articles on Android 2.0 (”Eclair”). In part 1, we examined the user-oriented features of the new release, and in part 2 we discussed several features intended for developers. For this final part we’ll switch gears and answer some frequently asked questions about Eclair from both users and developers. Just for fun I’ve tossed in a few questions about the Motorola DROID as well.

By the way, if you have any questions that I didn’t cover, just ask them in the talkback area.

Q. When can I get Android 2.0?

The Android 2.0 Software Development Kit is available now. This includes an emulator that lets you run a virtual Android device on your desktop computer.

The first phone with Android 2.0 installed is the Motorola DROID, which will be carried by Verizon in the US starting November 6th. The second one will probably be Sony Ericsson’s Xperia X3/Infinity/Rachael . A release date for that model hasn’t been announced but it’s widely expected to be out before the end of the year as well.

Q. Will the Acer A1 Liquid phone with Snapdragon have 2.0?

Liquid is set to be released with Android 1.6.

Q. Can I upgrade my ___ (fill in the blank) phone to 2.0?

The only one we know for sure that will be upgraded is the HTC Hero.

It has been rumored that the first Android phone, the HTC G1/Dream, doesn’t have enough memory to run 2.0. However, I don’t think that will necessarily be the case. If you remember, they said the same thing about version 1.6. Like 1.6, 2.0 is a little too big to fit into the G1’s memory. But with a few optimizations, 1.6 was slimmed down enough to fit, so the current speculation is that 2.0 can be made to fit also. …

Continue reading: Android 2.0 FAQ >

October 28th, 2009

What's new in Android 2.0? Part 2: Developer features

Posted by Ed Burnette @ 12:17 am

Categories: Android, General, Google, Programming, Web Browsers

Tags: Device, API, SDK, Android 2.0, Android 1.6, KeyEvent, Ed Burnette

After months of speculation, Android 2.0 (”Eclair”) was officially released this week by Google. To be more precise, the Software Development Kit (SDK) for Android 2.0 was released, so that developers can get a head start on 2.0 development before the new devices with 2.0 hit the market. It’s not much of a head start, though, because the new devices may will be on sale as early as next week, or by the end of November at the latest.

[ See Motorola DROID on Verizon: Is this the iPhone killer you're looking for? for the first Android 2.0 phone. ]

This is the second of a series of 3 articles covering what’s new in this new release. Part 1 covered user features and availability, this part will cover developer features, and part 3 will try to answer any other questions you might have about the new platform. You should read part 1 first, if you haven’t already.

Should I stay or should I go now?

In the announcement of version 2.0 on the Android Developer’s blog, Xavier Ducrohet wrote:

Over the next few months, we expect to see more and more Android devices being released. These devices will be running Android 1.5, 1.6, or 2.0. We are also planning a minor version update of Android 2.0 towards the end of the year, and that will be the last update for 2009.

That’s right, folks - by the end of this year there will be 4 different versions of Android running in the field. It’s going to be a challenge for developers to keep on top of this. One thing seems clear - all Android devices will not automatically be upgraded to the latest version:

  • Android 1.5 provides the base functionality common to all versions of Android.
  • Android 1.6 adds support for screen sizes smaller and larger than HVGA 480×320.
  • Android 2.0 adds support for multi-touch and virtual keys, among other things.
  • Android 2.1 will probably be a minor bug-fix version.

With rare exceptions, 1.5/1.6 apps will run fine on 2.0 phones. Most apps will not need the new features that 2.0 brings, so they can continue to use the 1.5 SDK and get the greatest possible reach. Other apps can test to see if they’re running on 2.0 and only use new features if they are available. A few apps, however, will want to require 2.0 and rely on its features even if it means they can only be run on a few new devices (for now, anyhow).

Continue reading: What’s new in Android 2.0 for developers >

October 16th, 2009

First pics of Motorola Droid with Android 2.0 build (maybe)

Posted by Ed Burnette @ 1:00 pm

Categories: Android, Commercial, Community, Eclipse, General, Google, Programming

Tags: Multi-touch, Motorola Inc., BGR, Ed Burnette

The Boy Genius report has just posted a series of screenshots showing Android 2.0 running on what appears to be the upcoming Motorola Droid phone (also known as Sholes). The source is credible and the pictures look real, though it’s unclear how close it all is to being finished. Pricing and availability was not announced.

Small visual changes can be seen in several of the shots when compared to the stock Android 1.6 image. For example, some of the home screen icons are different, and the browser has a redesigned address line with space for the site’s “favicon”. The key lock screen looks quite different too. But it’s hard to tell whether these are due to Verizon customizations or changes in Android 2.0. The phone dialer looks different, but it also looks different on the Acer Liquid A1 phone which appears to be running 1.6. The only thing that screams “2.0″ is the Firmware version shown on one of the screen shots. You can see another view of it here. If it had said “1.6″ there I would believe it, chalking up the minor changes in the screen shots to vendor mods.

Read the rest of this entry »

October 5th, 2009

What's new in Android 1.6 (Donut)? Part 2: Developer features

Posted by Ed Burnette @ 6:50 am

Categories: Android, General, Google, Programming

Tags: OpenGL, Developer, Phone, Permission, API, Android 1.6, Telecom & Utilities, Advertising & Promotion, Marketing, Ed Burnette

Over the next several weeks, Android 1.6 will be rolling out to customers via an over-the-air update. In addition to a number of user-facing features such as a new Android Market and a faster camera application, the Donut branch has a few goodies for developers as well. This article explores how to get 1.6 right now, and the developer-facing features inside.

[ See also: What's new in Android 1.6? Part 1: User features ]

Continue reading: Getting 1.6 early >

September 2nd, 2009

Java Fast Sockets: Enabling high-speed Java communications on high performance clusters

Posted by Ed Burnette @ 10:37 am

Categories: General, Java, Programming

Tags: High-performance, Java Fast Sockets, Programming Languages, Java, Ethernet, Software Development, Software/Web Development, Networking, Ed Burnette

If you’ve ever tried to write a high-performance Java program that does network communication you know that it’s hard to do this in an efficient manner. Researchers at the University of A Coruña in Spain have created a library called Java Fast Sockets (JFS) that dramatically increases throughput while reducing latency compared to the normal Java socket and NIO APIs. And they did it while retaining compatibility with Java sockets.

In a paper published late last year they wrote:

This paper presents Java Fast Sockets (JFS), an optimized Java socket implementation on clusters for high performance computing. Current socket libraries do not efficiently support high-speed cluster interconnects and impose substantial communication overhead. JFS overcomes these performance constraints by: (1) enabling high-speed communication on cluster networks such as Scalable Coherent Interface (SCI), Myrinet and Gigabit Ethernet; (2) avoiding the need of primitive data type array serialization; (3) reducing buffering and unnecessary copies; and (4) reimplementing the protocol for boosting shared memory (intra-node) communication. Its interoperability and user and application transparency allow for immediate applicability on a wide range of parallel and distributed target applications. A performance evaluation conducted on a dual-core cluster has shown experimental evidence of throughput increase on SCI, Myrinet, Gigabit Ethernet and shared memory communication. It has also been analyzed the impact of this improvement on the overall application performance of representative parallel codes.

(click image for full size)

The open source library works by eliminating copies and unnecessary serialization steps. If you have the right hardware (RDMA Infiniband) or are communicating between two processes on a multi-core machine then the number of extra data copies made can drop to zero. Noticable improvements can be measured on traditional Gigabit Ethernet as well. A small native library provides operating system interfaces that are not available in the standard Java SDK.

For more information:

August 25th, 2009

ATI releases beta SDK with OpenCL CPU support

Posted by Ed Burnette @ 10:51 am

Categories: General, Programming

Tags: SDK, Beta, ATI Technologies Inc., CPU, GPU, Ed Burnette

ATI has announced the immediate availability of OpenCL 1.0 CPU support as part of the ATI Stream SDK V2.0 Beta. 32- and 64-bit versions are available for Linux, Vista, and Windows XP. OpenCL promises to unify multi-core programming for CPUs and GPUs from vendors like Intel, AMD/ATI, and NVidia.

At run time, OpenCL will detect what kind of hardware you have and run your OpenCL kernels across that hardware. If you have a quad-core CPU, it will use all 4 cores, and if you have a compatible GPU graphics card it will use that. In theory OpenCL will take the place of CUDA, CTM, Brook++, OpenMP, Intel TBB, and pthreads for many common compute-intensive workloads.

Unfortunately the current beta comes with some severe limitations. At this point it supports running code only on the CPU, not the GPU. Also, double precision floating point is not yet supported. Still, this SDK is the first opportunity most developers have had to start developing and testing OpenCL applications.

The final version of ATI’s SDK, with GPU support, is due out by the end of the year. NVidia should have their own OpenCL drivers out soon, and Apple’s Snow Leopard will be out soon with some kind of support. Hopefully by this time next year everybody will have access to production-quality drivers so ISVs can start considering this for commercial systems.

June 25th, 2009

Program for Android in C/C++ with the Native Development Kit (if you dare)

Posted by Ed Burnette @ 1:46 pm

Categories: Android, General, Google, Java, Linux, Programming

Tags: C, Library, Native Development Kit, C/C++, Programming Languages, Java, Software Development, Software/Web Development, Ed Burnette

Not a big fan of Java? Well, get over it, because that’s the primary and recommended way to write applications for Android devices. It’s portable and… what’s that? Android’s Dalvik Java VM not fast enough for you? Granted, it’s an interpreted engine and as of version 1.5 there’s no Just-In-Time compiler. But Dan promises… oh, can’t wait for the JIT to come out? Ok, ok, we’ll let you program in C if you’re really sure.

Introducing the Android Native Development Kit (NDK). With it, you can implement *parts* of your application using native-code languages such as C and C++. You’re familiar with the Java Native Interface (JNI), right? JNI lets you load a shared library and call C code from within Java. The NDK lets you compile and build those libraries for the ARM CPU chip used in all *current* Android devices.

The NDK provides:

  • A set of tools and build files used to generate native code libraries from C and C++ sources
  • A way to embed the corresponding native libraries into application packages files (.apks) that can be deployed on Android devices
  • A set of native system headers and libraries that will be supported in all future releases of the Android platform, starting from Android 1.5
  • Documentation, samples, and tutorials

Users downloading your program from the Market will not be able to tell whether or not you used native code. In fact, some apps already on the Market use it. However, native code is not for everyone. Google engineer David Turner writes:

Keep in mind that using the NDK will not be relevant for all Android applications. As a developer, you will need to balance its benefits against its drawbacks, which are numerous! Your application will be more complicated, have reduced compatibility, have no access to framework APIs, and be harder to debug. That said, some applications that have self-contained, CPU-intensive operations that don’t allocate much memory may still benefit from increased performance and the ability to reuse existing code. Some examples are signal processing, intensive physics simulations, and some kinds of data processing.

You have been warned. Stay away from the NDK unless you really need it. Try optimizing your Java code first. Try profiling. Acupuncture, cold compresses, anything but… what did you say? “Shut the…,” hey, there’s no need to be rude. Have at it.

June 24th, 2009

Eclipse Galileo release train now arriving at gate 3.5

Posted by Ed Burnette @ 9:04 am

Categories: Community, Eclipse, General, Java, Programming

Tags: Eclipse, Eclipse Galileo, Java Development Tools, Open Source, Development Tools, Software Development, Software/Web Development, Ed Burnette

Besides death and taxes, there is one other certainty in the life of a software developer: slipping schedules. Every year, though, Eclipse continues to defy that expectation by releasing a major new version in late June. Today, the Eclipse Galileo release train arrived exactly on time, for the 6th year in a row.

Galileo is a synchronized release of 33 separate projects all under the umbrella of the Eclipse Foundation. Over 380 committers from 44 different organizations participated to make this release possible.

Many of the projects in Galileo are tools for developers, for example the Java Development Toolkit, C Development Toolkit, Memory Analyzer, Web Tools, Subversion, and of course the Eclipse Platform (version 3.5). Others are more oriented towards end users such as the Business and Reporting Tools.

For 2009, a new category of projects has coalesced under the name “Eclipse Runtime Technology”. This includes Equinox (Eclipse’s implementation of the OSGi standard), the Eclipse Communication Framework, Rich Ajax Platform, Riena (modular business application platform), Swordfish (SOA framework), and EclipseLink (persistence services).

Another major focus of the 2009 release is modeling tools. New innovations in Galileo include Xtext (for creation of domain specific languages) and Connected Data Objects (distributed shared models with transactions).

“The release train continues to be a great achievement of the Eclipse community,” explained Mike Milinkovich, Executive Director of the Eclipse Foundation. “Galileo demonstrates that large distributed software development can be done on a predictable schedule. This predictability makes it possible for our user and adopter community to quickly adopt new releases from Eclipse.”

Eclipse Galileo with Eclipse Platform 3.5 is available immediately from the eclipse.org download site. This year, downloads should fly thanks to a partnership with Amazon Web Services. Package sizes range from 79MB to 367MB depending on what components you need.

Related articles:

June 16th, 2009

Mobile megahertz madness heats up

Posted by Ed Burnette @ 11:35 am

Categories: Android, Apple, General, Google, Programming, iPhone

Tags: Apple iPhone, Mobile, Samsung Electronics Co. Ltd., Battery, Apple Inc., HTC Magic, Processors, Semiconductors, Hardware, Components

The competition is heating up in the market for smartphones and other mobile devices. Literally. As competitors try to leap-frog each other in performance we’re seeing a repeat of the desktop computer’s Megahertz arms race, only this time the palm of your hand. You might want to put on some oven mitts.

The story so far:

Continue reading: Megahertz madness >

Ed BurnetteEd Burnette is a professional developer and author of several articles and books about computing including Hello, Android: Introducing Google's Mobile Development Platform, 2nd Edition. For disclosure of Ed's industry affiliations, click here or to view his full profile click here.

Email Ed Burnette

Subscribe to Dev Connection via Email alerts or RSS.

SponsoredWhite Papers, Webcasts, and Downloads

advertisement

Recent Entries

Most Popular Posts

Premier Vendor Content Whitepapers, webcasts & resources from our Power Center Sponsors

Archives

Favorite Links

ZDNet Blogs

White Papers, Webcasts, and Downloads

SmartPlanet

  • Thought-provoking progressive ideas on diverse topics that intersect with technology, business, and life, and matter to the world at large. Visit SmartPlanet
  • More from IBM
  • Innovate your business' process model, play against the market, compete against others on our scoreboards and WIN! Try INNOV8 2.0: A BPM Simulator
  • Enabling Real-World Business Transformation through IBM Service Management Read the EMA Analyst Report
Click Here