Google

What I Want in a Tablet

Posted by Mike Brittain on February 10, 2010
Gadgets / 3 Comments

For the last week I have been laid up in bed and on the couch while recovering from ACL reconstructive surgery. I would estimate that I’ve been using my iPhone an average of 7 hours a day for online tasks:

– Reading articles on newspaper sites
– Reading RSS subscriptions (in Reeder)
– Posting links to Twitter and Delicious
– Reading and writing on Twitter
– Reading and writing emails
– Drafting blog posts in WordPress and Tumblr (this post is, in fact, being written on the WordPress app)
– Writing in online forums and posting bug reports for apps
– Instant Messaging (AIM)
– Searching for web content on Google and Wikipedia
– Taking photos and posting to Flickr
– Posting events on my calendar
– Checking the weather
– Ordering dinner (Seamlessweb)
– Ordering groceries (FreshDirect)
– Setting timers (post-surgery medication and exercise schedules)
– Reading and writing messages to friends on Facebook
– Trying out new native apps and web apps

I feel kind of like an expert at ingesting and creating content on a “tablet” computer. An iPhone truly is a mini-tablet.

Knowing that the iPad release is just around the corner, I’m somewhat upset that I don’t have one because a lot of this would be a lot easier on a larger device. Additionally, the suggestive video of a Chrome OS tablet is also intruiging. While a number of the tasks I listed above are being done within iPhone apps, I believe that nearly all of them could be done from web applications.

So here are some thoughts about the experience of doing all of this on an iPhone and what I’d like to see (or not see) in an iPad.

1. Web browsing. I would characterize web browsing on the iPhone as very good. You can san whole pages and zoom in on portions you care about. I can get to about 85% of what I’m interested in right from Safari.

There are some downsides.

Some sites don’t scale well when zooming. The text is just too small when the column is spread full width, either in portrait or landscape. My workaround is to send these pages to Instapaper and allow that app to reformat the text for easier reading.

Sites that use Ajax and fancy UI designed for desktop browsing don’t always translate well in Mobile Safari. The touch interface and the select/copy tools on the iPhone often get triggered inappropriately when using some of these interfaces.

Even with zooming, text is often too small. Horizontal scrolling back and forth to read an article is downright annoying.

Most of what I do on my phone is done in the browser, so I look forward to a larger display that will make it easier to read whole pages at a time without zooming in and out.

2. Missing Flash Content. “I wouldn’t say I’ve been missing it, Bob.” Sure, it’s kind of annoying that a lot of articles I’m reading embed a video player written in Flash. It’s actually a little frustrating to me that a core use of Flash for so many sites is simply to deliver videos. The same uploaders, transcoders, storage services, and video players have been written by so many sites. It really is time for video playback directly in the browser. So I think the web is at a growing pain. It may suck for a short while as so many Flash-based videos will be inaccessible to iPhones and iPads, but the prototype sites from YouTube and Vimeo show promise of in-browser video playback for HTML5.

I’ll admit there are still some areas, especially gaming, where Flash is a solid platform. As for so called Rich Internet Applications, I think most developers would agree that Ajax toolsets make these more capable directly in the browser today.

3. Battery Life. Battery life on the iPhone has always been pretty bad. If you have an iPhone, then you’ve trained yourself to recharge your phone every morning or evening. It’s simply a habit. When you’re using your phone for 7 hours a day, then you’re charging it a few times a day. A battery life at least three times as long as this phone would be appropriate.

4. Watching Video. There are probably a lot of conference presentations I would consider watching from my iPhone which I’m not doing now. I think this relates most directly to the battery life issue. My guess is that many (but not all) are already available for viewing on the YouTube app for the iPhone.

5. Multi-tasking. Gotta have it. One thing I’ll say that I like about iPhone apps is that they are fullscreen and keep your focus. It would be nice in a larger display to be able to run two apps side by side, but I don’t know that I want user-sizable windows.

What I do miss is having an IM client running in the background so I can be reached by people I chat with while working.

