Archive Page 2

Incomplete cycle maintenance

Planet-X returned my Model B rear wheel on Tuesday with a new spoke and all trued up.  It was good of them to fix it free of charge and it’s nice to have it back so I can finally fix the bike up properly and get back on the road.  I dedicated the evening yesterday to bike maintenance so that I could ride today.

First I removed the front wheel and stripped off my saddle bag, lights and other attachments.  Then I removed the cranks.  I gave the bike a once-over with a soft brush to remove loose dirt, and used a slightly harder brush on metal bits.  Then I gave the whole frame a nice wipe over and cleaned up all of the components.  I replaced the brake pads, front and back.  I then removed the worn out bottom bracket and replaced it with a new FSA MegaExo with the help of a borrowed spanner (thanks Simon!).

After replacing the wheels and cleaning the chain and cranks, it was time to install the new rear derailleur, a Shimano Ultegra 6700.  This is a replacement for the previous Shimano 105 which was damaged as a result of a spoke snapping on the Planet-X wheel and getting dragged into the gear mechanism by the chain (it was quite an upsetting experience).

I attached the derailleur to the gear hanger, as described in the instructions, and set the right-limit screw so the pulley was directly in line with the smallest cog on the cassette.  I then attached the gear cable to the derailleur and attempted to shift to the largest cog to set the left-limit screw.  Shift one – nothing happened; shift two – nothing happened; shift three -nothing happened.  On the fourth shift I felt the cable tighten a bit.  The next few shifts produced some derailleur movement, but didn’t get me more than half way across the cassette.  I thought I must have been doing it wrong.

As I hadn’t gotten any movement on the first few shifts, I went back to the beginning and reattached the cable a little tighter.  But when I tried shifting across the cassette again, I got the same results.  I tried making the shifts with my fingers on the cable so I could feel it progressively tighten, but there was nothing for the first three shifts.  That got me worrying that there was something wrong with the shifter.  Could the shifter have been damaged by sudden cable pull when the derailleur was damaged?  I have no idea.  I’m quite inexperienced when it comes to shifter/derailleur mechanics.

After a lot of persistant effort, the cable finally snapped at the shifter end.  When I tried shifting the lever with no cable attached, it would only shift three steps in either direction, so I’m quite concerned now that I need to do a lever replacement as well as the rear mech.  I jumped on the CycleChat forums to see if I could get any advice and was told to get a new cable, thread it through the shifter without attaching it to the rear mech, and try shifting while pulling the holding the cable firmly in one hand.  I should be able to feel the shifter progress the full range in each direction.  I’ll pick up a new cable on the way home and try it tonight.

Speed limit in Bushy Park lowered to 20 mph

I wrote a few weeks ago that the speed limit in Bushy Park, Teddington, was 30 mph.  Royal Parks has now lowered the speed limit in Bushy Park to 20 mph to match that in Richmond Park.

Slower vehicles means greater safety for cyclists and pedestrians.  But it also means a greater chance of running into the back of a slow moving car (or needing to overtake) if you’re used to riding through the park at a fast pace, so be careful.

Police are apparently spending more time in the park to ensure that road users are adhering to the new speed limit.

Apple, Adobe and developing for iPhone OS

A spat between Apple and Adobe has over the last few days become one of the biggest stories on tech blogs and forums across the internet.  There’s been so much written and argued about it that I almost feel this wouldn’t be a proper blog unless it included my take on things, so here goes…

The issue at hand is a change to Apple’s iPhone Developer Program Licence Agreement, which states:

“3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).”

This means that if developers want to create applications for the iPhone, iPod Touch or iPad, Apple essentially requires them to use Xcode, its very own integrated development environment (IDE).  Xcode includes a software development kit (SDK) for iPhone OS, which makes it easy for developers to write native applications that can take advantage of all of the technologies and broad range of application programming interfaces (APIs) that are included in the OS.  The APIs are well documented and registered members of the development program have access to many additional resources aimed at making the development process easier.

