Index: Application Idea:Transit Rider

I ride the bus everywhere in Seattle. One mobile app I use regularly is One Bus Away. It tells you how minutes away, in real time, your bus is until it arrives at your current stop.  It works very well, but it’s designed from the perspective that you’re waiting for the bus to arrive. It doesn’t work so well for planning the trip, or how long until you arrive at your destination, once you’re en route.

That’s where the Transit Rider app would come in. It’d be a single solution for people who ride the bus, and eventually subway/light rail riders. Ideally, it’d do the same functionality as One Bus Away. However, You’d also be able to plan your trip, select the starting stop you like best (because there could be multiple options), then tell it when the bus picked you up. The mobile application would then estimate your arrival time. This could be a fantastic app if designed correctly.

Given the complexity of it, it wouldn’t be possible to create a working prototype for a Startup Weekend project. However, it could be mocked up with static assets and an associated business model. When it comes time to build it, then you’ll need a Java developer to support Android, and an objective-c developer to support iPhone / iPad. It’ll make heavy use of  APIs on the server, so you’ll need some great server-side software developers.

This is a project that should be made. it needs to be made which is why I’m writing about it. If you do decide to make it, You should start by developing it for Seattle on Android first. Worry about the iPhone/iPad experience after you’ve worked out the Android experience. That way I can be a tester for you. :)

Index: Mobile Edition

This morning I’ve launched the mobile edition of AndrewWoods.net However, it doesn’t include this blog. That’s for a future time. :) In keeping with the One Web idea, I’m using the same url but a different layout. I chose this method, because it complies with the DRY principle, it made it easier/faster to develop, and its more cost effective since i’m not using a separate hosting account for a mobile site.

The difficulty to mobile web development is that you need to test a wide variety of devices. Acquiring such devices can get expensive depending on how many you’re developing for. Some developers, and even companies, make sites to cater to iPhone or Blackberry and call it a day. I’m using a Palm Treo 700p, and limiting my development to Palm Devices would be bad, given the small audience. More importantly though, I want everyone to be able to use my websites.

So, I have a request. If you have mobile browser on your phone, could you send me some screenshots of what different pages on AndrewWoods.net look like, in the next day or so? Here’s an example of a screenshot from my hiragana project. I’d greatly appreciate it.

If you’re a web developer that makes mobile sites, I’d love to hear any tips you might have.

Index: Brightkite

I’ve been using Brightkite for a while now. If you’re not familiar with it, Brightkite is a location-based mobile social networking site. What does that mean? you ask. It’s like Twitter, but it keeps track of where you posted from. If you haven’t tried it yet, I suggest you try it. I’d love to hear your thoughts. For now, I’ll give you mine.

The great thing about Brightkite is that you can meet people based on where you are. Someone that you might have never met is now within reach just because you both use the same service. This is the advantage is has over Twitter. However, the userbase needs to be increased dramatically to enhance the interestingness. If they can accomplish this, then you’ll meet others who are currently checked in nearby, as opposed to a few days later. This happens to me quite a bit – where I’ll see someone of interest who posted, but the post is dated from several days ago.

The folks at BrightKite have done some great things with their web application .

  1. Map view of your friends. They display where your friends are checked in on a google map. This is great when you don’t recognize the street names and when you want to get a quick sense of where they are in relation to each other.
  2. Privacy Control. You may not want everyone on the internet to know where you are all the time. Brightkite has built-in some controls to manage your privacy. They let you mark which friends are trusted. Those are the people who can see your exact location all the time. There are also just normal friends. Below your menu, is a privacy switch. When set to public, everyone can see your location and posts at full accuracy. When set to private, strangers see your checkins at the city level but no posts, your normal friends can see your checkins and posts at the city level, and your trusted friends get to see your checkins and posts at full accuracy.
  3. Sharing with other sites. Under “Account Settings” there is a sharing tab. It identifies other sites that you can send your brightkite information to. Currently they support Twitter and Fire Eagle. I’ve never looked at Fire Eagle, but I’m actively using the Twitter sharing. Brightkite sends my info to Twitter when I post a note or photo. I did for a while also send my check-ins but that has zero value to a Twitter user, imho.

