Just before the event, they announce that we won’t actually get anything at the event, instead we’ll have to fill out a form and it’ll be posted to us.
Day 1 of the event and I ask about the form. “That’ll be available tomorrow sir”. Lucky I’m attending both days then…
Day 2 of the event: AM. On arrival, I’m presented with a flimsy piece of paper that I have to fill out with my details. I head upstairs, grab a coffee, find a seat and fill out the form. I then head back down to hand it in. “Oh no sir; the forms cannot be handed in until this afternoon”.
Day 2 of the event PM. Head back down after lunch and hand in my now somewhat scrumpled form. How long will it take to send the subscription through? “Up to 28 days sir”. Well clearly Microsoft are just covering themselves. A data entry clerk will be able to process the forms in a few days and I should have the software within a week…
One week later: nothing.
Two weeks later: nothing.
One month later: Wednesday : I get an email with instructions on how to access my subscription online. So I guess I don’t get any DVDs then. I dutifully visit the website, enter the details and get told the details are invalid. I try a few more times. Still invalid.
I wait until after lunch, and it still doesn’t work. So I track down a customer help number, phone up and explain the problem. The polite lady on the other end – Annette Schulz – taps away on her system, sounds a little puzzled, but assures me it ought to be sorted that afternoon and that she’ll email me when it is.
The next day I hear nothing.
Friday: I receive an email from Annette apologising as apparently my subscription hasn’t been put on the system still and so it won’t be fixed until the next week.
Monday: nothing. I take a look on the ReMix “back network”. Other folk have complained that their subscriptions haven’t arrived yet or that they too have experienced the same glitch as me. So a week of our year’s subscription has expired and we haven’t been able to use it yet. Perhaps tomorrow…
The classic phrase “cannot organise a piss up in a brewery” comes to mind here. Given the millions of licences and subscriptions Microsoft process, just how difficult can this be? Those Adobe Flash and Flex tools sure do look tempting at this point!
UPDATE: Well it took a further week, but Microsoft did finally manage to fix my subscription (along with those of many others that attended ReMix, who also had the same problem). Of course that wasn’t the end of the saga. The download links on the Expression site do not work with Firefox. They also do not work with IE tab on Firefox. They also do not work with IE, until you have installed a download application. Oh dear. Oh well, I guess that if one is to mess something up, one might as well make a thorough job of it…
There won’t be any excuses of course as Jobs is rapidly turning Apple into the Microsoft of a decade ago, where the fans lap up any old overpriced and outdated crap thrown to them and the rest of the world despairs over the lack of basic functionality – such as interoperability with non-Apple products – and the right to release software without having to ask permission of one’s overlords. By contrast, Silverlight shows just how far Microsoft has come since those dark days of a decade ago. Silverlight is not just Cross-platform with cross-browser support, Microsoft are working to provide an Eclipse plugin for Silverlight development and the control set (components in Adobe Flash speak) will be released as source code under the Microsoft Public License.
No doubt Jobs announcing that the MacBooks are to get SATA drives to hysterical whoops from the brainwashed will grab the headlines tomorrow, but the rapid march of Silverlight will be tomorrow’s real technology story.
At Flash on the Beach 08 today (day 1), there was a session entitled ‘A Preview of Flex 4 and “Thermo”‘ by Mark Anders. After the disappointment over the total lack of any real early previews or “sneak peeks” at ReMix, this session really blew me away over what Adobe were planning with Flex 4, and – far more importantly – what they were prepared to reveal so early on.
One reason why I’ve been keeping an eye on Silverlight is Expression Studio and XAML. Microsoft have a set of designer tools that create design elements that can then be used directly within Visual Studio. Adobe have nothing like this, which is why Silverlight has been so interesting, and why I saw it having a reasonable chance of ultimately beating Flash. Why do I say Adobe has nothing like this? Adobe has an amazing range of design tools, but there is a complete disconnect between them and Flex. Flash Pro works with incomprehensible – to this developer at least – time lines and binary .fla files, which mean nothing in a Flex environment. Photoshop etc can be used to draw pretty pictures, which developers then have to re-engineer into Flex solutions etc. Flex 4 is set to completely change all of that.
It all starts with MXML, specifically a subset of it called FXG. Adobe have expanded MXML to include graphic primitives, animations etc, ie all the designer stuff that Flash Pro had, but that Flex lacked. Next, Adobe plan to provide support for FXG inside their various design tools. This means a designer can draw a pretty picture in Photoshop for example, and then export it as “code” that Flex can used directly.
Not content with FXG, Adobe have gone further with Flex 4 (or Gumbo as it is code named). Gumbo contains a bunch of components built on FXG, with the unofficial, but wondrous, name of gumbonents. These gumbonents can be skinned to the same n’th degree that Silverlight components can, and so Microsoft lose one of their precious few competitive edges.
Finally, just in case you thought that Adobe were happy to match the Silverlight/ Expression features, there is more. A brand new tool, codenamed “Thermo” ups the anti on Microsoft. This tool enables the designer/ developer to import say a Photoshop layered image, then to pick parts of the image and turn them into Flex components. In other words, it allows a team to work in a far more natural way, whereby the skin comes first, and the component – or “gumbonent” as hopefully they will become widely known – is created from the skin, rather than vice versa as is normally the case at the moment.
All in all, the session was amazing. To say I’m now excited by Flex 4 is probably the understatement of the year.
At the end of my five minute talk at ReMix 08, I said that I’d put the contents of my talk on my blog. It’s taken me a few days longer to get around to it than I’d planned, but here they are. As I’m a great believer in as few words on a slide as possible, I’ve added notes to each slide to explain them.
The introducing myself slide was simply some words to fill the screen whilst I explained where I was coming from with regard to talking about colour. Despite having worked in a range of software disciplines, from real time and embedded to parser creation to web development, there is an underlying theme to my career: GUI development. During that time, I’ve found RGB to be a complete pain in the proverbial, thus the reason for being keen on HSL.
If I’m going to say that RGB is rubbish and that HSL is wonderful, I have to justify these statements. Therefore we start with an example of me wanting to create a nice palette of colours for a website. The first real slide of the presentation started with the middle blue rectangle with RGB values of 79, 129, 189 respectively, which is my base colour. By successively adding 10% to each of the red, green and blue values, I can create the lighter blue rectangles. By successively subtracting 10% from each of the red, green and blue values, I can create the darker blue rectangles. That is the easy part.
The first four colours on the right hand side are an attempt to create the compliment colour by juggling the 79, 129 and 189 values around. The final colour of 189, 189, 79 sort of looks like it might work as it is yellow (which my “schoolboy art” memories tell me is the compliment of blue. The colours aren’t very nice though.
The bottom rectangle on the right hand side is the true compliment. I know this as I used HSL to obtain the compliment, rather than RGB.
HSL is an alternative way of representing the RGB colour model. It has three components as the “Use HSL instead” slide explains. Hue is the colour: red, yellow, blue, violet etc and can be viewed as the colours arranged on a colour wheel. The saturation is the amount of colour, ie 0 saturation is grey and 100% saturation is a pure colour. Finally lightness (also referred to as luminance) is how light the colour is, ie 0 lightness is black, 100% lightness is white and in between comes all the shades of grey and colour associated with the chosen hue.
It is difficult to visualise HSL just with words, so the next slide shows a typical HSL colour picker. It is the Paint Shop Pro one. Concentrating the the left hand side, the top half of the colour chooser has a colour wheel as previously discussed. This is the hue. The inside that, there is a rectangle that has 0 – 100% saturation going from left to right. The same rectangle has 0 – 100% lightness going from top to bottom.
With such a colour chooser, the trick of obtaining a compliment colour becomes trivial. If you look closely, you should be able to see a grey circle over the blue part of the left colour wheel. On the right hand side, the grey circle has moved 180 degrees, ie it is on the compliment hue. As the saturation and lightness have remained the same, I have my compliment colour.
This ability to obtain new colours that work well together by changing just one of the three H, S and L values is the key to HSL. For example, to recreate the range of light and dark blues from the previous slide, I need only add or subtract 10% from the lightness value, leaving hue and saturation alone.
The Paint SHop Pro colour chooser is all very nice, but very limited when it comes to creating colour palettes. Expensive designer tools like PhotoShop have good palette creation facilities, but it isn’t necessary to spend large amounts of money on such a tool. There is a great – free – online tool called yafla that makes creating colour palettes a breeze.
It is difficult to see the details on the slide, but across the top are the hue, saturation and lightness values. They are actually HSV values, which is subtlety different to HSL, but there was insufficient time to explain the difference during the presentation – see the last slide for more. Below that in the middle is a range of n-degree compliment colours (eg the true compliment is a 180-degree compliment, other colours such as 90-degree and 270-degree compliments then go well with the base colour). On the left and right hand sides, there is a lightness scale and saturation scale respectively. Finally along the bottom is a set of handy eye droppers. Dragging these to one of the colours on the page adds that colour to the palette box above it.
It is of course far better to use the tool than read my description of it, so I’ve supplied a link after the last slide.
In conclusion, it is worth reiterating a basic software design principle: it is not necessary, and is often highly undesirable to have the functionality that is exposed to the user mirror the underlying implementation. RGB is a case in point here. There are very good reasons why computers work with RGB. There is no good reason why developers should work with RGB though. Work with HSL, then convert back to RGB when a computer needs to get involved, eg when creating a CSS file.
The final slide offered some links. Obviously I linked to here. I also provided a short url link to YaflaColor.
Lastly I provided a link to a useful article on wikipedia that explains HSL – and its cousin HSV – very well in my view. The difference between HSL and HSV is subtle and probably won’t effect you, but the article explains the differenc in case you want to know.
The second day of ReMix was a bit of a let down all round for me. I didn’t win the Ready Steady Talk event (not that I’d taken part to win, but it was a disappointment non the less) and the day’s talk agenda was poor. To cap it all off, the “sneak peeks” was totally devoid of any interesting previews of upcoming Microsoft technologies. The “sneak peeks” event was actually so bad, I left halfway through and went home. What possessed Microsoft to think I’d be interested in more tired old news about Silverlight, along with such things as an advert for an Xbox karaoke game, is beyond me.
The 20/20 talks were fun (these were a series of pecha kucha talks by some of the “community folk” and the conference presenters. This was the highlight of the day though. The low point was “Design with Microsoft Expression” by Arturo Toledo. As we all got a license for Expression Studio, I figured it would be sensible go along and watch a talk on how to use the tools. Arturo used some truly awful piece of software in place of slides, whereby the whole presentation was on a single “sheet” and he zoomed in and out and panned around the thing in a way that left me feeling near sea sick. On top of that, he showed us how to draw a mouse icon with fancy shading and how add a spaceship sprite to a game. Not exactly useful when 4/5ths of the room were developers. In fact I learned more about Expression Blend from Scott Guthrie’s Silverlight presentations.
The Ready Steady Talk event was terrifying and great fun at the same time. I’ve previously only presented talks to small groups of up to 20 work colleagues, so to go from that to talking to a hall full of hundreds of people (many of whom paid no attention as they were trying to eat their lunch) was an amazing experience. I’ve definitely got the presenter bug and – having had positive feedback from Simon Harriyott – I may even do a talk at a Brighton Geek Dinner in the future. Doing the talks also helped me with a problem I’d had at last year’s Mix:UK: it got me talking to people. The free Moo Cards provided a great way to swap details and I came away with around a dozen new contacts. Bizarrely, one of them was Andrew Shorten, an Adobe evangalist, whom I recognised due to him presenting the keynote at the London “AIR Tour” event.
I really enjoyed Mix:UK last year. I was far less impressed with ReMix. This isn’t a criticism of the event organisers though, as the venue was better and things were very well organised. My criticism is with the content. There was very little new information and it’s technical level was very basic. Last year, I knew little about a number of the technologies Microsoft presented and so I learned a lot. This year, many of the topics were the same, and almost all that was new since then had been covered by other Microsoft presentations. It’s a good event, but having been twice, I feel it’s an event that is only worth visiting once. I do not see myself returning to the Mix next year therefore.