Archive

Posts Tagged ‘android’

Windows Phone 7 Resources

November 15th, 2010 1 comment

I’ve been busy hacking away the past month or so with Windows Phone 7 and Android. They’re both very different when it comes to the out of box developer experience – with Microsoft tools being supremo right now. Thought I’d contribute some resources when it comes to (on this post) writing Windows Phone 7 Applications. I’ll try and keep this up to date with new things I find.

Feel free to comment with other great resources.

Last Updated: 16th November, 2010

Books/eBooks

Online Resources

Developer

Developer Frameworks/Tools

Developer Components/Controls

Designer/UX

Hardware

{lang: 'en-GB'}
Share

I’m still here

September 13th, 2010 No comments

Well its been a while since I last posted, but I’m still here. Infact I’ve just realised that xkcd has stolen my plans for world domination.

XKCD - Password Reuse

I’m only kidding, what would I do with all that information? I have enough princes offering me the opportunity to help them move money out of West Africa! Alas, OpenSolaris is now dead (RIP dear friend), we’re eagerly awaiting word of OpenIndiana and The Illumos Project to see where things are going to go. The Android momentum has picked up and Windows Phone 7 is just around the corner!

I’ve also changed my jobs and now I’m working for Readify as a Senior Developer. A company full of talented bright people (the author of Autofac or Paul Stovel of Magellan fame for instance) & skills in so many different areas I’m ashamed to be even be seen in the office – which is a great thing because we’re a mobile office (some day!). You might even see me at a few local Australian developer events now and I’ll be sure to advertise them when I come across any.

Essentially, its back to the days of being more involved with the developer community, times have changed since Developerfusion (for one, we have StackOverflow) and getting into up and coming technology – which this time around is Windows Phone 7. So I’ll be starting a series of posts on Windows Phone 7 as well as Android soon.

http://www.illumos.org/
{lang: 'en-GB'}
Share

Google Nexus update Froyo officially available!

June 30th, 2010 1 comment

Quick note that the official release of Froyo (Android 2.2) is finally trickling down to Google Nexus One users. You’ll get it by the end of the week if not already. You can also download the officially signed release and update via your SD card alternatively.

UPDATE (01/07): The link above is for updating from the Google-IO Froyo release to the final.

The full OTA release is here:
http://android.clients.google.com/packages/passion/signed-passion-ota-42745.dc39ca1f.zip

The update from Froyo Google-IO to Froyo-OTA:
http://android.clients.google.com/packages/passion/signed-passion-FRF83-from-FRF50.38d66b26.zip

  1. Rename the signed ZIP file to “update.zip” and upload it to your SD Card.
  2. Power off your Nexus device.
  3. Turn it on with the “Volume Down” button pressed.
  4. When the boot loader appears, select “Recovery” using the Volume Up/Down keys to navigate and the Power button to select.
  5. Once the Nexus has rebooted, the screen will display an exclamation mark with Android. Press and hold down Power and Volume Up, it’ll take a bit of time to register.
  6. Navigate to “Apply SDCard:update.zip” and wait for the verification to complete and flash your phone.
  7. After a bit of time the phone will reboot and launch your cultured Froyo release.
  8. Verify by going to Settings > About Phone. The build number should be FRF83.
  9. Bon Appetit!

As mentioned in my previous post from a couple of months back, this release packs a bit of punch! Yum!

{lang: 'en-GB'}
Share

Google opens up VP8 with WebM Project

May 20th, 2010 2 comments

You kind of knew it was going to happen but the mighty Google has open-sourced On2’s VP8 codec and set it free (in the form of a BSD-style license). Don’t forget to read an intro to the WebM VP8 SDK and get the code (the files). Some of the companies backing it and the ideas behind WebM are posted on the first blog entry.

So what is WebM?

WebM includes:

  • VP8, a high-quality video codec we are releasing today under a BSD-style, royalty-free license
  • Vorbis, an already open source and broadly implemented audio codec
  • a container format based on a subset of the Matroska media container

Wonder what MSFT and Apple are going to do? In either case, interesting times ahead for video.

Oh hai, I almost forgot, from their FAQ, some interesting points – besides the Licensing bits.

If I have a video card that accelerates video playback, will it accelerate VP8?

The performance of VP8 is very good in software, and we’re working closely with many video card and silicon vendors to add VP8 hardware acceleration to their chips.

Will WebM files play on my TV, set-top box, PVR, etc.?

Stay tuned! The WebM community is working with hardware manufacturers to bring WebM support to a wide range of devices.

When will other Google products support WebM and VP8?

WebM support in Android is expected in the Gingerbread release (currently planned for Q4, 2010). We expect many other Google products to adopt WebM and VP8 as they prioritize it with their other product requirements. Keep an eye on the WebM blog for announcements.

Man, Google rocks!

{lang: 'en-GB'}
Share

The Gospel according to Jobs: Thoughts on Flash

May 3rd, 2010 2 comments

Got to give it up for Steve Jobs, he responds to his followers when things are a muck in his church. But putting aside my dislike for Apple antics, I do agree with most of his comments.