What developers are not permitted to do is write their code in another IDE using a non-native language and non-native APIs, and then have their code translated into Apple code by making use of an intermediary layer in their applications.  And that is something that Adobe is not happy about.  Why?  Well, Adobe have built a new feature into Flash which allows Flash developers to export their code to iPhone applications.  The new feature means that Flash devs can create iPhone apps from their ActionScript code without needing to know anything about Objective-C, Cocoa Touch or any of the frameworks or APIs that Apple includes in iPhone OS.  Apple’s new condition is bad timing for Adobe as the iPhone export feature is the new big thing in Flash CS5, due to be released shortly (they are already taking pre-orders).

There are all sorts of arguments and opinions flying about, hysteria, anger, accusations.  It’s all be rather dramatic.  Here are some points that I think are worth considering:

Flash devs would love to take advantage of the huge market for iPhone applications, but don’t want to have to move out of their comfort zone

Some Flash devs will argue that Apple is wrong to be ‘locking in’ developers to Apple’s APIs and that it is anti-competitive behaviour that will ultimately result in alienated developers, less development taking place and less choice for customers.  If that were the case, then surely the platform would be doomed to failure and worth avoiding at all costs, would it not?

I can understand their disappointment, having been promised free access to the iApp market by Adobe only to find out that Adobe’s solution has never had Apple’s blessing.  It must have been a dream come true to think that they could start selling applications through the iTunes App Store without having to spend any time at all on building an understanding of Apple’s frameworks.  Too good to be true, even.  Well that’s exactly how it’s turned out.  Adobe have really screwed over their own customers by making promises they couldn’t keep, so it’s probably just as well for them that this has surfaced before everyone rushes out to buy CS5.  Had Apple supported Adobe’s plans and then backed out, that would be a different story, but Apple and Adobe have not worked together on this at all (not that I have any insider knowledge, but from what I’ve read nobody has reported any such circumstance).

Learning another programming language, new frameworks and APIs, is an overhead, an investment one makes to increase skills and broaden abilities.  There are plenty out there to learn, all with different features, advantages and potential markets.  What you choose to learn has some impact on what markets are available to you, and of course the more you learn, the broader your options.  If you want to write applications for iPhone OS and take advantage of the huge market that Apple has created, then learning Objective-C and Apple’s IDE is an investment in time that you need to make.  Following Apple’s guidelines and programming natively with Apple’s APIs is a robust and informed way to develop good quality applications that can directly take advantage of all of the features included in the OS.  Many developers from non-Apple backgrounds have already started developing for iPhone OS and met with great success.  For developers experienced in object oriented program design, or C++, the transition isn’t that difficult.

Developers for iPhone OS have churned out over 145,000 applications since Apple released the first SDK in 2008.  That’s an impressive statistic.  Granted many of them would already have had knowledge of developing Cocoa apps for OS X, which is an advantage, but many others have not.  There has been some noise about the App Store approval process, but largely the existing iPhone developers do not seem to feel ‘locked in’ as some of the Flash mob would have us believe.  To have produced that many applications in under two years has certainly not limited customer choice either.  If any current Flash developers want to experiment with iPhone programming then they should take the plunge, join the Developer Program and start learning the ropes.  To gain access to a big new market for little to no effort is a bit unrealistic.

Apple wish to maintain quality

As a long time Mac user, I’ve experienced a lot of applications that have been straight ports from other platforms and they are, for the most part, pretty awful, so I can understand from this why Apple wants to keep these kinds of apps away from its mobile devices.  Apple have created a good SDK with APIs that help developers to produce applications that fit Apple’s style guidelines and ultimately provide a superior user experience.  Anyone familiar with OS X development will know how much Apple push their developers to produce clean and intuitive interfaces.  They even have a document entitled “Apple Human Interface Guidelines” which specifies how applications should be designed to fit visually and functionally with OS X.  This is not an attempt by them to control developers – anyone can release an OS X application – it’s just that those applications which follow the guidelines will be a better fit with other applications including the OS, and will have a more intuitive feel for the end user.  This is all good for developers as their apps will likely receive better reviews and recommendations, thus resulting in more sales (I know there’s more to making a successful app than just having an intuitive interface, but that’s another issue).  Apps that don’t follow these guidelines, like those that have been ported from other platforms and not coded natively, stick out like a sore thumb.  They are generally bland, clunky and difficult to understand.