6. Webcam or Camera. I could care less about both of these. I can’t see aiming a device the size of a textbook at someone to take a picture. And as for the webcam, I agree it would be convenient, but picture the following case. You are relaxing in your favorite easy chair reading the news on your tablet which is in your hands but resting on your legs. You get invited to a video chat and accept. The way I see it, from the position you are sitting the webcam on your tablet will have a great shot straight up your nostrils. This is not the image that sells video conferencing on tablet devices.

7. Virtual Keyboard. I tend to think the iPhone keyboard is pretty good and easy to adjust to. I’ve written this entire post from my phone, and it likely has a few spelling mistakes to prove it.

An improvement for a larger device would be to have a more functional keyboard with command/alt/option keys. This would make SSH clients more approachable on a tablet device.

8. Functioning “File” Form Controls. One thing I hate on the iPhone is signing up for some new online app ad not being able to do something simple like uploading an avatar. Would be great to see file fields in Mobile Safari that could pull from files stored by various apps (camera roll photos, documents, etc.)

Decision time.

I’m very excited about tablet computers and expect that unless there is a good looking product announced prior to the ipad release, I’m 90% certain I’ll buy one.

There are still some open questions about iPad functionality that may be addressed prior to it’s release. How exactly do you get files in and out of it -all via iTunes sync? Will there be background apps in the next iPhone OS and will that roll out onto the iPad immediately?

But even if the product is not perfect out of the gate, Apple has already demonstrated a successful model of revising and deploying updates. Like the iPhone, the iPad is a product that will continually improve while you own it.

Tags: , , , ,

Mobile Sites Outpace Native Apps… But What About Web Apps?

Posted by Mike Brittain on February 05, 2010
Mobile / Comments Off on Mobile Sites Outpace Native Apps… But What About Web Apps?

I was excited to read this article about mobile web sites growing faster than native apps, a trend I believe will continue in the future.

Taptu estimates that there are 326,000 Mobile Touch Web sites worldwide, which they say compares to 148,000 iPhone apps in the App Store and 24,000 apps in the Android market. Taptu expects the browser-based mobile web market to grow much faster than the app market.

I’m excited about browser-based apps and the potential of HTML5 as a platform for cross-platform app development.  It’s too bad there’s not a distinction in these numbers between web applications and content sites that simply have layouts customized for display on mobile devices.

Mobile-Friendly, Web Apps, and Native Apps

When the iPhone was launched, Safari became the first mobile browser to really represent web sites as you would see them on a desktop browser.  Before then, surfing from your phone’s browser was a clunky experience with unsupported HTML and CSS features, and web proxies that would reformat or strip out content deemed unfriendly for the mobile browser.  On rare occasions, you might stumble into a site that would push your phone’s browser to a version of the site formatted specifically for display on a small screen.  Today, the term “web app” gets confused with “mobile-friendly” web sites.  I say they are wholly different products.

Native apps are touted for their advantages over web-based apps, which include: 1. better exposure to hardware- or platform-specific APIs, 2. potential for instant revenue streams (payment via app stores), and 3. ability to operate in an offline capacity.

It’s difficult to argue against native apps and games that tie into platform-specific APIs unavailable to web apps.  However, there are plenty of services available for making payments to web sites, but developers need to keep in mind their competition in native apps.  You can’t charge $5/month for access to your web app when a similar app sells for a one-time $0.99 fee through an app store.  Finally, the point of offline access is fairly ironic given that so many native apps are simply wrappers for network APIs and cannot run without a network connection.

So when I talk about web apps, I don’t just mean a mobile-friendly web site.  Rather, I’m talking about the potential to build rich applications that can run in a browser.  Using HTML5 capabilities like offline data storage and object caches, web apps can mimic many of the same features built in native apps but have the ability to reach across platforms and devices.

My own definition of web app an application that:

  1. Is written with core web technologies and runs in a browser,
  2. Provides more utility than simply reading pages of content,
  3. Is responsive to user interaction and gives the same impression that an installed app gives, and
  4. Is device and platform independent, indeed it should be irrelevant whether it is displayed on a mobile phone, a desktop computer, or any other device.

The Web App Findability Problem

Platform-specific app stores have risen up as clearing houses for apps. Users are being conditioned that the term “app” means something you download and install on your phone.  App stores are backed by big marketing dollars and ad campaigns because they provide a competitive advantage for their platform and create new revenue streams.  Web apps, on the other hand, provide neither.

