Tethering the iPhone : My Experience plus o2’s secret little bmi.js file

I recently moved house, and in the process lost my broadband connection for longer than anticipated. Having looked into the various USB Dongle solutions, I decided to opt for a tethered connection form my iPhone. I learned a lot from my week or so working this way – about my productivity, and about how affective tethering is.

Productivity

The thing I noticed the most was how much more productive I was. We all know how easy it is to get distracted by email, RSS, Twitter, Facebook, YouTube, and web surfing. And many of us know we should practice better time management. Well, next time you laugh at friend who tells you that where they work they don’t have internet access, I’ll have to admit, I completely understand why management make such decisions (unless your a web developer of course!).

Here’s my 2 tips to remaining productive:

  • I really recommend only checking you mail periodically – it’s so easy to get into a conversation over email these days. I’d rather just fire-and-forget.
  • Treat Twitter, Blogs etc. as a break from work, or something to read over breakfast/lunch/midnight feast depending on your working habits. I now read twitter feeds like RSS feeds – scanning for something interesting to pick up on.

Tethering

My experience was pretty good. I must admit, I’ve not used USB Dongles in anger, and form what I’ve seen, results vary widely. I’ve moved to Didsbury which has a strong 3G signal, and tethered over USB. My iPhone is the 3G, not 3GS. Here’s my experiences:

Speed

Connection is really good. I even managed to watch an episode of Dragon’s Den on my Mac with very little buffering. Of course, I couldn’t have done this on the phone itself.

Large File Downloads

Whilst streaming was fine, downloading wasn’t too good. I did try to download the whole episode, but it would have taken hours.

Image Quality

The biggest surprise was the poor quality of graphics. The quality is drastically reduced/pixelated. Hovering over the images reveals a hint that:

Shift+R improves the quality of this image. Shift+A improves the quality of all images on this page.

This intrigued me, so I did some digging and found that in the source of every web page, o2 is adding a call to a Javascript file in the header. This file, bmi.js, appears to replace images with low res versions. Not sure how, but it does seem to try to use iframes. It seems fairly harmless, but I did, on one occasion, find it broke a web page I was developing.

A quick look on Google reveals that thsi same file is used by Vodafone.

Battery Life

Whilst tethering, the phone does stay rather warm. With regards to battery life, as I was connected via USB, the phone remained fully charged. Interestingly, if the laptop is on battery power it still charges the phone, so the laptop loses juice pretty quickly.

Receiving Calls

Making ands Receiving calls whilst connected is fine. However, I did accidentally turn off 3G once. Whilst I could still browse OK, if the phone rings, you are disconnected.

Bugs

There is (or was, as I just downloaded the latest upgrade) a small bug with the address book. Every other letter in the right-hand alpha list became a bullet point. Odd.

Conclusion

Whether you think the £20/month tethering fee is justifiable or not is a different matter. It’s certainly cheaper than buying a USB Dongle if you only plan to use it the odd month or two. Regardless, if you have a good 3G connection I can recommend it – unless you hate low res images!

Tags: , , , ,

One Comment

Remy Sharp commented on December 9th, 2009 at 11:59 pm

What I found really interesting is that it was inlining all the external scripts, with the exception of jQuery, the server side is obviously sniffing that script and allow it to be an exception. Odd but interesting the pull of jQuery (i.e. it’s expecting it’s possibly cached?).

Leave a Reply

CAPTCHA Image CAPTCHA Audio
Refresh Image

BT F*cks Up Again

What a surprise. BT has f*cked up again. They really are the worst utility company I’ve ever had to deal with. I have no wish to deal with them, but I am forced to. When people go to work at BT, they must be lobotomised to have the words ‘customer’ and ’service’ permanently removed from their brains.

I’ve moved house. A stressful experience at the best of times. We’ve finally sold our house in Macclesfield, and are now renting whilst looking to buy a new property. Being a web developer, one of my biggest concerns was getting my phone line and broadband up and running as soon as possible.

The rental property I’ve moved to didn’t have an active line, so I needed to pay for one to be installed. BT wanted £123 for this task. I was prepared for this expense (even though it is a fair whack). What I wasn’t prepared for was how BT wanted to shaft me for a 12 month line rental contract. We’ve been customer’s for a decade, and we could transfer our account to the new property, but we still needed to take out a new 12 month contract. Worse still, the contract is not transferable to the next property, nor the next tenant!

Absolutely outrageous. If we move in the next 3 months, I’ll have forked out in excess of £265 to get my phone line activated (without call or broadband costs). I’d then potentially need to fork out another £265 at my next property for the privilege. Maybe that lobotomy adds the words ‘daylight’ and ‘robbery’ into their brains.

