Archive for the ‘Expression’ Category

The Silverlight Problem

Sunday, September 30th, 2007

As anyone who regularly reads this blog will know, I’ve been looking into Silverlight of late. Nothing commercial as yet, just to fulfill my own geeky interests (if anyone is looking for Silverlight development get in touch). Throughout this experimentation and research I’ve also discussed Silverlight with other developers and designers from various small and large agencies particularly at a recent MS web agencies dinner in London.

Through all this investigation and chatter, I’ve drawn a conclusion of a problem that MS still have to solve:

There are still no way near enough “creatives/designers” willing to to experiment with the tools available for creating Silverlight applications.

Maybe this is obvious and I’m sure MS are well aware of this but I’m not sure enough is being done. The reason being, I myself and others are getting frustrated by not having anyone available to work with in order to create good-looking Silverlight applications and experiments.

.Net developers are excited by Silverlight, MS partners are excited by Silverlight, MS is excited by Silverlight… Designers couldn’t give two hoots about Silverlight.

This is pretty frustrating because there are a lot of very skillful .Net coders waiting to work with someone using this amazing workflow that is available between Visual Studio and Blend but there’s no-one there on the Blend end! Blend is a good tool, I’ve played around with it and realised what could be done if I could work with someone who, unlike myself has even the slightest bit of artistic flair. Unfortunately this person doesn’t exist yet, or at least is very hard to come by.

Microsoft,

Get the Expression tools available for Mac ASAP.
Do whatever’s needed to get designers comfortable and happy with using Expression Design and Expression Blend.
Throw more resources and free training at creative decision makers.
Make integration with Photoshop and other design tools as seemless as possible.

The devs are sold on Silverlight, the appeal of being able to use CLR languages in a rich environment is huge. But it’s fruitless without designers. We need more designers picking up these tools if you want your massive .net community to do some amazing things with Silverlight.

Until then, Flash and Flex are here, available on both platforms and have a passionate and loyal user-base. I appreciate Silverlight and the tools are only at version 1, but if you’re out to compete (and let’s not kid ourselves, you are), you can’t measure success on version numbers.

Silverlight Adventures - part 2

Sunday, August 19th, 2007

Continuing from my previous post on learning Silverlight (sorry for the VERY long delay i’ve been very busy lately)…

5 - The tools (cont)
Okay so downloads required were as follows:

  • Silverlight Runtime
  • .NET Framework 3.0
  • Visual Studio Orcas
  • Visual Web Developer 2008 - due to the massive download required i opted for the Express edition of visual studio for now - by all accounts the express edition doesnt allow the Silverlight extensions to be installed… back to downloading vs2008 standard again! NOTE TO MS - make this clearer please
  • Visual Studio 2008 (in the time its taken me to finish this post the beta2 has been released)
  • Silverlight Tools for Orcas
  • Microsoft Silverlight Tools Alpha Refresh for Visual Studio (July 2007)
  • Expression Blend

.NET Framework 3.0
I’ve already installed the runtime so next is .NET Framework 3.0. The .Net installer seems to have improved, although is now a whopping 30 meg which downloads and installs silently after you run the setup, it does however hog resources a little during the install but no system restart required! :). A point to note is that viewing Silverlight web applications does not need the .NET 3.0 Framework to be installed, a subset of the framework is included in the Silverlight runtime. I’m installing it for the use of Expression Blend and VS Orcas.

Expression Blend
Standard install process here, there were options for “custom” or “full” install but I chose “typical” as I’m on a tight budget with regards to the spec of my laptop. I’m sure things will run painfully slow but I’ll just have to put up with it until I get a new machine. Another simple install down, so far so good.


Visual Web Developer 2008
So finally settling on giving this a go with Visual Web Developer 2008. There was a nice online install that basically setup everything for me. I like this sort of install, yeah maybe there are a million and one options i might want to set on install but in the real world if i don’t get these options I dont lose any sleep and am less frustrated with slow installs - start it going, leave it, come back and its done.
- removed due to no support for the Silverlight extensions!

Visual Studio Orcas 2008 beta2
From the downloads, the first step was to run the extractor which extracts all downloads into an installation directory, this took ages just to extract it uses winRAR self-extractor which was a bit annoying in that it has a progress indicator for each file extracted but no indication of overall progress and no indication of how many files there are left. VS 2008 is going to be a bit of a resource hog.
After it had finally extracted I run vs_setup.msi… to be instantly prompted to run setup.exe (I always get that wrong). A familiar Visual Studio setup screen is presented and then a typical visual studio installation process.
That was with Orcas, with VS2008 beta2 I opted to download and install the standard edition which downloaded an ISO image. Using magic ISO I extracted this and had a much quicker experience, although the install did still take a considerable amount of time.