There are online directories of web apps to solve this problem, but these don’t have nearly the visibility or marketing of today’s app stores.  It would be difficult for consumers to even consider web apps when they have a nice, easy shortcut to their platform’s app store built right into their phone. Even Apple, who claimed at the release of the first iPhone that web applications were enough, do not provide a means for finding web apps from their phone.  Indeed, their own web app directory doesn’t render in a mobile-friendly format.

Visibility is a key barrier for web apps.

Where Will Web Apps Get Their Exposure?

I’ve thought over a few possibilities for building the web app market, which are outlined here.

First, app stores could expand their listings to include web apps. There are already plenty of free apps in the stores.  Web apps would not create any new low price points.  I see business concerns with this direction, though.  App stores have their own services to charge for paid apps at the point of purchase.  A web app is never downloaded, so it is difficult to charge a toll for access.  Furthermore, web apps might require subscriptions or usage fees, but would be open to choose from a variety of payment gateways.  Owners of app stores would likely see this as losing out.

Search engines could provide niche listings for web applications in the same manner that news, shopping and image search reasults are handled by Google.  Search engines are supposed to provide unbiased rankings and could probably fit an app directory well.

The last idea would be to identify web applications using a new “.app” top-level domain, similar to the .mobi TLD used for mobile compatible sites.  The term “app” has already become part of the vernacular and its use as a TLD could easily identify a URL as a pointer to an application (desktop or mobile) as opposed to just mobile-friendly web pages.

Tags: , , , , , ,

Browser Testing for Mobile Web Applications

Posted by Mike Brittain on January 31, 2010
Misc / Comments Off on Browser Testing for Mobile Web Applications

Developers working on mobile web apps need to be able to test their apps or sites in all of the major mobile platforms.  Unfortunately, there are not a lot of good resources online for how to go about this.  You could pay for a service from a mobile testing company, like DeviceAnywhere, who provides access to a wide selection of real devices (using a virtual client).  Or you could go the free route by installing a variety of SDKs and mobile phone simulators.

Base Setup

I’m developing on a Mac.  Many of these emulators are Windows-specific.  Additionally, this could end up being a lot of work to setup, so putting all of these tools onto a Windows virtual machine will let me move the VM to another machine in the future and save me from reinstalling from scratch.  On my Mac I’m running Parallels Desktop with a copy of Windows XP.

The only exception is the iPhone SDK which includes a simulator for the iPhone.  The iPhone SDK is only available for installation on the Mac OS and I’ll be leaving it out of the instructions below.  I also haven’t installed or tested the 3.2 (beta) yet which includes an iPad simulator.

Java

Big surprise that Java is used for some of these SDKs and simulators, so we might as well get started by installing the JDK and runtime if you don’t already have it installed.  You should be able to download a copy of the JDK from here:

http://java.sun.com/javase/

I grabbed “JDK 6 Update 18”.

Android

Download the Android SDK from Google’s Android Developer site and run the enclosed SDK Setup program.

Unzip the .zip package you download and put in a location you want to keep the files (perhaps within Program Files) and then run the SDK Setup program.

In the “Installed Packages” section of the setup program, click “Update All…” to download the platforms and APIs that will be run by the SDK.

To create an emulator for a specific version of the Android OS, select the “Virtual Devices” option, then click the “New…” button.  In the dialog box that opens, enter a name for your emulator and select a target OS (e.g. “Android 2.0.1”).  Then click the “Create AVD” button.  Select your new emulator from the list and click the “Start” button.  When the emulator starts you’ll find an icon for “browser” on the main screen.

Symbian

In the past, I have setup Symbian emulators and SDKs to do local testing.  When I returned to their site to download new software I was pleased to find that they now provide a service for accessing virtual devices over the Internet using a Java application.  Visit http://apu.ndhub.net/ to register and access a wide selection of devices.

Easy!

BlackBerry

BlackBerry simulators for various models and OS versions can be downloaded from their developer site.  Each simulator is downloaded as its own installer package.  So download all of the  emulators you want to test (Storm, Bold, Pearl, etc.) and run their installers.