After some research, I found a better alternative – the Post Office. The connection fee was cheaper at £107, and there is no minimum contract. On top of this, there’s some great free calls given as part of the bundle (mobile, international etc.).

So, having sorted out the phone line, I now needed to deal with my broadband. My provider told me that so long as there was 5 days notice, if I got hold of the Linked Order Reference from BT/Post Office then they should be able to get the broadband running the same day. Well, I’d been told it was 10 days to get the phone line installed, so I went back to the Post Office, got the Order Reference, and told my broadband provider.

Over the next few days, I got several emails confirming all was in order. Last night, I phoned to check. Everything was in order.

Today was the day it was all to come together. The engineer was booked between 8am and 1pm. He arrived at 8:30am and by 10am the phone line was active. Broadband however, was not active. The engineer informed me it could happen any time. The guy in the exchange would be working through 20 or so jobs, until around 4:30pm. So, I waited patiently.

At 12pm an email arrived from my broadband provider:

We would like to inform you that the simultaneous provide order for Linked Order Reference XXX has been cancelled by BT. The reason for this is that our order with the quoted reference could not be matched with the telephone order. Please call BT for more information and update us when your line will be activated.

WTF? Several expensive phone calls later, my broadband provider has provided no more insight as to why this has happened beyond ‘BT’s system doesn’t work’. And so, I must now put in a new order and wait 7 days for activation. I could speed this up to 48 hours if I pay an extra £100.

No explanation from BT
No redress from BT
No customer service from BT

Absolutely pathetic. Almost as incompetent as Macclesfield Borough/East Cheshire Council

3 Comments

Alun commented on July 31st, 2009 at 1:27 pm

Could be worse, imagine if parcel force moved into the telecoms industry…

Darren commented on August 3rd, 2009 at 11:55 am

Truly a bunch of absolute wasters!

We’re moving house ourselves at the moment too and it has to be said Sky/Orange haven’t been a great deal better either!

Still, at least NTL are no more!!

Josh commented on October 15th, 2009 at 4:49 pm

Shame on BT – as usual, customers are a low priority. On the positive side, thanks for flagging up the Post Office as a place with no minimum contract.

Leave a Reply

CAPTCHA Image CAPTCHA Audio
Refresh Image

grid960 – a grid overlay bookmarklet for 960.gs

A couple of days ago I released a jQuery plugin that provides a grid overlay when working with the 960.gs css grid framework. The plugin seems to have been quite popular, and as a result I now have a host of new Twitter followers – Hello to everyone in Romania!

I’m glad that others have found the plugin useful. A couple of people have suggested I release the overlay as a bookmarklet, so I spent yesterday learning how to develop one. So here it is: grid960 – a grid overlay bookmarklet for 960.gs

grid-bookmarklet

To install the bookmarklet simply drag the link below to your bookmarks toolbar. In Internet Explorer, right click, select ‘Add to favourites’ and then select ‘Links’.

grid960

You can test it on this page.

The bookmarklet works slightly differently to the original jQuery plugin. Firstly, if jQuery is not installed, it will inject it for you. If jQuery is already installed it will use this library – it will dynamically upgrade the library if it is not the latest vesion (1.3.2).

Secondly, the bookmarklet provides a small configuration menu on the page. When the bookmarklet loads, it will defaults to the 12 column grid. Through the menu, you can switch to a 16 column grid, and also alter the opacity of the gridlines.

The bookmarklet does not work in IE6 (yeah, whatever).

Any problems or suggestions, let me know.

Tags: , , , ,

15 Comments

Ian commented on April 23rd, 2009 at 1:23 pm

Very cool and quick work on the bookmarklet implementation! As a feature suggestion would it be possible to allow the user to select the width, gutter, and columns? This would then make it useful for aligning no matter which grid your working with, not just 960.

| Caldeas Blog commented on April 23rd, 2009 at 5:51 pm

[...] badlyDrawnToy created a bookmarket for the 960.gs grid overlay. I modified it for Bluetrip. Just drag the link below to your bookmarks toolbar. In Internet Explorer, right click, select ‘Add to favourites’ and then select ‘Links’. It does not work with IE6. [...]

Simon Rumble commented on April 24th, 2009 at 7:01 am

Nice work Howie! (Google Reader filtered out your code, mind.)

Simon Rumble commented on April 28th, 2009 at 6:47 am

Very likely reason it doesn’t work in IE6 is that it has a 508 char limit on bookmarklets and yours is 657 chars. If you reduce it down to just load your library, and have all the guts in there, you’ll get under that limit:

