My Headlines

Monday, July 30, 2007

And now for Something Completely Web..

by Don Burnett

It's hard to tell how well Microsoft's Expression Web is doing with designers, but the add-in market seems to be flourishing. Apparently a lot of people are embracing it over other tools. Still it is a 1.0 product and some things are still missing from it. One of those such holes has now been plugged thanks to a developer I know as "ToolMakerSteve".

Tooltime for Site Navigation

What can I say there are quite a few neat add-in's here.. My favorite feature is to be able to define your site graphically...

It allows you to create navigation elements including link bars..

Stylings

Of course it's neat to be able to do this, but we all need style right? Well say no more.. We get templates and all..

Anyway if you want to know more, check out ToolMaker Steve's Site.. The magic 8-ball tells me he may have some really cool Silverlight and Ajax stuff on the way for the future as well..

Sunday, July 29, 2007

Blend 2.0 August Preview Release

by Don Burnett

 

Well if you haven't noticed it, this week Microsoft released another enhanced preview release of Blend 2.0. It has a bunch of new features that people have been asking for.

It now supports Visual Studio 2008 beta 2  and framework version targeting, so you can work with and open projects in both. Another new feature is creating your own user controls through re-factoring.

targets

If you missed resizing text in the text editor you can now go in and change the font size and type you are working with and now Word-Wrap (WOO HOO!) options.

Resizing handles have been added to the artboard so you can resize and scale elements quickly and easily.

Making User Controls inside of Blend is now possible, and will be extended further in their next release, it has problems with animation at the moment.

There is a new storyboard "picker" that lets you rename a storyboard and also has a "New" and "Delete" function.

Saturday, July 28, 2007

Dot Net 3.5 beta 2 Improvements for WPF

By Don Burnett

At today's meeting of http://MichiganInteractiveDesigners.org we explored Visual Studio 2008 Beta 2's WPF support. This version has a new final name and is no longer called "Orcas"..

It was exciting to install and start an exhaustive review process.. We found a bunch of new goodies. First thing we found is that the WPF designer is vastly improved. It's so nice it will probably keep most of the developers out of Blend for a while (unless they are die-hard animation geeks), or not require them to enter Expression Blend at all.

image

The biggest win for the new WPF designer is the new language service based Intellisense which works much much better than in Beta 1.

