October 2008

You are currently browsing the monthly archive for October 2008.

As John mentioned I’ve taken over helping to run the Evangelism group inside of Mozilla.  One of the best moments I’ve had in this new role has been to offer a full-time role to Paul Rouget.

Paul has been extremely active in the Mozilla community in Europe, particularly in France.  Those of you who who have been to events in Europe probably know him.  He has an incredible depth of knowledge about XUL and a lot of the rest of the Mozilla platform and has spent quite a bit of time hacking on Thunderbird.

But what really sets Paul apart from others is his passion for Mozilla and his willingness to organize people around it.  We’ve had some excellent people in Europe who have Evangelism in their blood, most notably Tristan, but Paul enjoys that special mix of technical skill, community organization and passion for the project that we love to have on our team.  It’s going to be great to have him as part of the Mozilla community full time.

As a first task I’ve asked him to help us put together technical information for people transitioning add-ons to Firefox 3.1.

You can follow Paul’s weblog or you can email him at prouget remove me at mozilla.com.

Welcome, Paul!

choices, choices

Sam Chooses a Book

Sam Chooses a Book

Shona found her like this.  She had emptied the entire shelf of her books and spread them around her in order to choose just the right one. She knows tons of words now and walks all over the place.  Growin’ up pretty fast.

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?

Since Terry Tate has this awesome video which is making the rounds:

I thought I would collect some of my favorites from the past:

Last night I discovered the hard way that flickr uses slightly different GUIDs in its RSS and Atom feeds for the same entries.  The format looks something like this in the Atom feed:

tag:flickr.com,2005:/photo/12345678

And in the RSS2 feed:

tag:flickr.com,2004:/photo/12345678

Notice the difference?  The photo ID is the same, the tag (a year, probably?) is slightly different.

I converted everyone’s Flickr feeds on whoisi to use RSS2 instead of Atom because the RSS2 feeds contain the thumbnail as part of the <media:thumbnail> element instead of having to make a separate call to the Flickr API.  This makes things like preview and adding new sites super-fast and it will probably let me remove a thousand lines of python and JS from the whoisi source code.

But the side effect was that with new IDs every entry looked new.  And I suddenly had a few thousand new entries in my unseen page on whoisi.  I spent some time last night and this morning cleaning up the database to reflect the proper GUIDs in flickr feeds.

Our vacation was months ago.  I was looking at old photos and this one made me laugh.  Yes, a pile of laptops.  Relaxing.  Just like their owners.

a shared culture

Via Joi Ito.

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.

There has been some confusion around the Geolocation functionality that we’re including in Firefox 3.1 Beta 1.  I thought I might make a short post to try and clear some of it up.

1. Out of the box, Firefox 3.1 Beta 1 doesn’t include any back-end providers of location information.

This is technical-sounding, and it is, but an important thing to understand.  Aza has a post that provides some more information on this topic. Simply put: Firefox has to get its location information from something – a GPS, a service like Skyhook or something you set up by hand.  This Beta does not include anything out of the box that provides that information – just the hooks to use them if they are available.  We’ve seen posts that say we’re including Skyhook or Loki or other things, and that’s not true.  That’s why the web-tech post on Beta 1 suggests you install an add-on that lets you set your location manually.

We will include the hooks for people to add this information and the web api is always there, ready to be used by any back-end provider that someone adds.  But we didn’t include any back-ends in the beta.

2. We don’t know what we’re going to include with Firefox 3.1 for location information.

It’s possible we’ll provide nothing.  But so far no decisions have been made about what to include to provide location information.  Skyhook was a partner for the Labs Geode experiment, but we don’t know what we’re shipping in 3.1 final yet.

3. The browser is providing location information, not information about where you live.

This is a distinction that Boris brought up, and it’s important.  What we’ve done is add the ability for the browser to hand out location information.  This information does not have to be related to where you live or work or even personally related to you in any way.  Most people will likely use it for that, but just to be clear on this topic: we believe that the user should be in control of if they want to expose this information to web sites or not.

I think that most of the confusion results from the fact that this is pretty new to the browsing experience and people don’t yet know how to interpret it.  Normal human beings probably don’t understand how to answer questions about this, or what exposing location information to the web means to them.  So there will be some learning that will need to happen for both users and providers alike.  This will be an iterative process.

Firefox 3.1 Beta 1 is available for downloading and testing. I’ve been using it now for a few days with TraceMonkey enabled and it seems pretty stable for me (aside from the lack of extensions.)

I also wrote up a big post that goes over some of the new web developer features in this beta in the web-tech blog. There’s a pile of stuff in there that most people don’t even know about, so taking the time to look through the list even if you’re not going to download the beta is worth it. We’ve got some neat stuff coming up for 3.1.

Beta 2 will feature some more user-visible features and a pile of new web developer features as well. So much good stuff coming down the pipe.

Enjoy!

« Older entries