Andrew Woods Seattle Web Developer

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. :)

Adventures in Bookmarking

Until recently, I had been using Ma.gnolia for my bookmarks. Then they experienced massive data corruption and data loss. this forced me to re-evaluate, and found Foxmarks via a recommendation on Twitter. I really like Foxmarks. Here a little background on what brought me to it. In the early days, I started out like everyone else, using the Firefox’s built in bookmarks. That was in the Firefox 1.x series. It did the job, but when I was on a different machine I had a different set of bookmarks that I had to manage. It’s easy enough when the set of bookmarks is small, but that gets out of control when your set of bookmarks gets significantly larger. If only there was a way to synchronize. I searched the Firefox Extensions and eventually found Bookmarks Synchronizer. This was a great step forward. I now could have one set of bookmarks. There were 2 limitation though. First, the authoritative copy was on the local machine, as that had the most recent edits. Secondly, I had to manually tell it to synch. so I if forgot for a while, it was possible to overwrite newer bookmarks with older bookmarks. I didn’t want to have to manage that. I needed something that had a centralized place where all the bookmarks were kept and then sent to each local machine. Enter del.icio.us, the social bookmarking service with an odd URL. Del.icio.us got around the synch issue by always writing to the server instead of the local machine. This was done using either a bookmarklet, or their toolbar. Then the local browser would download updates from the server. One point of authority, with multiple points of distribution. I was happy for a long time with this solution. It was very easy to add new bookmarks to my collection. I also made use of a feature called ‘bundles’ which allowed me to associate multiple tags together, and then I added these bundles to my toolbar. This was awesome as it allowed me to use the  delicious bookmarks like the native Firefox bookmark toolbar. The downside of delicious was that they never had a good solution to editing bookmarks in bulk. If you wanted to delete 50 bookmarks, it took a long time. With each deletion taking 3-4 clicks, you’d perform approximatey 150-200 clicks. I had far more bookmarks to deal with, so I decided I’d start over – but where? When I went to Gnomedex in 2008, I discovered Ma.gnolia. One thing I really liked about magnolia was their use of OpenID – many sites, one set of authentication credentials. Awesome! Note: If you’re creating a new service, use OpenID out of the gate. Another thing I liked was the UI is much cleaner and better organized that del.icio.us. So I’ll happily computed for a number of months until last friday. That’s when Ma.gnolia experienced massive data loss. As of today (Feb 5, 2009) They’re working hard on restoring their users data, but it’s looking less likely as time goes on. So now what? A few days a friend of mine tweeted about Foxmarks, as Walt Mossberg from the Wall Street Journal had done a write up on Foxmarks and recommended it. It too uses a firefox extension, but it makes use of Firefoxes built-in bookmark system which, with Firefox 3, uses tags. So I’ve come full circle, but I still get all the features I want. Firefox allows you to make use of folders to organize and tags your information, so you get the best of both worlds. The way tags are used is awesome. In the location bar, start typing a tag name. Any items that match that  tag will be listed in the drop down list that appears – regardless of what folder it’s in! I have a folder called ‘Google Apps’. In this, I have bookmarks to docs.google.com, calendar.google.com, gmail.com, www.google.com. That folder sits in my Bookmarks Toolbar. I love how easy it is for me to access these.

TweetDeck Tips

For all the Twitter users out their who use TweetDeck, I’ve created a list of  Here a couple of tips for using TweetDeck more effectively. I’ll add more as they’re discovered. I hope this helps. * Filter by Username – At the bottom of each column is a set of icons. Click the one that’s on the far left. A small area will appear with 2 dropdowns and a text box. Update the first dropdown so the ‘Username’ criteria is selected, the type the username  of your desired friend. * Filter by Keyword -  Just like the previous tip, Click the icon that’s on the far left. A small area will appear with 2 dropdowns and a text box. Update the first dropdown so the ‘Tweet Text’ criteria is selected, then update the second dropdown so the ‘-’ is selected, then type the word you want to filter by. If I wanted to not see any sports score the bottom of my column would read like ‘Tweet Text  -  score’ * Display a conversation – Often, there are times a person you follow is conversing with someone else, and you’re interested in the conversation. Here’s how you can see it.  I’m currently following @anthonyrstevens. in his tweet in the ‘All Friends’ column, he says “@fva something interesting”. click on @fva which will bring up her profile with all of her tweets on the right side of your window. To further narrow things down, use the Filter by Username trick you just learned to narrow the list of tweets.

App Idea: Startup Deadpool

The startup community is interested in how their fellow entrepreneurs are doing. I’m sure there are others but two sites that come to mind that discuss the health of start up companies – killerstartups.com and fuckedstartups.com. KillerStartups.com discusses the companies that are doing well, succeeding even, with their business. FuckedStartups.com discusses those that are in turmoil, slashing large parts of their employees, or closing their doors. While reading through my RSS feeds, I saw the headline “Jumpcut.com is heading to Deadpool”. OK, so they’re closing their doors for business. I wonder how many people knew it was gonna happen? So I’m thinking, what if people could bet which companies were gonna go under and when? wouldnt that be cool?! I’d have to say yes, that would be cool. But I’m biased, since it’s my idea after all. Now I’m not a lawyer, but I’m pretty certain online gambling is illegal in the United States. So no money would change hands. Instead it’s done by points.  It would use a weighted point system, to be precise. It’s related to when you cast your vote for a company and when they actally close their doors. the greater the value between the two dates, the more points you get. Basically, it would justify your trash talking to your friends. The other restriction is that you only get a limited number of companies to select. Lets say you had 5 slots. You could remove one of your existing companies to replace it with a different one, or when a company actually does go out of business, a slot becomes available for you. Now, here the question. How many of you would be intersted in this application? The initial application would be pretty simple. As time goes on, i could add more features. If you would like to help out, let me know.