Why would Apple, having gone to a lot of effort to produce a solid SDK, want apps being sold for their mobile devices that have not been developed natively?  They are going to want to keep a certain amount of control on what goes on to their devices, as if the floodgates opened and half the apps on the App Store ended up being substandard ports from Flash or other IDEs, it would reflect badly on Apple’s devices and result in fewer sales.

It could be argued that the App Store approval process should weed out any such apps.  It could also be said that some of the apps currently available in the App Store are not particularly good, even if they have been developed natively.  There is unfortunately always going to be a range of quality amongst applications, as with everything in the world.  That can’t be avoided.  But if Apple were to start rejecting apps purely on the basis of whether they liked them or not, they would eventually alienate a huge number of developers who had put time and effort into creating native applications.  That wouldn’t be fair.  Apple therefore need to maintain some objectivity in their approval process.  This new rule is one such flag of objectivity.  Apple wish to keep app quality high, and to that end they desire their developers to code natively for iPhone OS.  It’s perfectly reasonable.

Developers should not be reliant on Adobe for the feature set available to their apps

Imagine that Apple were to allow iApps to be ported from Flash.  The pool of developers would be distilled with the new Flash-based crowd.  Some existing developers could stop coding natively for iPhone OS as they would be able to create their apps in Flash and distribute them as web apps at the same time, reaching a greater audience.  Then Adobe would add Android, Blackberry & other export options to Flash.  Soon enough Flash would be the only IDE in use and platforms including, but not limited to, iPhone OS would be at the mercy of Adobe.

If Apple were to introduce new features and efficiencies to their hardware and APIs, they would have to wait for Adobe to implement them in its Flash translation layer before the features would really become available to developers and end users.  Even the most willing and motivated of developers would not be able to get around that, they would have to wait for Adobe to add the capabilities before they could take advantage of them in their apps.

In the end, Apple would lose sales and credibility, and good developers would get screwed because they wouldn’t be able to outpace their competitors in updating their apps to take advantage of new features.  Everyone would become ‘locked in’ to Adobe (so much for developers being locked in by Apple).  Given Adobe’s poor history when it comes to timely bug fixes and support of its OS X applications, I do not think that this ‘lock in’ would be a nice place to find yourself, whether you’re Apple, a developer or an end user.

Bear in mind also how Apple and Adobe make their money.  Apple sells hardware and software.  They sell the iPhone, the iPod Touch and the iPad, all of which run on iPhone OS, and they additionally take a 30% cut of App Store sales.  Apple needs to keep its products desirable so that they can keep sales up, so it’s in their best interests to ensure that what’s running on their products is a credit to them.

Adobe on the other hand, sells design software, including Flash.  They make no money from sales of Apple’s mobile devices.  They therefore have no motivation to ensure that Apple’s devices or the applications that run on them remain at a high standard.  The fact that they’ve produced a feature that can export ActionScript from Flash to iPhone applications has nothing to do with them wanting to support Apple’s platform, or work together with them to produce great products.  Adobe has just seen that the market for iApps is massive and that by including their new export feature in the next version of Flash they will generate substantial sales of CS5.  These would include sales to many existing customers that would not otherwise have found a compelling reason to upgrade from a previous version.

Another point to note is that if you are a UK customer, Adobe Flash CS5 will set you back £653.30 for the boxed edition or £672.76 for the download (which make no sense to me at all).  Apple’s Xcode, on the other hand, is free.  You just need to have a Macintosh.  Apple does not stand to make anything directly from Xcode, so this is not a battle against Adobe for commercial success in the iPhone OS developer tools market, as such a market does not exist.  They are therefore not abusing any monopoly as some people have been quick to insinuate.  Apple provides all of the tools that developers need to make good iPhone apps and Adobe’s meddling would do nothing but devalue the market that Apple has built from scratch.

Apple is completely within their rights to limit iPhone OS development to their IDE.  If developers don’t like Apple’s stance then they can happily go and develop for other platforms and buy other products.  But if they want to be in on the action and have a taste of the lucrative iPhone OS-based mobile application market that Apple has created, then they should take the plunge and move to Xcode.

These are my just views on the issue.  Many others have written on this topic far better than I.  Here are some links for further reading:

John Gruber at Daring Fireball

