Mobile

You are currently browsing the archive for the Mobile category.

A few weeks ago Vlad had the chance to do performance tests across a variety of different devices. He’s picked up a Droid as part of his Android work, also has access to an N900, and I also know he’s proud to admit that’s he’s a Zune HD owner.

Firefox for Mobile has been getting excellent reviews for features and functions. We also have good numbers for JS performance, an important component of building compelling web applications on mobile.


Mobile Sunspider Performance – Click for a Larger Version.

First, Aza Raskin does a quick interview with Dan Mills to talk about what’s going on with Weave. There’s been a huge amount of development going on in the weave project including a completely new server and client. I’ve heard that some of the labs guys have Weave syncing between desktop and mobile devices, too. So lots of progress going on there. I’m sure these guys will have another release up pretty soon.


Dan Mills on Mozilla Weave from Aza Raskin on Vimeo.

In this video Madhava Enros gives a demo of our Mozilla mobile browser called Fennec. Since the first Alpha release there’s been a lot of work on responsiveness and performance. Madhava gives a quick walk through of the browser as it stands today.


Fennec Alpha 2 Overview from Madhava Enros on Vimeo.

And in this last video mctones gives a demo of a concept that he’s working on that might be used when you open a new tab, using z-order to indicate age with a jQuery-driven visual layout. This video is pretty neat if for no other reason to see the sea of floating web pages. Not sure if it’s useful, but it’s a fun video.


Auto Dial 3D from mctones on Vimeo.

two days with the G1

I’ve had my T-Mobile/HTC/”with Google” G1 for two days now.  I got mine on the 21st in the mail, ahead of the launch date and I’ve been living with it for a couple of days.  A lot of people that I know are thinking of buying one, so I thought it would be worth it to try and compile my thoughts about it.

First, a couple of caveats:

1. My last phone was a Sidekick.  If you know about the history of the Sidekick you will know that Andy Rubin, who is one of the guys behind the G1 and is currently at Google was also one of the founders of Danger, which originally created the Sidekick.  (Danger was recently purchased by Microsoft.)  In using the G1 I can feel a lot of the Sidekick history and decisions, so in some ways it’s very familiar.  So color me a little bit biased here.

2. This means I was an existing T-Mobile customer and have been pretty happy with their service.  Yes, they were slow as hell to roll out G3 and their coverage isn’t great.  But they have excellent customer service and the places that I seem to frequent have no problems with service.  Plus their international service is excellent.  I had zero problem there.

Second a note about my overall feeling on the phone.  This is a review, so it will seem overly critical.  But I really do like it, and I’m very happy I forked over a couple of hundred dollars to own one.  It’s worth it.  It’s a huge step up from my sidekick and I think that the basics are there for the future.  It’s a very good phone, certainly one of the best on the market.  And that’s good considering it’s still clearly a 1.0 product.

Let’s break this down into parts that people care about.

The Web Browser

Internet connectivity is how this phone is sold and the web browser that’s included with the phone is clearly the focal point for where to measure it.  The browser is based on WebKit, hooked up to the Java-like runtime that is included in the phone.  And all in all, I would say it’s a pretty good way to browse the web.  Loading pages appears reasonably fast (at least in a 3G area.)  The interactive performance of the browser is excellent.  It responds well to finger-based scrolling and hasn’t hung for long periods of time as near as I can tell.  And it does appear to do a decent job of rendering pages – or at least as well as WebKit does, which means that most major sites will work and many minor ones will not.

It has a nice feature that tries to lay out a page to the width of the screen on the phone.  This works well on many sites, but for many other sites you end up with some very odd rendering and I’ve had to turn it off.

The zoom controls show up when you scoll or touch the screen and are pretty easy to use.  And the little control that shows up and lets you scroll around and preview the page like a magnifying glass is really nice.  (In fact I would call it damn neat.)

But the rest of the browsing experience is very clumsy.  The stop/reload/back/forward buttons are only accessed via the menu key and that requires two clicks.  In the case of the back button you have to hit menu on the phone, hit <More> on lower right hand portion of the screen then move all the way up to the top of the screen to hit the Back button – if you even hit the right button on the first try.  Why is this such a problem?  Because I am constantly thumbing on a web page to click on a link and end up clicking on the wrong one.  Which loads the wrong page. And then I am desperately trying to find the Stop control and/or the Back control.  And they are well hidden.  It’s one of the most flow-interrupting things on the phone.

So while the overall rendering and performance of the browser is pretty good, I would say that the actual browsing experience is best so-so.  And I’m not just saying that because I’m biased.  I’ve actually found it very frustrating.

The Base Experience

By “the base experience” I mean the overall interactivity and the basic navigation functions of the OS.  How you get around, what you’re allowed to do and if the basic metaphors of the phone seem consistent and intuitive.