http://na.blackberry.com/eng/developers/resources/simulators.jsp

This seems simple enough, but if you start up one of these simulators and open the web browser you’ll quickly find that you’re missing a critical piece: network access.  To access the web from these emulators you need to also download the MDS Services Simulator package.  Find a link for this download from the resources page:

http://na.blackberry.com/eng/developers/resources/

Also note that BlackBerry makes available some documentation specific to web application development for the BlackBerry platform.  You can find these resources at the address below (registration required):

http://na.blackberry.com/eng/developers/browserdev/

Palm webOS SDK

The Palm SDK includes a web browser within its phone simulator which is useful for testing the browser that runs on the Palm Pre and Palm Pixi.

Go to Palm’s developer site and look for a button or link to download the SDK.

The emulator runs within Sun’s VirtualBox software.  There is a link from the Palm download site for downloading VirtualBox.  Follow the instructions and install VirtualBox first.

Next, download and install the webOS SDK.

Once you’ve completed the installation, you can start up Palm emulator from your Start Menu: Programs > Palm > SDK > Palm Emulator.

When you run VirtualBox, it may prompt you to download an updated version.  The Palm Emulator (as of January 30, 2010) will not run on the latest version of Virtual Box.  Stick to the version that you download from the Palm Developer web site (3.0.10).

Wrap up

This should get your started with a testing environment for a few of the top mobile browsers on the market today.

If you’ve got other tips to share about testing mobile browsers, share them in the comments below.

Tags: , , , , , , , , , , , ,

How to Improve JavaScript Latency in Mobile Browsers

Posted by Mike Brittain on January 20, 2009
Mobile / 2 Comments

Mobile browsers are really coming along.  Mobile Safari is built on top of WebKit and has just as much capability as the desktop version.  Same with Android’s browser.  Blackberry’s browser, I understand, has improved tremendously over previous versions.  The new offering from Palm centers application development around web technologies HTML, CSS, and JavaScript.

As more applications and data grow to live in the cloud, then access to them via a browser must be easy and fast, which is often not the case with data on mobile devices.  A web site can take many seconds to several minutes to load all of the content required.  And at the heart of many sites these days lie some common elements — JavaScript libraries.

Personally, I have avoided heavy-weight libraries for mobile application development, because I know that they are a burden to the end-user.  This is less often the case for desktop users, who typically have broadband connections at home or at work.  So what do we do to improve this situation?

I propose that the mobile browser makers (or OS makers, in most cases) embed standard versions of common JavaScript libraries within their browsers.  Google already makes a number of these available as a hosted solution for web application developers: jQuery, YUI, Prototype, script.aculo.us, etc.  Other players, particularly in the CDN space, could also become involved in hosting these frameworks.  Nearly half of the libraries that Google hosts are larger than the 25 KB cache limit in mobile Safari (for example).  By embedding a handful of these libraries, mobile browsers could speed up some of the overhead of mobile applications that rely on Ajax or heavy DOM manipulation.

How would you do this?  Likely by inspecting HTTP requests by URL.  Google’s hosted libraries include version numbers, which allows developers to peg their work to a specific version, not having to worry about quirks in future versions that could upset their apps.  When an application makes use of one of these embedded libraries, the browser can simply execute the JavaScript library without having to make an external request.  If the application uses a newer version that is not embedded in the browser, the HTTP request would proceed as normal.  End users would get a slower experience than with an embedded framework, but that experience would be no worse than we have now.

I’m interested in hearing others’ thoughts about this idea.

Tags: , , , , , , , , , , , ,

The Economist on Linux Netbooks

Posted by Mike Brittain on December 15, 2008
Mobile / Comments Off on The Economist on Linux Netbooks

The Economist is running an article on netbooks, with specific advice on sticking to Linux as the operating system — rather than buying a beefy netbook that can run Windows.  I’ve been trying to avoid looking at these for a long time, thinking that when I get one, it will probably be an Apple.  But alas, Apple doesn’t have a netbook or tablet computer yet, and it’s difficult to predict when that will become available.