There are some things that I would change. Lets call them opportunities for improvement.

  1. Email interface for photo uploads. Brightkite assigns a unique email address to you. They instruct you to send your photo to that unique address. A simple as email is , sending photos to brightkite doesn’t work for me. the mobile version of gmail doesn’t allow you to send attachments. It’s just not available. You can make the argument that this is a gmail problem. Never the less, I’m still not able to post photos from my mobile. If Brightkite had a file upload on their site for uploading photos, this would be a non-issue.
  2. Placemark names not utilized fully. Placemarks are used to identify places that you go to often, and allows you to assign a nickname to it. The nick names are not used when you check into a place that doesn’t already have a name, like an intersection. For example I might have an address of “9th & Pine, Seattle, WA, 98101″ with a nickname of “Bus stop at Paramount”. When I write a post from that location you will only see the address. I think it would improve the user experience to use the nickname as well.
  3. Streamline the interface. Do a place search and enter a business name. If you want to check in at one of the places, you need to click the name. On the new page click the “Check In Here” button. It would be great though if I were able to click “check in here” from the search result. The “visited places” and “place marks” both have that functionality. So why I cant I have it here too. Another thing that bugs me is all have very different looking listings. If they could bring them in line with one another, it’d reduce the time it takes the learn the web app.
  4. Symbols. One symbol that you see alot of brightkite is an orange circle icon with a white ‘X’ in the middle. Other applications, outside of brightkite, have taught us that an ‘X’ in a icon means close or delete. So when I see that icon in the placemarks listing, I’m thinking that I can delete the item by clicking the orange circle icon. It will actually bring you to the place stream for the location. That’s confusing to me, and probably to others too. I’d like to see brightkite use the lime green trapezoid in their logo, as that is the placemark icon. It would have a couple of benefits – the ‘kite’ icon doesn’t have any external meanings like the ‘circle with an x’ icon, and it strengthen the association of your location with BrightKite.
  5. Editing Placemarks. There is no way to edit a placemark. Many placemark redisplay the address as the name. So, when you checkin and post a note from that location, the address is written out twice. People like names, computers like addresses. That’s a lesson we’ve already learned with DNS. So, I’d like to be able edit the placemark name so that everybody can benefit from it. Also, people make mistakes and there’s no way on brightkite currently to correct them. This alone should be enough to add in the ability to edit.

I’d love to hear what you think.

Index: Mobile Social Networks

Social networking sites like Myspace, Facebook, and LinkedIn have been popular for a couple of years now. But lately, a new breed of social networking is on the rise – mobile social networks. Mobile social networks allow you to use your mobile device to communicate with your friends while on the go. Some of the bigger names at the moment are Twitter and Blue Pulse. In my neck of the woods, I’ve been hearing about Twitter. Out of curiosity, I’m taking the opportunity to learn more about it.

The way Twitter works is that you login to the site, and leave short, “blurb-type” messages about what you’re doing at the moment. Then people who follow you receive these messages in their account. The more followers you have, the more people know what you’re doing. You too can follow people. It’s only fair, after all. If you register your phone or IM with them, you can also use that to post your messages. This is where things get interesting. I can use the shortcode for twitter to send the system a number of commands. For instance, you could turn off the updates you get from other people temporarily. This is great example of a mobile application that takes the context of the user into consideration.

I’d be interested in talking with a developer from Twitter or any other mobile social network to discuss the opportunities and challenges of building the app, particularly the interaction with SMS. So I have a few questions for you, the reader. Do mobile social networks interest you? What is your favorite, and why? In your experience, have they enhanced your relationships?

Index: Things to Do, People to See

Over the weekend, I went out walking around downtown Seattle. During a session at the Local Color coffee shop at Pike’s Market, I discovered two very cool mobile websites – Yelp and EarthComber.

Yelp is great because it lets you discover restaurants, nightlife, and any other service that might interest you, as well as feedback from other users. It’s not the first time I’ve heard of Yelp, but it is the first time I realized they had a mobile site. If you’ve never been to Seattle, it’s divided into neighborhoods (Belltown, Downtown, Capitol Hill, etc…). So it’s nice when you’re given the option of filtering your search results by neighborhood. I did a search for “pizza” near “Pine St and 8th ave, seattle, wa”. When I filtered the results by neighborhood using “Capitol Hill”, it shows my favorite pizza place Hot Mama’s in the number 2 slot! Very cool.

Another site that’s great is EarthComber. Their mobile site looks fantastic on my Treo. They have a fair amount of overlap with yelp (search by topic, ratings, user comments), but they have some additional functionality. One of the great promises of mobile applications is Location Based Services. They’ve taken a step in the right direction. When you have a friend in your list, and you’re both members, you can see on a map where they are in relation to you. I say its a step in the right direction because each person is still responsible for updating the location. In a true LBS application, your phone location would be known already by the system. With that said, it’s still really cool. Another nice feature is that you can save your location information. So as you revisit places, you won’t need to re-enter everything. Just select it from a list. They do have an option, where you can set the location on the map by using your internet connections’ IP address. I haven’t had accurate results with this, but it maybe enough to get you close enough. I’ll have to try again in a few weeks. Maybe it’ll be better, who knows.

Index: One document to rule them all ?