Here I think it’s a bit of a mixed bag.  In some ways the base experience is excellent.  Apps on the phone come up very quickly when activated, menus are consistent across apps and the base widgets appear to react very well to both finger-based and keyboard-based input.  You don’t have to worry about how to close an app and you can have lots of things open at once.  In this sense, it’s excellent.

But the choices that the user have to make are a bit schizophrenic.  The home screen is a good example.  It’s a desktop metaphor.  So you click and hold (with haptic response, yay!) and then drag it where you want.  Good, right?  Sure.  Except that this is the only place that I’ve found to use this metaphor in the entire experience.  Everything else is menu driven or use the enter-with-touch, exit-with-back-button metaphor.  It’s a bit odd.

But there are a lot of times when I find myself flipping into the keyboard, then closing it and doing something, then re-opening, then re-closing.  Using the keyboard on this particular phone is required in a lot of cases, and I find that a tad odd.  I bought the phone because I wanted a physical keyboard, but I only want to use it in certain circumstances.  I wish it were the kind of thing that was there as an “and” decision instead of something that was an “or” decision.  (Translation: use an on-screen keyboard when the keyboard isn’t open.)  Also it would be great if the screen would rotate when you rotated the phone instead of rotating only when you opened the keyboard.

Sliding with your finger on the screen is used pretty consistently, though, and the screen and OS handle it very well.  The slider on the home screen, the web browser, and other scrollable windows all seem to be quick, responsive and intuitive.  (You can “throw” a big list with your finger with a drag/release and then tap and the scrolling will stop just like in the real physical world.)

So there’s a lot of things that are great here.  I feel like the underlying OS is good and solid and there are lots of great architectural decisions that have been made.  With a little bit of refinement and real-world experience it could be really great.

The Hardware

I’ve come to the conclusion that the hardware is one of the most interesting parts of this phone.  Not because it’s really great hardware, but because the initial impression of the phone and the experience of using the hardware are completely different.

Everyone I’ve talked to considers it to look a little bit utilitarian.  Homely.  And I have to admit that I had the same out of the experience.  I took it out and said, “huh, not much of a looker.”  Much like Google itself it doesn’t seem to have great design value.  You’re not going to look at it and have a visceral reaction that says I have to own one. In this sense, it’s a big step down from the iPhone.  Not a fashion statement.

But after owning the phone for a couple of days, I have to say that I really do appreciate the hardware – far more than I thought I would.  It’s a good bit smaller and lighter than the sidekick.  Where the sidekick was heavily rounded and oval-shaped, I’ve come to appreciate the solid feel of the straight lines of this phone.  It’s easy to handle, just about the right size for my hand and it doesn’t feel either too thin or too thick.  When holding a friend’s iPhone I always feel like I’m trying to balance a quarter by its edges between my thumb and forefinger.  It’s both too large and too thin and I always worry I’m going to drop it.  But I don’t have this sense at all with this phone.  I never feel like I’m going to drop it.  It feels like it’s just the right size for me.

The bottom of the phone curves in a bit.  This is actually really nice when you’re using it, you know, as a phone. It cups the base of your hand and curves along with it.  This is a subtle but important point.  While the iPhone and the Sidekick always feel totally foreign next to my ear, this turns out to be a great phone to make phone calls with.  I forgot how nice it can be to make calls with a phone that is good at being a phone.

The keyboard, as I mentioned, has a full 5 rows so it’s more or less just like a full qwerty keyboard.  Sadly, the keys aren’t raised very much so it’s not as tactile as my sidekick was, but I’ve found the experience head and shoulders above using the on-screen keyboard on an iPhone.  The keyboard and buttons on the outside of the phone are pleasantly backlit and there’s a small trackball that lets you navigate easily if you want to use it instead of using your finger on the screen.  You can also click down on the trackball like on the sidekick to select something.

The screen isn’t gigantic, but it’s plenty big for the phone and for doing a lot of web browsing.  It’s bright and the touch sensitivity is very good.  Probably not as good as an iPhone, but far, far better than the Nokia N770/N800/N810 I’ve been using lately.

There’s even a little multi-colored LED light on the top of the phone that indicates charging or that you have a new message on the phone.  The lack of this on the iPhone is a constant complaint from my friends who have them.

Charging is done through the little USB port on the bottom.  I worry about the cover for this port – it feels super-fragile and I wonder how many weeks it will be before it fails.  Only time will tell.  I’ve been told that you can charge via a computer because it’s a USB port but I haven’t tried this yet.

I haven’t tried the speakerphone, although my friend Jonathan says it works very well.

The camera appears decent for a cell phone.  Not great, but not as bad as some I’ve seen.

Navigation