Thomas Fitzgerald

Jason Snell at Macworld (scroll down to the heading “Blocking out Adobe”)

Steve Cheney

Jean-Louis Gassée on Monday Note

New domain aeroprofile.co.uk and self-hosting

If you’ve not already noticed, I have mapped the domain aeroprofile.co.uk to my blog at aeroprofile.wordpress.com, so you can update your bookmarks, links and feeds.

I’m looking to migrate this from wordpress.com to a self-hosted blog with a new design sometime soon, so watch this space.

You can start your own WordPress blog by visiting wordpress.com, or find out more about starting a self-hosted WordPress blog at wordpress.org.

New tyres for the Brompton

Other than a dose of chicken pox in the family, Easter brought with it a hearty mix of good food, good wine and too much chocolate.  But despite these obligatory indulgences, I’ve been in no state to work their lingering effects out of my system as I’m still off the bike.  It’s a bit depressing and I hope it won’t be for too much longer.  Planet-X are collecting my broken wheel today (delayed a bit by the holiday weekend) and I have ordered a new derailleur, opting for Shimano Ultegra 6700 rather than 105.  I also ordered a new FSA bottom bracket as the bearings on mine are sounding pretty bad after almost two years use.  Hopefully I’ll be back up and running soon.

In the meantime, I’ve been commuting on my old mountain bike on wet days and on the Brompton on dry days.  On Sunday I put some new tyres on the Brompton.  They are Schwalbe Kojak 32-349 (16″ x 1.25″).  These tyres are narrower and slicker than the standard Brompton tyres which they replace, and although I haven’t fully put them through their paces yet, they do feel nice and fast.

Previously, people who wanted to ride their Bromptons at a fast pace kitted them out with Schwalbe Stelvios, but Schwalbe stopped producing these in a 16″ size in 2008.  The Kojak, which was formerly a fat but slick city cruiser type tyre, started coming out in 2009 in a narrower version which provides a good substitute for the departing Stelvio.  The Kojak features a Kevlar bead which aids puncture resistance and a new rubber compound which improves grip, particularly on wet surfaces.

Schwalbe Kojak 16" x 1.25"

Anatoly Ivanov has written up a good review of the Kojak after switching his Brompton over from Stelivos.

I can give a better opinion once I’ve ridden on these for a while, but for now the change to a narrower tyre has meant that I can get up to speed more quickly and keep at a high pace with less effort.  With these tyres, I might have to take the Brompton on a Friday Night Ride to the Coast sometime!

Easter chicken pox

I’m back at work after the long weekend.  My brother visited for a few days, which was nice.  The weather was patchy, but did include some nice sunny spells.  We, however, spent most of our time indoors with a little girl with chicken pox.

She got a high temperature early last week coupled with a number of red spots.  She was a little miserable to begin with.  After a few days she was feeling ok, but rather bored to be predominantly house-bound.  We could go for little walks outside, but couldn’t really take her to the playground or shops where she might end up being in contact with other children.  So a bit of extra attention management was necessary.

Other than that, the only thing that chicken pox requires is routine dabbing of the spots with calamine lotion.  This is supposed to ease the itchiness and make the patient more comfortable.  We understand the benefits, but it’s hard to reason with a two-year-old who just doesn’t like the look of the stuff.  We only managed to apply the lotion on one occasion.  She kicked up such a fuss every other time it was suggested that we weren’t able to get any onto her, not willingly at least.  We managed to sneak a bit on when moisturising after a bath one night, and we almost convinced her to have some put on by playing doctors.  I thought I’d been terribly clever to use role play to achieve this.  She removed her trousers and top happily enough, however as soon as I, playing the doctor, moved to dab her with lotion soaked cotton wool, she decided to stop playing.  So close, but not quite there.

She’s almost back to normal now, just a few lingering spots that are waiting to fully heal.  The only hard part is convincing her to stop scratching and scab picking!

FNRttC: March 2010 to Brighton Photos & Videos

YouTube video of the ride to Brighton (9:40) by Andy Allsopp:

Video by tdr1nka

Photos by topcat1

Photos by Tim Hall

Photos by clivedb

Photos by zigzag


Me elsewhere

Categories

Recent tweets