Some say that its best to have one document to serve all audiences. Jeffrey Zeldman wrote about this idea in his book “Designing with Web Standards” While it’s a nice thought, and simplifies things for developers, it doesn’t work all the time. Now I’m not trying to go head-to-head with the Big Z, but rather I’m trying to my best to provide an optimal experience for a mobile user.

Think about a news site like CNN. It’s not uncommon to see a related video or some large images on a page, next to the story. If I went to that same site on my Palm Treo, I’d download all that media because it’s part of the markup. That’s unfair to the mobile user, since most cant view it. That’s especially true for those who pay for the data beyond what their wireless service contracts allow. I’ve tried changing the setting on my treo to not download images. But what really happens is they seem to get downloaded anyway, but not displayed. Now I’m not complaining (well maybe just a little), but I think that it’s currently not feasible at the moment.

As I mentioned in my post for the Engadget to Palm blog entry, the mobile stylesheet doesn’t work on my treo when a screen style sheet is available. But lets pretend it did work. Would doing tricks like display:none in a style sheet be enough for mobile users. From what I’ve read lately some screen readers don’t respect display:none.

Another approach is to serve a separate set of files. Each of the sites in my top 5, use this approach and it works well for them. We the users get a better experience because of it. I’m sure the developers of these sites are reusing most of their code from the main website. Sure, it’s a little extra work to maintain, but nowhere close to building another full scale website. So what’s the harm?

Index: Engadget to Palm

This afternoon I found this Engadget blog entry titled “Dear Palm: It’s time for an intervention“. I agree with much of what is said in this article. I would like to offer a couple of additional suggestions, most of which are specific to mobile developers.

Consistent Screen size and resolution – With all the differences is devices, it can be nearly impossible to design an attractive mobile website. So standard across your product lines. Screen size and resolution are extremely important.

Follow web standards. The firefox and opera browsers are do an incredible job of following web standards. With web developers around the world using CSS for presentation and XHTML for structure, for Palm for conform to the standards will make developers want to develop on it. This is much in the same way that we use Firefox to build our websites, then fix the quirks in IE.

I recently added a handheld stylesheet to my website, so I could deliver an attractive experience to my mobile audience. I discovered that if a screen stylesheet is present, the mobile stylesheet is ignored! Why? You should only be using the screen style sheet if there isn’t a handheld stylesheet present. A better idea would be to make a preference to the user of what to do when a handheld style sheet is unavailable – use the screen stylesheet OR User-specified Style Sheet, or browser default settings.

View Source. Please add this to the browser menu.

Power Button. I use a Treo 700p from verizon. Just under the bottom right corner of my screen, is a red button. It looks like a power button. It’s not. When I hold it down, it turns of the phone. The device is still on. So I cant make calls AND the battery is still consuming power. Why is there not a button/switch to turn off the device? The only way for me to currently “turn it off” is to take out the battery. That’s bad. Please fix that.

New Browser. Perhaps instead of maintaining Blazer, you could donate a couple of developers to make Mozilla’s Minimo or the Opera Mini browser work on all Palm products. Start with the Treo line and go forward from there. I tried a while to install Opera Mobile, but it required a JVM. I wasn’t able to install that, so I moved on.

Hardware. Some people think the phones could be thinner. I happen to like the way the treo 700p feels in my hand. Its nice and solid (it doesn’t feel like a wussy RAZR), yet it is still thin enough to fit in my jeans front pocket. I’d try to thin it a little bit, but not much. The keyboard is great. Don’t touch it!

Index: Figuring out the Mobile Web

I rediscovered a blog posting from Cameron Moll about the development of the Mobile web. Its from 2005, but it still makes sense. As a few people mentioned, the U.S. is far behind in the mobile web development from. So this blog posting will likely be ironically timely for us in the U.S. BTW, he just wrote a book on mobile web development.I’d like to start my contribution by listing my top 5 best mobile sites. The list contains the sites that give me the best experience on my Palm Treo 700p. The links in this list point to the mobile sites and should be viewed on your PDA

  1. Fandango – a movie listing site
  2. The Weather channel – Provides local weather (and so much more) information based on your zipcode.
  3. ABC news - A major US television network
  4. GMail – Mobile version of Google’s Mail client.
  5. The Onion – A satirical news site.

As part of my education for mobile development, I’ve added a mobile style sheet to my personal website.  Mobile development is more than just adding a style sheet. It’s also about using the markup effectively. One idea that was very useful was the Leahy/Landridge image replacement technique. This allowed me to use the heading tags so all clients can access that markup. I then applied the technique in my css file for desktop users, and used simple styling for the mobile users. This way, the mobile user still gets a nice experience without the extra download.

I’m interested in what techniques have worked for you. So if you have one you’d like to share, let me know.