The sub-$500 price tags make current netbooks relatively cheap in my mind, and potentially disposable should the technology improve significantly in the coming months.  Much harder to call a $1500 computer “disposable”.

Most of what I would want to do with a netbook is pretty much what you should expect to do on a netbook: surf the web, send email, open documents and spreadsheets, and maybe some very lightweight development — which is, for me, typically Linux-based work.  Email and web can already be done well in a browser.  More of my own docs and spreadsheets are in a browser now, too, by using Google Docs.

And, hell, from what I can tell, Google’s “Chrome” web browser (along with its suite of web products) is the play for making the browser more important than the operating system.

It might be time to start taking a closer look at these.

Tags: , ,

Syncing Google Calendar and Apple iCal

Posted by Mike Brittain on December 05, 2008
Apple, Google / 3 Comments

At long last, there is CalDAV support in Google Calendar so that it can properly sync with Apple’s iCal.  This has taken so long that I’ve pretty much moved completely into using Google Calendar 100%, and don’t even bother opening iCal.  In the end, that’s what I believe Google wants — total reliance on web-based apps.

In any case, the announcement was made a few days ago on Google’s Mac Blog.  There is a small app that Google is distributing for making the setup process super easy.  I’m going to give it a shot and see whether this will get me using iCal again.  It certainly would be nice to have this calendar available on my iPhone, especially when I’m somewhere that Google Calendar won’t load due to lack of network connectivity (which seems to happen pretty often for me).

Tags: , , , ,

Future of Mobile (from Andy Rubin)

Posted by Mike Brittain on September 22, 2008
Mobile / Comments Off on Future of Mobile (from Andy Rubin)

An interesting article about mobile technology from Andy Rubin of Android fame.  A few interesting points:

it’s safe to say that the mobile phone may be the most prolific consumer product ever invented.

In comparison to computers that we may have owned…

The phone that you have in your pocket, pack, or handbag is probably ten times more powerful than the PC you had on your desk only 8 or 9 years ago.

I was in real awe when I got my iPhone a year ago (nearly to the day!) and remember tinkering with it on the subway.  At first I thought, “this is the most amazing item I’ve ever owned.”  I think that still holds true.  Nothing else does quite as much, in as small a case.

I also remember saying to a number of people, “if this is the phone I have today, what kind of phone will my kids have 15-20 years from now?”

Rubin describes some of his predictions.  Read on…

Tags: , ,

Making Application Shortcuts for Chrome

Posted by Mike Brittain on September 09, 2008
Google, WWW / Comments Off on Making Application Shortcuts for Chrome

Google has a page listing some details for webmasters about their new web browser.  My favorite part is in regards to handling application shortcuts which I figured out from Gmail’s site.  It’s a simple addition of “application-name” and “application-url” meta tags, along with a meta description and link to an icon file, which you probably already have on your site.

Application shortcuts are probably my favorite feature of Chrome, and the reason why I think that it is an important browser.  These shortcuts will help users and businesses to change their mindset about software-as-a-service applications.  They make web applications look like real software.  We used to have a desktop icon for Eudora or Outlook Express.  Now we have one for Gmail.  In the future, I suspect we’ll see more people replacing their installations of Microsoft Office with a shortcut to Google Docs, Zoho, ThinkFree, or Live Workspace.

Tags: , , , ,

What I think about Google Chrome

Posted by Mike Brittain on September 09, 2008
WWW / Comments Off on What I think about Google Chrome

I didn’t feel like posting an entry about Chrome, but I’ve had a lot of opinions about why I think it’s good.  Will I use it as?  That’s a good question.  We’ll need a Mac version, first, but I think I’d like to make the transition.

Anyway, Felix wrote a pretty good post about Chrome, and I decided to just add my thoughts on the end of that one.

Tags: , , ,

I like Google Chrome

Posted by Mike Brittain on September 04, 2008
WWW / Comments Off on I like Google Chrome

I like Google Chrome.  I think there’s a lot of good stuff going on in that project, even if it doesn’t become a mainstream browser.  I had a lot of thoughts about the direction Google is taking with Chrome, and Felix seemed to touch on a lot of them his post about Chrome, so I just tacked on some of my thoughts the end of that.

Tags: , ,