I traveled yesterday from Boston to Baltimore.  When I got to Baltimore, I rented a car and tried to use the GPS to get from the airport from my hotel.  I turned on the GPS, went to the map app and it was able to find where I was and was able to get google-maps driven directions to the hotel.  Sadly, the app itself does not provide turn by turn directions and I found myself scrolling the window and clicking UI while driving.  Safe?  Hell, no.  But better than looking at a map.  At least the GPS worked and it knew where I was at all times.  Hopefully they will add GPS tracking and automatic turning + directions in a later release.  All of the pieces are there and it’s sorely needed.

Battery Life

So far I have no complaints about battery life.  With the GPS and the maps app running and doing a pile of web browing while waiting for both my plane and car to be ready all while using 3G, I got the battery down to about 60% or so, which is better than I was expecting.  The stand-by time of the phone appears to be very good, especially if you turn off the 3G.

I guess what I would say is that it feels like that within the laws of physics that the battery life appears to be about as good as you can get.  Great job on this, guys.

The Notification Area

This is a pretty neat idea on the phone and it’s taken a little bit of time to get used to it but I love it now.  When you get an instant message, email, a download finishes, or someone sends you a text message there’s a little message about it that appears in the upper left hand corner.  Press on it, drag your finger down and a big notification area slides down that gives you a list of the things that are awaiting your attention.  Click on one of the messages and it takes you right to that app where the notification happened.  When you’re done in that app one you can click in the notification area again, drag it down and deal with something else that has happened.  It’s actually really well done and is similar to the sidekick, but has been very much improved in this phone.  I love this feature.

Instant Messaging

Yes, this phone can have background tasks which means that you can have real-time instant messaging and apps running in the background!  Nice, huh?

The phone ships with a client that does AOL Instant Messenger, Google Talk, Yahoo! Messenger and Windows Live Messenger.  I’ve tried the Google Talk client and the AOL Instant Messenger client since that’s where I have accounts and friends.

The Google Talk client seems to work pretty well.  Icons show up where they should, although navigating between conversations feels strange.  Lots of clicking around.

The AOL client doesn’t feel as well done as the Google client.  Lots of default widgets and navigating required to find someone you want to talk to.  And while the Google client seems to do a good job of leaving you logged in, the AOL client doesn’t appear to do deal with network changes very well.  (i.e. EDGE to 3G and/or to WiFi.)  When you’re logged out it doesn’t seem to aggressively log you back in.

And there have been some odd things that I’ve seen like messages appearing several minutes after they appear on my computer client that’s logged into the same service.

So I’ve found this functionality very useful, but it feels like the clients need a lot of refinement.

Apps

Yes, you can have background apps!  Yay!

The app store doesn’t seem to have a lot of apps in it yet.  But it’s still early.  Very early.

But the most important thing?  You don’t have to ask permission before installing an app from somewhere other than the app store.  It’s as if they trusted users like they were adults or something.  I was able to download the Twitroid client from their site, install it, try it out and no one had to approve it.  (To do this you need to check a box in the base settings on the phone, but it’s very easy to find.)

Apps appear to be well-sandboxed with a process model and it informs the user what permissions the app wants to have before you install them.  (Use the camera, use the GPS, read personal info, etc.)  This seems pretty well done and is about as close to understandable as you can make these kinds of security decisions.  In fact, I was going to install a weather app from the app store but it looked like it wanted way too much information from my phone so I chose not to install it.  Once again, good stuff here.

Sync and Information

It syncs with gmail.  End of story.  So if you’re a heavy heavy gmail user, then this is probably pretty good for you.  I’m actually not a heavy gmail user so I’ve had to enter a lot of stuff by hand.  My calendars are either on my work Mac or in a zimbra server.  So I’m hoping that we see support for other kinds of calendars or a way to sync with other sources soon.  (Caldav, maybe?)

So the story here is good for the web-heavy, gmail-using crowd but is weaker for those of us bordering on corporate calendaring.  (I’m sure my blackberry-holding friends are laughing at me right….now.)

Conclusion

So that’s about it.  I really like the phone, especially as a 1.0 version.  I’d buy it again and would recommend it to others.

Thoughts?  Questions?

Fennec, which is the code name we’re using for the lead-up to a mobile version of Firefox, has reached an important milestone: Alpha 1.  Mark has details up on his blog, including some good feeedback from people trying it out.

We’ve got builds for the Maemo platform.  We also have builds for Linux Desktop, Mac and Windows so that extensions authors can start hacking as well. See Mark’s blog for some download links.

Congrats to the team for reaching this milestone.  It’s a great start.  Next up: on to lots of polish, finish and performance work. And Windows Mobile.

Madhava was nice enough to do a video that shows Fennec on-device.


Fennec Alpha Walkthrough from Madhava Enros on Vimeo.

Vlad has been doing some of the integration work to get TraceMonkey working on ARM. He’s posted a first set of performance numbers which are more or less in line with the x86 numbers that were originally posted. Here’s the graph we care about:

