Still Using Firebug?

Chrome Developer Tools

As a web developer, I hadn’t decided to focus on front-end work until another developer told me about Firebug.

When I started targeting mobile, I switched to the Developer Tools suite (DevTools) built in to Google’s Chrome browser.

Two years later and I’m just beginning to realize what I’ve been missing. I was on the /r/javascript forum on Reddit and the top post is a slide deck showing forty pro tools and tips I had no clue about.

http://bit.ly/devtools-tips

 I find DevTools an indispensable utility and yet I’ve only been using 10% of its capabilities.

- @quantumtom

Three Steps to a Fullscreen Web App on iOS Safari

Intro

When the iPhone concept started taking shape at Apple, installed apps were not given much consideration. No plan existed for an installed app marketplace because the WebKit-based iOS Safari mobile browser would be able to do all the work,* thus allowing web apps to be written in a unified standard. And that unified standard would be platform-independent; it would also never need a software update.

* WebKit is the code-base for the DOM and layout rendering engines in all versions of Safari, Chrome, Android’s “anonymous” default browser (it’s even going to be powering your cable box in the coming years).

The application would be served over the network in realtime, from static html files, eliminating the need to push software updates to users, and providing a unified interface through an open-source standard architecture — HTML, CSS, and JavaScript. The “web stack” can run an application entirely in the browser, without the need for server side programming. And WebKit’s HTML5 features eliminate the need for Flash or other browser plug-ins.

There are a lot of other cool tricks you can employ once you have users accessing your web app from their home screen. E.g., display a static image as a loading screen while Safari downloads assets, renders the layout, and processes JavaScript).

The Process

Listed in detail below, these three steps are as follows:

  1. Add the “apple-mobile-web-app-capable” meta tag to the head of your html file.
  2. Add the “apple-mobile-web-app-status-bar-style” meta tag to the head of your html file.
  3. Suggest users add your web app to their home screen.

STEP 1: Add the “apple-mobile-web-app-capable” meta tag to the head of your html file.

<meta name="apple-mobile-web-app-capable" content="yes" />
When users are visiting your web app from within Safari mobile, they can choose to bookmark it and add it to their iOS home screen. Using the aforementioned meta tag will remove the bottom browser chrome, but only when users visit your web app via their home screen shortcut. This has been a feature since iOS 2.1 and the official Apple documentation on this is available in Apple’s Safari Developer Library.

STEP 2: Add the “apple-mobile-web-app-status-bar-style” meta tag to the head of your html file.

<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
No one’s yet discovered a means of removing the iOS status bar while running Safari mobile. Even step one (when fully implemented) won’t do the trick. The only workaround is to use the “apple-mobile-web-app-status-bar-style” with a very specific “black-translucent” setting.

When used with trick #1, this meta tag will force the status bar and browser into separate layer depths — the background of the status bar is set to black, but with only a 50% opacity. So, technically, you’ve got a full screen, but you have to live with the semi-opaque status bar on top of your web pages.

The other two valid values are “default” and “black”, but neither of these create the layering effect like “black-translucent” does.

EXAMPLE: I’ve tried it out on a weather app I’m buildingremember to add the home screen shortcut and launch the web app from there.

STEP 3: Suggest users add your web app to their home screen.

So, we want people to use our web apps in full screen mode. This means getting them to add a shortcut on their home screen and launching it from there. If only there were a relatively pain-free way to do this. Fortunately, JavaScript can be used to check and see if an icon already exists on the home screen and — if it’s not there — suggest they add it.

Enter the “Mobile Bookmark Bubble” project. A number of volunteer developers have collaborated to build a small JavaScript kit that does exactly that. On the difficulty scale, I’d say it’s a little more tricky than adding a jQuery plugin — in other words, it’s something most Flash developers should be able to handle. ;)

Conclusion

This method will allow users to experience your web site in full screen mode with no visible browser chrome. Unfortunately, we are dependent on the user to make this happen. If they do follow through, we should encourage them to keep the icon on their home screen. This means we should give them some good icons and make sure they’re right for the phone and easily recognizable. I’ll cover that in another post.

Camera Coming to Android’s Default Browser

Can’t wait until this is available on iOS Safari mobile.

From your browser you can now upload pictures and videos from the camera as well as sounds from the microphone.

via Android 3.0 Honeycomb is first to implement the Device API | David Calhouns Blog.

Autocompleter – Mountain View – US jobs

The other big Google April Fool’s Day joke:

As a Google Autocompleter, you’ll be expected to successfully guess a user’s intention as he or she starts typing instantly. In a fraction of a second, you’ll need to type in your prediction that will be added to the list of suggestions given by Google. Don’t worry, after a few million predictions you’ll grow the required reflexes.

via Autocompleter – Mountain View – US jobs – Google.

Google Picks Kansas City For Fiber to the Home – Will Begin Offering 1 Gbps Service in 2012 | DSLReports.com, ISP Information

 

In February of 2010 Google announced they’d be picking one lucky city where they’d build a fiber to the home test network, offering between 50,000 and 500,000 users 1 Gbps fiber connectivity. The announcement immediately created wave upon wave of free PR for Google as more than 1,000 cities vied for the search giant’s attentions. However, after Google delayed the project last December, some started wondering if Google was wavering on the plan.

via Google Picks Kansas City For Fiber to the Home – Will Begin Offering 1 Gbps Service in 2012 | DSLReports.com, ISP Information.

Home Junction

Shack in a slum near the property

The LA Public Library has only one photo entry for "Soldiers Home" that seems to depict the slum that once existed where the 405 and the 10 intersect.

If you’ve used Google Maps in a major metropolitain area, you may have noticed one or two “neighborhood labels” that seemed bizarre and new to you even though you know the area quite well.

Here is a link to Home Junction on Google Maps.

As best as I can determine, some of these names go back to the 1960s. The reason I think that is because of a little area in west Los Angeles that on Google Maps is labelled Home Junction.

If you look at the intersection of the Santa Monica freeway and the San Diego freeway (I-10 and I-405 respectively), Google Earth has a little label for the area and that label says “Home Junction.”

In fact, if you drive around the area where National crosses under the 405 there is one of those weird blue City of LA signs denoting that you are in a “named region” of the city. It also says, “Home Junction.”

Home Junction? WTF is that? I like to think I know the west L.A. area quite well — between the different neighborhoods and their historic origins — I find that stuff interesting. Palms, Sawtelle, Mar Vista, Rancho Park — it’s my albatross.

So, what I’ve pieced together is this: the junction was so named because it was the meeting point between the spur line and the main trolleyway that once connected Santa Monica with downtown Los Angeles. The spur line connected to the Veterans Administration facility via a little street called Sawtelle. Back then the VA was called “The Old Soldiers’ Home”, hence, Home Junction.