Databinding is improved in this release as well as they have included XLINQ binding. If you haven't already read about LINQ it's a great way to incorporate data from a SQL server or other types of data sources (anything that LINQ supports really and I hear that's very extensible). A lot of developers were clamoring for data binding to SQL server in WPF and this is a very good solution to that need. They have also taken care to add support for data validation, so you can trap data errors and catch thrown exceptions.

TextBox and RichTextBox (aka RTB's) controls are seeing functional upgrades, from the new Undo "history support" to RTB's now supporting things like buttons and other inline elements from things like flow documents.

A few things not related to Visual Studio has been improved about WPF as well, there is now hardware accelerated graphics on layered windows within WPF (in Vista of course). Something that should increase performance for UI generation by quite a bit.

Another XAML improvement is UIElement3D. I have been using the 3dTools.dll for a while now to map 2D interactive content and controls to a 3D surface, now it's built right in and looks like it works great (not a big change from 3Dtools).

Browser based WPF applications (known as XBAP's) are seeing some improved capability. One of the drawbacks to doing a browser based application is it ran in a sandbox, for security and passing data in and out via web services and interacting with cookies were very difficult. That has all changed now, as you can now use Windows Communication Foundation (WCF) in partial trust mode in a browser application and security has been changed so you can now read and write to cookies over HTTP and works in partial trust mode (a feature developers have been begging for). Also better support for pen based input (in the wake of Microsoft Surface) has now been implemented for browser applications. Oh, and if this wasn't enough of an improvement you can now also run an XBAP in Firefox directly (no more reverting to IE 7).

The "App model" has been extended, this is something I was looking for in a later Acropolis CTP but didn't have to wait for long and has been extended to all types of WPF applications. There is support for things like versioning of applications, lifecycle management, discovery and dare I even mention this "ACTIVATION" which is probably one of the most controversial features, but good for developers who need to manage application distribution and usage.

Other things improved: Animation, they fixed frame rates and animation smoothness. Thanks for listening on this one Microsoft, this probably wasn't easy to do.

So that scratches the surface, these are great improvements and it's only beta 2. We haven't had time to look at the new Expression Web "type" support that is now built-in to Visual Studio 2008, but from the looks of it, there are many improvements there as well

Look for more news this week as the Adventure Continues...

Saturday, July 21, 2007

WPF/Silverlight User Experience Training

by Don Burnett

I will soon be offering training on WPF and Silverlight for with a focus on design. If you are a programmer and interested in getting into WPF or Silverlight but need to enhance your design background, this training is aimed at you. How this training differs from other vendors, is that the focus of this training is from the designer perspective.

As a developer you can no longer depend on just your coding skills to make a great interface that is successful in the marketplace. You need to think about design from day one. Where are you going to get this? From other developers (NO!) ? You need true design experience and to work with someone who has been on both sides of the fence and worked on integration.

This training will not only come from a design focus, but it will offer you what you need to know to make a full application possible. If you aren't a full-fledged Windows platform application developer you will appreciate the fact, that the training will be very understandable for someone who just has Adobe/Macromedia Web development experience. It will help you get from here to there, and deep dive into tools like Expression Blend, Design, and Media. If you are new to this, it's a good introduction to Rich Internet Application development as well.

If you are interested send me an email (training@donburnett.com) with your contact info to get on the mailing list list about availability, costs, etc. Be you put "TRAINING" in caps in the subject line, so you don't get filtered out..

Tuesday, July 10, 2007

AADND and AACS Combined Meeting for July

By Don Burnett

Jay Wren passed along this information and well I have to say anytime you have the opportunity to hear this speaker, you should be there. Bill is not only a great published author, but he's a great speaker and you really shouldn't miss this opportunity. It's a bit off the subject of WPF, but if you have interest in coding in C# and most of us do, his talk on "Generics" will no doubt be invaluable and a don't miss kind of event.

Here's the email I received...

Hope to see you all there..

 

Hello Computer Users and Programmers,
Ann Arbor Dot Net Developers (AADND) is having a joint meeting with the Ann Arbor Computer Society(AACS) on Wednesday July 11th, 2007 at 6pm at S.P.A.R.K (formerly IT Zone).

Come in from the hot summer heat and listen to Bill Wagner is presenting...

Generics in the C# language give you much more than collections. I'll show you a few of the techniques that generics make possible, such as generic methods, generic interfaces, and generic classes for common design patterns.

Applying these techniques and extending them with your own ideas will enable you to write code that you can reuse in many different ways. The end result:

You won't write less code, but write your code only once, and write it in such a way that you can reuse it in as many different situations as possible.

Bill Wagner, co-founder of SRT Solutions, has developed commercial software for the past twenty years, leading the design on many successful engineering and enterprise Microsoft Windows products and adapting legacy systems for Windows. In 2000 he started using .NET and now spends his time facilitating the adoption of .NET in clients’ product and enterprise development. Knowledgeable in all .NET areas, Bill’s principal strengths include the C# language, the core framework, Smart Clients, and Service Oriented Architecture and design.

Microsoft first recognized Bill’s .NET expertise in 2003 and appointed him Regional Director for Michigan, a position that reflects his unwavering commitment to the development community. In 2005, he was re-appointed Regional Director and awarded C# Most Valuable Professional (MVP) status. These honorary positions allow Bill previews of upcoming technologies and help ensure his clients’ success in their own technology projects.

An internationally recognized author on the C# language futures, Smart Clients and enterprise design, Bill has been a contributing editor, editorial board member and regular columnist for over a decade with his tutorials and advanced essays published in MSDN Magazine, .NET Insight, .NET DJ, and Visual Studio Magazine. His latest book, Effective C#, was released by Addison Wesley in 2004.

Bill is a frequent speaker and delivers advanced developer topics, keynotes and technical sessions at .NET user groups, corporate functions, and national and regional software development forums. He is a founding member of the Great Lakes .NET User Group and the Ann Arbor .NET Developers Group as well as an active contributor to the Ann Arbor Computer Society.

 

Sunday, July 8, 2007

Imitation is the most sincere form of flattery

by Don Burnett

Thanks to Ryan Stewart, and The Scobelizer for finding this video.. It says it all..

YouTube - iPhone Parody No Flash

P.S. Unrelated content- if you want to watch the unaired Aquaman Pilot in it's entirety in HD, you can down from the XBOX Live Marketplace.. the HD program is 1.82 gb in length and it rocks.. Now if I could just burn it and keep it.. LOL

Thursday, July 5, 2007

Father of Apple iPhone

by Donald Burnett

I really do like the iPhone, but in the spirit of being honest about things, the iPhone really is not a new concept. In December of 2006, LG and Prada released a new phone, using Adobe Flash Lite as it's user interface. It's a touch screen environment and look at the user interface, look familiar? Sure it doesn't have feature for feature, but it is a touch screen and iconic interface. Personally I would just say the iPhone has been interesting from a design perspective, but it is also interesting to look at how people use a phone from the perspective of someone trying to redesign a phone and how people use it. We can all learn a lot about design and usability from these devices and how people prioritized features and function, not to mention aesthetics.

Developers not Getting the Message

by Don Burnett

*BEWARE I AM IN SOAPBOX PREACHING MODE AGAIN*

I have been really busy with WPF stuff, but I have a lot of Microsoft developers that I talk to that voice the comment "why should I bother to learn WPF".. I just read a post from a guy named Derik Whittaker, he's a great developer but it's obvious he's heard the same message as other developers have. His post emphasizes his frustration with WPF.

Well this is something I keep hearing over and over again and honestly it's something I am tired of trying to deal with inside the Michigan Interactive Designers Group. I am trying to get people to realize they aren't getting the right messages about this stuff and what the right messages are.

Some points I'd make:

  1. If you are doing winforms applications it doesn't mean you should be using WPF or Silverlight. Just because it's new and cool doesn't mean you are doing your customers any favors. It's reasonable that your application really doesn't need a WPF makeover. If you think you are going to loose functionality, or are having trouble understanding or programming for it then it may not be the time to be working on this. Yes it looks cool, but it doesn't make you that designer capable of dreaming up a new interface that changes the world. It's the old adage, just because you can doesn't mean you should. Don't put your users through the hell of an unproven design or interface. Winforms aren't going away anytime soon. Microsoft now give you more options, it's up to the development team to realize you now have choices for design, and it's up to you to make the right design decisions for your customers because you now have many more options.
  2. A good Microsoft programmer isn't a good designer necessarily. If you really want to learn about the world of design go out and take some classes, even classes in Adobe Illustrator and Flash. Finding design classes on Expression Studio isn't very easy today yet, but your community college will have these Adobe applications. We are at a brave new world here folks. Remember the days of the first laser printer with fonts?? All of your instructor's handouts looked like a ransom note. We are about to see things change with Windows UI design, don't be one of those handing out the ransom notes. If you aren't good at design take the time to learn it, or at least defer the design to someone who has the experience.
  3. Let a designer do the design, if you are a developer, just let go of your ego and let the designers do this for you. WPF wasn't really designed for you as a developer, it was designed as a way to allow designers to create new user interface with design elements. Let the developer take that design and implement it and do coding without doing any UI design himself.
  4. WPF was designed to take DEVELOPERS out of the design loop, to make sure they didn't have to go in behind and recode all of that themselves as they used to have to, also it is here to save the developer time. The developer instead gets a completely working design that he can now code to. But of course that means adding a new person to the team, a designer, and let him have a say in development and concepts. Now we have a team, not a one man army you should be happy about getting the help, and not having to play god all the time.
  5. If you are a good designer or developer use the appropriate tools. I REPEAT Expression Blend is NOT a starter tool. I have heard from many developers, "oh this is a toy, oops I mean tool for people who don't know how to program". Sorry you are confusing this with another program or you really don't understand Blend. If you look closer at Blend you will see that this has a full event model triggers and something for styling that looks like CSS on steroids and much much more. Most newbies at Blend don't even know how to use events and triggers let alone style controls.
  6. Remember in WPF and Blend, you need to name everything you have every element every tag, every event etc. in WPF and XAML. This is because most people when they go into Blend think they are in a web development package like Adobe Dreamweaver where things like naming your controls and objects etc all are done for you by default. Blend starts making more sense to people when you start remembering you are working in XML and you have to name everything including every element. For those who really haven't delved deep into blend or did WPF development, I find myself 75% of the time in blend and only 25% of the time coding and doing code-behind work now. Yes that does mean that there isn't a lot of coding that we used to rely on developers for but there is still coding required. But that's okay, developers will appreciate this because they can now have a 40 hour work week now and maybe even see their families..
  7. If you don't think your boss won't hire a true designer to help with that part of the development find a way to get some real design classes in for yourself. Realize what makes companies like Apple and Apple developers highly successful is design and usability is a first thought, not throw these features together in a program then add the UI.. The UI comes first and is usually not made by a coder/programmer. You don't have to be everything as a programmer to your development team. It doesn't make you less valuable. In fact if you can hire a designer to work on your team who knows his business you will be even more wildly successful. It's not being weak or non-valuable by not being able to be a designer. That's why you went into programming and not art right? Lobby your boss and hiring manager to realize your team needs a real designer on the team.

The point of all of this is I think Microsoft is way off the mark of who they should be giving training on WPF to.. If things keep going the way they are with Microsoft's attempts at promoting Expression Studio and WPF adoption, it will never see full scale adoption and Microsoft will have failed with it's attempt to transition.

What are they doing wrong. First of all stop selling Expression Studio and WPF to developers. You need to get the right messages out.. When you get the wrong messages out it's like lemmings off a cliff (OH NO!)

Message 1 to Designers:

Expression Studio and WPF are new tools for Designers (not developers) to create new and better UI for development organizations, and there are new opportunities for Rich Internet Designers to get jobs working with programmers on development teams.

Microsoft is going to have to reorganize it's efforts and start approaching their non-customers (like designers typically using Mac and Adobe design applications, who already know good design comes first). Instead they are preaching to their MSDN developer base who aren't equipped to do the things that these designers do so well for other platforms. They have only had two events that did this well, Expression Session and Mix 07. Due to enormity they have been able to break through on a national level. I am not convinced from everything that I have seen this altogether regionally and the types of demonstrations coming out of the three regional offices (that I am aware of) aren't even addressing designers. The design community outreach isn't going on very well. Designers know how to talk to designers, they need to have more of them on board and to have people dedicated to designers not just developers, which needs to be separate from MSDN. MSDN presenters don't speak properly to designers because they see different things as being important, and the message is getting lost.

Message 2 to Developers:

Rarely are developers good artists, and that's why they got into programming. Microsoft doesn't expect you to do this design work, but they do expect you to be hiring new team members that can and letting them know there is a place for them. If you want to be successful you have to put the design first (it's all about aesthetics and usability). Your hiring manager needs to realize that on any successful team there is always a designer position and they need to be hiring for that. Plus there needs to be a developer that understands what the designer is doing. This is an "integrator" role.

Instead Microsoft is really hyping WPF to developers (which is being met with boos, hisses and non-adoption), versus telling them what their competition over in the Adobe and Apple worlds are doing with designers and getting them to rethink their development processes and management.

How do I know that there is backlash and things aren't going well? Well you only have to look for job postings on Monster, and the Job boards. All the "user experience" designer jobs are for Adobe and Apple friendly workers. By now there should be plenty of Microsoft opportunities for this as well, but there isn't..

Microsoft Supporting Designers

I started one of the ONLY Microsoft friendly design groups for WPF in the country here in Michigan. We get decent attendance for it's size and we have some great people attending. I ask them if they are getting jobs, sure they are with "Adobe" friendly companies, not using any of their WPF skills. We have made great effort to let developers know about our meetings and to come and mix with us and meet designers who could help in their projects etc. However, no one is getting jobs with the Microsoft developers who think they are a one person show. They don't realize the key to success with this new technology is integration with designers and the tools are finally here to carry all of us forward. But, they have to open their minds to it and changes in their process.

So when I see posts like Mr. Whittaker's I realize that the message isn't getting across and I can almost pinpoint it down to the regional developer programmer evangelists and the fact that they are really preaching to the wrong audience to adopt the technologies that they work from. Sure there are a few great people (like our own local evangelist Chris Bernard) who get what's wrong and not happening and is trying to do his best to change things. We need 1000 more Chris Bernard's around Microsoft.

However, the typical scenario goes something like this (it's trickle down demo economics)

  • people see a demo of something with WPF,
  • People in turn try to repeat it themselves without even understanding the basis for the demo that they have seen or the design point behind it. (there's that message or not getting it thing again)
  • The message and reason for the demo is lost

Too much of that is going on right now on the regional and local level. I have people who go to these demonstrations all the time that attend my design meetings that have this serious complaint. It's the designers complaining because they aren't getting the attention necessary to make WPF a success.

However, unless there is change from the top and realizing they have to embrace and extend to a new crowd of people who aren't their traditional people or market. The message that should be sent by MSDN should be to developers:

  • HIRE designers who can do this, offer training on the new design stuff to designers (not developers). This will make you more successful as a developer. We don't want you doing this yourself just because Microsoft is doing presentations on it as a developer.
  • Blend is not for programmers, it's a designers tool.
  • Offer separate training for WPF (with a different focus) to developers and designers, they truly have different things in the process that they see as important in their process.

I want to see the Adobe crowd start doing cool WPF, the software is finally there to make great designs. What's not there is the Adobe design crowd because Microsoft is still only trying to convince (rather unsuccessfully) to developers that this is good stuff. They need to be approaching the traditional designer market, with someone other than the MSDN staffers.

If Microsoft really wants this to work out, they are going to have to have a better designer initiative going on that's on-going that trains designers to use their tools, not a developer who doesn't understand blend or design concepts beyond winforms. I am not saying developers can't do some of this, but they need training at a different level than what's being offered.

I am saying all of these things because this is what I see going on out there, and I really want to see this succeed. Considering the software and tools and the investment Microsoft has made in them, they sure need to embrace the real market behind these and refocus their training efforts on designers, and put these in the hands of where they belong, while getting the programmers to embrace having a new member of the team and a process that doesn't put them always in the design driver seat.

Hiring managers especially need to take note of what I am saying about the need to hire designers for your team. If you are doing new Windows development to be successful and competitive with other platforms, you need to add a design position to the team so we don't slip further behind and loose competitive advantage to other platforms.

If I could tell Microsoft four things it would be:

  • Start a campaign to communicate to developer hiring managers to add a designer spot to their developer teams and an design integrator
  • Add new staff who are designers speaking to designers to make the Expression product line competitive with Adobe, Apple and others. Who just address the designer community.
  • Stop trying to convince developers they all can be designers now with the new tools, you are addressing the wrong crowd.
  • Add more staffing just to promote design tools make it an entire new division that does just promotion of these.

Microsoft had a chance with this once before when the announced the Site Builders program, but when they integrated it with MSDN it got lost in the shuffle.. This is a second chance now, don't blow it you have one chance to capture the hearts of the design community.

I hope someone who can make a difference is reading this and can help change things, or at least help to move things forward. We all can be successful together if we all work together and realize when something isn't happening as it should.

Cool New Blog on My List

Thanks to a posted comment I just found a really cool blog to add to my reading list. Rob Eisenberg has a great WPF blog you should check out.

Wednesday, July 4, 2007

Deploying a ClickOnce Rich Internet Application

by Don Burnett

As some of you know I have been working to create a Rich Internet Application version of my website. The application is still a "work-in-progress", but I have been making a lot of progress at it. The application user interface was developed in Microsoft Expression Blend and Visual Studio 2005.

The application has four screens.. To minimize screen real-estate, I used the WPF Tab control for navigation.

The splash screen looks like this..

FolioRIA

The work screen implements the IdentityMine "Blendables" 3DCarousel Control, which is similar to Apple's "Coverflow", in that you get sorted content cards in a three dimensional space. The control is very cool and can let you databind to an XML datasource.It also uses the 3dTools.DLL from the WPF 3d team, to let you navigate in 3D. You can click on any card in 3D space and have it bring it to the front.

folioRIA2a

The contact page is almost the standard type of form you find on a website, nothing very exciting there. The media page implements streaming video over the Internet. It places a media element control, Blend was used to setup the play button, which in this case is just an image that triggers a mousedown event when the graphic is clicked on that triggers a timeline and video to be streamed or played through the media element.

FolioRIA4a

And finally the blog tabitem or screen. It embeds a winforms control element alongside the WPF elements, and in this case I instantiated an IE browser control from winforms and fed it my blog's URL. Very simple but effective, and you can embed a browser in about four lines of XAML.

FolioRIA3a

And that's the app at the moment. There are still some finishing touches, but it does most everything the website does and I can set it up to click install into the user's start menu using "clickonce" install or set it up to automatically start up from a DVD. Here is what the web based installer looks like.

clickonceinstaller

Monday, July 2, 2007

Silverlight on Linux

By Don Burnett

I found this little GEM on YouTube.com and just had to share this with you. The Silverlight plug-in (with .net support thanks to the Mono project) has added the power to run Silverlight applications on the desktop (not just from a Website), called Desklets..

Here's an example video of Desklets in action. This is pretty cool all in all... Also a video of the Surface technology demo running in Moonlight in Linux.

Sunday Night News

By Don Burnett

IdentityMine Does it Again!

Well I haven't been blogging as much lately, things have been busy but there hasn't been a whole lot of news.. I guess the big news is over at the PopFly.ms Alpha site. It seems those wonderfully smart cool guys over at IdentityMine are at it again. They are creating Silverlight controls and they are showing up over on the PopFly site.

If you aren't on PopFly I can't say a lot about it except it's a happening place, a lot of great multimedia mash-ups are going on, and if you aren't there you are going to be very impressed when you are..

I can talk about the Blendables Controls for Silverlight from IdentityMine because you can find them demonstrated on their blogsite.. Also, right here below this paragraph..




These controls really rock and even if you are not on PopFly you can click on the links above to see the control live.. There are also articles on using these controls with the community server platform.

Michigan Interactive Designers Meeting for June 2007

We had to reschedule our June Meeting for the 30th and we still had a good temperature.  We had a great meeting and reviewed the following:

Monthly Prizes Awarded

A 3G EVDO card D-Link Mobile router (for Sprint or Verizon mobile broadband cards, was our May meeting give away. Mike Dragon (last name changed for privacy reasons) our only May meeting attendee won this by default. Attendance was up this meeting and we gave away (courtesy of Microsoft)  a Microsoft Branded USB drive, a book on design elements to step up your PowerPoint demonstration, and direct from Mix 07, WPF virtual boot camp training DVDs..

I have blogged about a lot of these subjects before but the things that sparked most discussion was the iPhone. I have a Windows Mobile phone, but the design of this device is near perfect for features and performance, you can't help but love it and want one when you see it and touch it. Apple I think has scored higher from the design perspective than they even did with iPod. This is a definite winner. It loved the free WiFi at Bombadils. Other subjects that held serious interest was Visual Studio 2008's Dynamic Data Controls for .Net 3.5 framework also the Astoria web services, proving you don't have to connect directly to a SQL database to have full control data access (among other things).

PixelOasis' founder Greg Good was at the meeting showing off his new corporate website for his photography business and also showing us the cool new ASP.NET AJAX functionality he had implemented. It was really cool to have him demonstrate and show what was possible with Ajax, the application was very fast, and refreshes of the pages weren't even noticeable. We later saw the site on Matt's iPhone and it also looked flawless. This blog is also nicely viewable on the iPhone as well.