The ARM backend is about 2,000 lines of code and is still in earlyish stages – but it’s working. It’s a great first step to bring fast JS perf to ARM-based mobile platforms.

Since Stuart landed the Qt port into mozilla-central the other day and Ryan Paul wrote an article on Qt and Mozilla I thought it might be worth it to add some context to that work.

Ryan’s article contains this quote from Nokia developer Oleg Romaxa:

“Nokia will use the best browser for the job,” he said. “Currently, we cannot make a full-featured and integrated browser with WebKit in mobile. But with Mozilla, we do not need to do anything, we can take existing models and API’s which are available. Also, NPAPI support is already in the Gecko web rendering engine. They are also concerned that WebKit is, to some extent, controlled by Apple, who are in competition to Nokia with their iPhone.”

There are a few important things to note here. First, that Mozilla is the complete package. We’ve got everything that you need to implement a browser. Disk cache, integrated (and well tested!) networking, a super-fast JS implementation, an XML UI markup language (XUL) and a brand that regular humans recognize. Those things mean you can get to market faster as a mobile integrator or developer instead of having to create them yourselves again.

Second, our neutral stance. We believe in the web over any particular platform. From Nokia’s standpoint if you’re building on the same technology that one of your major competitors is leading vs. working with someone who absolutely wants a web browser to succeed across all of Nokia’s platforms – which partner would you choose? I’ve often said “pick your partners carefully” and this has to be an important part of any technology decision making process.

There’s also another interesting flip side to this: who is WebKit’s other major competitor? Apple itself. Just like Microsoft’s push to get Silverlight out in the world, Apple wants people to write apps to their native platform. In this case, the iPhone. Given the strategic value of the native platform as part of Apple’s offerings, their investment in WebKit will (or at least should) always lag behind. We’re investing everything we have in the web and our platform and it’s starting to pay dividends.

And since I have your attention here are two other very interesting checkins: GTK+ and directfb (which people are actually building products on) and worker threads (ala Gears.)

Look at our current (and planned) platform support: win32, windows mobile, win32 + qt, mac OSX, linux + gtk2, linux + qt, qt embedded, linux + gtk2-directfb, x86, ppc, arm. We’re bringing the web to everyone and we’re doing it with a single coherent project with regular releases. That’s what I mean when I say “for everyone everwhere.” The web is bigger than any platform and we’re the embodiment of that mantra.

Mozilla is moving. It’s fast and furious now. And I think we’re just getting started.

[ Update: It was pointed out to me that what I wrote above might be misinterpreted as announcing that Nokia had picked a platform or something similar. Just to be clear that wasn't what I was doing, and as far as I know they haven't. I don't have knowledge about that decision inside of Nokia. Only they know. I was just pointing out what a decision making process might look like and the importance of picking well-aligned partners. And the fact that we're running on more and more platforms these days which is cool as hell. ]

The second edition of about:mobile is up wherein we cover Fennec M6, Windows Mobile, Network Peformance and Geolocation. Go check it out on the devnews site above or feel free to sign up for the mailing list which will conveniently deliver it to your mailbox.

This image was taken from the overhead projector during Jay’s morning talk about mobile.



Pretty neat to see someone ported over flashblock to run on MicroB on the N810. I haven’t looked at the code to see how they do it, but I’ll bet it was a rough ride since that’s written in C and C++, not in XUL. (I also assume that Antonio did this work?)

As we continue to bring up Fennec it will be interesting to see how fast we can start migrating add-ons over to support Fennec. It will be a different experience, but many of the same pieces will be there so having support for Firefox for the desktop and Firefox on your mobile device will likely be possible. (Mark, correct me if I’m wrong.)

July is going to be a pretty intense travel month for me. Here’s a rundown of where I will be:

  • July 6th-July 10th: Istanbul, Turkey. I’ll be there for GUADEC and I’m speaking on Wednesday. Hopefully to re-iterate how important the web and its users are, talk about some of the cool stuff coming down the pipe and how GNOME might be able to take advantage of that.
  • July 15th: Boston, MA: I’ll be at this Web Innovators Group: Boston event. I have no idea what to expect from this. Maybe some innovation or something. On the web. Come and talk to me about Mozilla, Firefox or Whoisi if you want. I’ll be the one standing in the corner looking lonely.
  • July 21st-July 26th: Portland, OR: I’ll be out in Portland for OSCON Open Mobile Exchange. I’ll be speaking on Monday about Mozilla + Mobile and the awesome work we’re doing. The wife and very cute baby will be with me on this trip and we intend to take most of the rest of the week off hanging out with friends and seeing that part of the country.
  • July 26th-August 1st: Vancouver, BC: Firefox summit plus one day early in Vancouver to explore it. I’ve never been and I hear it’s a nice city.

If anyone wants to meet up to discuss things, let me know. I’ll be around!

« Older entries