Microsoft Silverlight Tools Alpha Refresh for Visual Studio (July 2007)
A simple to install extension to VS2008 that offers the Silverlight specific features.

And finally that is all that we apparently need.

Overall the setup experience was pretty good, alot of downloading and waiting but no painful unknown errors or crashes so i’m happy with that. A bit of confusion with the new release of vs2008 and no support for Silverlight in the Express editions. Now, finally onto some development and time for another post that might take me months to finish :P (hopefully not though).

VS 2008 and .net3.5 beta 2 released

Friday, July 27th, 2007

Scott Guthrie just announced the next beta of Visual Studio 2008 and .net 3.5, this is a big release and details some great new features. Check out his blog postd and give it a try.

I have been playing with the beta1 and Silverlight and am thoroughly impressed see my findings here and i’ll be finishing a follow up post very soon.

Silverlight adventures

Thursday, July 12th, 2007

After my initial enthusiasms about Silverlight along came proper work and other such distractions and I somewhat halted my research. However I’m doing a brief presentation on it at a new tech user group in Southampton (12th July) and so thought best to brush up on the latest - nothing like last minute preparation!

I thought it might be interesting to blog the order of research from start to finish and a few thoughts along the way (interesting to whom I have no idea!). I’m just going to document my findings as I go and not edit the post other than corrections to highlight how easy/difficult it is to get into this stuff. I hope by the end of this post to have created at the very least an extremely basic Silverlight app, be in a position to impart a basic understanding to others as to what Silverlight is and to be able to field a reasonable amount of questions. Here at the start of the post I have no idea where this will go and apologies if this becomes a long one.

1 - Google
I like Google. When interviewing potential employees I am always more interested in how people would find out what they don’t know than what they already do know. I’m well aware I could just go straight to silverlight.net or hunt around on microsoft.com but I prefer to see what Google comes up with…

My first Google… okay I could have just gone there in the first place (told you I wasn’t going to change this post). After a quick scan through the results most seem like press release type things and silverlight.net looks like the best place to start.

2 - Silverlight.net
This looks like it will be a useful starting point. To begin, “Introducing Silverlight”:

Microsoft® Silverlight™ is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby, and integrates with existing Web applications. Silverlight supports fast, cost-effective delivery of high-quality video to all major browsers running on the Mac OS or Windows.

