Author Archive

PhoneGap, Palm Pre, and the State of Mobile Apps

Monday, January 12th, 2009

With their announcement of the Pre last week, Palm has placed their bet that great mobile applications can be built using the same open web technologies that drive the desktop environment today. Web applications that run on modern desktop browsers are constantly pushing the envelope of the types of applications that no longer require a proprietary platform-specific SDK.

When Apple first launched the iPhone in 2007 their first answer to developers was similar to Palm’s new OS. Apple gave a long talks at its 2007 Worldwide Developers Conference about how you can build great applications using standard web technologies. Unlike Palm’s webOS the iPhone web SDK was severely lacking in many areas. Apple has corrected some of these shortcomings in the subsequent releases of their mobile browser. Mobile Safari now supports multi-touch gestures, basic rotation tracking, and hardware accelerated CSS animations. Unfortunately, Apple’s open web SDK still lacks many of the most critical features that would allow developers to build applications that take full advantage of the mobile environment.

(more…)

Automatic Dojo Builds

Tuesday, October 28th, 2008

The build system that is part of the Dojo Toolkit is an incredibly powerful tool. Making sure that your custom build is always up-to-date in your web application can be time consuming and error prone if done manually. This post will demonstrate how to quickly add custom Dojo builds into any web application that uses Apache Ant.

(more…)

Connect to the Mobile Web with SMS

Monday, June 30th, 2008

SMS is a great way to push small amounts of text to mobile users. But what happens when your application needs to send more than 140 characters of information? Most modern phones, including Apple’s iPhone, support the ability to launch the mobile web browser using the URL embedded in the SMS message. Your application can create a short URL that points to the content you need to send and send the URL in the body of the SMS instead of the content itself. The user experience varies from phone to phone. On the iPhone, the user simply touches the link; on other phones, there is usually a menu option that will activate the url.

sms_url.jpg The URL is subject to the same size limits as any other SMS message. Keeping the URL as short as possible is key, allowing you to send descriptive text along with the message to give the user an idea as to what they will be viewing when they click the link. URL shortening services like tinyurl will keep your URL to around 25 characters. Twitter users are no doubt familiar with this idea, whether they send Tweets from their phone or not.

(more…)

The Key to Quick Mobile App Navigation

Monday, May 12th, 2008

Navigating a mobile app can be slow, especially on long pages and slow scrolling phones. Fortunately the xhtml mobile profile markup language supported by mobile phones provides a solution to finding links and starting phone calls inside the mobile browser.

accesskey

Adding the accesskey attribute to link a lets users “click” on that link by simply pressing a number on their phone’s keypad. Valid values for accesskey can be 0-9,#, and * (all of the keys on a standard phone keypad). Displaying which key will activate a link is up to the application as most phones won’t tell the user that a link has an access key. Web site designers currently need to decide on a consistent way to inform users that an access key is associated with a given link. Most apps will use ordered lists where the order of the links corresponds with the access keys. Putting the number in brackets inside or next to the link is another way to denote the accesskey.

(more…)

Mobile Gears could help network latency

Wednesday, March 5th, 2008

Mobile application development has many challenges. The announcement of Google Gears on Mobile Devices will help solve the problems of network connectivity, network latency, and limited bandwidth. On the desktop, a lot of the focus on Gears was its ability to allow applications to function when your computer was not connected to the network. In addition to building mobile web apps here at SitePen, we released Dojo Offline, which integrates the Dojo Toolkit with Gears to make building disconnected web applications even easier. As we all know, mobile devices lose connectivity with the network on a regular basis. Gears’ ability to keep the data that users need stored on the phone will be key to keeping mobile applications running even when networks fail to keep phones connected.

(more…)

An Android without Gears?

Monday, November 12th, 2007

Google released the first preview of Android today. It is chock full of features and a great emulator, but there was one interesting omission.

Beyond what has been covered elsewhere, there are many attention grabbing features for mobile app developers:

  • XMPP in the application stack, giving applications access to low-latency event driven messaging
  • Location data (via GPS or cell-tower triangulation) accessible by applications
  • SQLite for local data storage
  • Applications can provide services to other applications… no need for 10 different photo taking apps

(more…)

Filling the iPhone Chat Gap

Thursday, July 12th, 2007

iphone_chat.png Many people are perplexed by the absence of instant messaging on the iPhone. Apple has done great things for SMS with their ichat styled interface. Unfortunately they stopped short of providing a seamless IM experience. Hopefully Apple will add these features in a future software update.

The iPhoneDevCamp in San Francisco last weekend saw several groups working to fill the IM gap by building iPhone compatible IM web applications. I spent part of my time there revising the existing cometd chat app to work well on the the iPhone. Comet’s long-running http connections are ideally suited for chat apps as it provides very low latency. We had already tested cometd on the iPhone, so I was encouraged about the ease of porting the existing chat demo.

(more…)

An Insider’s look at Google Mobile Apps

Wednesday, June 6th, 2007

Google has posted many of the talks from Google Devloper Day 2007 on YouTube. Gummi Hafsteinsson, a Google Mobile Applications Product Manager, gave an excellent overview on building for the mobile web. Key points in the presentation include:

  • Keep it simple–get your site working on a single basic device first
  • Focus on features your users will need while they are away from their desk
  • Resize images so they are just big enough for the device to save the users time and money
  • Be careful of simulators. Many apps will work on the simulator but look bad or crash the real phone
  • Entry level phones are a large chunk of the market but are very limited and your app may crash them

So how does Google stack up against their own criteria for building better mobile web sites? Let’s take a look at mobile gmail.
(more…)

Mobile Web Apps: Apple iPhone to Wurfl

Tuesday, April 24th, 2007

Apple’s iPhone has sparked a great deal of interest and excitement in mobile web application development. The iPhone significantly raises the bar for the capabilities of mobile devices. Its large screen and advanced browser will allow for the development of applications never before seen on mobile devices. That said the iPhone will be one device in a vast ocean of mobile users. Developers of mobile web applications will need to provide a version of their app that supports in some way those other devices.

One of the largest problems facing prospective mobile developers is adapting content to the numerous sizes and styles of mobile devices. Screen size, network speed, image format and markup language support are just a few of the variables to consider. Even the iPhone when on the carrier network, is limited to the dial-up speed GPRS network. To compound the problem mobile carriers and handset manufactures are releasing new phones daily in an attempt to one-up their competitors. If you are planning on creating a mobile version of your web app there are open-source tools available that will make your job a little easier.

(more…)