Flash was great in the early days, we had the birth of the XaoXao videos and interactivity on the web, but in the past 5-6 years, the hip cool designers of the world have transformed the browsing experience to be  fully Flash driven – which drives me nuts. Do they not realise that content would not be indexable by search engines nor useful for anyone who doesn’t have Flash? Whats more, I’m not after their fancy dancy effects, I’m after content – the exception of Flash being used for animation in addition to content (like slideshows, video presentations or marketing bits) or navigation around a site.

One recent (2006) example is the Eclipse home page, back when I got the AVN6000 installed, I wrote a little blurb on the (then) DeveloperFusion blogs and sure enough took the bulk of the traffic for the keyword AVN6000. The entire site was flash driven up until 2008 and no-one had indexed the content of the site.  As the unit was installed a week after release, it got quite a bit of traffic – nice for me.

I have FlashBlock installed to avoid uninvited flash content (especially annoying opening up a bunch of news articles and one of them is playing a video!) and have no _real_ need for Flash on my mobile devices – youtube works. Android 2.2 (Froyo) will ship with some flash support but it doesn’t excite me as much as the JIT functionality. Gotta JIT that, Gotta JIT that

There are a few points you can criticise Jobs on (HTML5, CSS+JS is no where near the functionality of Flex nor Silverlight – gasp! but it has time and momentum to grow) and everything about Apple is proprietary (sure they have a few good open-source projects – DTrace & WebKit) but their business nature to lock you into fruity loops. I still haven’t got a decent way of avoiding installing iTunes if I want to use an iPod which is the only device my (ironically) AVN6000 supports. As for the latter, overall a job well done I say and well justified move for not having Flash on their devices.

Just like to point out one thing having come from working with the On2 VP6/VP7 bits whilst at Vividas.

Although Flash has recently added support for H.264, the video on almost all Flash websites currently requires an older generation decoder that is not implemented in mobile chips and must be run in software.

What he’s talking about here is that Adobe utilises the On2 VP6 for their video rendering in Flash (as of Flash Player 8) and as such there’s no standard accelerator for the On2 codec (yet!) – its all CPU bound (and prior to 2008 quite intensive to decode!). The VP6 and VP7 codecs (though quite differently utilised) powered (or still powers) the Vividas format (could be different now, I left in 2008). Compared to Flash Player 7, the enhancements that On2 VP6 brought to Flash Player 8 effectively meant that a lot of media was encoded optimised for VP6. Newer versions of Flash Player 9 Update 3+ support h264 however.

Don’t forget that JavaFX also utilises VP6. While you’re there, checkout Gosling rant on Android and his thoughts on the Apple OS X Secret API hooks for the JVM.

With Google having purchased On2 Technologies earlier this year, there’s a bit of excitement and worry about the future of VP8 and whether it will become open-source and what will happen to h264 or Theora (a derivative of On2 VP3 which On2 open-sourced).

Having said all that, I can’t leave you without leaving something to ponder about when it comes to Apple and its many evangelists enthusiasts – maybe you’re one of them?

It’s funny because its true (!), don’t Think Different. Be different 🙂

I guess its time for Adobe to chime in and see their take on things, it better be something flashy!

{lang: 'en-GB'}
Share

Multi-tasking in style on the Android Platform

May 2nd, 2010 No comments

An interesting article posted on the Android Developer Blog from Dianne Hackborn (born to hack!) who discusses the way multi-tasking works on Android. Recommended reading as it goes beyond how it works (and why!) and offers some suggestions on how to make the most of it!

{lang: 'en-GB'}
Share

The move to Android from WinMo and Android 2.2 (aka Froyo) coming soon!

April 26th, 2010 1 comment

I switched from using Windows Mobile Phone devices to the Android platform a couple of months back with the Google Nexus One. With Microsoft following the lead of Apple in closing everything they’ve kept open for so long, there wasn’t much to look forward to with Windows Phone 7 (I was almost going to work on that team had I moved to the US a couple of years ago). Though, I’ve started writing for the new WP7 series via work, I’ve felt it was time to move on. Android is a breath of fresh air, I’ve toyed around with the G1 but the Nexus (whilst still a HTC device) is a joy to use as is the operating system. I actually have two Nexus’s these days, one is kept stock as my primary phone, whilst the other is using the Cyanogen mod.

Windows Mobile was never touch friendly – and rightfully so, as the operating system was written for stylus usage as a primary goal,  then later HTC (via TouchFlo3D) bolted on a new UI to bring touch friendly UI candy for Windows Mobile. Though Windows Phone 7 brings this to the table (with touch being a primary design goal), I’m ashamed to say they’ve taken what WinMo was good for – being easy to customise and cook ROMs for and turned it to the Apple-esque closed ecosystem and Jobs likes being in control of his herd.

