Pages

Thursday 26 May 2011

UK tech.days Day 3–Client Apps

The last day was all about writing Windows GUIs.

UKTechDays 2011-05-25 001During the intro Mark Quirk listed the technologies currently available for building client apps. He gave his personal recommendation about which one to choose: “if you’re not sure which one to go for give a try to Silverlight and see if it works for you.” When he asked “show of hands, who here has written code in Silverlight?” most of the attendees in the packed room raised their hand (I didn’t).

Amazing how Silverlight has quickly moved from something that was rather niche to a mainstream Windows technology. Now it is the toolkit you use by default when you don’t have a compelling reason to use any other (a bit like MFC 15 years ago). What used to be just a cut-down version of the .NET framework for browser plug-in is now much more…

Mike Taulty went over what’s coming in Silverlight 5:

  • access to low-level XNA APIs for 3D graphics
  • video: playback rate control and pitch correction
  • the client networking stack is faster and was moved to its own thread.
  • faster app startup through multi-core JITing
  • faster XAML parser
  • WS-Trust support for SAML security tokens
  • support for multiple top-level windows
  • trusted browser application: if you sign the XAP you can run an in-browser Silverlight app in fully trusted mode and therefore be able to do nasty things such as P/Invoke…

Impressive… One by one the limitations associated with Silverlight are going away.

Laurent Bugnion talked about MVVM, showing a solution where 3 projects (Silverlight, WPF and Web) were accessing the same service. Some videos of his previous talks here and here.

Wednesday 25 May 2011

Windows Phone 7–Day 2 of UK tech.days

UKTechDays 2011-05-24 002

If (Developpers.Happy()) return OnInvestment;

Today’s track was all about Windows Phone 7.

Brendan Watson talked about the Windows Phone Marketplace.

There are currently 17000 apps registered in the market place. The average selling price of an app is $2.93.

The Nokia deal will bring more carrier partnerships with countries where it’s difficult to get into (China for instance).

You can currently create apps in 30 countries but sell them in only 16. This number is expected to go up to 35 by the time Mango comes out.

Something clever about the market place: devs have the possibility to initiate beta testing programs.

Most of the other talks centred around UI design and performance. We heard a good number of tips and tricks from coders who faced specific performance issues when building apps and showed how to solve them.

Gergely Orosz described how his team spent a month discussing how Cocktail Flow would look like, building photoshop prototypes.

  • small team, rapid prototyping and iteration.
  • full visual plans with Photoshop and Flash. Several iterations.
  • found inspiration in design guidelines for Windows Phone (MSDN)…
  • …and YouTube videos of app demos

Some of his graphic design tips:

  • You don’t have to stick with black (even if this is the default for most apps)
  • Use images in menu items. Square images with grey frame look good.
  • Use non dominant background images
  • Keep dominant images for headers
  • Spice up the buttons with gradients or different typo

Quotes from Gergely:

“Allow your designer gene to come out”

“Content is king but don’t ignore the chrome”

Oren Nachman gave lots of tips to optimise performance:

  • Don’t use the ProgressBar control that comes out the box. It’s jerky. Instead use the PerformanceProgressBar from the Silverlight Toolkit.
  • Enable RedrawRegions flag in debug mode to make it obvious when Silverlight is redrawing regions for no reason.
  • Use the CacheMode property (on the WrapPanel for instance) to put images on the GPU and avoid redrawing them.
  • Alternatives to the current ListBox: LongListSelector, LowProfileImageLoader

Also Oren mentioned that in the coming Mango release,

  • the ListBox was completely revisited and will be faster.
  • Networking: HttpWebRequest will take place on a background thread.

Tuesday 24 May 2011

Overview of HTML5 – Day 1 of UK tech.days

UK Tech Days

It’s day 1 of UK Tech Days at the Vue cinema of Fulham Broadway where I attended the Web track.

I heard a number of talks today, one of them about HTML5 by Bruce Lawson.

HTML5 is an on-going effort and is not yet complete but lots of bits can already be used now.

In 1999 the W3C decided that HTML was finished and that the future was XML with XHTML1. Then it started planning XHTML2 where a lot of importance was given to language purity. No one cared.