javascript:(function(){document.body.appendChild(document.createElement(’script’)).src=’http://www.yoursite.com/stuff/bookmarklet.js’;})();

badlyDrawnToy commented on April 28th, 2009 at 8:32 am

Simon. The code is a little more complex than simply writing in the script element, as it first loads jQuery and then the custom script.

The code fist checks to see if jQuery is already loaded; if not the script is added. If it does exist, it checks the version, and updates if necessary. One further complication, is that the code must wait for jQuery to initialise before downloaded the second custom script.

Simon Rumble commented on April 28th, 2009 at 8:39 am

Hmmm, much trickier than mine! But couldn’t all that be done in a download, which triggers further downloads? The key here is to just get the Bookmarklet component down to under 508 chars for broken IE.

(The reason I care about IE6 is it’s a critical target platform for me. It’s STILL in the SOE here. Gah! Not that I need your bookmarklet for work purposes, just had to solve the problem myself just now.)

badlyDrawnToy commented on April 28th, 2009 at 8:48 am

@Simon – Yes, I guess I could/should have done this. I decided that web developers are unlikely to be designing their grid layouts in IE6. Could be wrong, which would be scary!

Seemed like overkill to make 3 HTTP requests to load the script. Here’s the code used

http://www.badlydrawntoy.com/static/960grid/js/960grid-bookmarklet.js

Simon Rumble commented on April 28th, 2009 at 8:54 am

When I first started this and was trying to get Firefox et al installed, I was told by the support people to develop in IE6 and Word… Yeesh!

The reason IE6 might be handy is for debugging a bog-standard IE6 install, which is fiendishly difficult. I find XRAY incredibly handy for this (http://www.westciv.com/xray/)

Milan Andric commented on May 5th, 2009 at 1:08 am

I’m looking for a javascript grid-based page editor, for lack of a better term. Some javascript code that takes a set of vanilla html div blocks and allows you to order them/move them/expand contract and maintains the grid system in a fixed width interface, like 12 column 960. The javascript generates the right grid code and you can save it or do an XMLHTTPRequest post to save it. Any ideas or have you seen something like this?

robert commented on May 22nd, 2009 at 12:52 am

do you have a decompressed version of the javascript so I can add a 24 colun grid option? I can likely edit it myself unless you want to add it which would be nice heh. Email me if you do, thanks.

DemoGeek commented on September 18th, 2009 at 3:48 pm

That is indeed very handy particularly with the 12 and 16 grid option. Would really help if there is a way to adjust the color overlay as if you have the same color on the page you might find it a bit harder to track it.

David commented on September 30th, 2009 at 2:29 am

Awesome. THANK YOU!

Ravoof commented on November 8th, 2009 at 9:56 am

Really useful. Thanks.

Katie Dixon commented on December 7th, 2009 at 1:50 pm

Works great and so useful! Thank you very much!

Surftipps commented on February 20th, 2010 at 9:12 pm

Absoluty perfect. Thanks

Leave a Reply

CAPTCHA Image CAPTCHA Audio
Refresh Image

960.gs grid overlay – a jQuery plugin

I’ve now released a bookmarklet to provide a simpler gird overlay.
Please also see grid960 – a grid overlay bookmarklet for 960.gs

I’ve been using 960.gs on a few sites recently. Without wanting to get into a discussion about the pros/cons of using css grid frameworks, I find them useful for some sites.

The 960.gs framework comes with a handy demo that shows a grid overlay, but the GIF images used have no transparency, so it is difficult to add a nice grid overlay to sites when developing them.

On the 960.gs home page there is a button by the thumbnail examples that dynamically adds a grid to the image. I Googled around for a similar solution, but didn’t find one that quite did what I wanted. So, I decided to build a simple jQuery plugin of my own.

Here’s a demo of the plugin in action.

To use the plugin, simply add the following code to your pages for a 12 column grid:


<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery.960grid-1.0.min.js"></script>
<script type="text/javascript">
	$(function() {
		$("body").addGrid(12);
	});
</script>

thumbnail of 960grid plugin

Once the plugin is activated, a small toggle link will be visible in the top left-hand corner of the page. Unsurprisingly, if you change the input parameter from 12 to 16, you get a 16 column grid available!

The plugin relies on a couple of PNGs and by default the image path is set to /images/. You can override this setting, along with several others, by passing in some options as follows:


var options= {
	img_path: 'img/',
	z_index: 999,
	opacity:.6
};
$("body").addGrid(12, options);

As well as the image path, it is possible to override the default z-index used by the overlay, in case there is a conflict. You can also alter the opacity of the PNG if you require.

Please feel free to download the plugin for your own use. Let me know of any problems or suggested enhancements.

Tags: , , ,

17 Comments

Remy Sharp commented on April 21st, 2009 at 10:05 am

Why not convert this to a bookmarklet – seems like a perfect candidate so that anyone can plug it to their site on the fly to check it matches the grid.

You can easily toggle it via the bookmarklet too, but just checking for a particular id in the body.

Jason Huck commented on April 22nd, 2009 at 1:50 pm

Thanks, this looks pretty handy. I’ll second Remy’s suggestion of making it a bookmarklet, too.

- jason

badlyDrawnToy commented on April 22nd, 2009 at 1:57 pm

Thanks for the feedback. A bookmarklet is on it’s way

Razvan Segarceanu commented on April 22nd, 2009 at 2:10 pm

Multumesc! (that means thank you very much, in Romanian :P )

HTML Editor Reviews » Two New CSS Framework Tools commented on April 22nd, 2009 at 3:29 pm

[...] I’ve been trying out for the last little while, there’s a new jQuery plug-in called 960.gs grid overlay that does as the name implies — it overlays a semi-transparent 960 grid over your layout as [...]

Blueprint grid overlay - a jQuery plugin | Caldeas Blog commented on April 22nd, 2009 at 10:11 pm

[...] I saw a link on Twitter for a jQuery plugin written by badlyDrawnToy that allows you to toggle the grid overlay when using [...]

網站製作學習誌 » [Web] 連結分享 commented on April 24th, 2009 at 3:33 am

[...] 960.gs grid overlay – a jQuery plugin [...]

[...] basas tus diseños web en columnas utilizando el Framework de CSS 960.gs, 960.gs grid overlay, un plugin para jQuery puede resultarte bastante [...]

Andrée Hansson commented on April 26th, 2009 at 3:31 am

Hey! Looks neat, I have been working on a very similar project for two months now (check the link), just to let you know. :-)

My Thoughts on 960gs | Tom McFarlin commented on April 27th, 2009 at 10:05 am

[...] jQuery plug-in for the 960gs grid overlay [...]

ling commented on December 21st, 2009 at 11:37 pm

1000 thanx
badlyDrawnToy,
most convenient tool for me!!

Philsbury commented on December 30th, 2009 at 4:26 pm

I love this. Need I say more? :)

Daniel Shanahan commented on January 26th, 2010 at 3:29 am

I like this very much – thank you for making it available. I found what may be a bug. I was not able to implement the plugin, even though I followed the instructions to the letter. I ended up duplicating the demo and started from scratch, as the demo worked. Then, as I was marking up the demo.html I came across this behavior: within the container div I have a sidebar div. I gave the sidebar div an id of ’sidebar’. So far, so good. However, when I gave that same div a class of ‘grid_4′, the grid no longer worked.

Perhaps this isn’t a bug and I am just unclear on the expected behavior. Any thoughts?

badlyDrawnToy commented on January 26th, 2010 at 9:59 am

Daniel. Glad you like the plugin. Not sure if what you describe is a bug. The plugin simply overlays the grid. It will not affect your own grid classes. More likely you haven’t quite got your own markup correct. Hard for me to say without you showing me your code.

Daniel Shanahan commented on January 26th, 2010 at 4:23 pm

Thanks for the quick reply. Yes, the problem could very well be my markup. Would you mind taking a look? I have two simple Lorem Ipsum sites: one where the grid works (http://www.gridoveryes.newleafdata.com/demo.html) and one where it does not (http://www.gridoverno.newleafdata.com/demo.html). All the files (css, images, js) are the exact same as the demo downloaded here, though I changed the content in the html file. The only difference between the one that works and the one that does not work is an added a class: grid_4 to the sidebar div.

Any ideas why it doesn’t work here (http://www.gridoverno.newleafdata.com/demo.html)?

Thanks.

badlyDrawnToy commented on January 27th, 2010 at 12:55 am

Daniel. I think the problem is that you have a 12 column container within which you only define a 4 column grid. You need to specify what happens with the other 8 columns e.g. make the content div 8 cols wide

also, lose the footer tags in the HTML

Good luck

Daniel Shanahan commented on January 27th, 2010 at 6:15 pm

Thanks Howie. I added grid_8 to the content div, but no luck on getting the grid to show. (I also removed the footer tags). Any other suggestions?

Leave a Reply

CAPTCHA Image CAPTCHA Audio
Refresh Image

Colophon

badlyDrawnToy is the blog of Howie Weiner, a freelance web developer, based in Manchester.

Microbubble Web Design - freelance web design manchester, stockport, cheshire

His company, Microbubble Web Design, specialises in PHP and Java web applications, Search Engine Optimisation, custom CMS and web development.

View Howie Weiner's profile on LinkedIn
View Howie's twitter feed