First few thoughts that spring to my mind after reading the above:

  • “cross-browser” - which browsers? Guess: IE (duh), Firefox, Safari(?)
  • “cross-platform” - which platforms? [educated]Guess: not linux. Does this include devices?
  • “.Net based” - I’m aware the Silverlight plugin doesnt support full on .net, how much does it support? Which version?
  • “AJAX, VB, C#, Python, and Ruby” - sounds good
  • “and integrates with existing Web applications” - hmm I’d be interested in seeing an example of this that makes it mean more than just marketing talk
  • “fast, cost-effective delivery of high-quality video” - I think this is where they will get one up on FMS due to licensing costs (more research needed) and video quality (although I’ve read recently about the latest Flash update including an improved video codec (comparisons needed)
  • “all major browsers running on the Mac OS or Windows.” - ha Mac first, is that to make a point or was it in alphabetical order? :P

So far so good, but that’s really just summarised what I already knew, time to look at some of the examples and see if I have the latest player…

3 - example: Zero Gravity Game
First thing I’m looking at is a game linked from the silverlight.net homepage, Zero Gravity. First thoughts were: “ooh a preloader, well i expected as such but I wonder if there will be a resurgence in the ‘preloaders ruin the web’ crowd as there was (still is) with Flash”. The game loaded fine, played it for a couple of minutes, it looked pretty good and ran well, not the best game in the world but thats probably a good thing for me considering I need to get through a lot still and its getting late.

A point that I think will come up alot will be “well I can already do that in Flash what’s the point of it?”, which is fair comment and if you can do it in Flash already then why bother? However, if you do manage to learn some Silverlight it may (or may not) become apparent that certain types of developments are better suited to Silverlight and others to Flash, if you don’t try it don’t knock it, which is why I’m giving this a go here and why I was happy to agree to giving a presentation on it.

2.5 - Plugin installation
Okay so I have blatently tried Silverlight things out before now which is why I had the plugin all ready to go. Well, not wanting to cut corners I’m going to try uninstalling and reinstalling the Silverlight plugin… Where to look, first stop Add/Remove programs… It’s there amoungst a million other Microsoft things and the uninstall was fairly smooth, although I did have to close down Firefox for it to complete.

Now to try the game again, first thing of note is the plugin detection. I now see a nice glowing “Get Microsoft Silverlight (beta)” button… click. I’m taken to an MSDN download page offering me the Mac or Windows version of Silverlight. The windows version shows it’s compatible on Windows XP and Vista and IE6, IE7, Firefox 1.5 and 2.0. Mac version is Firefox 1.5, 2.0 and Safari. Not bad, but looking at my site stats, were I to put a Silverlight app on this site I would be instantly eliminating 3-4% of my visitors without giving consideration to whether they would want to install the plugin. I click the download for the windows version. I’m now at an MS licence page which “I accept”, save the file, run installer, DONE! I’m impressed, after actually getting to the download the install couldn’t have been smoother, didn’t even have to restart the browser… oh no, after trying the game again turns out on Firefox you DO need to restart the browser (couldn’t it have told me that after install?). But still, browser restarts I can handle compared to system restarts, tried again and the game runs fine.

4 - Do something
Now we sort of know what Silverlight is and what it can do, I want to actually create something myself. The “Get Started” Link on the silverlight.net homepage looks good…

Getting Started Video
The video itself is running in Silverlight, it starts straight up and there’s an option for full-screen, again this can all be done in Flash but either way this is how video should be and not waiting ages to install, open, buffer then watch with some other external plugin.

The initial demonstration in the video uses Visual Studio Orcas (MS codename for VS 2008), I guess I’ll be downloading that next. It demonstrates a very simple create project, write some XAML (the UI markup language) and adds a C# event handler to create a basic Hello World. Looks easy, I think I can handle that.

It then goes on to demonstrate some simple functionality of Expression Blend which is the interaction design tool for Silverlight. Basically Blend allows you to drag & drop elements, manage timelines, create effects and design elements for your application much like you would with the stage and tools in Flash. In the video, Blend is launched from Orcas and instantly loads all of the project assets and displays the currently created simple xaml file in design view. He then goes on to animate a basic textbox by rotating and moving it.
The cool thing is he then switches straight back to Orcas and the xaml is updated, in the code view he can then invoke the animation he just created in Blend through C# in code-behind file. The workflow looks amazing! (watch the video - it’s hard to explain)

Next the video shows an example of integrating a Silverlight Project within an existing asp.net web project by dumping the Silverlight app onto an asp.net webpage. Again Orcas makes this look very easy but we don’t really know what’s going on behind the scenes. An interesting point that is being demonstrated is that Silverlight can directly call asp.net web services (or any standard REST or JSON web service).

The video takes a rapid couple of steps forward and imports some custom controls into the project which then procedes to create a nice Flight Schedule tool - okay the end result is impressive but I think a few too many steps were skipped for it to be of any real value, although it does show you the potential.

Overall the video was a very good introduction to Silverlight. To begin with I’m going to look at using the expected Visual Studio Orcas (a new beta is to be released soon I believe) and an evaluation version of Expression Blend. This great workflow is what helps MS sell their products, I can already tell that whilst not using these tools would be possible, using anything else is going to cost alot of time.

5 - The tools
The next section on the silverlight.net site offers downloads to the tools you’ll need, the first is the Silverlight runtime which we already have, the next is Visual Studio Orcas. Yikes, that’s alot of downloading, eight 700 meg files to get!
As well as the standard Orcas package we need the Silverlight tools for Orcas.
And if we’re to be doing some funky designery interactiony stuff, we need Expression Blend (there is also the option of Expression Design which can be used for creating assets for Silverlight, but i’m going to leave that for now).
To install Blend you also need the .Net Framework 3.0.

To be continued…
Whilst all this downloads I’m going to post where I’ve got so far to break up the post and to get this out before all the information is out of date! So far I’ve spent about 3 or so hours researching this across my limited spare time over the past couple of days. I’m pretty impressed how easy everything has been to discover, largely down to the Silverlight.net site so far. I’m also pretty confident I’ll be able to get up and running with Silverlight relatively quickly.

Oh and if anyone reads this and has any questions/pointers they think I should cover in the next post leave a message in the comments and I’ll see what I can do…

Expression Training Day 1 - Afternoon

Tuesday, April 17th, 2007

Okay so it’s time to get our hands dirty and actually play with one of the tools: Expression Web!

To be honest this was kind of an anti-climax for me. Expression Web is a good HTML editor. That’s about it. I’d go so far as to say a very good HTML editor if you do design web pages for ASP.Net development… but don’t DO the actual ASP.Net development (i.e pass it on to a developer). It has some nice features and I might start using it over Dreamweaver as a general HTML editor depending on how the next Dreamweaver release pans out. Expression Web seems to generate clean, compliant code (note: I didn’t thoroughly check the compliance yet but all seemed good). It has a nice easy integration with ASP.Net controls for layout and it also has nice CSS integration. Other than that I wasn’t particularly bowled over, maybe it’ll shine more as we move into some of the other technologies over the coming week. Another point that may be of interest to some is that Expression Web supports dwt (dynamic web templates or Dreamweaver templates) and master pages, both of which allow the creation of consistent layouts without having to rewrite the page’s framework. I think Expression Web will be a great tool for the designer who sees their design through to a CSS’d HTML layout and primes said layout to be passed onto a .Net developer with the proper controls intact and ready to roll.

Things I’d like to see in Expression Web (may already be there but I couldn’t find it) is more support for languages other than HTML and .Net. This hums of old Microsoft without it. Expression Web is a very good HTML editor, it really wouldn’t be bad for MS to include syntax highlighting etc for other technologies such as PHP or even Classic ASP (you can Save As but that’s about it). Also integration with Source Control is an absolute must, I’m not sure if it would integrate with a shell client such as TortoiseSVN (the folder view seems to be a standard Vista folder display so maybe it does - I don’t use Vista yet) but to not offer support for Visual Source Safe on a released product that supports .net controls doesn’t make sense to me. Another annoyance for the feedback team is that when using the “Add new style” panel, you might spend several minutes putting together the right style by selecting the available options (ideal for those learning CSS) but if you haven’t got a valid HTML header available in the currently open document you have to close the style panel with no option for saving or recalling it.

We also looked at building Vista Gadgets. These are quite cool because of their simplicity, you basically design a small interface in html, add some code with JavaScript which has access to some desktop api’s and you then package it into a zip (or .gadget) file with an xml file detailing the structure of your gadget and a settings file if required. It reminded me a little of how you package an Apollo app but with zipping instead of compiling. If you get a chance to play on a Vista machine, find a Gadget and dig around the folder’s source files, it’s very simple and I can see a lot of benefits of such a simple system… A quick search also found a HUGE amount of useless gadgets which I feel may be hiding some of the better ones.

Expression Training Day 1 - Summary
Overall: Not Bad
The morning sessions got me excited and very much buying into Expression and Silverlight, unfortunately the afternoon was a little slow and judging by the high skill-level that was in the room the pace was way off. Even though this stage of the course has already been radically reduced based on the feedback from the first time the course was ran, it was still very uninspiring. We were shown some amazing WPF and Silverlight demos and then crawled through some basic HTML editing for the rest of the day. I think it would be ideal for people new to web design but in a room full of experienced developers from some of the capital’s top agencies (and me :P) it wasn’t the right content, particularly based on the pre-reqs that were on the course notes.

BUT THAT IS OKAY - I feel I must point out that whilst I may have grumbled a little in this post, this is only the first day of the course and only second time that this course has ever been ran. Microsoft (by way of Jon and Andrew) are massively keen on ‘getting it right’. This is why I’m still enthused by the MS offering as they seem to be focusing their efforts towards the developers and are hungry for feedback in striving to perfect developer support and improve their products and uptake of said products. Reading back it sounds almost like I’m just airing my dirty laundry with the course, apologies if that is how it reads because the intention is to provide feedback and also share the Expression learning experience. I’m still very much looking forward to tomorrow and the rest of the week.

Expression Training Day 1 - Morning

Tuesday, April 17th, 2007

We started the day with a few presentations by Jon Harris and Andrew Shorten on what the Expression offering is all about, where it has come from and where things are headed. This was good and it was refreshing to see a Microsoft presentation pressing all the right buttons in terms of user experience and engagement, whilst also maintaining a level-headed and realistic approach to “Reach vs. Rich”. Bear in mind this wasn’t “Microsoft-the-biggest-company-in-the-world” presenting, this was two guys, enthusiastic about the industry we’re in, enthused by the products they’re working with, excited by the prospect of others working with their products and who happen to work for Microsoft. I think MS are starting to get it.

We then had a run through of the Expression Suite which by memory is as follows:
Expression Web - this is absolutely, definitely, without-a-doubt, positively NOT FrontPage… well it kind of is but FrontPage has such a bad rep they’ve cut the chord indefinitely. The long and the short of it is that it’s a HTML editor more on this later in the post.
Expression Design - Import vector and export XAML… hard to describe without more research and I’m going to wait until I have a play before defining where it sits.
Expression Blend - FLASH KILLER!!! Only joking, I’ve not looked into it yet, but it appears this is the element that could be closest associated to Flash. Although its focus seems to be purely on user interaction and visuals and not at all concerned with programming of business logic, no code is written in Blend. Again, will hold off thorough assessment until I have had a decent play with it.
Expression Media - Now this does look interesting and is apparently very much the focus of the announcements at NAB. To me it looks like a form of digital media management. It allows management of your media assets, manipulation and batch processing of those assets and various import/export capabilities.

Now those are some pretty vague overviews. Unfortunately that’s what I come up with when I try to recall what was discussed. I don’t think this is necessarily bad however. MS haven’t tried to create the next Photoshop, Flash and Flexbuilder which would have been a far easier concept for me to digest and relay. Far from it in fact, these tools are intended to address designer-developer work-flow issues and suggest new approaches to developing engaging user experiences. The end result isn’t to offer something staggeringly different but to offer an alternative journey to get there. I.E “You can already do that in Flash” isn’t the argument: “This is how you do it in Flash, this is how it’s done in Expression. Which is most suitable for our project?” is what is on the table.

Sliverlight Training @ Microsoft - why would I want to do that?

Tuesday, April 17th, 2007

This week I am on a training course titled “Creating engaging user experiences with Microsoft Expression” “Delivering Rich Online Experiences Using Miscrosoft Expression, ASP.Net, AJAX and WPF” (edit: surprisingly I couldn’t remeber the exact title without the material in front of me, this is now the real course title and a better indication of the content).

Why?
Well, I met Andrew Shorten, a former Macromedia/Adobe now Microsoft UX guy after my presentation on Apollo at the LFPUG in February. We got to talking about what he’s up to at MS and a few days later he came down to see us in sunny Bournemouth and we got into discussing the latest industry goings ons and where the Microsoft Expression suite, WPF and SilverLight (then WPF/e) fits in. Turns out he’s a pretty cool guy and has a pretty cool job of liaising with the developer community and trying to push and gather feedback on the whole Expression outfit. He offered me a place on this early adopters course and me, being one for expanding my (and my businesses) horizons rather than spouting off uneducated, ill-researched rants about my love/hatred/bandwagoning-opinion on various technology companies, accepted.

Yeaaaah, but WHY?
Well, I’m well aware MS has been getting a bit of a bashing from the Adobe crowd (dev community and the more corporately associated) of late. I’m also obviously not anti-Adobe myself. Far from it, I’ve been developing with Flash since early Flash 4, I’ve blogged enthusiastically about Apollo, Flash and Flex for nearly a year (late starter in comparison to some but have been reading and commenting on blogs for years). I’ve attended several Flash conferences and regularly travelled the 3+ hours to London for the monthly MMUG and now LFPUG meets. However, I have also been a long-time user of Microsoft technologies, I’ve developed in .net for several years, both ASP.Net and Windows Apps development, before that I developed in VB and classic ASP, am fluent in SQL Server and have managed several dedicated MS web servers over the past few years.

So… I’m an Adobe AND MS fanboy? Kind of, but I also run my own Linux server (on which this site is hosted), am in no way adverse to owning a Mac, am increasingly familiar with Apache, PHP and MySQL, am interested in several Open Source projects and generally like to keep tuned to as much as possible in the web and technology space.

So… (finally getting to the point) for me, taking an active interest in Expression and Silverlight was never a choice of ditching Adobe in favour of the MS alternative. I have no intention of stopping or slowing down any of my interest in Adobe, nor any other technology. I’m just prepared to arm myself with the relevant skills to understand the Expression toolset, familiarise myself with the merits and drawbacks of the available technologies and position myself in the best place possible to be able to accept projects requiring MS, Adobe or whatever technologies and being able to advise in an authoritative capacity which is the right technology to use for which specific projects.

I’ve been getting a bit hacked off with the side-swiping and name-calling going on in our industry of late. And think it’s time for these companies to stop wasting time trying to make each other look bad and start concentrating on their products and their developers. We’re now spoiled for choice with some amazing technologies, let us get our teeth into them without feeling guilty and let us do some amazing stuff with those technologies. You won’t influence by bad-mouthing, you’ll influence by supporting, listening and reacting to your developer communities.

Sorry, now the rant is over, I’ll get back to posting on the week’s progress as I delve into the unknown world of Expression. :D