Following work initiated by Ian Hickson with WHATWG, W3C decided to start working on HTML again and created HTML5. XHTML2 was eventually deprecated. So how come did HTML5 prevail on XHTML2? Bruce said:

  • it’s backward compatible with existing websites and
  • it’s more tolerant to error handling: the spec precisely defines what to do when markup does not validate.

The design principles that guide HTML5 are based around:

  • the 80/20 rule and
  • the belief that users are more important than authors, authors are more important than theoretical purity.

Other technologies not part of HTML5 but often used together: SVG, geolocation and CSS3.

HTML5 defines markup elements but also many JavaScript APIs.

HTML5 introduces the commonly used <div> as proper elements that actually mean something (header, footer, side bar). This makes it easier to build accessible apps because the browser can immediately identify the footer, the header, the side bar…

It also standardises some commonly used input forms (such as date pickers for instance) with the <input type=”…”/> element.

The <video> element displays play/pause controls on top of the video, works with many formats and remove the need for a plugin.

Media queries allow you to define several files with various resolutions depending on the capabilities of the device.

The <track> element shows subtitles over a video. The subtitles are in plain text therefore searchable and you can define several languages.

Other features:

  • detection of connection loss
  • offline application cache
  • server-sent events (to avoid polling)
  • web sockets

Good quotes by Bruce:

“HTML5 wants you to go to the pub”

“Nobody likes their bits to be in a black box, everybody likes their bits to be manipulated”

Wednesday 18 May 2011

Upgrading from iPad1 to iPad2

It’s a bit thinner and a bit lighter, the screen is a bit brighter but nothing very spectacular.
The most striking difference is with the app start-up time. All apps that take a little while to load initially, such as BBC iPlayer, Google Earth, Friendly, Evernote, the New York Times, MobileRSS, BBC News all take less time to start-up on the iPad2.

And it's a bit more slippery as well when handled bare.

Facetime on a tablet is fun (although the image quality for the other party is better when using the iPhone 4, because the iPad2 camera is so poor). 

Monday 16 May 2011

The New Safari Books Online app for iPad!

 

IMG_0005

At last!!! The reason why I bought an iPad in the first place! Being able to browse the wonderful Safari Books Online library from the iPad and download entire books for offline reading in the tube.

Last year O’Reilly released a first version of Safari To Go that was one of the worse apps on the planet at the time. They removed it from the app store less than a month after release.

So far the least worse way to browse the books from an iPad was to use the full web front-end, which wasn’t too bad with a browser supporting full-screen. But reading a book on the web was sluggish: you had to wait every time you clicked the next page, offline reading was not possible so no way to read in the London tube.

Version 2.0.1 of Safari To Go is a proper native iPad app that uses the whole screen and allows you to touch swipe between pages (compare that to the wasted space and sluggish web feel of version 1.0).

When flipping pages you have access to a very handy pop-up Table of Contents (I wish iBooks had that).

Table Of Contents

You can cache the entire book you’re currently reading. This is a very useful functionality that even the web front-end did not allow: all you could do with Safari Books Online was download individual chapters as PDF. Because there was a limit on how many chapters you could download each year you always had to think twice before downloading an entire book. That made offline reading very tedious.

Saving a book for offline use looks like this:

Offline Bookbag

Saving Offline Bookbag

Sunday 8 May 2011

Conferences List

 

Conference When Next Where
FOWA Miami February   Miami
SXSW March   Austin
DevWeek March   London
Qcon March   London
DevTeach March   Toronto
MIX March April 12-14, 2011 Las Vegas
VBug4Thought April   Midlands, UK
Microsoft Tech Days UK April May 23-27, 2011 London
Future of Web Design May May 16-28, 2011 London
FOWA Dublin May   Dublin
DDD Southwest June   Bristol
Norwegian Developers Conference May May 25-27, 2011 Oslo
TechEd US May May 16-19, 2011 Atlanta
Code Generation June   Cambridge
TechEd Europe June June 25-29 2012 Amsterdam
FOWA London October   London
DDD Any time of the year   Reading
PDC November   Redmond
LeWeb December   Paris