|
E28 is a company that’s making Android handsets. Here’s a video of their handset in action running some Android API demos. Looks pretty good!
More information on this handset and demo can be found here. |
| Navigation: Go to top of page | Go to The Blog Index | Related Categories: Google, Mobile/Wireless | Related Tags: Android Comments: Be the first to write a comment |
| « Blackberry 9000 Preview | Coding Quickie – Android "SwingWorker" functionality » |
- Mobile/Wireless
Android vs. LiMo: What’s the difference?
I’ve been developing software for BlackBerry for the last year or so and have been keeping an eye on Android to see if it will go anywhere. Currently, Android has enjoyed limited success in a very specific demographic, which represents a small fraction of the marketshare that RIM and Apple have. So while the T-Mobile launch of the G1 has been successful for the modest goals that were set, I don’t think it represents a big accomplishment. However, all I’ve read on tech blogs and news outlets is how there are going to be around 10 new handsets for Android this year. This has been the buzz for more than 1/2 a year now... well, it turns out that slowly these rumors have stopped saying Android handsets, and saying Linux handsets... so I figured Android is basically Linux with a JVM and so they were talking about Android. Well, I was wrong. Most of the new handsets that have been announced using Linux Mobile, which is NOT Android.
HTC G1 available on T-Mobile from Oct 22 2008. Lots of details, pictures, and videos...
Android phone - HTC Dream spy shots
Spy shots of HTC Dream coming soon to T-Mobile.
Yet another new web browser - Google Chrome
Yet another browser, this time from Google. Chrome has lots of features that should really be part of all other browsers...
Google's Protocol Buffer technology - Protocol Buffers are similar to XML schemas, that you can compile from a language neutral schema definition into code (in different languages like Java, C++, and Python). However, there's no XML involved here, it's a lightweight binary encoding/decoding mechanism. You create your schema definitions in a .proto file and you compile that into Java code that you include with your applications (services, and mobile apps).
Next Generation Geothermal Systems
More about EGS, supported by MIT, and being invested in by Google.
Android SDK to get "significant updates" - Android Developer Challenge deadline extended
Google has apparently been paying attention to the widespread developer frustration with their Android SDK and has announced that they will be releasing a major update to the Android SDK "in the next several weeks". Google has also decided to extend the deadline for their Android Developer Challenge.
New Review - Google Android SDK and Platform
I've always been passionate about mobile user experiences, apps, services, infrastructure, and have spent many years working to create platforms using various technologies. I was really excited when the iPhone was announced with the availability of OSX... there was so much potential for that device to be a game changer for mobile. However, without the official inclusion of an SDK or a way to give 3rd party developers/ISVs a way to load software on to the device, it eliminated a lot of possibilities, on what 3rd parties could do with the device and platform, which is a shame. With the press releases that Google made about Android, it is marketed as an "open" platform, and without the restrictions that Apple places on the iPhone. It's more "open" than Microsoft's Windows Mobile and RIM's Blackberry. So there is hope for this to be a good platform for developing mobile apps and services on. Or is it? In this white paper, I'm going to cut through the marketing rhetoric and do an in-depth analysis of the merits of the Android SDK and platform and discuss the problems that might arise due to it's openness and the fact that at the time of this writing, there is not a single commercially available wireless smartphone or phone running Android. I'm not going to repeat information that you can get from Google's Android website, which I reference where necessary for background information, and more indepth information.
Google Android Challenge Terms
Terms and conditoins for the Android Developer Challenge released.
These are some of my initial thoughts on Google's Android, after having spent a few days working with the SDK.
Dion Almaer talks about GWT, Google Gears, Java and JavaScript
Dion Almaer talks about GWT, Google Gears, Java and JavaScript
GWT version 1.4.61 has been released.
New Tutorial - Introduction to GWT
The first in developerlife.com's series of GWT tutorials has been posted. This first tutorial is a technical overview of GWT.
Google births an Android - should anyone care?
This Monday, to the disappointment of many, Google made their mobile phone plans public and the mythic gPhone was nowhere to be seen. Instead, Google announced an Open Source mobile phone operating system/platform called Android. Google also announced the Open Handset Alliance, a group of more than 30 companies including 7 worldwide mobile operators and 4 handset manufacturers.
Google joins the Social - unveils OpenSocial
Google has just released OpenSocial, their play at getting into the Social Networking scene. OpenSocial provides a common set of APIs for social applications that want to take advantage of multiple social networks.
Review of using AmazonWireless to purchase new smartphone
Update of the mobile marketplace
Choose the right mobile platform
The first step is for you to select the right mobile platform for your mobile initiatives. The following table outlines the major differences between the major platforms and can act as rough guidelines to help you match your requirements to the right platform for you.
From our vast experience building mobile apps for all platforms, and training others on how to do so as well, we have developed this 3-step Mobile Starter Kit to help you get started on your mobile journey.
We use the Zen Application Framework exclusively to build our mobile applications, and so can you. Zen is free for all ScreamingToaster Consulting clients, and its source code comes as part of the deliverables at the end of every consulting project. Zen training courses are available upon request to consulting clients only. ScreamingToaster has a commitment to open source software (OSS) and democratizing knowledge for the good of the developer community, and humanity as a whole, which is why we give Zen away for free to our consulting clients. Our clients can make changes or additions to the applications we build them, and they can also use Zen to build applications in-house after taking our BlackBerry developer training courses.
RainOrShine is a free location-based weather application for BlackBerry. It provides real-time, current weather conditions for your current location. Using ScreamingToaster technology, RainOrShine also delivers location-based real-time updates for any Wikipedia information available for your current location, and movie show times for theaters near your current location. RainOrShine is a showcase of location-based services (LBS) possible on the BlackBerry platform, brought to you by ScreamingToaster.
As the CTO of ScreamingToaster, I work a lot with of organizations that need help rolling out BlackBerry projects, both B2B and B2C. We provide them with guidance, architecture recommendations, training, and implementation services. They tell me how mobile apps are crucial for their business to remain competitive, and we advise them on how mobile can empower their business. Based on a rough idea of what our clients are looking to get out of mobile, we create a mobile roadmap comprised of small, bite-sized steps that can be implemented incrementally and clients can pay as they go. We take a bite-sized approach not only with planning and implementation, but also with payment because we understand budgets are tight. We advise & guide our clients on things such as: the advantages & limitations of each mobile platform (BlackBerry, Android, iPhone), architecture, user interfaces & user experience design, and enterprise information integration (EII) and services orchestration for both B2B/B2E and B2C mobile apps. We also advise them on how to avoid the common pitfalls around BlackBerry (such as the total lack of support from RIM, OS proliferation & incompatibility) in order to save them time, money, and political capital. All of this advice ensures their critical first mobile app is successful, which will give them the political capital to push the mobile agenda. We support and empower our clients every step of the way - from implementing their first application, to administering BlackBerry development training courses & post-training “mentor consulting”, to deploying their apps in the field. We are a solid partner our clients can bank on.
What is an enterprise BlackBerry app?
In this article, I am going to define what a BB app is. I will define the building blocks of every service-enabled BB app: the UI, enterprise information integration, and service orchestration. And I will tell you why there is no 80% complete, template-based, simple, BlackBerry app.
As the CTO of ScreamingToaster, I work a lot with of organizations that are rolling out innovative mobile projects providing them with guidance, architecture recommendations, training, and implementation services. All of our clients have attempted and failed at rolling out mobile initiatives - mobile is not their core competency, they just want to leverage mobile technology to enhance their business operations. Because mobile is new, there are a lot of pitfalls that will guarantee failure. They come to us to guide them on a path away from the pitfalls, and to success.
New Tutorial – Working with BlackBerry list fields
This tutorial will show you how to create non-trivial lists using ListField. I will create a sample program that allows you to create, remove, update, delete the contents of a list (that’s backed by a Vector). The list field contains rows of selectable list items. It allows you to display a list of items, and load this list of objects from an array or vector. When using a ListField you have to provide an implementation of the ListFieldCallback interface to perform drawing tasks. This callback constitutes the view and model (using MVC terminology). The controller is the ListField class.
New Tutorial - Creating a BlackBerry HTTP Connection
This tutorial will show you the various ways to create an HTTP networking connection from your BlackBerry device to an HTTP server (web service, servlet, etc). The complicated part about doing this on a BlackBerry is deciding which transport you would like to use, and which transport you can use.
New Tutorial – BlackBerry field borders and backgrounds
This tutorial will show you how to create field (component) backgrounds and borders (decoration). Each field can have a border and a background property. You can use the border to space out fields in your UI, and you can use them to add whitespace. The background allows you to set the background color property of your field and make it fit the look for your app.
New Tutorial - Creating a BlackBerry custom field
This tutorial will show you how to create a very simple custom field (component) using the RIM API. If you're familiar with Swing, then this code will not be a surprise to you. There are some similarities between AWT/Swing and RIM UI API.
New Tutorial - Using the BlackBerry gauge field to display progress
This tutorial will show you how the use the gauge field to show progress in your apps. This is useful when your app is performing long running tasks that need to report feedback to the user. The gauge field is a horizontal component that can be used to display status or progress. It displays a percentage from 0 to 100 and you can set a label before it to display any progress/status messages. You can even overlay the label inside of the gauge field, so that it won't be displayed before it, but inside of it (on top of the progress bar that’s drawn).
New Tutorial - Asking for BlackBerry application permissions upfront
This tutorial will show you how to ask a user (of your BlackBerry app) for permissions that are required in order for your app to function properly. There are many APIs in the RIM API that will cause a prompt to be displayed in the BlackBerry UI that will require a user to provide explicit permission to access certain API functionality or access to certain hardware features or data on the device. Instead of interrupting the UI, it’s possible to ask the user for all of these permissions at the very beginning. By the way, if the user does not grant permissions when this popup appears, then an exception will be thrown which you have to deal with.
New Tutorial – Working with BlackBerry screens
In this tutorial, I will show you how to quickly manage screens using the RIM UI API. The BlackBerry OS maintains a stack of screens, and your app can be pushed and popped from this stack. These are normal screen display operations. You can even hide your screen from the display, and it will show the BlackBerry home screen. You can close the screen as well.
New Tutorial - Working with BlackBerry Layout Managers
This tutorial will simply walk you through the various layout managers available to you using RIM’s UI API (not MIDP). RIM’s layout managers are akin to Swing layout managers, and allow you to arrange lots of fields (aka components in Swing), on the screen. You can create your own layout managers, just like in Swing, but this tutorial will show you how to use the built in ones. If none of the layout managers shown here work for you, then you can composite layout managers to get the desired look for your app, before creating your own.
New How-To – Set Security & Application Permissions For BlackBerry Apps
If you are a BlackBerry developer, you are familiar with BlackBerry code signing keys. If you are consumer you may not know that in order for a company to make BlackBerry apps, it must apply for “code signing keys ” from RIM. RIM requires certification that companies are legitimate, legal, and properly registered before they will give out code signing keys to them, and developers must put these keys into the apps they make in order for them to work. That is just one level of security that RIM employs to ensure good quality, and safe apps for the consumer. When you install an app on your BlackBerry, you are probably familiar with permissions, and the permissions pop-ups you get when you run an app for the first time. If you have BES you have been asked to “grant an app trusted application status”. I am going to go into more details about permissions and the multiple levels of security from device-level to server-level security that every consumer should be aware of.
New Tutorial – Creating your first GUI BlackBerry App
This tutorial will simply walk you through creating your first GUI app using RIM’s UI API (not MIDP). Only a skeleton will be created, that you can later expand.
New How-to - Setup Exchange & BES on your BlackBerry
I highly recommend that any serious BlackBerry user and anyone with a busy life gets Exchange for their BlackBerry. If you truly want to experience the seamless integration that a BlackBerry can offer you, you must have BES and must have a hosted Exchange provider. Many people don’t have this because it is complicated to set up, and they don’t know where to start. This is why I didn’t have it for a long time. I spent many hours researching how to get it setup, and I have condensed all that into an easy how-to guide so that all of you can enjoy the awesomeness that is Exchange on BlackBerry (minus any frustration). It isn’t cheap, I will be honest, but neither is the BlackBerry Bold or it’s data plan, but it is one of the single best investments you can make in your digital lifestyle.
New How-To - Install, Evaluate, and Delete BlackBerry Apps
This article is about installing, evaluating, and deleting BlackBerry Apps. It is about a process for evaluating apps and deciding if they are good, well written apps, or bad apps that will brick your BlackBerry and make you have to wipe it. If you have ever installed a “bad” app, you know how it can wreak havoc on your BlackBerry and make it completely unstable. I will go over how to remove bad apps and wipe all traces of them from your BlackBerry, but most importantly, I will go over how to prevent this from happening in the first place. There are many more bad apps than good ones, and there are very few talented BlackBerry developers that write good quality software. BlackBerry development is complex, and lots of things have to be taken into account when writing apps - things like: CPU consumption, bandwidth usage, power consumption, caching, multithreading, compression, UI responsiveness, intuitive & easy-to-use UIs, tight integration with BlackBerry platform, etc.These are all things that the development team at ScreamingToaster take into account when developing apps such as Wicked Blogging App, which is a blogging app with social features, and MyListy, which is a list application.
RIM just released a new JDE version, you can download it here. Here’s a review of an early release of OS 5.0 on an actual Bold. 5.0 is going to be an awesome OS! In writing software for OS 4.6 for some time now, I’ve run into lots of limitations in media capture that are being addressed by 5.0! Video capture is coming in 5.0!
New Review – BlackBerry 8900 Javelin in-depth review
For sheer computing power and speed, the Bold can’t be beat. However, it’s big and heavy and bulky when compared to the Javelin. The Javelin is a much more balanced device which sacrifices a lot of the Bold’s functionality for greater battery life, smaller form factor. However, I don’t feel that anything is “missing” from the Javelin. It’s a great device. If I travelled a lot, I would get the Javelin :) . I really love both devices, and they are optimized for slightly different environments. To make a laptop analogy, the Javelin is an ultraportable, while the Bold is a mobile workstation.
New Review – BlackBerry OS 5.0.0.93
This review covers the new functionality of OS 5.0.0.93, which is not an official release from RIM, but a pre-release copy of the OS. Lots of great changes: Conference Bridge Line support, WebKit browser (maybe), faster and better graphics, revamped UI, transition animations for picture scrolling, Outlook email message flag support, and much more!
1 million Android smartphones sold in the US
T-Mobile has announced that it’s just sold the 1 millionth G1 smartphone in the US! :) I like Android, and want it to succeed, so it’s good to see positive numbers. However, there’s a long way to go still, with stiff competition coming from LiMo this year, and a dearth of Android powered devices in the market. In about 7 months, T-Mobile was able to sell about 1M G1 units, which is not bad, but not that great either. It still remains to be seen if Android is going to be a major player or not. We shall see.
Amazon has released a really cool mobile app for BlackBerry. You can download it here. It allows you to see what’s in your shopping cart, as well as buy things on the go. One cool feature is that you can take a picture of a product, that can then be sent to Amazon to see if they have it in stock. If they do, you get an email notification later that allows you to buy the product from them!
Android vs. LiMo: What’s the difference?
I’ve been developing software for BlackBerry for the last year or so and have been keeping an eye on Android to see if it will go anywhere. Currently, Android has enjoyed limited success in a very specific demographic, which represents a small fraction of the marketshare that RIM and Apple have. So while the T-Mobile launch of the G1 has been successful for the modest goals that were set, I don’t think it represents a big accomplishment. However, all I’ve read on tech blogs and news outlets is how there are going to be around 10 new handsets for Android this year. This has been the buzz for more than 1/2 a year now... well, it turns out that slowly these rumors have stopped saying Android handsets, and saying Linux handsets... so I figured Android is basically Linux with a JVM and so they were talking about Android. Well, I was wrong. Most of the new handsets that have been announced using Linux Mobile, which is NOT Android.
New Review - Using Skype as a replacement for a landline
I've been running my own business for a while and have been paying a lot of money per month for a land line. I have a few employees and have cell phones for all of us, and don’t have unlimited voice plans, we have shared minutes, and unlimited data plans for each of us. I don’t like to use mobile phones as the primary phone communication method, simply because of unreliable and choppy service, and even when service is good, sound quality is lacking, when compared to a landline. Having crappy phone lines gives businesses a cheap feel in my opinion, which is why I ended up spending a lot of money keeping a land line. I used to pay over $50 per month for a land line for the business, and the mobile phones end up costing about $60/70 per person (with unlimited data plan). So I was looking for a better and cheaper solution to having a land line.
New Tutorial - Using JSON for mobile object exchange
I've been working with various object encoding schemes to get information transferred over the network between services and mobile apps running on Android and BlackBerry. On Android, I figured I would try using Java object serialization, and that works some of the time, and not for anything complex. I wish the object serialization and deserialization mechanism in GWT would be ported over to all these mobile environments, but I digress. This tutorial outlines the use of JSON for this purpose.
BlackBerry Mobile Blogging App for Drivelikeagirl.com
Download v1 of the BlackBerry App for Drivelikeagirl.com community. Must have BB OS 4.6 device or higher.
Mobile Blogging for BlackBerry video demo! :)
Here's a 5 minute demo of the Wordpress Editor aka "Wicked Editor" :).
BlackBerry Application Storefront
RIM is launching it's app store in March 09. They are currently accepting submissions online. I'm planning on submitting all my apps for sale on the storefront, will you be doing the same?
Objective C introduction for Java developers, and creating iPhone apps with Java
This is a great video that shows Dr. Arno Puder giving a one hour presentation at Google. The highlights are a great introduction to the Objective C language for Java developers. The syntax is very strange, and very Smalltalk-like. Very interesting language... no runtime garbage collection, it uses reference counting.
New Tutorial - Getting code signing keys from RIM, then using them
If you use certain BlackBerry APIs, you have to get code signing keys and sign your .COD file with them, before you will be able to install and run these applications on a BlackBerry device. This tutorial will walk you through the process of getting the keys, and installing them to your JDE, and then deploying your application to a real device OTA (over the air).
New Review - BlackBerry Bold and OS 4.6.x in-depth review
I've been waiting for the BlackBerry Bold for a long time now, and it was launched in the US, exclusively by ATT on Nov 4 2008. Well, has it been worth the wait? Short answer - YES. I've been using the device since 4th quite heavily, making calls, using the 3G network for data, using the media player, syncing with Outlook, using BES and BIS, and even writing software for it. In this review, I will discuss the ins and outs of the Bold, and how well it works and doesn't work in specific scenarios.
Blackberry Bold release date in the US - November 4 2008
BB Bold US launch date delayed YET AGAIN - Nov 4th 2008. Also, get a custom paint job for your Bold.
New Tutorial - BlackBerry Development Tools Eclipse JDE Plugin
There are different tools that you can use for BB development - Eclipse Plugin and JDE. In this tutorial I will show you how to use the Eclipse Plugin as your IDE for BlackBerry development. Directions are provided on how to install and configure the Eclipse Plugin, then get started with a Hello World project, then deploy the project to the simulator and run it.
New Tutorial - BlackBerry Development Tools - JDE (and IDEA)
There are different tools that you can use for BlackBerry development - Eclipse Plugin and JDE. In this tutorial I will show you how to use the JDE in conjunction with IDEA as the primary IDE for BlackBerry development. Directions are provided on how to install and configure the JDE, then get started with a Hello World project, then deploy the project to the simulator and run it. The JDE is an IDE that BlackBerry created, and it’s really really old. Modern IDEs like IDEA, Eclipse, and NetBeans really put it shame. It’s good to see that BlackBerry is working on an Eclipse based IDE, and hopefully the JDE will be retired soon. I couldn’t stand to use the JDE by itself, which is why I do all my editing, compiling, refactoring in IDEA, and just use JDE to build my COD file and run it in the simulator, and occasionally use the debugger in the JDE. It’s really old looking and clunky, and just a pain to work with, when compared to IDEA. You can use Eclipse or NetBeans instead of IDEA if that’s your preference.
Blackberry Storm coming soon to Verizon Wireless
RIM is launching a touchscreen device, that’s an MP3 player (with stereo BT), 3.2MP camera, and video camera, with 8GB of storage! It’s called the Storm, and it's available exclusively on Verizon Wireless; launch date of November 16th 2008. It will have an accelerometer, just like the iPhone. It has a touchscreen, like the iPhone with 1 major difference – it will have tactile feedback. Just like the Jaeger-LeCoultre AMVOX2 (Aston Martin watch), you have to push the entire screen in for it to register a ‘click’, and it provides tactile feedback to let you know when the 'click' has happened. So you can move the cursor around by touching the screen, but for 'clicks', you have to press the entire glass surface in, and it ‘clicks’ :). Also, it will have copy/paste, but no WiFi.
Blackberry Developer Conference
First Blackberry Developer Conference. 2 days. Training for developers new to the platform, and information on future roadmap of the Blackberry platform.
Blackberry roadmap details, Storm presentation leaked
BGR leaked some documents on new products that RIM is launching and planning to launch this year and the next. There's lot of great information in these documents. I've cleaned up the documents and presentations on BGR's site and turned it into PDF documents, which are easier to read that what they have there.
New Tutorial - Getting started with Blackberry SDK and tools
This tutorial has helpful pointers for developers who are just getting started with Blackberry development. This includes information on tools, IDEs, tutorials, videos, etc.
HTC G1 available on T-Mobile from Oct 22 2008. Lots of details, pictures, and videos...
Wireless Roaming Standard - 802.11r
New 802.11r standard to allow quick hand off from one one access point to another.
Android phone - HTC Dream spy shots
Spy shots of HTC Dream coming soon to T-Mobile.
Lots of Android news - new SDK drop, and new handset coming next month! HTC G1
In summary. Android has a hostile SDK that requires special expertise to handle and leverage (sure to keep lots of developers away). There are no handsets out there yet, so lots of ISVs won’t touch this platform. Very few ISVs or developers to compete against.
New Tutorial - Android Application Provisioning Strategies
There aren't any good solutions out right now. App provisioning and management are left out of the M5 SDK, and we have to wait until a future release to see this in place. Once it's in place, these other strategies outlined here may or may not be viable. However, if you can preload an APK file into a device, then the solutions outlined here might work for you.
New Tutorial - Android WebView (WebKit)
This article shows you the limitations and capabilities of the WebView component. You will see how to download files from the network and use them in HTML, as well as assets loaded in the APK file.
New Tutorial - Android Service creation and consumption
This tutorial will show you how to create a simple service, that does not use IPC (inter process communication). Services are great for running long running tasks and business logic, outside an Activity, which is tied to the user interface. For example, if you have a background task that has to download data periodically, then you should put that task in a Service. You can explicitly start a service and stop it as well. With IPC you can connect to a running service and call methods on it, however, in this example, I won't be using any IPC; instead all data transfer will happen via a shared object and a listener.