The great thing about the Android is that its got potential and its constant source of updates are very welcome (probably the fastest growth for a platform thus far!), the AppStore has increased exponentially the past few months (which is good and bad – useless app count increases) as users begin to crawl out of the rotting Apples and the stained Windows phones. Another key is that all your Google services are integrated nicely. I’ve given up most of my daily things to Google – email, calendar, contacts… They’re all “in the cloud” and (for now) synchronisable and safe (not that you couldn’t do this with the iPhone or Windows Mobile).

The next release of Android (2.2) is dubbed Froyo and brings some very funky new updates.

JIT Compiler

Probably the biggest addition in this release but first and foremost, the design and architecture of the Android platform is a bit different to others. Forgetting the native development paradigm for Android, you write applications utilising the Java language.

From the Android Developer Guide:

Android applications are written in the Java programming language. The compiled Java code — along with any data and resource files required by the application — is bundled by the aapt tool into an Android package, an archive file marked by an .apk suffix. This file is the vehicle for distributing the application and installing it on mobile devices; it’s the file users download to their devices. All the code in a single .apk file is considered to be one application.

In many ways, each Android application lives in its own world:

  • By default, every application runs in its own Linux process. Android starts the process when any of the application’s code needs to be executed, and shuts down the process when it’s no longer needed and system resources are required by other applications.
  • Each process has its own virtual machine (VM), so application code runs in isolation from the code of all other applications.
  • By default, each application is assigned a unique Linux user ID. Permissions are set so that the application’s files are visible only that user, only to the application itself — although there are ways to export them to other applications as well.

It’s possible to arrange for two applications to share the same user ID, in which case they will be able to see each other’s files. To conserve system resources, applications with the same ID can also arrange to run in the same Linux process, sharing the same VM.

In order to achieve this, the Android platform uses the Dalvik Virtual Machine (which is register based as opposed to the more common stack based machines) suited for embedded devices – low memory footprint, run multiple VMs by offloading the process isolation, memory, threading and IO management to the operating system (Android).

The caveat with the Dalvik VM is that the performance is not ideal (it has no JIT compiler) and (by the looks of it) needs to improve garbage collection process (fragmentation is a concern currently). If you’re keen on understanding more about the Dalvik VM, checkout a talk from 2008’s Google I/O about Davik VM Internals (1:01:34). They also realise the performance implications of the runtime.

However, back in November 2009, Bill Buzbee commited the Dalvik JIT code to the Android platform bringing JIT compilation which (if you’ve been using any of the CyanogenMod’s lately) makes a very noticeable and welcome performance boost to all applications.

The (trace-based JIT) compiler detects frequently executed traces (hot paths & loops) and emits optimised code for the platform as necessary, ensuring that minimal heap memory is utilised without the use of any persistence storage – which is what you want in an mobile device!  Trace based JIT compilers are very common today, the TraceMonkey engine in Firefox is an example where dynamic languages (like Javascript) have had a boost through their use. Take a look at SPUR which is a Microsoft research project to bring trace-based JIT Compiler for CIL.

Whilst included in Android 2 it was never enabled, and by the looks of it, Android 2.2 will see this being enabled and stable 🙂

Linux Kernel update 2.6.32

The upgrade from 2.6.29 to 2.6.32 should bring a trimmed memory foot print and some performance tweaks as well as 802.11n support on devices such as the Google Nexus (yay!)

Flash 10.1 Support

There’s lots of hoo-haa about Flash support on iP*’s and other devices, I’m not too concerned about having it on my phone (less annoying ads browsing the interwebs) but it seems Google will bring Adobe Flash 10.1 support to Android. For some, it was a deal breaker when it came for choosing a phone. I guess now its a matter of ooh-ah!

Automatic application updates

Currently, updating Android applications is quite tedious – updating one application at a time, but it seems a newer update will automatically ensure that your applications are up to date – which is good and bad, I’d like to control when and where it decides to eat up my 3G data for updates (Eg. Update when on wireless)

Hopefully a rollback feature will also be implemented in case the newer versions break things.

Other updates

  • OpenGL ES 2.0 enhancements which game developers will find enticing.
  • The ability to control the color of the trackball (which currently flashes white)
  • Enabling of FM Radio
  • Fixes for resolution and “crazy screen” woes.

When will we be getting this? No-one knows, but suggestions are around the time for the Google I/O event on May 19th.

Next up, I’ll write about some of the applications that I’ve come to use daily, in the meantime you can see the apps running on my Android by checking my AppBrain account. Later some development articles on Android too 🙂

{lang: 'en-GB'}
Share

Ars reviews the Nexus One!

January 14th, 2010 No comments

Excellent review of the Google Nexus One on ArsTechnica – as always. Don’t forget that the Nexus One SDK got released too recently.

Impressive! Definately awaiting the launch here to get one to replace the Windows Mobile phones. Whats even more impressive is the fact that it ships with a 1Ghz Snapdragon (ARM Cortex A8) processor with 512Mb of memory! Smooth cat!

{lang: 'en-GB'}
Share

xkcd: Android Girlfriend & Latitude

June 12th, 2009 No comments

xkcd android girlfriend

xkcd Latitude

Jai-ho my web 2.0 pals, its friday!

{lang: 'en-GB'}
Share