Wish List

i want a way to keep track of the things I want. Being the geek that I am, I did a search for wishlist applications. Amazingly enough wishlistr.com came up. Taking a brief look at it, I decided it had potential. I thought about what I wanted in my desired app. Here’s what I came up with:
  • publicly viewable
  • use clean urls
  • login with OpenID to edit my list
  • easy to use
  • works with any product (not just products on a single site)
i asked my followers on Twitter for recommendations. The Amazon wish list was mentioned by several people. It works very well with anything on Amazon. Supposedly It works for non-amazon items with a little extra work.  Deciding that i didn’t want to do any extra work, I signed up for wishlistr.com to try it out. It met all my criteria so I created some entries for my shiny new account. The lightweight entry of wishlistr was nice and simple. It felt familiar from the first entry i made, but couldn’t put my finger on why. Then I was visiting my friend Cassie Wallender’s website, and she has her own wish list, which is driven by delicious.com using a tag ‘wishlist’. Of course! It’s so simple! Wishlistr felt familiar because it’s similar to my magnolia.com bookmarks. I’m now using Magnolia with a tag of ‘wishlist’. Remember to bookmark my wishlist and keep it in mind for the holidays :-D

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.

Chromed Site Menu

One aspect of website development that has been redesigned over and over again is navigation. As time has progressed, web designers have battled multiple issues – usability, accessbility, client preferences (I want it look just like Amazon’s), tradition (other sites do it “this way”), cool factors. But what if you the designer never had to design another navigation? How cool would that be? Very, you say?! That’s what I thought. In short, my idea is to put your website menu in the browser chrome. The browser chrome, as defined by Urban Dictionary, is “a euphemism for the graphic control elements of your browser interface.” It would work like this: The webdesigner would create an XML file in the root of the website called ’sitemenu.xml’. The browser knows to where to look for the sitemenu.xml. It finds the xml file, parses it, and generates the nodes in the toolbar menu under ‘Site’. The toolbar menu is the same one that has File, Edit, and Bookmarks. So this means that the contents of the Site menu are dependent upon the website in the browser window. Why would we want to do that? you might ask. Well, there are several reasons:
  1. Web Designers would spend their valuable time on other aspects of the site
  2. Accessibility would become a non-issue:
    • Anyone using a screen reader already knows how to use there application menus.
    • Usability is increased since the user doesn’t need to relearn the navigation style for that website
  3. There’s now more room for the content without the navigation consuming space on the page.
    • Reduced Page Size – A good thing for the mobile environment, since currently subscribers have to pay for the data charges.
    • Can be cached for browsing multiple pages on the same site.
  4. It would work identically on your mobile browser as it does on your desktop
Can this actually work, you say? Sure! Why not? All the pieces are available. Google already uses a similar idea for crawling your site. Browsers are already doing something similar with a favicon (the image that shows up when you bookmark a site). There are challenges ahead, to be sure. The biggest one is browser adoption. Theoretically, I could create the optimal XML file and associated DTD, give it to Opera and Mozilla, and they’d have it implemented in a fortnight or two. However, Microsoft would probably get around to it with IE9 because between this day and that, they would create a slightly different implementation that they would force upon the development community. Then there’s the mobile browser manufacturers. The fragmentation in the mobile community is great. With the numerous mobile browser manufacturers out there , It could take years for them all to catch up. Like I said before – there are challenges ahead. However, I still think it can work.

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?

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.

Email Standards

I came across a site promoting “Email Standards”. It sounded like a good idea so I checked it out. What they are actually talking about is applying Web Standards to email, which is something entirely different. Web standards is about making web content available to everyone in a consistent way. This is partially achieved by writing well-formed valid (x)html documents to deliver the content, and keeping presentation separate by using CSS. So this group wants to bring this methodology that has rendered benefits to developers and users alike to the email experience. If the web development community is interested in using the existing email standards, they would see their work is already done. “Really? Tell me more!“, you say. Think about the word document you sent to your boss, or the photos you sent your friends. That was made possible by a technology called MIME, that every email client understands. Now imagine that file is an HTML document that you’ve designed using web standards, complete with unobstrusive javascript and CSS. Your customer clicks on it, and it opens in their favorite web browser. It displays perfectly. But what about displaying my HTML page in the message of the email? The fact that it works at all is amazing, and not in a good way. The incompatibility issue is not a small one. Lets say its 2017 (10 years from now), and the email vendors got on board with the whole “email standards” campaign of injecting HTML into email messages, and its been completed successfully. What does that get you? Not much. Because to move forward, all the email vendors standardized on xhtml 1.1 (the current standard of 2007), but in 2017 the standard is xhtml 5.3. If MIME is used to deliver the HTML content, this becomes a non-issue. So instead of campaigning to inject web standards into email, lets push for keeping the web standards on the web.